mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-09 02:24:58 -06:00
![]() BNUM numbering changes across DSDT due to addition of new bridges. Fixed missing PCI tree brunch (q35/DSDT.multi-bridge case): // -device pcie-root-port,id=rpnohp,chassis=8,addr=0xA.0,hotplug=off + Device (S50) + { + Name (_ADR, 0x000A0000) // _ADR: Address // -device pcie-root-port,id=rp3,chassis=9,bus=rpnohp + Device (S00) + { + Name (_ADR, Zero) // _ADR: Address + Name (BSEL, Zero) + Device (S00) + { + Name (_ADR, Zero) // _ADR: Address + Name (ASUN, Zero) + Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method + { + Local0 = Package (0x02) + { + BSEL, + ASUN + } + Return (PDSM (Arg0, Arg1, Arg2, Arg3, Local0)) + } + + Name (_SUN, Zero) // _SUN: Slot User Number + Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device + { + PCEJ (BSEL, _SUN) + } + } + + Method (DVNT, 2, NotSerialized) + { + If ((Arg0 & One)) + { + Notify (S00, Arg1) + } + } + } + } Fixed hotplug notification for leaf root port (hotplug=on) attached to intermediate root port (hotplug=off) (q35/DSDT.multi-bridge case) // -device pcie-root-port,id=rpnohp,chassis=8,addr=0xA.0,hotplug=off + Scope (S50) + { // -device pcie-root-port,id=rp3,chassis=9,bus=rpnohp + Scope (S00) + { + Method (PCNT, 0, NotSerialized) + { + BNUM = Zero + DVNT (PCIU, One) + DVNT (PCID, 0x03) + } + } + + Method (PCNT, 0, NotSerialized) + { + ^S00.PCNT () + } + } ... Method (PCNT, 0, NotSerialized) { + ^S50.PCNT () ^S13.PCNT () Populated slots being described on coldplugged bridges even if ACPI bridge hotplug is disabled. (pc/DSDT.hpbridge and pc/DSDT.hpbrroot) ... Device (S18) { Name (_ADR, 0x00030000) // _ADR: Address + Device (S08) + { + Name (_ADR, 0x00010000) // _ADR: Address + } + + Device (S10) + { + Name (_ADR, 0x00020000) // _ADR: Address + } } ... Device (S18) { Name (_ADR, 0x00030000) // _ADR: Address + Device (S00) + { + Name (_ADR, Zero) // _ADR: Address + } } Signed-off-by: Igor Mammedov <imammedo@redhat.com> Message-Id: <20230302161543.286002-11-imammedo@redhat.com> |
||
---|---|---|
.. | ||
APIC | ||
APIC.acpihmat | ||
APIC.acpihmat-noinitiator | ||
APIC.core-count2 | ||
APIC.cphp | ||
APIC.dimmpxm | ||
APIC.xapic | ||
CEDT.cxl | ||
DMAR.dmar | ||
DSDT | ||
DSDT.acpierst | ||
DSDT.acpihmat | ||
DSDT.acpihmat-noinitiator | ||
DSDT.applesmc | ||
DSDT.bridge | ||
DSDT.core-count2 | ||
DSDT.cphp | ||
DSDT.cxl | ||
DSDT.dimmpxm | ||
DSDT.ipmibt | ||
DSDT.ipmismbus | ||
DSDT.ivrs | ||
DSDT.memhp | ||
DSDT.mmio64 | ||
DSDT.multi-bridge | ||
DSDT.noacpihp | ||
DSDT.nohpet | ||
DSDT.numamem | ||
DSDT.pvpanic-isa | ||
DSDT.tis.tpm2 | ||
DSDT.tis.tpm12 | ||
DSDT.viot | ||
DSDT.xapic | ||
ERST.acpierst | ||
FACP | ||
FACP.core-count2 | ||
FACP.nosmm | ||
FACP.slic | ||
FACP.xapic | ||
FACS | ||
HMAT.acpihmat | ||
HMAT.acpihmat-noinitiator | ||
HPET | ||
IVRS.ivrs | ||
MCFG | ||
NFIT.dimmpxm | ||
SLIC.slic | ||
SLIT.cphp | ||
SLIT.memhp | ||
SRAT.acpihmat | ||
SRAT.acpihmat-noinitiator | ||
SRAT.cphp | ||
SRAT.dimmpxm | ||
SRAT.memhp | ||
SRAT.mmio64 | ||
SRAT.numamem | ||
SRAT.xapic | ||
SSDT.dimmpxm | ||
TCPA.tis.tpm12 | ||
TPM2.tis.tpm2 | ||
VIOT.viot | ||
WAET |