On 07/31/2012 07:51 PM, Kevin O'Connor wrote:
On Tue, Jul 31, 2012 at 12:30:36PM -0500, minyard@acm.org wrote:
From: Corey Minyard cminyard@mvista.com
An IPMI device is being added to the qemu code, and it has an SMBIOS entry to describe the interface characteristics. So add the SMBIOS entry to the BIOS so it can handle this.
Hi,
This patch creates a binary ipmi_info struct with IPMI info, and then modifies SeaBIOS to take that struct and translate it into a binary smbios struct. If the ultimate goal is to create an smbios struct, then just create that and send it to SeaBIOS. This has the added benefit that there is no need to modify SeaBIOS as there is already a mechanism to pass smbios tables via fw_cfg (see qemu_cfg_smbios_load_external).
Sigh. That's what I originally did. There are issues in qemu with doing this from a driver; the SMBIOS entries are already fixed before the driver initialization code runs. I did some changes to fix this, but the qemu folks suggested that I send it over with the firmware interface and do it in the BIOS.
There are some advantages to doing this with a different interface. This way, it's available to other firmware types; OF and uboot could populate device trees from this interface. And SeaBIOS could use the same information to populate some ACPI PNP interfaces that can also be used to configure the driver.
Thanks,
-corey