From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:40557) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SoJSs-0000I5-VD for qemu-devel@nongnu.org; Mon, 09 Jul 2012 15:17:48 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SoJSr-0003Kn-0G for qemu-devel@nongnu.org; Mon, 09 Jul 2012 15:17:46 -0400 Received: from vms173015pub.verizon.net ([206.46.173.15]:65531) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SoJSq-0003KP-Qs for qemu-devel@nongnu.org; Mon, 09 Jul 2012 15:17:44 -0400 Received: from wf-rch.minyard.home ([unknown] [173.57.151.210]) by vms173015.mailsrvcs.net (Sun Java(tm) System Messaging Server 7u2-7.02 32bit (built Apr 16 2009)) with ESMTPA id <0M6W000CQQWQLSN0@vms173015.mailsrvcs.net> for qemu-devel@nongnu.org; Mon, 09 Jul 2012 14:17:20 -0500 (CDT) Received: from i.minyard.home (i2.minyard.home [192.168.27.116]) by wf-rch.minyard.home (Postfix) with ESMTP id B72781F949 for ; Mon, 09 Jul 2012 14:17:12 -0500 (CDT) From: minyard@acm.org Date: Mon, 09 Jul 2012 14:17:00 -0500 Message-id: <1341861429-6297-1-git-send-email-minyard@acm.org> Subject: [Qemu-devel] First shot at adding IPMI to qemu List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org I had asked about getting an IPMI device into qemu and received some interest, and it's useful to me, so I've done some work to add it. The following patch set has a set of patches to add an IPMI KCS device, and IPMI BT device, a built-in BMC (IPMI management controller), and a way to attach an external BMC through a chardev. There was some discussion on whether to make the BMC internal or external, but I went ahead and added both. The internal one is fairly basic and not extensible, at least without adding code. I've modified the OpenIPMI library simulator to work with the external interface to allow it to receive connections from the qemu external simulator with a fairly basic protocol. I've also added the ability for the OpenIPMI library to manage a VM to power it on, power it off, reset it, and handle an IPMI watchdog timer. So it looks quite like a real system. Instructions for using it are in the OpenIPMI release candidate I uploaded to https://sourceforge.net/projects/openipmi Since IPMI can advertise its presence via SMBIOS, I added a way for a driver to add an SMBIOS entry. I also added a way to query a free interrupt from the ISA bus, since the interrupt is in the SMBIOS entry and nobody really cares which one is used.