From: Igor Mammedov <imamm...@redhat.com> 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 <imamm...@redhat.com> Message-Id: <20230302161543.286002-11-imamm...@redhat.com> --- tests/qtest/bios-tables-test-allowed-diff.h | 4 ---- tests/data/acpi/pc/DSDT.hpbridge | Bin 6289 -> 6323 bytes tests/data/acpi/pc/DSDT.hpbrroot | Bin 3115 -> 3166 bytes tests/data/acpi/q35/DSDT.multi-bridge | Bin 12337 -> 12545 bytes tests/data/acpi/q35/DSDT.noacpihp | Bin 7932 -> 8022 bytes 5 files changed, 4 deletions(-) diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios-tables-test-allowed-diff.h index a0dbb28cde..dfb8523c8b 100644 --- a/tests/qtest/bios-tables-test-allowed-diff.h +++ b/tests/qtest/bios-tables-test-allowed-diff.h @@ -1,5 +1 @@ /* List of comma-separated changed AML files to ignore */ -"tests/data/acpi/q35/DSDT.multi-bridge", -"tests/data/acpi/pc/DSDT.hpbridge", -"tests/data/acpi/pc/DSDT.hpbrroot", -"tests/data/acpi/q35/DSDT.noacpihp", diff --git a/tests/data/acpi/pc/DSDT.hpbridge b/tests/data/acpi/pc/DSDT.hpbridge index 834c27002edbd3e2298a71c9ff1b501e3a3314f7..5dea100bc9492bb2367aac8660522201785c1efb 100644 GIT binary patch delta 89 zcmbPexY>})CD<iovjhVJqvb}fa&9iSGcobOPVoYMr#E+Ve`ho>3^ufg=ZJT73F2X3 bU}lJJ;tw`J2rz;L3=QBam^M$~W#k3`PB0c2 delta 55 zcmdmNIMI;HCD<ioq67m2qvA%ca&9h{Q!(+uPVoXhCpUL<e`n<54>q)j=ZJT73F2X3 LVBWlmmysI)zZnl0 diff --git a/tests/data/acpi/pc/DSDT.hpbrroot b/tests/data/acpi/pc/DSDT.hpbrroot index d77752960285a5afa6d0c0a04e400842f6acd2ed..893ab221c2cca1829937a4c26152680313633df4 100644 GIT binary patch delta 121 zcmZ22aZiHFCD<h-j)#GPaneSvdz@Tu>M`-bPVoYMYMVcCerGf=3^p=|=ZJT72?DBN iVTf+x4>quX3owEO3=t}rCV%HvRZs{vMyO%O)C2%vb{qNt delta 70 zcmca7v08%5CD<iIn}>mc@#99Wdz@U(DlzfFPVoZX%9}rNerM$44>mH0=ZJT72?DBN SnJmep%FiEcYylTyX8-`NSP<#} diff --git a/tests/data/acpi/q35/DSDT.multi-bridge b/tests/data/acpi/q35/DSDT.multi-bridge index 66b39be294a261a6bd991c6bcbd8e2a04a03403f..f2f60fdbb3b44ab9adb69bb36e4a80978536af9b 100644 GIT binary patch delta 312 zcmdm((3r&K66_MfXvo08IA<eQqa05Y2V+cpuv5H1Cp+Whsd7n-?2|vrM@|luS7u}e zu^7E4pO;shTr3|y*-t@k@(1~-$;T7|CV!W6-5jmBoSUCjgv}+)FNBH1DcIGAi)FH) zu9T4zN3f|uJV(5vOArqO0~bSdlLLFO0aSzmtP&{Z$$}7@{9i6;v$k#wqqwtlj2_56 z0nVNV0yZFX1XO|QCeP4Q6cZ5$aP|vfh|>dU1Tle9hQ^ck>8bJ<#fvC_B@4KiCNI<% zpL}1BALs!Pi%nm4@&bLy$u{~Nla=))CdcRtPj=B)5)e=eHZ(wJV+Sgh5OijNSpl>e K#GJfezX$-13sfWk delta 216 zcmZon+L*xQ66_LUXu!b0*uIggQI5;|e@uL^Q@nul|H;$kk{H=07brwdz97#sIb2?T z@@M(D$yem%Cg&?eP4-n#Vq^fyu4H5dk}jL$6qj?Wvxu;{g!zRqaX1CL`fxErdC^V$ z!A2JG9Py4WK|Bl$tPGns=*BS$dWps8f$R!!_B0Ss4K_5Mtg5fb3St>ej?q`;F^m^c z2ypfbVJP5YnyjxcKKZo1EYLE2eTm6B23nJ~4LB!n2C{t&BqzVnmt?a5tDW3$Py_&m C13TgX diff --git a/tests/data/acpi/q35/DSDT.noacpihp b/tests/data/acpi/q35/DSDT.noacpihp index f35338db30a44638cc3a55d2870e0e377af4246f..4ea982de2df3cf7cd89cb3b4467a350eaf8f5d29 100644 GIT binary patch delta 213 zcmexkd(Do^CD<h-OrC*(F=8Xv3mGmKwV3!|r+5J$)yaQk0_qiljSS*B;vHRrco-O1 z7^0i_gAFX;0*pWbpbCTlD>fA}!Nv$P*nldygAJepKn_qAp`RU1R<}tv*aV@O1FYTz Op`H^({pNYHaf|>-)-eG9 delta 122 zcmca+_s5pYCD<k8j~oL7<Ase}FJ!p96k_6oo#F+Y6ej<X2?*j3HZq9kh<9`e;$dK5 jVTf)53Ru7eSiu6u2o-D)0fY*6uz(3d1;^$evT=+6@ys3p -- MST