]> xenbits.xensource.com Git - xen.git/commit
libacpi: report PCI slots as enabled only for hotpluggable devices
authorIgor Druzhinin <igor.druzhinin@citrix.com>
Fri, 24 May 2019 08:30:21 +0000 (10:30 +0200)
committerJan Beulich <jbeulich@suse.com>
Fri, 24 May 2019 08:30:21 +0000 (10:30 +0200)
commit6761965243b113230bed900d6105be05b28f5cea
tree2014dc90231da4db30f0b81df38e80568b51db85
parentcace51fe353c0c352571dda010bf6b00d37e7244
libacpi: report PCI slots as enabled only for hotpluggable devices

DSDT for qemu-xen lacks _STA method of PCI slot object. If _STA method
doesn't exist then the slot is assumed to be always present and active
which in conjunction with _EJ0 method makes every device ejectable for
an OS even if it's not the case.

qemu-kvm is able to dynamically add _EJ0 method only to those slots
that either have hotpluggable devices or free for PCI passthrough.
As Xen lacks this capability we cannot use their way.

qemu-xen-traditional DSDT has _STA method which only reports that
the slot is present if there is a PCI devices hotplugged there.
This is done through querying of its PCI hotplug controller.
qemu-xen has similar capability that reports if device is "hotpluggable
or absent" which we can use to achieve the same result.

Signed-off-by: Igor Druzhinin <igor.druzhinin@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
tools/libacpi/mk_dsdt.c