From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50946) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z285c-0002Q9-R4 for qemu-devel@nongnu.org; Mon, 08 Jun 2015 21:12:30 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z285Z-0000nJ-3E for qemu-devel@nongnu.org; Mon, 08 Jun 2015 21:12:28 -0400 Received: from mail-yk0-x230.google.com ([2607:f8b0:4002:c07::230]:33094) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z285Y-0000nD-VX for qemu-devel@nongnu.org; Mon, 08 Jun 2015 21:12:25 -0400 Received: by ykfr66 with SMTP id r66so2011530ykf.0 for ; Mon, 08 Jun 2015 18:12:24 -0700 (PDT) Sender: Corey Minyard From: minyard@acm.org Date: Mon, 8 Jun 2015 20:12:05 -0500 Message-Id: <1433812331-18993-11-git-send-email-minyard@acm.org> In-Reply-To: <1433812331-18993-1-git-send-email-minyard@acm.org> References: <1433812331-18993-1-git-send-email-minyard@acm.org> Subject: [Qemu-devel] [PATCH v3 10/16] ipmi: Add firmware registration to the ISA interface List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Corey Minyard From: Corey Minyard Signed-off-by: Corey Minyard --- hw/ipmi/isa_ipmi_bt.c | 15 +++++++++++++++ hw/ipmi/isa_ipmi_kcs.c | 15 +++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/hw/ipmi/isa_ipmi_bt.c b/hw/ipmi/isa_ipmi_bt.c index 03eb9cc..6696da9 100644 --- a/hw/ipmi/isa_ipmi_bt.c +++ b/hw/ipmi/isa_ipmi_bt.c @@ -407,6 +407,7 @@ typedef struct ISAIPMIBTDevice { ISADevice dev; int32 isairq; IPMIBT bt; + IPMIFwInfo fwinfo; } ISAIPMIBTDevice; static void isa_ipmi_bt_realize(DeviceState *dev, Error **errp) @@ -435,6 +436,20 @@ static void isa_ipmi_bt_realize(DeviceState *dev, Error **errp) qdev_set_legacy_instance_id(dev, iib->bt.io_base, iib->bt.io_length); isa_register_ioport(isadev, &iib->bt.io, iib->bt.io_base); + + iib->fwinfo.interface_name = "bt"; + iib->fwinfo.interface_type = IPMI_SMBIOS_BT; + iib->fwinfo.ipmi_spec_major_revision = 2; + iib->fwinfo.ipmi_spec_minor_revision = 0; + iib->fwinfo.base_address = iib->bt.io_base; + iib->fwinfo.register_length = iib->bt.io_length; + iib->fwinfo.register_spacing = 1; + iib->fwinfo.memspace = IPMI_MEMSPACE_IO; + iib->fwinfo.irq_type = IPMI_LEVEL_IRQ; + iib->fwinfo.interrupt_number = iib->isairq; + iib->fwinfo.acpi_parent = "\\_SB.PCI0.ISA"; + iib->fwinfo.i2c_slave_address = iib->bt.bmc->slave_addr; + ipmi_add_fwinfo(&iib->fwinfo); } static const VMStateDescription vmstate_ISAIPMIBTDevice = { diff --git a/hw/ipmi/isa_ipmi_kcs.c b/hw/ipmi/isa_ipmi_kcs.c index b588711..36ae683 100644 --- a/hw/ipmi/isa_ipmi_kcs.c +++ b/hw/ipmi/isa_ipmi_kcs.c @@ -370,6 +370,7 @@ typedef struct ISAIPMIKCSDevice { ISADevice dev; int32 isairq; IPMIKCS kcs; + IPMIFwInfo fwinfo; } ISAIPMIKCSDevice; static void ipmi_isa_realize(DeviceState *dev, Error **errp) @@ -398,6 +399,20 @@ static void ipmi_isa_realize(DeviceState *dev, Error **errp) qdev_set_legacy_instance_id(dev, iik->kcs.io_base, iik->kcs.io_length); isa_register_ioport(isadev, &iik->kcs.io, iik->kcs.io_base); + + iik->fwinfo.interface_name = "kcs"; + iik->fwinfo.interface_type = IPMI_SMBIOS_KCS; + iik->fwinfo.ipmi_spec_major_revision = 2; + iik->fwinfo.ipmi_spec_minor_revision = 0; + iik->fwinfo.base_address = iik->kcs.io_base; + iik->fwinfo.i2c_slave_address = iik->kcs.bmc->slave_addr; + iik->fwinfo.register_length = iik->kcs.io_length; + iik->fwinfo.register_spacing = 1; + iik->fwinfo.memspace = IPMI_MEMSPACE_IO; + iik->fwinfo.irq_type = IPMI_LEVEL_IRQ; + iik->fwinfo.interrupt_number = iik->isairq; + iik->fwinfo.acpi_parent = "\\_SB.PCI0.ISA"; + ipmi_add_fwinfo(&iik->fwinfo); } const VMStateDescription vmstate_ISAIPMIKCSDevice = { -- 1.8.3.1