[SeaBIOS] [PATCH 6/6] acpi: build PCI hotplug devices from a single template

Kevin O'Connor kevin at koconnor.net
Wed Aug 1 02:46:30 CEST 2012


On Tue, Jul 31, 2012 at 11:52:13AM +0200, Paolo Bonzini wrote:
> More than 1kb of data is taken by the 32 copies of the PCI hotplug SSDT
> methods.  We can build them from a single template like we do for CPUs
> (wrapped in a Scope(\_SB.PCI0) block).
> 
> Three items differ for each slot: the device name, bits 16-23 of _ADR,
> the _SUN value.  On top of this we have to rename the eject method for
> non-removable slots, like we already do in build_pcihp.
> 
> There is a small change in the ASL: instead of including the number of
> the slot in the implementation of _EJ0, we just call _SUN.  This is also
> similar to what we do for CPU hotplug.
> 
> Once we do this, there is no need to keep a separate SSDT for PCI hotplug.
> Everything can reside in the same table.

I agree with this patch series.  A couple of questions - why not
create the Notify stuff dynamically (as CPU hotplug does) instead of
moving it back to the dsdt?  If a device doesn't support hotplug, why
not skip creating the device instead of patching _EJ0?

-Kevin



More information about the SeaBIOS mailing list