Il 03/08/2012 19:52, Michael S. Tsirkin ha scritto:
On Fri, Aug 03, 2012 at 05:57:41PM +0200, Paolo Bonzini wrote:
Il 03/08/2012 16:53, Jason Baron ha scritto:
I think this patch should be ok. Its harder for me in the sense that I need to re-do my patch :)
Here's my current ssdt-pcihp.dsl patch, maybe Paolo can spot if there would be any conflicts. I suspect, the auto generation that Paolo is doing is actually going to simplify things in general for these typtes of nested tables.
There are two parts here.
One is the actual declaration of the devices, and here I think my patch is actually going to simplify things a bit. The second level of devices can stay in ssdt-pcihp.dsl, and it will just work.
Long term, it is worth exploring whether we can load second level dynamically when bridge is added by hotplug or detected by bus scan.
This should be doable with LoadTable (to replace a non-bridge _SB.PCI0.Sxx with a bridge-aware definition). Even if it's long-term, it makes sense then to split now the huge PCNT method between a part that is in _SB.PCI0
If (LEqual(Arg0, 0x##slot)) { If (LEqual(Arg1, Zero)) { Notify(S##slot, Arg2) } Else { _SB.PCI0.S##slot.PCNT(Arg1, Arg2) } }
and another that is in the per-slot devices. All in all, it doesn't seem like this series would add any hurdle, and it helps remaining clean.
Where would you handle cold-plug? _PS0?
Paolo