From df00a529727d7795f9d796cddd1139ffe48eddb2 Mon Sep 17 00:00:00 2001 From: Ani Sinha Date: Fri, 18 Sep 2020 14:11:01 +0530 Subject: [PATCH] tests/acpi: add a new ACPI table in order to test root pci hotplug on/off A new binary ACPI table tests/data/acpi/pc/DSDT.roothp is added in order to unit test hotplug on/off capability on the root pci bus for i440fx. The diff between the table DSDT.bridge and DSDT.roothp is listed below: @@ -1,30 +1,30 @@ /* * Intel ACPI Component Architecture * AML/ASL+ Disassembler version 20180105 (64-bit version) * Copyright (c) 2000 - 2018 Intel Corporation * * Disassembling to symbolic ASL+ operators * - * Disassembly of tests/data/acpi/pc/DSDT.bridge, Fri Sep 11 22:51:04 2020 + * Disassembly of /tmp/aml-UGIHQ0, Fri Sep 11 22:51:04 2020 * * Original Table Header: * Signature "DSDT" - * Length 0x00001A89 (6793) + * Length 0x0000140A (5130) * Revision 0x01 **** 32-bit table (V1), no 64-bit math support - * Checksum 0x09 + * Checksum 0xE6 * OEM ID "BOCHS " * OEM Table ID "BXPCDSDT" * OEM Revision 0x00000001 (1) * Compiler ID "BXPC" * Compiler Version 0x00000001 (1) */ DefinitionBlock ("", "DSDT", 1, "BOCHS ", "BXPCDSDT", 0x00000001) { Scope (\) { OperationRegion (DBG, SystemIO, 0x0402, One) Field (DBG, ByteAcc, NoLock, Preserve) { DBGB, 8 } @@ -831,61 +831,60 @@ Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x0510, // Range Minimum 0x0510, // Range Maximum 0x01, // Alignment 0x0C, // Length ) }) } } Scope (\_SB) { Scope (PCI0) { - Name (BSEL, Zero) Device (S00) { Name (_ADR, Zero) // _ADR: Address } Device (S10) { Name (_ADR, 0x00020000) // _ADR: Address Method (_S1D, 0, NotSerialized) // _S1D: S1 Device State { Return (Zero) } Method (_S2D, 0, NotSerialized) // _S2D: S2 Device State { Return (Zero) } Method (_S3D, 0, NotSerialized) // _S3D: S3 Device State { Return (Zero) } } Device (S18) { Name (_ADR, 0x00030000) // _ADR: Address - Name (BSEL, One) + Name (BSEL, Zero) Device (S00) { Name (_SUN, Zero) // _SUN: Slot User Number Name (_ADR, Zero) // _ADR: Address Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device { PCEJ (BSEL, _SUN) } } Device (S08) { Name (_SUN, One) // _SUN: Slot User Number Name (_ADR, 0x00010000) // _ADR: Address Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device { @@ -1345,456 +1344,30 @@ Notify (SE8, Arg1) } If ((Arg0 & 0x40000000)) { Notify (SF0, Arg1) } If ((Arg0 & 0x80000000)) { Notify (SF8, Arg1) } } Method (PCNT, 0, NotSerialized) { - BNUM = One + BNUM = Zero DVNT (PCIU, One) DVNT (PCID, 0x03) } } - Device (S20) - { - Name (_SUN, 0x04) // _SUN: Slot User Number - Name (_ADR, 0x00040000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S28) - { - Name (_SUN, 0x05) // _SUN: Slot User Number - Name (_ADR, 0x00050000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S30) - { - Name (_SUN, 0x06) // _SUN: Slot User Number - Name (_ADR, 0x00060000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S38) - { - Name (_SUN, 0x07) // _SUN: Slot User Number - Name (_ADR, 0x00070000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S40) - { - Name (_SUN, 0x08) // _SUN: Slot User Number - Name (_ADR, 0x00080000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S48) - { - Name (_SUN, 0x09) // _SUN: Slot User Number - Name (_ADR, 0x00090000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S50) - { - Name (_SUN, 0x0A) // _SUN: Slot User Number - Name (_ADR, 0x000A0000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S58) - { - Name (_SUN, 0x0B) // _SUN: Slot User Number - Name (_ADR, 0x000B0000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S60) - { - Name (_SUN, 0x0C) // _SUN: Slot User Number - Name (_ADR, 0x000C0000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S68) - { - Name (_SUN, 0x0D) // _SUN: Slot User Number - Name (_ADR, 0x000D0000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S70) - { - Name (_SUN, 0x0E) // _SUN: Slot User Number - Name (_ADR, 0x000E0000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S78) - { - Name (_SUN, 0x0F) // _SUN: Slot User Number - Name (_ADR, 0x000F0000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S80) - { - Name (_SUN, 0x10) // _SUN: Slot User Number - Name (_ADR, 0x00100000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S88) - { - Name (_SUN, 0x11) // _SUN: Slot User Number - Name (_ADR, 0x00110000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S90) - { - Name (_SUN, 0x12) // _SUN: Slot User Number - Name (_ADR, 0x00120000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S98) - { - Name (_SUN, 0x13) // _SUN: Slot User Number - Name (_ADR, 0x00130000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (SA0) - { - Name (_SUN, 0x14) // _SUN: Slot User Number - Name (_ADR, 0x00140000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (SA8) - { - Name (_SUN, 0x15) // _SUN: Slot User Number - Name (_ADR, 0x00150000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (SB0) - { - Name (_SUN, 0x16) // _SUN: Slot User Number - Name (_ADR, 0x00160000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (SB8) - { - Name (_SUN, 0x17) // _SUN: Slot User Number - Name (_ADR, 0x00170000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (SC0) - { - Name (_SUN, 0x18) // _SUN: Slot User Number - Name (_ADR, 0x00180000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (SC8) - { - Name (_SUN, 0x19) // _SUN: Slot User Number - Name (_ADR, 0x00190000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (SD0) - { - Name (_SUN, 0x1A) // _SUN: Slot User Number - Name (_ADR, 0x001A0000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (SD8) - { - Name (_SUN, 0x1B) // _SUN: Slot User Number - Name (_ADR, 0x001B0000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (SE0) - { - Name (_SUN, 0x1C) // _SUN: Slot User Number - Name (_ADR, 0x001C0000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (SE8) - { - Name (_SUN, 0x1D) // _SUN: Slot User Number - Name (_ADR, 0x001D0000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (SF0) - { - Name (_SUN, 0x1E) // _SUN: Slot User Number - Name (_ADR, 0x001E0000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (SF8) - { - Name (_SUN, 0x1F) // _SUN: Slot User Number - Name (_ADR, 0x001F0000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Method (DVNT, 2, NotSerialized) - { - If ((Arg0 & 0x10)) - { - Notify (S20, Arg1) - } - - If ((Arg0 & 0x20)) - { - Notify (S28, Arg1) - } - - If ((Arg0 & 0x40)) - { - Notify (S30, Arg1) - } - - If ((Arg0 & 0x80)) - { - Notify (S38, Arg1) - } - - If ((Arg0 & 0x0100)) - { - Notify (S40, Arg1) - } - - If ((Arg0 & 0x0200)) - { - Notify (S48, Arg1) - } - - If ((Arg0 & 0x0400)) - { - Notify (S50, Arg1) - } - - If ((Arg0 & 0x0800)) - { - Notify (S58, Arg1) - } - - If ((Arg0 & 0x1000)) - { - Notify (S60, Arg1) - } - - If ((Arg0 & 0x2000)) - { - Notify (S68, Arg1) - } - - If ((Arg0 & 0x4000)) - { - Notify (S70, Arg1) - } - - If ((Arg0 & 0x8000)) - { - Notify (S78, Arg1) - } - - If ((Arg0 & 0x00010000)) - { - Notify (S80, Arg1) - } - - If ((Arg0 & 0x00020000)) - { - Notify (S88, Arg1) - } - - If ((Arg0 & 0x00040000)) - { - Notify (S90, Arg1) - } - - If ((Arg0 & 0x00080000)) - { - Notify (S98, Arg1) - } - - If ((Arg0 & 0x00100000)) - { - Notify (SA0, Arg1) - } - - If ((Arg0 & 0x00200000)) - { - Notify (SA8, Arg1) - } - - If ((Arg0 & 0x00400000)) - { - Notify (SB0, Arg1) - } - - If ((Arg0 & 0x00800000)) - { - Notify (SB8, Arg1) - } - - If ((Arg0 & 0x01000000)) - { - Notify (SC0, Arg1) - } - - If ((Arg0 & 0x02000000)) - { - Notify (SC8, Arg1) - } - - If ((Arg0 & 0x04000000)) - { - Notify (SD0, Arg1) - } - - If ((Arg0 & 0x08000000)) - { - Notify (SD8, Arg1) - } - - If ((Arg0 & 0x10000000)) - { - Notify (SE0, Arg1) - } - - If ((Arg0 & 0x20000000)) - { - Notify (SE8, Arg1) - } - - If ((Arg0 & 0x40000000)) - { - Notify (SF0, Arg1) - } - - If ((Arg0 & 0x80000000)) - { - Notify (SF8, Arg1) - } - } - Method (PCNT, 0, NotSerialized) { - BNUM = Zero - DVNT (PCIU, One) - DVNT (PCID, 0x03) ^S18.PCNT () } } } } Signed-off-by: Ani Sinha Acked-by: Igor Mammedov Message-Id: <20200918084111.15339-4-ani@anisinha.ca> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- tests/data/acpi/pc/DSDT.roothp | Bin 0 -> 5130 bytes tests/qtest/bios-tables-test-allowed-diff.h | 1 - 2 files changed, 1 deletion(-) create mode 100644 tests/data/acpi/pc/DSDT.roothp diff --git a/tests/data/acpi/pc/DSDT.roothp b/tests/data/acpi/pc/DSDT.roothp new file mode 100644 index 0000000000000000000000000000000000000000..886a5e6952f6f034bdd80d44d43de5975a1a4b0f GIT binary patch literal 5130 zc-o~{QE%JU6+Ty@9O_cCDVvGYxM>6@S=V+*DA{ow>?IN@+lnoj5#?+Hjft{dOfCwP zNSmRqTTF3*)XiJrW!OU>)IiViPuPA!e?s@NAJC$WpQ@ch`cjH4J_HjW`kr$>e&4zG z9v)uHw9Pu#0N8(v>&A+mE&kCmO!P4TpfUYb%hDz|ZL_%CU`kA4&SS+NPRX}nct7K0-C{@j@RWln|ZJ}Y; z3*eE*^~lxy%;l=vNquwV!jY@=dR^#@e{&;tOJ%#z@N-3ZhN)Qdx)I|pm(=R?&A0#($~l-{Et(CHeH^pLtc1)( zetwy`-~waIYzKDm?`#a!oP%qX^^NeZiK$oal6hhlR6-TxCDRDk?;Hg28Gdn@{TTl- z4$?Av8GjiEHhUM|m3-pd(wbEe>%3%^C$lQ>1YhSmV|9>WpnoHa7c=X$?b1E0V)+Hf z+EK_bihAiD28z{6jVWpnAj2qDH!4|&71xYa(5_oX>0ZpaN>;DuwJ7NAv0b3sowv!| z1+}_Bd8n(LQqfG_uxfSiCSz^agXZ&M@>!F&z0aCF23y|#!{!$7IBa*+qiqBwvEtUM zt0wGpt{rW&PUfh|rO<7|&Ufk1Dj+Cxw9R9or+Dg#haLlVyf5~)xC&VFaJU2D?Ke^H zaEF1nbLckVQM2nhkFVW~i?XGHW>)RKF5@LfmponOWNoT^A6K=L+~@5UJ}=2GSG0xl zeWR8{Kuyn#bLHzXNczRH2T#ez6L>9mlxHoRbBo4ZaytiW=V%6EQ&SVclP%*~*_jJ` z>g#bx#uLcH@vHcJ+Jyg5cPR-JY}yg4i%e+~J$ z0r@#!er`y9E<%3JIarsdl85D`KwgwkGLTIMvRG$hzM!TADuhKBDX41;!MnoXoBjT4 z)k>iRAM+*BhP9Dh`REhx!$*I~K79YL$^(WCL1!QtM#aQdGfAMhVVBmjh%^iJtd?q&t7X{( za^mFQ+w{8><`U$WE*Mr>*K;~$5Tu*XGDdyrPq7X^YQYmj*Y#a(Wej^*A?aM*yeSRN zk#eU_H0(w(58TeBqceES-s2Ol^Y#d)uB%lNG^5uOV#7{k7|E}#j2pI5m8001`@EnW zx!BgRRSrXNg*(gAnF;wjfy*`Q$Hix7Geb10e77ofR?brS`#G8lTPhm?N3PKmtt5?g zyPo?0mJw&{?T$#s((I^wlU0l0 z>nY(;#*c^-j@;}0>(^lT?_Zw2*S{zD5Ukhh{cY$#)DB*G*n}ipg5Xq^wyKt1z$FN} z5BUe$PH^N=2HMUK$3Gl1iAe5A){0ddMS@E)qJ^F1f*0_DX?Q4lXOp6Hjma^IVa_<7 zZ%oP(9`s_qb&DdDy!!jifm7~{r9T);K?3(nl?~j<{0J2_p(dzNs^!l&{UcA|^Wb*H z*7e|!jI(*y>QaIR+Z?9l<&&pp%hM!8#?NQ&G@@ zVATXvi-Zc+^8$K43R)Db7X#>fq-(v8D zy6kQzwco%teq18^PCqXDc0aC?UFgTN zzTJ=CCA-*Y%b(^NnH=Nq)6H2fbeeabxm literal 0 Hc-jL100001 diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios-tables-test-allowed-diff.h index ac864fc9823..dfb8523c8bf 100644 --- a/tests/qtest/bios-tables-test-allowed-diff.h +++ b/tests/qtest/bios-tables-test-allowed-diff.h @@ -1,2 +1 @@ /* List of comma-separated changed AML files to ignore */ -"tests/data/acpi/pc/DSDT.roothp", -- 2.39.5