[SeaBIOS] [PATCH v2 0/2] Add IPMI SMBIOS/ACPI support

Corey Minyard tcminyard at gmail.com
Mon Aug 13 16:47:50 CEST 2012


On 08/13/2012 01:25 AM, Gleb Natapov wrote:
> On Sun, Aug 12, 2012 at 08:22:12PM -0500, Corey Minyard wrote:
>>> Patch 2 is complex and I don't fully understand what it is doing.  A
>>> quick scan leads me to believe it is constructing a dynamic SSDT -
>>> though it's not clear why a dynamic SSDT is needed and why the
>>> existing mechanism (see build_ssdt()) for generating dynamic SSDTs is
>>> not used.
>> It is constructing an addition to the DSDT table that is tacked on
>> to the end of that table if IPMI is present.  It is complex, but
>> building ACPI namespace data is complex, and the data is not fixed
>> length.
>>
> You do not need to construct IPMI device dynamically in DSDT. Write it
> in AML and have _STA method that tells OSPM if device is present or not.

There are lots of different options for IPMI devices.  There are three 
different interface types, with two string lengths.  They can all appear 
at arbitrary places in I/O or memory space.  They can have an interrupt 
or not.  I would like to be able to represent all off the possibilities 
so users can simulate any arbitrary machine they want.

I considered writing it in AML 8 times and figuring the offsets to set 
the various values, but that seems rather messy to me.

If the real desire is to have a single IPMI device type at a single 
address with a single interrupt always on, we could do that.  The BIOS 
would still need a way to know that the device was present or not, so 
something will have to be passed.  I'm not sure that reading from the 
standard address to detect the device is reliable enough, but that could 
be done, too.

-corey



More information about the SeaBIOS mailing list