Hi Gustavo, On 5/26/25 7:31 AM, Gustavo Romero wrote: > Update the aarch64 'virt' base blob and all of its variants. All of them > have the same diff, so only one is shown below. The essential changes is > in the AML code of the _OSC (OS Capabilities) method, (variable name > from 'CTRL' to 'Local0') and the scope for GED device.
Maybe we shall split the update into 2 steps 1) introduce/validate the changes related to _OSC first 2) produce the DSDT ref code with ACPI PCIHP hotplug elements What do you think? Eruc > > DSDT table diff: > > DefinitionBlock ("", "DSDT", 2, "BOCHS ", "BXPC ", 0x00000001) > { > Scope (\_SB) > { > Device (C000) > { > Name (_HID, "ACPI0007" /* Processor Device */) // _HID: > Hardware ID > Name (_UID, Zero) // _UID: Unique ID > } > > @@ -1794,53 +1794,52 @@ > 0x0000000000000000, // Granularity > 0x0000008000000000, // Range Minimum > 0x000000FFFFFFFFFF, // Range Maximum > 0x0000000000000000, // Translation Offset > 0x0000008000000000, // Length > ,, , AddressRangeMemory, TypeStatic) > }) > Name (SUPP, Zero) > Name (CTRL, Zero) > Method (_OSC, 4, NotSerialized) // _OSC: Operating System > Capabilities > { > CreateDWordField (Arg3, Zero, CDW1) > If ((Arg0 == ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd766") > /* PCI Host Bridge Device */)) > { > CreateDWordField (Arg3, 0x04, CDW2) > CreateDWordField (Arg3, 0x08, CDW3) > - SUPP = CDW2 /* \_SB_.PCI0._OSC.CDW2 */ > - CTRL = CDW3 /* \_SB_.PCI0._OSC.CDW3 */ > - CTRL &= 0x1F > + Local0 = CDW3 /* \_SB_.PCI0._OSC.CDW3 */ > + Local0 &= 0x1F > If ((Arg1 != One)) > { > CDW1 |= 0x08 > } > > - If ((CDW3 != CTRL)) > + If ((CDW3 != Local0)) > { > CDW1 |= 0x10 > } > > - CDW3 = CTRL /* \_SB_.PCI0.CTRL */ > - Return (Arg3) > + CDW3 = Local0 > } > Else > { > CDW1 |= 0x04 > - Return (Arg3) > } > + > + Return (Arg3) > } > > Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method > { > If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") > /* Device Labeling Interface */)) > { > If ((Arg2 == Zero)) > { > Return (Buffer (One) > { > 0x01 > // . > }) > } > } > > Return (Buffer (One) > @@ -1851,33 +1850,36 @@ > > Device (RES0) > { > Name (_HID, "PNP0C02" /* PNP Motherboard Resources */) // > _HID: Hardware ID > Name (_CRS, ResourceTemplate () // _CRS: Current Resource > Settings > { > QWordMemory (ResourceProducer, PosDecode, MinFixed, > MaxFixed, NonCacheable, ReadWrite, > 0x0000000000000000, // Granularity > 0x0000004010000000, // Range Minimum > 0x000000401FFFFFFF, // Range Maximum > 0x0000000000000000, // Translation Offset > 0x0000000010000000, // Length > ,, , AddressRangeMemory, TypeStatic) > }) > } > } > + } > > + Scope (\_SB) > + { > Device (\_SB.GED) > { > Name (_HID, "ACPI0013" /* Generic Event Device */) // _HID: > Hardware ID > Name (_UID, "GED") // _UID: Unique ID > Name (_CRS, ResourceTemplate () // _CRS: Current Resource > Settings > { > Interrupt (ResourceConsumer, Edge, ActiveHigh, Exclusive, ,, > ) > { > 0x00000029, > } > }) > OperationRegion (EREG, SystemMemory, 0x09080000, 0x04) > Field (EREG, DWordAcc, NoLock, WriteAsZeros) > { > ESEL, 32 > } > > Signed-off-by: Gustavo Romero <gustavo.rom...@linaro.org> > --- > tests/data/acpi/aarch64/virt/DSDT | Bin 5196 -> 5178 bytes > .../data/acpi/aarch64/virt/DSDT.acpihmatvirt | Bin 5282 -> 5264 bytes > tests/data/acpi/aarch64/virt/DSDT.memhp | Bin 6557 -> 6539 bytes > tests/data/acpi/aarch64/virt/DSDT.pxb | Bin 7679 -> 7635 bytes > tests/data/acpi/aarch64/virt/DSDT.topology | Bin 5398 -> 5380 bytes > tests/qtest/bios-tables-test-allowed-diff.h | 5 ----- > 6 files changed, 5 deletions(-) > > diff --git a/tests/data/acpi/aarch64/virt/DSDT > b/tests/data/acpi/aarch64/virt/DSDT > index > 36d3e5d5a5e47359b6dcb3706f98b4f225677591..5c73e64e0c29d3cea5299929afd00e9a1238e559 > 100644 > GIT binary patch > delta 125 > zcmX@3u}g!?CD<jzN`!%dNoFFKG*h4XMs+tXCb!9(^SP`!1bx`!{ezuZy0RIZUBV3) > z__0pjEu>{)oKT&>C7-ZBVAAAF##)dJ7YA5gc+zAbZJYoR699=7B!EN~@=P`s?&1(| > P<BW+9c8Z_8SGXSlZJ{Hk > > delta 142 > zcmdm`aYlp7CD<jzM}&caNqQoeG*i3NMs+tXCWon;^SP`!1l>5}{ezuZy0RIZUBV3) > zc(702Eu`gV6dW25PyiG$b`A;hsRj{T@*r}7z@*8UjI|)OTpVB>Vv{Dr)Io#=K*9we > U#USw|*$eq5OA2>QUM<`Y00vhni~s-t > > diff --git a/tests/data/acpi/aarch64/virt/DSDT.acpihmatvirt > b/tests/data/acpi/aarch64/virt/DSDT.acpihmatvirt > index > e6154d0355f84fdcc51387b4db8f9ee63acae4e9..b0a875d8da3592b5927095304ca31ceb001b2fdf > 100644 > GIT binary patch > delta 125 > zcmZ3aIYE=lCD<iof(Qcx(~F5*(o8M38`bA<F}Y3Ne3Z+YL(qpk-apuxr7N4k*(Ka? > zfgkH+L18Tu<Amx2F8PE70+S|ZGS-4*xH!P_!jmQgY2yTlm;gwuAOR$@kY{qIa2JPw > P8)r;>uv7eGVUd0S*;^zc > > delta 142 > zcmbQBxk!`CCD<iokq83=(~XH-(oDVX8`bA<F*!`#e3Z+YL(q*g-apuxr7N4k*(Ka? > zfd~6!L18UFqu|hhfC8Y1v2#d}Pc?|(k_V9s1SU<+WUK|L<>CPA5Sug^rVb)301_?$ > UDF%rz$zI4eIbXPIGNVX80DOQd2mk;8 > > diff --git a/tests/data/acpi/aarch64/virt/DSDT.memhp > b/tests/data/acpi/aarch64/virt/DSDT.memhp > index > 33f011d6b635035a04c0b39ce9b4e219f7ae74b7..21a6b086cbf72298d125d8bfc4c4b7ec9315267b > 100644 > GIT binary patch > delta 126 > zcmbPh+-=O|66_MvEy=*ZWIK^dnyJrxqq-XxliTFY`CQf<f<El={=v>HUD*uIF5!j? > z{8%UN7Sb{?PN+`cl22G5FllloV=YLAivuh#JZUnJHco(u34p{35<nsgc_teRcX0@~ > Q$Hl}4JH>C_EBt^J0I0kqp#T5? > > delta 143 > zcmeA+o@>nI66_K(SCWB&$z~##G*id)jp}Y(Ob$~w=W|(e2)c2``v*I-bY(L*yM!Aq > z@L-?3TS&{#C^$4Apa3Xh>>Lv0Qw<`x<U!;Dfk~4y8EZjmxj4WoIKse=d$fP@P` > Vib3K_vKR7AmK5&Vyju7HD*$j8Du)07 > > diff --git a/tests/data/acpi/aarch64/virt/DSDT.pxb > b/tests/data/acpi/aarch64/virt/DSDT.pxb > index > c0fdc6e9c1396cc2259dc4bc665ba023adcf4c9b..c8548a5e5d41a843142c7bbe64580025e006445d > 100644 > GIT binary patch > delta 217 > zcmexwec77JCD<k8vMd7w)AEU2(oF3aH>$gFF?qIa&ga_8F6hG^?;q^U(v{8N>=JIc > zz>jruo{W}>aYA(hmwdtkfk~4y8EZi@TpVC|;YpK$v~dDNOaLTSkN^@{$TRtwjP2%6 > gLVAo$Zj(1FiCA+`*X%A10XNQ=_+Y2_$py0g04PO4(EtDd > > delta 260 > zcmca?{ok6)CD<k8zbpd-Q^!OuX{N5b8`a&on4CK{=X3347j)x{_YZbv>B?qsb_q9J > z;K4rGR!GawC^$4Apa3Xh>>Lv0Qw<`x<U!;Dfk~4y8EZjmxj4WoIKse=d$fP@P` > oib3K_vKR7go-LHk$mB3}Glz&Z2VHEOJX^?i@_QNI$u6?}0Luzao&W#< > > diff --git a/tests/data/acpi/aarch64/virt/DSDT.topology > b/tests/data/acpi/aarch64/virt/DSDT.topology > index > 029d03eecc4efddc001e5377e85ac8e831294362..73aa833317627204aef7ac858d178445bcd37a54 > 100644 > GIT binary patch > delta 125 > zcmbQH)uP4a66_MfBFezPBruUnnyJHOqq+b$liTFYmfY4Hf<El={=v>HUD*uIF5!j? > z{8%Tq3Tv4dCsZeJ$tNrjm^3+)u@)r5#Q~NVo-`Rq8z(@-1VCa12_TV$Jd^(lcX0@~ > PamK_4JH=0K7wHE8^splO > > delta 142 > zcmZqCnx@6&66_KpCd$CT#6OWsnyJx$qq+b$lf%@_mfY4Hf^MAg{=v>HUD*uIF5!j? > zJlH3<3Tycp1&0O%6aYnxokN0rszC&oJcwK%FllloV=YK67YA5}*rdrYbr4|zkZ=J= > UF-Uw#_CmhNkA=G?mx}ZQ0C4*#-~a#s > > diff --git a/tests/qtest/bios-tables-test-allowed-diff.h > b/tests/qtest/bios-tables-test-allowed-diff.h > index abe00ad4ee..dfb8523c8b 100644 > --- a/tests/qtest/bios-tables-test-allowed-diff.h > +++ b/tests/qtest/bios-tables-test-allowed-diff.h > @@ -1,6 +1 @@ > /* List of comma-separated changed AML files to ignore */ > -"tests/data/acpi/aarch64/virt/DSDT", > -"tests/data/acpi/aarch64/virt/DSDT.acpihmatvirt", > -"tests/data/acpi/aarch64/virt/DSDT.memhp", > -"tests/data/acpi/aarch64/virt/DSDT.pxb", > -"tests/data/acpi/aarch64/virt/DSDT.topology",