diff mbox series

[v10,13/13] tests/acpi: add DSDT.hpbrroot DSDT table blob to test global i440fx hotplug

Message ID 20200918084111.15339-14-ani@anisinha.ca (mailing list archive)
State New, archived
Headers show
Series i440fx/acpi: addition of feature and bug fixes. | expand

Commit Message

Ani Sinha Sept. 18, 2020, 8:41 a.m. UTC
This change adds a new DSDT golden master table blob to test disabling
hotplug on both pci root bus and pci bridges. Also reverts the change
in file bios-tables-test-allowed-diff.h to make sure its now empty so that
future modifications to acpi tables can be caught.

The following is the disassembled diff between DSDT.hpbridge and DSDT.hpbrroot:

@@ -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.hpbridge, Wed Sep 16 09:45:56 2020
+ * Disassembly of /tmp/aml-ECV9Q0, Wed Sep 16 09:45:56 2020
  *
  * Original Table Header:
  *     Signature        "DSDT"
- *     Length           0x0000131F (4895)
+ *     Length           0x00000B89 (2953)
  *     Revision         0x01 **** 32-bit table (V1), no 64-bit math support
- *     Checksum         0xF9
+ *     Checksum         0xA2
  *     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
         }

@@ -234,64 +234,32 @@
         {
             Name (_HID, EisaId ("PNP0B00") /* AT Real-Time Clock */)  // _HID: Hardware ID
             Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
             {
                 IO (Decode16,
                     0x0070,             // Range Minimum
                     0x0070,             // Range Maximum
                     0x01,               // Alignment
                     0x08,               // Length
                     )
                 IRQNoFlags ()
                     {8}
             })
         }
     }

-    Scope (_SB.PCI0)
-    {
-        OperationRegion (PCST, SystemIO, 0xAE00, 0x08)
-        Field (PCST, DWordAcc, NoLock, WriteAsZeros)
-        {
-            PCIU,   32,
-            PCID,   32
-        }
-
-        OperationRegion (SEJ, SystemIO, 0xAE08, 0x04)
-        Field (SEJ, DWordAcc, NoLock, WriteAsZeros)
-        {
-            B0EJ,   32
-        }
-
-        OperationRegion (BNMR, SystemIO, 0xAE10, 0x04)
-        Field (BNMR, DWordAcc, NoLock, WriteAsZeros)
-        {
-            BNUM,   32
-        }
-
-        Mutex (BLCK, 0x00)
-        Method (PCEJ, 2, NotSerialized)
-        {
-            Acquire (BLCK, 0xFFFF)
-            BNUM = Arg0
-            B0EJ = (One << Arg1)
-            Release (BLCK)
-            Return (Zero)
-        }
-    }
-
     Scope (_SB)
     {
         Scope (PCI0)
         {
             Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
             {
                 Local0 = Package (0x80){}
                 Local1 = Zero
                 While ((Local1 < 0x80))
                 {
                     Local2 = (Local1 >> 0x02)
                     Local3 = ((Local1 + Local2) & 0x03)
                     If ((Local3 == Zero))
                     {
                         Local4 = Package (0x04)
                             {
@@ -690,38 +658,32 @@
                 Method (_OST, 3, Serialized)  // _OST: OSPM Status Indication
                 {
                     COST (Zero, Arg0, Arg1, Arg2)
                 }
             }
         }
     }

     Method (\_GPE._E02, 0, NotSerialized)  // _Exx: Edge-Triggered GPE
     {
         \_SB.CPUS.CSCN ()
     }

     Scope (_GPE)
     {
         Name (_HID, "ACPI0006" /* GPE Block Device */)  // _HID: Hardware ID
-        Method (_E01, 0, NotSerialized)  // _Exx: Edge-Triggered GPE
-        {
-            Acquire (\_SB.PCI0.BLCK, 0xFFFF)
-            \_SB.PCI0.PCNT ()
-            Release (\_SB.PCI0.BLCK)
-        }
     }

     Scope (\_SB.PCI0)
     {
         Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
         {
             WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
                 0x0000,             // Granularity
                 0x0000,             // Range Minimum
                 0x00FF,             // Range Maximum
                 0x0000,             // Translation Offset
                 0x0100,             // Length
                 ,, )
             IO (Decode16,
                 0x0CF8,             // Range Minimum
                 0x0CF8,             // Range Maximum
@@ -766,48 +728,32 @@
         })
         Device (GPE0)
         {
             Name (_HID, "PNP0A06" /* Generic Container Device */)  // _HID: Hardware ID
             Name (_UID, "GPE0 resources")  // _UID: Unique ID
             Name (_STA, 0x0B)  // _STA: Status
             Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
             {
                 IO (Decode16,
                     0xAFE0,             // Range Minimum
                     0xAFE0,             // Range Maximum
                     0x01,               // Alignment
                     0x04,               // Length
                     )
             })
         }
-
-        Device (PHPR)
-        {
-            Name (_HID, "PNP0A06" /* Generic Container Device */)  // _HID: Hardware ID
-            Name (_UID, "PCI Hotplug resources")  // _UID: Unique ID
-            Name (_STA, 0x0B)  // _STA: Status
-            Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
-            {
-                IO (Decode16,
-                    0xAE00,             // Range Minimum
-                    0xAE00,             // Range Maximum
-                    0x01,               // Alignment
-                    0x14,               // Length
-                    )
-            })
-        }
     }

     Scope (\)
     {
         Name (_S3, Package (0x04)  // _S3_: S3 System State
         {
             One,
             One,
             Zero,
             Zero
         })
         Name (_S4, Package (0x04)  // _S4_: S4 System State
         {
             0x02,
             0x02,
             Zero,
@@ -831,479 +777,48 @@
             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
             }
-
-            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)
-            }
         }
     }
 }

Signed-off-by: Ani Sinha <ani@anisinha.ca>
Acked-by: Igor Mammedov <imammedo@redhat.com>
---
 tests/data/acpi/pc/DSDT.hpbrroot            | Bin 0 -> 2953 bytes
 tests/qtest/bios-tables-test-allowed-diff.h |   1 -
 2 files changed, 1 deletion(-)
 create mode 100644 tests/data/acpi/pc/DSDT.hpbrroot

Comments

Michael S. Tsirkin Sept. 29, 2020, 7:11 a.m. UTC | #1
On Fri, Sep 18, 2020 at 02:11:11PM +0530, Ani Sinha wrote:
> This change adds a new DSDT golden master table blob to test disabling
> hotplug on both pci root bus and pci bridges. Also reverts the change
> in file bios-tables-test-allowed-diff.h to make sure its now empty so that
> future modifications to acpi tables can be caught.
> 
> The following is the disassembled diff between DSDT.hpbridge and DSDT.hpbrroot:
> 
> @@ -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.hpbridge, Wed Sep 16 09:45:56 2020
> + * Disassembly of /tmp/aml-ECV9Q0, Wed Sep 16 09:45:56 2020
>   *
>   * Original Table Header:
>   *     Signature        "DSDT"
> - *     Length           0x0000131F (4895)
> + *     Length           0x00000B89 (2953)
>   *     Revision         0x01 **** 32-bit table (V1), no 64-bit math support
> - *     Checksum         0xF9
> + *     Checksum         0xA2
>   *     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
>          }
> 
> @@ -234,64 +234,32 @@
>          {
>              Name (_HID, EisaId ("PNP0B00") /* AT Real-Time Clock */)  // _HID: Hardware ID
>              Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
>              {
>                  IO (Decode16,
>                      0x0070,             // Range Minimum
>                      0x0070,             // Range Maximum
>                      0x01,               // Alignment
>                      0x08,               // Length
>                      )
>                  IRQNoFlags ()
>                      {8}
>              })
>          }
>      }
> 
> -    Scope (_SB.PCI0)
> -    {
> -        OperationRegion (PCST, SystemIO, 0xAE00, 0x08)
> -        Field (PCST, DWordAcc, NoLock, WriteAsZeros)
> -        {
> -            PCIU,   32,
> -            PCID,   32
> -        }
> -
> -        OperationRegion (SEJ, SystemIO, 0xAE08, 0x04)
> -        Field (SEJ, DWordAcc, NoLock, WriteAsZeros)
> -        {
> -            B0EJ,   32
> -        }
> -
> -        OperationRegion (BNMR, SystemIO, 0xAE10, 0x04)
> -        Field (BNMR, DWordAcc, NoLock, WriteAsZeros)
> -        {
> -            BNUM,   32
> -        }
> -
> -        Mutex (BLCK, 0x00)
> -        Method (PCEJ, 2, NotSerialized)
> -        {
> -            Acquire (BLCK, 0xFFFF)
> -            BNUM = Arg0
> -            B0EJ = (One << Arg1)
> -            Release (BLCK)
> -            Return (Zero)
> -        }
> -    }
> -
>      Scope (_SB)
>      {
>          Scope (PCI0)
>          {
>              Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
>              {
>                  Local0 = Package (0x80){}
>                  Local1 = Zero
>                  While ((Local1 < 0x80))
>                  {
>                      Local2 = (Local1 >> 0x02)
>                      Local3 = ((Local1 + Local2) & 0x03)
>                      If ((Local3 == Zero))
>                      {
>                          Local4 = Package (0x04)
>                              {
> @@ -690,38 +658,32 @@
>                  Method (_OST, 3, Serialized)  // _OST: OSPM Status Indication
>                  {
>                      COST (Zero, Arg0, Arg1, Arg2)
>                  }
>              }
>          }
>      }
> 
>      Method (\_GPE._E02, 0, NotSerialized)  // _Exx: Edge-Triggered GPE
>      {
>          \_SB.CPUS.CSCN ()
>      }
> 
>      Scope (_GPE)
>      {
>          Name (_HID, "ACPI0006" /* GPE Block Device */)  // _HID: Hardware ID
> -        Method (_E01, 0, NotSerialized)  // _Exx: Edge-Triggered GPE
> -        {
> -            Acquire (\_SB.PCI0.BLCK, 0xFFFF)
> -            \_SB.PCI0.PCNT ()
> -            Release (\_SB.PCI0.BLCK)
> -        }
>      }
> 
>      Scope (\_SB.PCI0)
>      {
>          Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
>          {
>              WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
>                  0x0000,             // Granularity
>                  0x0000,             // Range Minimum
>                  0x00FF,             // Range Maximum
>                  0x0000,             // Translation Offset
>                  0x0100,             // Length
>                  ,, )
>              IO (Decode16,
>                  0x0CF8,             // Range Minimum
>                  0x0CF8,             // Range Maximum
> @@ -766,48 +728,32 @@
>          })
>          Device (GPE0)
>          {
>              Name (_HID, "PNP0A06" /* Generic Container Device */)  // _HID: Hardware ID
>              Name (_UID, "GPE0 resources")  // _UID: Unique ID
>              Name (_STA, 0x0B)  // _STA: Status
>              Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
>              {
>                  IO (Decode16,
>                      0xAFE0,             // Range Minimum
>                      0xAFE0,             // Range Maximum
>                      0x01,               // Alignment
>                      0x04,               // Length
>                      )
>              })
>          }
> -
> -        Device (PHPR)
> -        {
> -            Name (_HID, "PNP0A06" /* Generic Container Device */)  // _HID: Hardware ID
> -            Name (_UID, "PCI Hotplug resources")  // _UID: Unique ID
> -            Name (_STA, 0x0B)  // _STA: Status
> -            Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
> -            {
> -                IO (Decode16,
> -                    0xAE00,             // Range Minimum
> -                    0xAE00,             // Range Maximum
> -                    0x01,               // Alignment
> -                    0x14,               // Length
> -                    )
> -            })
> -        }
>      }
> 
>      Scope (\)
>      {
>          Name (_S3, Package (0x04)  // _S3_: S3 System State
>          {
>              One,
>              One,
>              Zero,
>              Zero
>          })
>          Name (_S4, Package (0x04)  // _S4_: S4 System State
>          {
>              0x02,
>              0x02,
>              Zero,
> @@ -831,479 +777,48 @@
>              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
>              }
> -
> -            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)
> -            }
>          }
>      }
>  }

This is not the only diff I see if I apply this patchset on
top of master.
Dropped this and the previous patch.
Please check what is going on and repost as appropriate.



> Signed-off-by: Ani Sinha <ani@anisinha.ca>
> Acked-by: Igor Mammedov <imammedo@redhat.com>
> ---
Ani Sinha Sept. 29, 2020, 7:23 a.m. UTC | #2
On Tue, Sep 29, 2020 at 12:42 PM Michael S. Tsirkin <mst@redhat.com> wrote:
>
> On Fri, Sep 18, 2020 at 02:11:11PM +0530, Ani Sinha wrote:
> > This change adds a new DSDT golden master table blob to test disabling
> > hotplug on both pci root bus and pci bridges. Also reverts the change
> > in file bios-tables-test-allowed-diff.h to make sure its now empty so that
> > future modifications to acpi tables can be caught.
> >
> > The following is the disassembled diff between DSDT.hpbridge and DSDT.hpbrroot:
> >
> > @@ -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.hpbridge, Wed Sep 16 09:45:56 2020
> > + * Disassembly of /tmp/aml-ECV9Q0, Wed Sep 16 09:45:56 2020
> >   *
> >   * Original Table Header:
> >   *     Signature        "DSDT"
> > - *     Length           0x0000131F (4895)
> > + *     Length           0x00000B89 (2953)
> >   *     Revision         0x01 **** 32-bit table (V1), no 64-bit math support
> > - *     Checksum         0xF9
> > + *     Checksum         0xA2
> >   *     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
> >          }
> >
> > @@ -234,64 +234,32 @@
> >          {
> >              Name (_HID, EisaId ("PNP0B00") /* AT Real-Time Clock */)  // _HID: Hardware ID
> >              Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
> >              {
> >                  IO (Decode16,
> >                      0x0070,             // Range Minimum
> >                      0x0070,             // Range Maximum
> >                      0x01,               // Alignment
> >                      0x08,               // Length
> >                      )
> >                  IRQNoFlags ()
> >                      {8}
> >              })
> >          }
> >      }
> >
> > -    Scope (_SB.PCI0)
> > -    {
> > -        OperationRegion (PCST, SystemIO, 0xAE00, 0x08)
> > -        Field (PCST, DWordAcc, NoLock, WriteAsZeros)
> > -        {
> > -            PCIU,   32,
> > -            PCID,   32
> > -        }
> > -
> > -        OperationRegion (SEJ, SystemIO, 0xAE08, 0x04)
> > -        Field (SEJ, DWordAcc, NoLock, WriteAsZeros)
> > -        {
> > -            B0EJ,   32
> > -        }
> > -
> > -        OperationRegion (BNMR, SystemIO, 0xAE10, 0x04)
> > -        Field (BNMR, DWordAcc, NoLock, WriteAsZeros)
> > -        {
> > -            BNUM,   32
> > -        }
> > -
> > -        Mutex (BLCK, 0x00)
> > -        Method (PCEJ, 2, NotSerialized)
> > -        {
> > -            Acquire (BLCK, 0xFFFF)
> > -            BNUM = Arg0
> > -            B0EJ = (One << Arg1)
> > -            Release (BLCK)
> > -            Return (Zero)
> > -        }
> > -    }
> > -
> >      Scope (_SB)
> >      {
> >          Scope (PCI0)
> >          {
> >              Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
> >              {
> >                  Local0 = Package (0x80){}
> >                  Local1 = Zero
> >                  While ((Local1 < 0x80))
> >                  {
> >                      Local2 = (Local1 >> 0x02)
> >                      Local3 = ((Local1 + Local2) & 0x03)
> >                      If ((Local3 == Zero))
> >                      {
> >                          Local4 = Package (0x04)
> >                              {
> > @@ -690,38 +658,32 @@
> >                  Method (_OST, 3, Serialized)  // _OST: OSPM Status Indication
> >                  {
> >                      COST (Zero, Arg0, Arg1, Arg2)
> >                  }
> >              }
> >          }
> >      }
> >
> >      Method (\_GPE._E02, 0, NotSerialized)  // _Exx: Edge-Triggered GPE
> >      {
> >          \_SB.CPUS.CSCN ()
> >      }
> >
> >      Scope (_GPE)
> >      {
> >          Name (_HID, "ACPI0006" /* GPE Block Device */)  // _HID: Hardware ID
> > -        Method (_E01, 0, NotSerialized)  // _Exx: Edge-Triggered GPE
> > -        {
> > -            Acquire (\_SB.PCI0.BLCK, 0xFFFF)
> > -            \_SB.PCI0.PCNT ()
> > -            Release (\_SB.PCI0.BLCK)
> > -        }
> >      }
> >
> >      Scope (\_SB.PCI0)
> >      {
> >          Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
> >          {
> >              WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
> >                  0x0000,             // Granularity
> >                  0x0000,             // Range Minimum
> >                  0x00FF,             // Range Maximum
> >                  0x0000,             // Translation Offset
> >                  0x0100,             // Length
> >                  ,, )
> >              IO (Decode16,
> >                  0x0CF8,             // Range Minimum
> >                  0x0CF8,             // Range Maximum
> > @@ -766,48 +728,32 @@
> >          })
> >          Device (GPE0)
> >          {
> >              Name (_HID, "PNP0A06" /* Generic Container Device */)  // _HID: Hardware ID
> >              Name (_UID, "GPE0 resources")  // _UID: Unique ID
> >              Name (_STA, 0x0B)  // _STA: Status
> >              Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
> >              {
> >                  IO (Decode16,
> >                      0xAFE0,             // Range Minimum
> >                      0xAFE0,             // Range Maximum
> >                      0x01,               // Alignment
> >                      0x04,               // Length
> >                      )
> >              })
> >          }
> > -
> > -        Device (PHPR)
> > -        {
> > -            Name (_HID, "PNP0A06" /* Generic Container Device */)  // _HID: Hardware ID
> > -            Name (_UID, "PCI Hotplug resources")  // _UID: Unique ID
> > -            Name (_STA, 0x0B)  // _STA: Status
> > -            Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
> > -            {
> > -                IO (Decode16,
> > -                    0xAE00,             // Range Minimum
> > -                    0xAE00,             // Range Maximum
> > -                    0x01,               // Alignment
> > -                    0x14,               // Length
> > -                    )
> > -            })
> > -        }
> >      }
> >
> >      Scope (\)
> >      {
> >          Name (_S3, Package (0x04)  // _S3_: S3 System State
> >          {
> >              One,
> >              One,
> >              Zero,
> >              Zero
> >          })
> >          Name (_S4, Package (0x04)  // _S4_: S4 System State
> >          {
> >              0x02,
> >              0x02,
> >              Zero,
> > @@ -831,479 +777,48 @@
> >              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
> >              }
> > -
> > -            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)
> > -            }
> >          }
> >      }
> >  }
>
> This is not the only diff I see if I apply this patchset on
> top of master.
> Dropped this and the previous patch.
> Please check what is going on and repost as appropriate.

Which two ACPI DSDT files are you diffing? What diff are you getting?

>
>
>
> > Signed-off-by: Ani Sinha <ani@anisinha.ca>
> > Acked-by: Igor Mammedov <imammedo@redhat.com>
> > ---
>
Michael S. Tsirkin Sept. 29, 2020, 7:26 a.m. UTC | #3
On Tue, Sep 29, 2020 at 12:53:17PM +0530, Ani Sinha wrote:
> On Tue, Sep 29, 2020 at 12:42 PM Michael S. Tsirkin <mst@redhat.com> wrote:
> >
> > On Fri, Sep 18, 2020 at 02:11:11PM +0530, Ani Sinha wrote:
> > > This change adds a new DSDT golden master table blob to test disabling
> > > hotplug on both pci root bus and pci bridges. Also reverts the change
> > > in file bios-tables-test-allowed-diff.h to make sure its now empty so that
> > > future modifications to acpi tables can be caught.
> > >
> > > The following is the disassembled diff between DSDT.hpbridge and DSDT.hpbrroot:
> > >
> > > @@ -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.hpbridge, Wed Sep 16 09:45:56 2020
> > > + * Disassembly of /tmp/aml-ECV9Q0, Wed Sep 16 09:45:56 2020
> > >   *
> > >   * Original Table Header:
> > >   *     Signature        "DSDT"
> > > - *     Length           0x0000131F (4895)
> > > + *     Length           0x00000B89 (2953)
> > >   *     Revision         0x01 **** 32-bit table (V1), no 64-bit math support
> > > - *     Checksum         0xF9
> > > + *     Checksum         0xA2
> > >   *     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
> > >          }
> > >
> > > @@ -234,64 +234,32 @@
> > >          {
> > >              Name (_HID, EisaId ("PNP0B00") /* AT Real-Time Clock */)  // _HID: Hardware ID
> > >              Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
> > >              {
> > >                  IO (Decode16,
> > >                      0x0070,             // Range Minimum
> > >                      0x0070,             // Range Maximum
> > >                      0x01,               // Alignment
> > >                      0x08,               // Length
> > >                      )
> > >                  IRQNoFlags ()
> > >                      {8}
> > >              })
> > >          }
> > >      }
> > >
> > > -    Scope (_SB.PCI0)
> > > -    {
> > > -        OperationRegion (PCST, SystemIO, 0xAE00, 0x08)
> > > -        Field (PCST, DWordAcc, NoLock, WriteAsZeros)
> > > -        {
> > > -            PCIU,   32,
> > > -            PCID,   32
> > > -        }
> > > -
> > > -        OperationRegion (SEJ, SystemIO, 0xAE08, 0x04)
> > > -        Field (SEJ, DWordAcc, NoLock, WriteAsZeros)
> > > -        {
> > > -            B0EJ,   32
> > > -        }
> > > -
> > > -        OperationRegion (BNMR, SystemIO, 0xAE10, 0x04)
> > > -        Field (BNMR, DWordAcc, NoLock, WriteAsZeros)
> > > -        {
> > > -            BNUM,   32
> > > -        }
> > > -
> > > -        Mutex (BLCK, 0x00)
> > > -        Method (PCEJ, 2, NotSerialized)
> > > -        {
> > > -            Acquire (BLCK, 0xFFFF)
> > > -            BNUM = Arg0
> > > -            B0EJ = (One << Arg1)
> > > -            Release (BLCK)
> > > -            Return (Zero)
> > > -        }
> > > -    }
> > > -
> > >      Scope (_SB)
> > >      {
> > >          Scope (PCI0)
> > >          {
> > >              Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
> > >              {
> > >                  Local0 = Package (0x80){}
> > >                  Local1 = Zero
> > >                  While ((Local1 < 0x80))
> > >                  {
> > >                      Local2 = (Local1 >> 0x02)
> > >                      Local3 = ((Local1 + Local2) & 0x03)
> > >                      If ((Local3 == Zero))
> > >                      {
> > >                          Local4 = Package (0x04)
> > >                              {
> > > @@ -690,38 +658,32 @@
> > >                  Method (_OST, 3, Serialized)  // _OST: OSPM Status Indication
> > >                  {
> > >                      COST (Zero, Arg0, Arg1, Arg2)
> > >                  }
> > >              }
> > >          }
> > >      }
> > >
> > >      Method (\_GPE._E02, 0, NotSerialized)  // _Exx: Edge-Triggered GPE
> > >      {
> > >          \_SB.CPUS.CSCN ()
> > >      }
> > >
> > >      Scope (_GPE)
> > >      {
> > >          Name (_HID, "ACPI0006" /* GPE Block Device */)  // _HID: Hardware ID
> > > -        Method (_E01, 0, NotSerialized)  // _Exx: Edge-Triggered GPE
> > > -        {
> > > -            Acquire (\_SB.PCI0.BLCK, 0xFFFF)
> > > -            \_SB.PCI0.PCNT ()
> > > -            Release (\_SB.PCI0.BLCK)
> > > -        }
> > >      }
> > >
> > >      Scope (\_SB.PCI0)
> > >      {
> > >          Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
> > >          {
> > >              WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
> > >                  0x0000,             // Granularity
> > >                  0x0000,             // Range Minimum
> > >                  0x00FF,             // Range Maximum
> > >                  0x0000,             // Translation Offset
> > >                  0x0100,             // Length
> > >                  ,, )
> > >              IO (Decode16,
> > >                  0x0CF8,             // Range Minimum
> > >                  0x0CF8,             // Range Maximum
> > > @@ -766,48 +728,32 @@
> > >          })
> > >          Device (GPE0)
> > >          {
> > >              Name (_HID, "PNP0A06" /* Generic Container Device */)  // _HID: Hardware ID
> > >              Name (_UID, "GPE0 resources")  // _UID: Unique ID
> > >              Name (_STA, 0x0B)  // _STA: Status
> > >              Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
> > >              {
> > >                  IO (Decode16,
> > >                      0xAFE0,             // Range Minimum
> > >                      0xAFE0,             // Range Maximum
> > >                      0x01,               // Alignment
> > >                      0x04,               // Length
> > >                      )
> > >              })
> > >          }
> > > -
> > > -        Device (PHPR)
> > > -        {
> > > -            Name (_HID, "PNP0A06" /* Generic Container Device */)  // _HID: Hardware ID
> > > -            Name (_UID, "PCI Hotplug resources")  // _UID: Unique ID
> > > -            Name (_STA, 0x0B)  // _STA: Status
> > > -            Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
> > > -            {
> > > -                IO (Decode16,
> > > -                    0xAE00,             // Range Minimum
> > > -                    0xAE00,             // Range Maximum
> > > -                    0x01,               // Alignment
> > > -                    0x14,               // Length
> > > -                    )
> > > -            })
> > > -        }
> > >      }
> > >
> > >      Scope (\)
> > >      {
> > >          Name (_S3, Package (0x04)  // _S3_: S3 System State
> > >          {
> > >              One,
> > >              One,
> > >              Zero,
> > >              Zero
> > >          })
> > >          Name (_S4, Package (0x04)  // _S4_: S4 System State
> > >          {
> > >              0x02,
> > >              0x02,
> > >              Zero,
> > > @@ -831,479 +777,48 @@
> > >              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
> > >              }
> > > -
> > > -            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)
> > > -            }
> > >          }
> > >      }
> > >  }
> >
> > This is not the only diff I see if I apply this patchset on
> > top of master.
> > Dropped this and the previous patch.
> > Please check what is going on and repost as appropriate.
> 
> Which two ACPI DSDT files are you diffing? What diff are you getting?


diff -rup ./tests/data/acpi/pc/DSDT.hpbridge.dsl ./tests/data/acpi/pc/DSDT.hpbrroot.dsl



--- ./tests/data/acpi/pc/DSDT.hpbridge.dsl	2020-09-29 02:44:43.874622404 -0400
+++ ./tests/data/acpi/pc/DSDT.hpbrroot.dsl	2020-09-29 02:44:43.876622403 -0400
@@ -5,13 +5,13 @@
  * 
  * Disassembling to symbolic ASL+ operators
  *
- * Disassembly of tests/data/acpi/pc/DSDT.hpbridge, Tue Sep 29 02:44:43 2020
+ * Disassembly of tests/data/acpi/pc/DSDT.hpbrroot, Tue Sep 29 02:44:43 2020
  *
  * Original Table Header:
  *     Signature        "DSDT"
- *     Length           0x0000139D (5021)
+ *     Length           0x00000B89 (2953)
  *     Revision         0x01 **** 32-bit table (V1), no 64-bit math support
- *     Checksum         0x05
+ *     Checksum         0xA2
  *     OEM ID           "BOCHS "
  *     OEM Table ID     "BXPCDSDT"
  *     OEM Revision     0x00000001 (1)
@@ -247,38 +247,6 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
         }
     }
 
-    Scope (_SB.PCI0)
-    {
-        OperationRegion (PCST, SystemIO, 0xAE00, 0x08)
-        Field (PCST, DWordAcc, NoLock, WriteAsZeros)
-        {
-            PCIU,   32, 
-            PCID,   32
-        }
-
-        OperationRegion (SEJ, SystemIO, 0xAE08, 0x04)
-        Field (SEJ, DWordAcc, NoLock, WriteAsZeros)
-        {
-            B0EJ,   32
-        }
-
-        OperationRegion (BNMR, SystemIO, 0xAE10, 0x04)
-        Field (BNMR, DWordAcc, NoLock, WriteAsZeros)
-        {
-            BNUM,   32
-        }
-
-        Mutex (BLCK, 0x00)
-        Method (PCEJ, 2, NotSerialized)
-        {
-            Acquire (BLCK, 0xFFFF)
-            BNUM = Arg0
-            B0EJ = (One << Arg1)
-            Release (BLCK)
-            Return (Zero)
-        }
-    }
-
     Scope (_SB)
     {
         Scope (PCI0)
@@ -643,56 +611,22 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
             Method (CSCN, 0, Serialized)
             {
                 Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF)
-                Name (CNEW, Package (0xFF){})
-                Local3 = Zero
-                Local4 = One
-                While ((Local4 == One))
+                Local0 = One
+                While ((Local0 == One))
                 {
-                    Local4 = Zero
-                    Local0 = One
-                    Local1 = Zero
-                    While (((Local0 == One) && (Local3 < One)))
+                    Local0 = Zero
+                    \_SB.PCI0.PRES.CCMD = Zero
+                    If ((\_SB.PCI0.PRES.CINS == One))
                     {
-                        Local0 = Zero
-                        \_SB.PCI0.PRES.CSEL = Local3
-                        \_SB.PCI0.PRES.CCMD = Zero
-                        If ((\_SB.PCI0.PRES.CDAT < Local3))
-                        {
-                            Break
-                        }
-
-                        If ((Local1 == 0xFF))
-                        {
-                            Local4 = One
-                            Break
-                        }
-
-                        Local3 = \_SB.PCI0.PRES.CDAT
-                        If ((\_SB.PCI0.PRES.CINS == One))
-                        {
-                            CNEW [Local1] = Local3
-                            Local1++
-                            Local0 = One
-                        }
-                        ElseIf ((\_SB.PCI0.PRES.CRMV == One))
-                        {
-                            CTFY (Local3, 0x03)
-                            \_SB.PCI0.PRES.CRMV = One
-                            Local0 = One
-                        }
-
-                        Local3++
+                        CTFY (\_SB.PCI0.PRES.CDAT, One)
+                        \_SB.PCI0.PRES.CINS = One
+                        Local0 = One
                     }
-
-                    Local2 = Zero
-                    While ((Local2 < Local1))
+                    ElseIf ((\_SB.PCI0.PRES.CRMV == One))
                     {
-                        Local3 = DerefOf (CNEW [Local2])
-                        CTFY (Local3, One)
-                        Debug = Local3
-                        \_SB.PCI0.PRES.CSEL = Local3
-                        \_SB.PCI0.PRES.CINS = One
-                        Local2++
+                        CTFY (\_SB.PCI0.PRES.CDAT, 0x03)
+                        \_SB.PCI0.PRES.CRMV = One
+                        Local0 = One
                     }
                 }
 
@@ -737,12 +671,6 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
     Scope (_GPE)
     {
         Name (_HID, "ACPI0006" /* GPE Block Device */)  // _HID: Hardware ID
-        Method (_E01, 0, NotSerialized)  // _Exx: Edge-Triggered GPE, xx=0x00-0xFF
-        {
-            Acquire (\_SB.PCI0.BLCK, 0xFFFF)
-            \_SB.PCI0.PCNT ()
-            Release (\_SB.PCI0.BLCK)
-        }
     }
 
     Scope (\_SB.PCI0)
@@ -813,22 +741,6 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
                     )
             })
         }
-
-        Device (PHPR)
-        {
-            Name (_HID, "PNP0A06" /* Generic Container Device */)  // _HID: Hardware ID
-            Name (_UID, "PCI Hotplug resources")  // _UID: Unique ID
-            Name (_STA, 0x0B)  // _STA: Status
-            Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
-            {
-                IO (Decode16,
-                    0xAE00,             // Range Minimum
-                    0xAE00,             // Range Maximum
-                    0x01,               // Alignment
-                    0x14,               // Length
-                    )
-            })
-        }
     }
 
     Scope (\)
@@ -878,7 +790,6 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
     {
         Scope (PCI0)
         {
-            Name (BSEL, Zero)
             Device (S00)
             {
                 Name (_ADR, Zero)  // _ADR: Address
@@ -907,436 +818,6 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
             {
                 Name (_ADR, 0x00030000)  // _ADR: Address
             }
-
-            Device (S20)
-            {
-                Name (_SUN, 0x04)  // _SUN: Slot User Number
-                Name (_ADR, 0x00040000)  // _ADR: Address
-                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
-                {
-                    PCEJ (BSEL, _SUN)
-                }
-            }
-
-            Device (S28)
-            {
-                Name (_SUN, 0x05)  // _SUN: Slot User Number
-                Name (_ADR, 0x00050000)  // _ADR: Address
-                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
-                {
-                    PCEJ (BSEL, _SUN)
-                }
-            }
-
-            Device (S30)
-            {
-                Name (_SUN, 0x06)  // _SUN: Slot User Number
-                Name (_ADR, 0x00060000)  // _ADR: Address
-                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
-                {
-                    PCEJ (BSEL, _SUN)
-                }
-            }
-
-            Device (S38)
-            {
-                Name (_SUN, 0x07)  // _SUN: Slot User Number
-                Name (_ADR, 0x00070000)  // _ADR: Address
-                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
-                {
-                    PCEJ (BSEL, _SUN)
-                }
-            }
-
-            Device (S40)
-            {
-                Name (_SUN, 0x08)  // _SUN: Slot User Number
-                Name (_ADR, 0x00080000)  // _ADR: Address
-                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
-                {
-                    PCEJ (BSEL, _SUN)
-                }
-            }
-
-            Device (S48)
-            {
-                Name (_SUN, 0x09)  // _SUN: Slot User Number
-                Name (_ADR, 0x00090000)  // _ADR: Address
-                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
-                {
-                    PCEJ (BSEL, _SUN)
-                }
-            }
-
-            Device (S50)
-            {
-                Name (_SUN, 0x0A)  // _SUN: Slot User Number
-                Name (_ADR, 0x000A0000)  // _ADR: Address
-                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
-                {
-                    PCEJ (BSEL, _SUN)
-                }
-            }
-
-            Device (S58)
-            {
-                Name (_SUN, 0x0B)  // _SUN: Slot User Number
-                Name (_ADR, 0x000B0000)  // _ADR: Address
-                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
-                {
-                    PCEJ (BSEL, _SUN)
-                }
-            }
-
-            Device (S60)
-            {
-                Name (_SUN, 0x0C)  // _SUN: Slot User Number
-                Name (_ADR, 0x000C0000)  // _ADR: Address
-                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
-                {
-                    PCEJ (BSEL, _SUN)
-                }
-            }
-
-            Device (S68)
-            {
-                Name (_SUN, 0x0D)  // _SUN: Slot User Number
-                Name (_ADR, 0x000D0000)  // _ADR: Address
-                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
-                {
-                    PCEJ (BSEL, _SUN)
-                }
-            }
-
-            Device (S70)
-            {
-                Name (_SUN, 0x0E)  // _SUN: Slot User Number
-                Name (_ADR, 0x000E0000)  // _ADR: Address
-                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
-                {
-                    PCEJ (BSEL, _SUN)
-                }
-            }
-
-            Device (S78)
-            {
-                Name (_SUN, 0x0F)  // _SUN: Slot User Number
-                Name (_ADR, 0x000F0000)  // _ADR: Address
-                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
-                {
-                    PCEJ (BSEL, _SUN)
-                }
-            }
-
-            Device (S80)
-            {
-                Name (_SUN, 0x10)  // _SUN: Slot User Number
-                Name (_ADR, 0x00100000)  // _ADR: Address
-                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
-                {
-                    PCEJ (BSEL, _SUN)
-                }
-            }
-
-            Device (S88)
-            {
-                Name (_SUN, 0x11)  // _SUN: Slot User Number
-                Name (_ADR, 0x00110000)  // _ADR: Address
-                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
-                {
-                    PCEJ (BSEL, _SUN)
-                }
-            }
-
-            Device (S90)
-            {
-                Name (_SUN, 0x12)  // _SUN: Slot User Number
-                Name (_ADR, 0x00120000)  // _ADR: Address
-                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
-                {
-                    PCEJ (BSEL, _SUN)
-                }
-            }
-
-            Device (S98)
-            {
-                Name (_SUN, 0x13)  // _SUN: Slot User Number
-                Name (_ADR, 0x00130000)  // _ADR: Address
-                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
-                {
-                    PCEJ (BSEL, _SUN)
-                }
-            }
-
-            Device (SA0)
-            {
-                Name (_SUN, 0x14)  // _SUN: Slot User Number
-                Name (_ADR, 0x00140000)  // _ADR: Address
-                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
-                {
-                    PCEJ (BSEL, _SUN)
-                }
-            }
-
-            Device (SA8)
-            {
-                Name (_SUN, 0x15)  // _SUN: Slot User Number
-                Name (_ADR, 0x00150000)  // _ADR: Address
-                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
-                {
-                    PCEJ (BSEL, _SUN)
-                }
-            }
-
-            Device (SB0)
-            {
-                Name (_SUN, 0x16)  // _SUN: Slot User Number
-                Name (_ADR, 0x00160000)  // _ADR: Address
-                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
-                {
-                    PCEJ (BSEL, _SUN)
-                }
-            }
-
-            Device (SB8)
-            {
-                Name (_SUN, 0x17)  // _SUN: Slot User Number
-                Name (_ADR, 0x00170000)  // _ADR: Address
-                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
-                {
-                    PCEJ (BSEL, _SUN)
-                }
-            }
-
-            Device (SC0)
-            {
-                Name (_SUN, 0x18)  // _SUN: Slot User Number
-                Name (_ADR, 0x00180000)  // _ADR: Address
-                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
-                {
-                    PCEJ (BSEL, _SUN)
-                }
-            }
-
-            Device (SC8)
-            {
-                Name (_SUN, 0x19)  // _SUN: Slot User Number
-                Name (_ADR, 0x00190000)  // _ADR: Address
-                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
-                {
-                    PCEJ (BSEL, _SUN)
-                }
-            }
-
-            Device (SD0)
-            {
-                Name (_SUN, 0x1A)  // _SUN: Slot User Number
-                Name (_ADR, 0x001A0000)  // _ADR: Address
-                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
-                {
-                    PCEJ (BSEL, _SUN)
-                }
-            }
-
-            Device (SD8)
-            {
-                Name (_SUN, 0x1B)  // _SUN: Slot User Number
-                Name (_ADR, 0x001B0000)  // _ADR: Address
-                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
-                {
-                    PCEJ (BSEL, _SUN)
-                }
-            }
-
-            Device (SE0)
-            {
-                Name (_SUN, 0x1C)  // _SUN: Slot User Number
-                Name (_ADR, 0x001C0000)  // _ADR: Address
-                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
-                {
-                    PCEJ (BSEL, _SUN)
-                }
-            }
-
-            Device (SE8)
-            {
-                Name (_SUN, 0x1D)  // _SUN: Slot User Number
-                Name (_ADR, 0x001D0000)  // _ADR: Address
-                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
-                {
-                    PCEJ (BSEL, _SUN)
-                }
-            }
-
-            Device (SF0)
-            {
-                Name (_SUN, 0x1E)  // _SUN: Slot User Number
-                Name (_ADR, 0x001E0000)  // _ADR: Address
-                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
-                {
-                    PCEJ (BSEL, _SUN)
-                }
-            }
-
-            Device (SF8)
-            {
-                Name (_SUN, 0x1F)  // _SUN: Slot User Number
-                Name (_ADR, 0x001F0000)  // _ADR: Address
-                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
-                {
-                    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)
-            }
         }
     }
 }
Ani Sinha Sept. 29, 2020, 8:23 a.m. UTC | #4
On Tue, Sep 29, 2020 at 12:56 PM Michael S. Tsirkin <mst@redhat.com> wrote:
>
> On Tue, Sep 29, 2020 at 12:53:17PM +0530, Ani Sinha wrote:
> > On Tue, Sep 29, 2020 at 12:42 PM Michael S. Tsirkin <mst@redhat.com> wrote:
> > >
> > > On Fri, Sep 18, 2020 at 02:11:11PM +0530, Ani Sinha wrote:
> > > > This change adds a new DSDT golden master table blob to test disabling
> > > > hotplug on both pci root bus and pci bridges. Also reverts the change
> > > > in file bios-tables-test-allowed-diff.h to make sure its now empty so that
> > > > future modifications to acpi tables can be caught.
> > > >
> > > > The following is the disassembled diff between DSDT.hpbridge and DSDT.hpbrroot:
> > > >
> > > > @@ -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.hpbridge, Wed Sep 16 09:45:56 2020
> > > > + * Disassembly of /tmp/aml-ECV9Q0, Wed Sep 16 09:45:56 2020
> > > >   *
> > > >   * Original Table Header:
> > > >   *     Signature        "DSDT"
> > > > - *     Length           0x0000131F (4895)
> > > > + *     Length           0x00000B89 (2953)
> > > >   *     Revision         0x01 **** 32-bit table (V1), no 64-bit math support
> > > > - *     Checksum         0xF9
> > > > + *     Checksum         0xA2
> > > >   *     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
> > > >          }
> > > >
> > > > @@ -234,64 +234,32 @@
> > > >          {
> > > >              Name (_HID, EisaId ("PNP0B00") /* AT Real-Time Clock */)  // _HID: Hardware ID
> > > >              Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
> > > >              {
> > > >                  IO (Decode16,
> > > >                      0x0070,             // Range Minimum
> > > >                      0x0070,             // Range Maximum
> > > >                      0x01,               // Alignment
> > > >                      0x08,               // Length
> > > >                      )
> > > >                  IRQNoFlags ()
> > > >                      {8}
> > > >              })
> > > >          }
> > > >      }
> > > >
> > > > -    Scope (_SB.PCI0)
> > > > -    {
> > > > -        OperationRegion (PCST, SystemIO, 0xAE00, 0x08)
> > > > -        Field (PCST, DWordAcc, NoLock, WriteAsZeros)
> > > > -        {
> > > > -            PCIU,   32,
> > > > -            PCID,   32
> > > > -        }
> > > > -
> > > > -        OperationRegion (SEJ, SystemIO, 0xAE08, 0x04)
> > > > -        Field (SEJ, DWordAcc, NoLock, WriteAsZeros)
> > > > -        {
> > > > -            B0EJ,   32
> > > > -        }
> > > > -
> > > > -        OperationRegion (BNMR, SystemIO, 0xAE10, 0x04)
> > > > -        Field (BNMR, DWordAcc, NoLock, WriteAsZeros)
> > > > -        {
> > > > -            BNUM,   32
> > > > -        }
> > > > -
> > > > -        Mutex (BLCK, 0x00)
> > > > -        Method (PCEJ, 2, NotSerialized)
> > > > -        {
> > > > -            Acquire (BLCK, 0xFFFF)
> > > > -            BNUM = Arg0
> > > > -            B0EJ = (One << Arg1)
> > > > -            Release (BLCK)
> > > > -            Return (Zero)
> > > > -        }
> > > > -    }
> > > > -
> > > >      Scope (_SB)
> > > >      {
> > > >          Scope (PCI0)
> > > >          {
> > > >              Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
> > > >              {
> > > >                  Local0 = Package (0x80){}
> > > >                  Local1 = Zero
> > > >                  While ((Local1 < 0x80))
> > > >                  {
> > > >                      Local2 = (Local1 >> 0x02)
> > > >                      Local3 = ((Local1 + Local2) & 0x03)
> > > >                      If ((Local3 == Zero))
> > > >                      {
> > > >                          Local4 = Package (0x04)
> > > >                              {
> > > > @@ -690,38 +658,32 @@
> > > >                  Method (_OST, 3, Serialized)  // _OST: OSPM Status Indication
> > > >                  {
> > > >                      COST (Zero, Arg0, Arg1, Arg2)
> > > >                  }
> > > >              }
> > > >          }
> > > >      }
> > > >
> > > >      Method (\_GPE._E02, 0, NotSerialized)  // _Exx: Edge-Triggered GPE
> > > >      {
> > > >          \_SB.CPUS.CSCN ()
> > > >      }
> > > >
> > > >      Scope (_GPE)
> > > >      {
> > > >          Name (_HID, "ACPI0006" /* GPE Block Device */)  // _HID: Hardware ID
> > > > -        Method (_E01, 0, NotSerialized)  // _Exx: Edge-Triggered GPE
> > > > -        {
> > > > -            Acquire (\_SB.PCI0.BLCK, 0xFFFF)
> > > > -            \_SB.PCI0.PCNT ()
> > > > -            Release (\_SB.PCI0.BLCK)
> > > > -        }
> > > >      }
> > > >
> > > >      Scope (\_SB.PCI0)
> > > >      {
> > > >          Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
> > > >          {
> > > >              WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
> > > >                  0x0000,             // Granularity
> > > >                  0x0000,             // Range Minimum
> > > >                  0x00FF,             // Range Maximum
> > > >                  0x0000,             // Translation Offset
> > > >                  0x0100,             // Length
> > > >                  ,, )
> > > >              IO (Decode16,
> > > >                  0x0CF8,             // Range Minimum
> > > >                  0x0CF8,             // Range Maximum
> > > > @@ -766,48 +728,32 @@
> > > >          })
> > > >          Device (GPE0)
> > > >          {
> > > >              Name (_HID, "PNP0A06" /* Generic Container Device */)  // _HID: Hardware ID
> > > >              Name (_UID, "GPE0 resources")  // _UID: Unique ID
> > > >              Name (_STA, 0x0B)  // _STA: Status
> > > >              Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
> > > >              {
> > > >                  IO (Decode16,
> > > >                      0xAFE0,             // Range Minimum
> > > >                      0xAFE0,             // Range Maximum
> > > >                      0x01,               // Alignment
> > > >                      0x04,               // Length
> > > >                      )
> > > >              })
> > > >          }
> > > > -
> > > > -        Device (PHPR)
> > > > -        {
> > > > -            Name (_HID, "PNP0A06" /* Generic Container Device */)  // _HID: Hardware ID
> > > > -            Name (_UID, "PCI Hotplug resources")  // _UID: Unique ID
> > > > -            Name (_STA, 0x0B)  // _STA: Status
> > > > -            Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
> > > > -            {
> > > > -                IO (Decode16,
> > > > -                    0xAE00,             // Range Minimum
> > > > -                    0xAE00,             // Range Maximum
> > > > -                    0x01,               // Alignment
> > > > -                    0x14,               // Length
> > > > -                    )
> > > > -            })
> > > > -        }
> > > >      }
> > > >
> > > >      Scope (\)
> > > >      {
> > > >          Name (_S3, Package (0x04)  // _S3_: S3 System State
> > > >          {
> > > >              One,
> > > >              One,
> > > >              Zero,
> > > >              Zero
> > > >          })
> > > >          Name (_S4, Package (0x04)  // _S4_: S4 System State
> > > >          {
> > > >              0x02,
> > > >              0x02,
> > > >              Zero,
> > > > @@ -831,479 +777,48 @@
> > > >              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
> > > >              }
> > > > -
> > > > -            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)
> > > > -            }
> > > >          }
> > > >      }
> > > >  }
> > >
> > > This is not the only diff I see if I apply this patchset on
> > > top of master.
> > > Dropped this and the previous patch.
> > > Please check what is going on and repost as appropriate.
> >
> > Which two ACPI DSDT files are you diffing? What diff are you getting?
>
>
> diff -rup ./tests/data/acpi/pc/DSDT.hpbridge.dsl ./tests/data/acpi/pc/DSDT.hpbrroot.dsl

I re-based my patchset on top of the latest qemu master and did a make
 && make check-qtest-x86_64 V=1.
They pass. I am seeing this diff:
https://pastebin.ubuntu.com/p/BXy9GFfB2R/

and it looks good to me.

Not sure why your diff looks different. Maybe you can regenerate the blob?

>
>
>
> --- ./tests/data/acpi/pc/DSDT.hpbridge.dsl      2020-09-29 02:44:43.874622404 -0400
> +++ ./tests/data/acpi/pc/DSDT.hpbrroot.dsl      2020-09-29 02:44:43.876622403 -0400
> @@ -5,13 +5,13 @@
>   *
>   * Disassembling to symbolic ASL+ operators
>   *
> - * Disassembly of tests/data/acpi/pc/DSDT.hpbridge, Tue Sep 29 02:44:43 2020
> + * Disassembly of tests/data/acpi/pc/DSDT.hpbrroot, Tue Sep 29 02:44:43 2020
>   *
>   * Original Table Header:
>   *     Signature        "DSDT"
> - *     Length           0x0000139D (5021)
> + *     Length           0x00000B89 (2953)
>   *     Revision         0x01 **** 32-bit table (V1), no 64-bit math support
> - *     Checksum         0x05
> + *     Checksum         0xA2
>   *     OEM ID           "BOCHS "
>   *     OEM Table ID     "BXPCDSDT"
>   *     OEM Revision     0x00000001 (1)
> @@ -247,38 +247,6 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
>          }
>      }
>
> -    Scope (_SB.PCI0)
> -    {
> -        OperationRegion (PCST, SystemIO, 0xAE00, 0x08)
> -        Field (PCST, DWordAcc, NoLock, WriteAsZeros)
> -        {
> -            PCIU,   32,
> -            PCID,   32
> -        }
> -
> -        OperationRegion (SEJ, SystemIO, 0xAE08, 0x04)
> -        Field (SEJ, DWordAcc, NoLock, WriteAsZeros)
> -        {
> -            B0EJ,   32
> -        }
> -
> -        OperationRegion (BNMR, SystemIO, 0xAE10, 0x04)
> -        Field (BNMR, DWordAcc, NoLock, WriteAsZeros)
> -        {
> -            BNUM,   32
> -        }
> -
> -        Mutex (BLCK, 0x00)
> -        Method (PCEJ, 2, NotSerialized)
> -        {
> -            Acquire (BLCK, 0xFFFF)
> -            BNUM = Arg0
> -            B0EJ = (One << Arg1)
> -            Release (BLCK)
> -            Return (Zero)
> -        }
> -    }
> -
>      Scope (_SB)
>      {
>          Scope (PCI0)
> @@ -643,56 +611,22 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
>              Method (CSCN, 0, Serialized)
>              {
>                  Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF)
> -                Name (CNEW, Package (0xFF){})
> -                Local3 = Zero
> -                Local4 = One
> -                While ((Local4 == One))
> +                Local0 = One
> +                While ((Local0 == One))
>                  {
> -                    Local4 = Zero
> -                    Local0 = One
> -                    Local1 = Zero
> -                    While (((Local0 == One) && (Local3 < One)))
> +                    Local0 = Zero
> +                    \_SB.PCI0.PRES.CCMD = Zero
> +                    If ((\_SB.PCI0.PRES.CINS == One))
>                      {
> -                        Local0 = Zero
> -                        \_SB.PCI0.PRES.CSEL = Local3
> -                        \_SB.PCI0.PRES.CCMD = Zero
> -                        If ((\_SB.PCI0.PRES.CDAT < Local3))
> -                        {
> -                            Break
> -                        }
> -
> -                        If ((Local1 == 0xFF))
> -                        {
> -                            Local4 = One
> -                            Break
> -                        }
> -
> -                        Local3 = \_SB.PCI0.PRES.CDAT
> -                        If ((\_SB.PCI0.PRES.CINS == One))
> -                        {
> -                            CNEW [Local1] = Local3
> -                            Local1++
> -                            Local0 = One
> -                        }
> -                        ElseIf ((\_SB.PCI0.PRES.CRMV == One))
> -                        {
> -                            CTFY (Local3, 0x03)
> -                            \_SB.PCI0.PRES.CRMV = One
> -                            Local0 = One
> -                        }
> -
> -                        Local3++
> +                        CTFY (\_SB.PCI0.PRES.CDAT, One)
> +                        \_SB.PCI0.PRES.CINS = One
> +                        Local0 = One
>                      }
> -
> -                    Local2 = Zero
> -                    While ((Local2 < Local1))
> +                    ElseIf ((\_SB.PCI0.PRES.CRMV == One))
>                      {
> -                        Local3 = DerefOf (CNEW [Local2])
> -                        CTFY (Local3, One)
> -                        Debug = Local3
> -                        \_SB.PCI0.PRES.CSEL = Local3
> -                        \_SB.PCI0.PRES.CINS = One
> -                        Local2++
> +                        CTFY (\_SB.PCI0.PRES.CDAT, 0x03)
> +                        \_SB.PCI0.PRES.CRMV = One
> +                        Local0 = One
>                      }
>                  }
>
> @@ -737,12 +671,6 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
>      Scope (_GPE)
>      {
>          Name (_HID, "ACPI0006" /* GPE Block Device */)  // _HID: Hardware ID
> -        Method (_E01, 0, NotSerialized)  // _Exx: Edge-Triggered GPE, xx=0x00-0xFF
> -        {
> -            Acquire (\_SB.PCI0.BLCK, 0xFFFF)
> -            \_SB.PCI0.PCNT ()
> -            Release (\_SB.PCI0.BLCK)
> -        }
>      }
>
>      Scope (\_SB.PCI0)
> @@ -813,22 +741,6 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
>                      )
>              })
>          }
> -
> -        Device (PHPR)
> -        {
> -            Name (_HID, "PNP0A06" /* Generic Container Device */)  // _HID: Hardware ID
> -            Name (_UID, "PCI Hotplug resources")  // _UID: Unique ID
> -            Name (_STA, 0x0B)  // _STA: Status
> -            Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
> -            {
> -                IO (Decode16,
> -                    0xAE00,             // Range Minimum
> -                    0xAE00,             // Range Maximum
> -                    0x01,               // Alignment
> -                    0x14,               // Length
> -                    )
> -            })
> -        }
>      }
>
>      Scope (\)
> @@ -878,7 +790,6 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
>      {
>          Scope (PCI0)
>          {
> -            Name (BSEL, Zero)
>              Device (S00)
>              {
>                  Name (_ADR, Zero)  // _ADR: Address
> @@ -907,436 +818,6 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
>              {
>                  Name (_ADR, 0x00030000)  // _ADR: Address
>              }
> -
> -            Device (S20)
> -            {
> -                Name (_SUN, 0x04)  // _SUN: Slot User Number
> -                Name (_ADR, 0x00040000)  // _ADR: Address
> -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> -                {
> -                    PCEJ (BSEL, _SUN)
> -                }
> -            }
> -
> -            Device (S28)
> -            {
> -                Name (_SUN, 0x05)  // _SUN: Slot User Number
> -                Name (_ADR, 0x00050000)  // _ADR: Address
> -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> -                {
> -                    PCEJ (BSEL, _SUN)
> -                }
> -            }
> -
> -            Device (S30)
> -            {
> -                Name (_SUN, 0x06)  // _SUN: Slot User Number
> -                Name (_ADR, 0x00060000)  // _ADR: Address
> -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> -                {
> -                    PCEJ (BSEL, _SUN)
> -                }
> -            }
> -
> -            Device (S38)
> -            {
> -                Name (_SUN, 0x07)  // _SUN: Slot User Number
> -                Name (_ADR, 0x00070000)  // _ADR: Address
> -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> -                {
> -                    PCEJ (BSEL, _SUN)
> -                }
> -            }
> -
> -            Device (S40)
> -            {
> -                Name (_SUN, 0x08)  // _SUN: Slot User Number
> -                Name (_ADR, 0x00080000)  // _ADR: Address
> -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> -                {
> -                    PCEJ (BSEL, _SUN)
> -                }
> -            }
> -
> -            Device (S48)
> -            {
> -                Name (_SUN, 0x09)  // _SUN: Slot User Number
> -                Name (_ADR, 0x00090000)  // _ADR: Address
> -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> -                {
> -                    PCEJ (BSEL, _SUN)
> -                }
> -            }
> -
> -            Device (S50)
> -            {
> -                Name (_SUN, 0x0A)  // _SUN: Slot User Number
> -                Name (_ADR, 0x000A0000)  // _ADR: Address
> -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> -                {
> -                    PCEJ (BSEL, _SUN)
> -                }
> -            }
> -
> -            Device (S58)
> -            {
> -                Name (_SUN, 0x0B)  // _SUN: Slot User Number
> -                Name (_ADR, 0x000B0000)  // _ADR: Address
> -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> -                {
> -                    PCEJ (BSEL, _SUN)
> -                }
> -            }
> -
> -            Device (S60)
> -            {
> -                Name (_SUN, 0x0C)  // _SUN: Slot User Number
> -                Name (_ADR, 0x000C0000)  // _ADR: Address
> -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> -                {
> -                    PCEJ (BSEL, _SUN)
> -                }
> -            }
> -
> -            Device (S68)
> -            {
> -                Name (_SUN, 0x0D)  // _SUN: Slot User Number
> -                Name (_ADR, 0x000D0000)  // _ADR: Address
> -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> -                {
> -                    PCEJ (BSEL, _SUN)
> -                }
> -            }
> -
> -            Device (S70)
> -            {
> -                Name (_SUN, 0x0E)  // _SUN: Slot User Number
> -                Name (_ADR, 0x000E0000)  // _ADR: Address
> -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> -                {
> -                    PCEJ (BSEL, _SUN)
> -                }
> -            }
> -
> -            Device (S78)
> -            {
> -                Name (_SUN, 0x0F)  // _SUN: Slot User Number
> -                Name (_ADR, 0x000F0000)  // _ADR: Address
> -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> -                {
> -                    PCEJ (BSEL, _SUN)
> -                }
> -            }
> -
> -            Device (S80)
> -            {
> -                Name (_SUN, 0x10)  // _SUN: Slot User Number
> -                Name (_ADR, 0x00100000)  // _ADR: Address
> -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> -                {
> -                    PCEJ (BSEL, _SUN)
> -                }
> -            }
> -
> -            Device (S88)
> -            {
> -                Name (_SUN, 0x11)  // _SUN: Slot User Number
> -                Name (_ADR, 0x00110000)  // _ADR: Address
> -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> -                {
> -                    PCEJ (BSEL, _SUN)
> -                }
> -            }
> -
> -            Device (S90)
> -            {
> -                Name (_SUN, 0x12)  // _SUN: Slot User Number
> -                Name (_ADR, 0x00120000)  // _ADR: Address
> -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> -                {
> -                    PCEJ (BSEL, _SUN)
> -                }
> -            }
> -
> -            Device (S98)
> -            {
> -                Name (_SUN, 0x13)  // _SUN: Slot User Number
> -                Name (_ADR, 0x00130000)  // _ADR: Address
> -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> -                {
> -                    PCEJ (BSEL, _SUN)
> -                }
> -            }
> -
> -            Device (SA0)
> -            {
> -                Name (_SUN, 0x14)  // _SUN: Slot User Number
> -                Name (_ADR, 0x00140000)  // _ADR: Address
> -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> -                {
> -                    PCEJ (BSEL, _SUN)
> -                }
> -            }
> -
> -            Device (SA8)
> -            {
> -                Name (_SUN, 0x15)  // _SUN: Slot User Number
> -                Name (_ADR, 0x00150000)  // _ADR: Address
> -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> -                {
> -                    PCEJ (BSEL, _SUN)
> -                }
> -            }
> -
> -            Device (SB0)
> -            {
> -                Name (_SUN, 0x16)  // _SUN: Slot User Number
> -                Name (_ADR, 0x00160000)  // _ADR: Address
> -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> -                {
> -                    PCEJ (BSEL, _SUN)
> -                }
> -            }
> -
> -            Device (SB8)
> -            {
> -                Name (_SUN, 0x17)  // _SUN: Slot User Number
> -                Name (_ADR, 0x00170000)  // _ADR: Address
> -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> -                {
> -                    PCEJ (BSEL, _SUN)
> -                }
> -            }
> -
> -            Device (SC0)
> -            {
> -                Name (_SUN, 0x18)  // _SUN: Slot User Number
> -                Name (_ADR, 0x00180000)  // _ADR: Address
> -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> -                {
> -                    PCEJ (BSEL, _SUN)
> -                }
> -            }
> -
> -            Device (SC8)
> -            {
> -                Name (_SUN, 0x19)  // _SUN: Slot User Number
> -                Name (_ADR, 0x00190000)  // _ADR: Address
> -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> -                {
> -                    PCEJ (BSEL, _SUN)
> -                }
> -            }
> -
> -            Device (SD0)
> -            {
> -                Name (_SUN, 0x1A)  // _SUN: Slot User Number
> -                Name (_ADR, 0x001A0000)  // _ADR: Address
> -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> -                {
> -                    PCEJ (BSEL, _SUN)
> -                }
> -            }
> -
> -            Device (SD8)
> -            {
> -                Name (_SUN, 0x1B)  // _SUN: Slot User Number
> -                Name (_ADR, 0x001B0000)  // _ADR: Address
> -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> -                {
> -                    PCEJ (BSEL, _SUN)
> -                }
> -            }
> -
> -            Device (SE0)
> -            {
> -                Name (_SUN, 0x1C)  // _SUN: Slot User Number
> -                Name (_ADR, 0x001C0000)  // _ADR: Address
> -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> -                {
> -                    PCEJ (BSEL, _SUN)
> -                }
> -            }
> -
> -            Device (SE8)
> -            {
> -                Name (_SUN, 0x1D)  // _SUN: Slot User Number
> -                Name (_ADR, 0x001D0000)  // _ADR: Address
> -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> -                {
> -                    PCEJ (BSEL, _SUN)
> -                }
> -            }
> -
> -            Device (SF0)
> -            {
> -                Name (_SUN, 0x1E)  // _SUN: Slot User Number
> -                Name (_ADR, 0x001E0000)  // _ADR: Address
> -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> -                {
> -                    PCEJ (BSEL, _SUN)
> -                }
> -            }
> -
> -            Device (SF8)
> -            {
> -                Name (_SUN, 0x1F)  // _SUN: Slot User Number
> -                Name (_ADR, 0x001F0000)  // _ADR: Address
> -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> -                {
> -                    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)
> -            }
>          }
>      }
>  }
>
Ani Sinha Sept. 29, 2020, 8:51 a.m. UTC | #5
On Tue, Sep 29, 2020 at 1:53 PM Ani Sinha <ani@anisinha.ca> wrote:
>
> On Tue, Sep 29, 2020 at 12:56 PM Michael S. Tsirkin <mst@redhat.com> wrote:
> >
> > On Tue, Sep 29, 2020 at 12:53:17PM +0530, Ani Sinha wrote:
> > > On Tue, Sep 29, 2020 at 12:42 PM Michael S. Tsirkin <mst@redhat.com> wrote:
> > > >
> > > > On Fri, Sep 18, 2020 at 02:11:11PM +0530, Ani Sinha wrote:
> > > > > This change adds a new DSDT golden master table blob to test disabling
> > > > > hotplug on both pci root bus and pci bridges. Also reverts the change
> > > > > in file bios-tables-test-allowed-diff.h to make sure its now empty so that
> > > > > future modifications to acpi tables can be caught.
> > > > >
> > > > > The following is the disassembled diff between DSDT.hpbridge and DSDT.hpbrroot:
> > > > >
> > > > > @@ -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.hpbridge, Wed Sep 16 09:45:56 2020
> > > > > + * Disassembly of /tmp/aml-ECV9Q0, Wed Sep 16 09:45:56 2020
> > > > >   *
> > > > >   * Original Table Header:
> > > > >   *     Signature        "DSDT"
> > > > > - *     Length           0x0000131F (4895)
> > > > > + *     Length           0x00000B89 (2953)
> > > > >   *     Revision         0x01 **** 32-bit table (V1), no 64-bit math support
> > > > > - *     Checksum         0xF9
> > > > > + *     Checksum         0xA2
> > > > >   *     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
> > > > >          }
> > > > >
> > > > > @@ -234,64 +234,32 @@
> > > > >          {
> > > > >              Name (_HID, EisaId ("PNP0B00") /* AT Real-Time Clock */)  // _HID: Hardware ID
> > > > >              Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
> > > > >              {
> > > > >                  IO (Decode16,
> > > > >                      0x0070,             // Range Minimum
> > > > >                      0x0070,             // Range Maximum
> > > > >                      0x01,               // Alignment
> > > > >                      0x08,               // Length
> > > > >                      )
> > > > >                  IRQNoFlags ()
> > > > >                      {8}
> > > > >              })
> > > > >          }
> > > > >      }
> > > > >
> > > > > -    Scope (_SB.PCI0)
> > > > > -    {
> > > > > -        OperationRegion (PCST, SystemIO, 0xAE00, 0x08)
> > > > > -        Field (PCST, DWordAcc, NoLock, WriteAsZeros)
> > > > > -        {
> > > > > -            PCIU,   32,
> > > > > -            PCID,   32
> > > > > -        }
> > > > > -
> > > > > -        OperationRegion (SEJ, SystemIO, 0xAE08, 0x04)
> > > > > -        Field (SEJ, DWordAcc, NoLock, WriteAsZeros)
> > > > > -        {
> > > > > -            B0EJ,   32
> > > > > -        }
> > > > > -
> > > > > -        OperationRegion (BNMR, SystemIO, 0xAE10, 0x04)
> > > > > -        Field (BNMR, DWordAcc, NoLock, WriteAsZeros)
> > > > > -        {
> > > > > -            BNUM,   32
> > > > > -        }
> > > > > -
> > > > > -        Mutex (BLCK, 0x00)
> > > > > -        Method (PCEJ, 2, NotSerialized)
> > > > > -        {
> > > > > -            Acquire (BLCK, 0xFFFF)
> > > > > -            BNUM = Arg0
> > > > > -            B0EJ = (One << Arg1)
> > > > > -            Release (BLCK)
> > > > > -            Return (Zero)
> > > > > -        }
> > > > > -    }
> > > > > -
> > > > >      Scope (_SB)
> > > > >      {
> > > > >          Scope (PCI0)
> > > > >          {
> > > > >              Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
> > > > >              {
> > > > >                  Local0 = Package (0x80){}
> > > > >                  Local1 = Zero
> > > > >                  While ((Local1 < 0x80))
> > > > >                  {
> > > > >                      Local2 = (Local1 >> 0x02)
> > > > >                      Local3 = ((Local1 + Local2) & 0x03)
> > > > >                      If ((Local3 == Zero))
> > > > >                      {
> > > > >                          Local4 = Package (0x04)
> > > > >                              {
> > > > > @@ -690,38 +658,32 @@
> > > > >                  Method (_OST, 3, Serialized)  // _OST: OSPM Status Indication
> > > > >                  {
> > > > >                      COST (Zero, Arg0, Arg1, Arg2)
> > > > >                  }
> > > > >              }
> > > > >          }
> > > > >      }
> > > > >
> > > > >      Method (\_GPE._E02, 0, NotSerialized)  // _Exx: Edge-Triggered GPE
> > > > >      {
> > > > >          \_SB.CPUS.CSCN ()
> > > > >      }
> > > > >
> > > > >      Scope (_GPE)
> > > > >      {
> > > > >          Name (_HID, "ACPI0006" /* GPE Block Device */)  // _HID: Hardware ID
> > > > > -        Method (_E01, 0, NotSerialized)  // _Exx: Edge-Triggered GPE
> > > > > -        {
> > > > > -            Acquire (\_SB.PCI0.BLCK, 0xFFFF)
> > > > > -            \_SB.PCI0.PCNT ()
> > > > > -            Release (\_SB.PCI0.BLCK)
> > > > > -        }
> > > > >      }
> > > > >
> > > > >      Scope (\_SB.PCI0)
> > > > >      {
> > > > >          Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
> > > > >          {
> > > > >              WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
> > > > >                  0x0000,             // Granularity
> > > > >                  0x0000,             // Range Minimum
> > > > >                  0x00FF,             // Range Maximum
> > > > >                  0x0000,             // Translation Offset
> > > > >                  0x0100,             // Length
> > > > >                  ,, )
> > > > >              IO (Decode16,
> > > > >                  0x0CF8,             // Range Minimum
> > > > >                  0x0CF8,             // Range Maximum
> > > > > @@ -766,48 +728,32 @@
> > > > >          })
> > > > >          Device (GPE0)
> > > > >          {
> > > > >              Name (_HID, "PNP0A06" /* Generic Container Device */)  // _HID: Hardware ID
> > > > >              Name (_UID, "GPE0 resources")  // _UID: Unique ID
> > > > >              Name (_STA, 0x0B)  // _STA: Status
> > > > >              Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
> > > > >              {
> > > > >                  IO (Decode16,
> > > > >                      0xAFE0,             // Range Minimum
> > > > >                      0xAFE0,             // Range Maximum
> > > > >                      0x01,               // Alignment
> > > > >                      0x04,               // Length
> > > > >                      )
> > > > >              })
> > > > >          }
> > > > > -
> > > > > -        Device (PHPR)
> > > > > -        {
> > > > > -            Name (_HID, "PNP0A06" /* Generic Container Device */)  // _HID: Hardware ID
> > > > > -            Name (_UID, "PCI Hotplug resources")  // _UID: Unique ID
> > > > > -            Name (_STA, 0x0B)  // _STA: Status
> > > > > -            Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
> > > > > -            {
> > > > > -                IO (Decode16,
> > > > > -                    0xAE00,             // Range Minimum
> > > > > -                    0xAE00,             // Range Maximum
> > > > > -                    0x01,               // Alignment
> > > > > -                    0x14,               // Length
> > > > > -                    )
> > > > > -            })
> > > > > -        }
> > > > >      }
> > > > >
> > > > >      Scope (\)
> > > > >      {
> > > > >          Name (_S3, Package (0x04)  // _S3_: S3 System State
> > > > >          {
> > > > >              One,
> > > > >              One,
> > > > >              Zero,
> > > > >              Zero
> > > > >          })
> > > > >          Name (_S4, Package (0x04)  // _S4_: S4 System State
> > > > >          {
> > > > >              0x02,
> > > > >              0x02,
> > > > >              Zero,
> > > > > @@ -831,479 +777,48 @@
> > > > >              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
> > > > >              }
> > > > > -
> > > > > -            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)
> > > > > -            }
> > > > >          }
> > > > >      }
> > > > >  }
> > > >
> > > > This is not the only diff I see if I apply this patchset on
> > > > top of master.
> > > > Dropped this and the previous patch.
> > > > Please check what is going on and repost as appropriate.
> > >
> > > Which two ACPI DSDT files are you diffing? What diff are you getting?
> >
> >
> > diff -rup ./tests/data/acpi/pc/DSDT.hpbridge.dsl ./tests/data/acpi/pc/DSDT.hpbrroot.dsl
>
> I re-based my patchset on top of the latest qemu master and did a make
>  && make check-qtest-x86_64 V=1.
> They pass. I am seeing this diff:
> https://pastebin.ubuntu.com/p/BXy9GFfB2R/
>
> and it looks good to me.
>
> Not sure why your diff looks different. Maybe you can regenerate the blob?

I did a full make check and it passed. I compared the diff again and
it's the same. I checked my tree and it looks clean. These are the
patches I have:

$ git log --oneline
20d1323e10 (HEAD -> master) qom: code hardening - have bound checking
while looping with integer value
0f69dae0e2 Add a comment in bios-tables-test.c to clarify the reason
behind approach
dd9a8c3cd3 tests/acpi: add DSDT.hpbrroot DSDT table blob to test
global i440fx hotplug
5b93474fe9 tests/acpi: unit test exercising global pci hotplug off for i440fx
54c33e334a tests/acpi: update golden master DSDT binary table blobs for q35
2279f61f30 piix4: don't reserve hw resources when hotplug is off globally
1f61c524a0 Add ACPI DSDT tables for q35 that are being updated by the next patch
bdd823611b tests/acpi: add newly added acpi DSDT table blob for pci
bridge hotplug flag
8c80f8fba9 tests/acpi: unit test for
'acpi-pci-hotplug-with-bridge-support' bridge flag
e0a3142df9 tests/acpi: list added acpi table binary file for pci
bridge hotplug test
0ba08317a8 i440fx/acpi: do not add hotplug related amls for cold plugged bridges
73b191ade6 Fix a gap where acpi_pcihp_find_hotplug_bus() returns a
non-hotpluggable bus
ef0e526cc2 tests/acpi: add a new ACPI table in order to test root pci
hotplug on/off
c6d13264f8 tests/acpi: add new unit test to test hotplug off/on
feature on the root pci bus
6901bada65 tests/acpi: mark addition of table DSDT.roothp for unit
testing root pci hotplug
74504514b1 (origin/master, origin/HEAD) Merge remote-tracking branch
'remotes/alistair/tags/pull-register-20200927' into staging


>
> >
> >
> >
> > --- ./tests/data/acpi/pc/DSDT.hpbridge.dsl      2020-09-29 02:44:43.874622404 -0400
> > +++ ./tests/data/acpi/pc/DSDT.hpbrroot.dsl      2020-09-29 02:44:43.876622403 -0400
> > @@ -5,13 +5,13 @@
> >   *
> >   * Disassembling to symbolic ASL+ operators
> >   *
> > - * Disassembly of tests/data/acpi/pc/DSDT.hpbridge, Tue Sep 29 02:44:43 2020
> > + * Disassembly of tests/data/acpi/pc/DSDT.hpbrroot, Tue Sep 29 02:44:43 2020
> >   *
> >   * Original Table Header:
> >   *     Signature        "DSDT"
> > - *     Length           0x0000139D (5021)
> > + *     Length           0x00000B89 (2953)
> >   *     Revision         0x01 **** 32-bit table (V1), no 64-bit math support
> > - *     Checksum         0x05
> > + *     Checksum         0xA2
> >   *     OEM ID           "BOCHS "
> >   *     OEM Table ID     "BXPCDSDT"
> >   *     OEM Revision     0x00000001 (1)
> > @@ -247,38 +247,6 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
> >          }
> >      }
> >
> > -    Scope (_SB.PCI0)
> > -    {
> > -        OperationRegion (PCST, SystemIO, 0xAE00, 0x08)
> > -        Field (PCST, DWordAcc, NoLock, WriteAsZeros)
> > -        {
> > -            PCIU,   32,
> > -            PCID,   32
> > -        }
> > -
> > -        OperationRegion (SEJ, SystemIO, 0xAE08, 0x04)
> > -        Field (SEJ, DWordAcc, NoLock, WriteAsZeros)
> > -        {
> > -            B0EJ,   32
> > -        }
> > -
> > -        OperationRegion (BNMR, SystemIO, 0xAE10, 0x04)
> > -        Field (BNMR, DWordAcc, NoLock, WriteAsZeros)
> > -        {
> > -            BNUM,   32
> > -        }
> > -
> > -        Mutex (BLCK, 0x00)
> > -        Method (PCEJ, 2, NotSerialized)
> > -        {
> > -            Acquire (BLCK, 0xFFFF)
> > -            BNUM = Arg0
> > -            B0EJ = (One << Arg1)
> > -            Release (BLCK)
> > -            Return (Zero)
> > -        }
> > -    }
> > -
> >      Scope (_SB)
> >      {
> >          Scope (PCI0)
> > @@ -643,56 +611,22 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
> >              Method (CSCN, 0, Serialized)
> >              {
> >                  Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF)
> > -                Name (CNEW, Package (0xFF){})
> > -                Local3 = Zero
> > -                Local4 = One
> > -                While ((Local4 == One))
> > +                Local0 = One
> > +                While ((Local0 == One))
> >                  {
> > -                    Local4 = Zero
> > -                    Local0 = One
> > -                    Local1 = Zero
> > -                    While (((Local0 == One) && (Local3 < One)))
> > +                    Local0 = Zero
> > +                    \_SB.PCI0.PRES.CCMD = Zero
> > +                    If ((\_SB.PCI0.PRES.CINS == One))
> >                      {
> > -                        Local0 = Zero
> > -                        \_SB.PCI0.PRES.CSEL = Local3
> > -                        \_SB.PCI0.PRES.CCMD = Zero
> > -                        If ((\_SB.PCI0.PRES.CDAT < Local3))
> > -                        {
> > -                            Break
> > -                        }
> > -
> > -                        If ((Local1 == 0xFF))
> > -                        {
> > -                            Local4 = One
> > -                            Break
> > -                        }
> > -
> > -                        Local3 = \_SB.PCI0.PRES.CDAT
> > -                        If ((\_SB.PCI0.PRES.CINS == One))
> > -                        {
> > -                            CNEW [Local1] = Local3
> > -                            Local1++
> > -                            Local0 = One
> > -                        }
> > -                        ElseIf ((\_SB.PCI0.PRES.CRMV == One))
> > -                        {
> > -                            CTFY (Local3, 0x03)
> > -                            \_SB.PCI0.PRES.CRMV = One
> > -                            Local0 = One
> > -                        }
> > -
> > -                        Local3++
> > +                        CTFY (\_SB.PCI0.PRES.CDAT, One)
> > +                        \_SB.PCI0.PRES.CINS = One
> > +                        Local0 = One
> >                      }
> > -
> > -                    Local2 = Zero
> > -                    While ((Local2 < Local1))
> > +                    ElseIf ((\_SB.PCI0.PRES.CRMV == One))
> >                      {
> > -                        Local3 = DerefOf (CNEW [Local2])
> > -                        CTFY (Local3, One)
> > -                        Debug = Local3
> > -                        \_SB.PCI0.PRES.CSEL = Local3
> > -                        \_SB.PCI0.PRES.CINS = One
> > -                        Local2++
> > +                        CTFY (\_SB.PCI0.PRES.CDAT, 0x03)
> > +                        \_SB.PCI0.PRES.CRMV = One
> > +                        Local0 = One
> >                      }
> >                  }
> >
> > @@ -737,12 +671,6 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
> >      Scope (_GPE)
> >      {
> >          Name (_HID, "ACPI0006" /* GPE Block Device */)  // _HID: Hardware ID
> > -        Method (_E01, 0, NotSerialized)  // _Exx: Edge-Triggered GPE, xx=0x00-0xFF
> > -        {
> > -            Acquire (\_SB.PCI0.BLCK, 0xFFFF)
> > -            \_SB.PCI0.PCNT ()
> > -            Release (\_SB.PCI0.BLCK)
> > -        }
> >      }
> >
> >      Scope (\_SB.PCI0)
> > @@ -813,22 +741,6 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
> >                      )
> >              })
> >          }
> > -
> > -        Device (PHPR)
> > -        {
> > -            Name (_HID, "PNP0A06" /* Generic Container Device */)  // _HID: Hardware ID
> > -            Name (_UID, "PCI Hotplug resources")  // _UID: Unique ID
> > -            Name (_STA, 0x0B)  // _STA: Status
> > -            Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
> > -            {
> > -                IO (Decode16,
> > -                    0xAE00,             // Range Minimum
> > -                    0xAE00,             // Range Maximum
> > -                    0x01,               // Alignment
> > -                    0x14,               // Length
> > -                    )
> > -            })
> > -        }
> >      }
> >
> >      Scope (\)
> > @@ -878,7 +790,6 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
> >      {
> >          Scope (PCI0)
> >          {
> > -            Name (BSEL, Zero)
> >              Device (S00)
> >              {
> >                  Name (_ADR, Zero)  // _ADR: Address
> > @@ -907,436 +818,6 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
> >              {
> >                  Name (_ADR, 0x00030000)  // _ADR: Address
> >              }
> > -
> > -            Device (S20)
> > -            {
> > -                Name (_SUN, 0x04)  // _SUN: Slot User Number
> > -                Name (_ADR, 0x00040000)  // _ADR: Address
> > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > -                {
> > -                    PCEJ (BSEL, _SUN)
> > -                }
> > -            }
> > -
> > -            Device (S28)
> > -            {
> > -                Name (_SUN, 0x05)  // _SUN: Slot User Number
> > -                Name (_ADR, 0x00050000)  // _ADR: Address
> > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > -                {
> > -                    PCEJ (BSEL, _SUN)
> > -                }
> > -            }
> > -
> > -            Device (S30)
> > -            {
> > -                Name (_SUN, 0x06)  // _SUN: Slot User Number
> > -                Name (_ADR, 0x00060000)  // _ADR: Address
> > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > -                {
> > -                    PCEJ (BSEL, _SUN)
> > -                }
> > -            }
> > -
> > -            Device (S38)
> > -            {
> > -                Name (_SUN, 0x07)  // _SUN: Slot User Number
> > -                Name (_ADR, 0x00070000)  // _ADR: Address
> > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > -                {
> > -                    PCEJ (BSEL, _SUN)
> > -                }
> > -            }
> > -
> > -            Device (S40)
> > -            {
> > -                Name (_SUN, 0x08)  // _SUN: Slot User Number
> > -                Name (_ADR, 0x00080000)  // _ADR: Address
> > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > -                {
> > -                    PCEJ (BSEL, _SUN)
> > -                }
> > -            }
> > -
> > -            Device (S48)
> > -            {
> > -                Name (_SUN, 0x09)  // _SUN: Slot User Number
> > -                Name (_ADR, 0x00090000)  // _ADR: Address
> > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > -                {
> > -                    PCEJ (BSEL, _SUN)
> > -                }
> > -            }
> > -
> > -            Device (S50)
> > -            {
> > -                Name (_SUN, 0x0A)  // _SUN: Slot User Number
> > -                Name (_ADR, 0x000A0000)  // _ADR: Address
> > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > -                {
> > -                    PCEJ (BSEL, _SUN)
> > -                }
> > -            }
> > -
> > -            Device (S58)
> > -            {
> > -                Name (_SUN, 0x0B)  // _SUN: Slot User Number
> > -                Name (_ADR, 0x000B0000)  // _ADR: Address
> > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > -                {
> > -                    PCEJ (BSEL, _SUN)
> > -                }
> > -            }
> > -
> > -            Device (S60)
> > -            {
> > -                Name (_SUN, 0x0C)  // _SUN: Slot User Number
> > -                Name (_ADR, 0x000C0000)  // _ADR: Address
> > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > -                {
> > -                    PCEJ (BSEL, _SUN)
> > -                }
> > -            }
> > -
> > -            Device (S68)
> > -            {
> > -                Name (_SUN, 0x0D)  // _SUN: Slot User Number
> > -                Name (_ADR, 0x000D0000)  // _ADR: Address
> > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > -                {
> > -                    PCEJ (BSEL, _SUN)
> > -                }
> > -            }
> > -
> > -            Device (S70)
> > -            {
> > -                Name (_SUN, 0x0E)  // _SUN: Slot User Number
> > -                Name (_ADR, 0x000E0000)  // _ADR: Address
> > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > -                {
> > -                    PCEJ (BSEL, _SUN)
> > -                }
> > -            }
> > -
> > -            Device (S78)
> > -            {
> > -                Name (_SUN, 0x0F)  // _SUN: Slot User Number
> > -                Name (_ADR, 0x000F0000)  // _ADR: Address
> > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > -                {
> > -                    PCEJ (BSEL, _SUN)
> > -                }
> > -            }
> > -
> > -            Device (S80)
> > -            {
> > -                Name (_SUN, 0x10)  // _SUN: Slot User Number
> > -                Name (_ADR, 0x00100000)  // _ADR: Address
> > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > -                {
> > -                    PCEJ (BSEL, _SUN)
> > -                }
> > -            }
> > -
> > -            Device (S88)
> > -            {
> > -                Name (_SUN, 0x11)  // _SUN: Slot User Number
> > -                Name (_ADR, 0x00110000)  // _ADR: Address
> > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > -                {
> > -                    PCEJ (BSEL, _SUN)
> > -                }
> > -            }
> > -
> > -            Device (S90)
> > -            {
> > -                Name (_SUN, 0x12)  // _SUN: Slot User Number
> > -                Name (_ADR, 0x00120000)  // _ADR: Address
> > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > -                {
> > -                    PCEJ (BSEL, _SUN)
> > -                }
> > -            }
> > -
> > -            Device (S98)
> > -            {
> > -                Name (_SUN, 0x13)  // _SUN: Slot User Number
> > -                Name (_ADR, 0x00130000)  // _ADR: Address
> > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > -                {
> > -                    PCEJ (BSEL, _SUN)
> > -                }
> > -            }
> > -
> > -            Device (SA0)
> > -            {
> > -                Name (_SUN, 0x14)  // _SUN: Slot User Number
> > -                Name (_ADR, 0x00140000)  // _ADR: Address
> > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > -                {
> > -                    PCEJ (BSEL, _SUN)
> > -                }
> > -            }
> > -
> > -            Device (SA8)
> > -            {
> > -                Name (_SUN, 0x15)  // _SUN: Slot User Number
> > -                Name (_ADR, 0x00150000)  // _ADR: Address
> > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > -                {
> > -                    PCEJ (BSEL, _SUN)
> > -                }
> > -            }
> > -
> > -            Device (SB0)
> > -            {
> > -                Name (_SUN, 0x16)  // _SUN: Slot User Number
> > -                Name (_ADR, 0x00160000)  // _ADR: Address
> > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > -                {
> > -                    PCEJ (BSEL, _SUN)
> > -                }
> > -            }
> > -
> > -            Device (SB8)
> > -            {
> > -                Name (_SUN, 0x17)  // _SUN: Slot User Number
> > -                Name (_ADR, 0x00170000)  // _ADR: Address
> > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > -                {
> > -                    PCEJ (BSEL, _SUN)
> > -                }
> > -            }
> > -
> > -            Device (SC0)
> > -            {
> > -                Name (_SUN, 0x18)  // _SUN: Slot User Number
> > -                Name (_ADR, 0x00180000)  // _ADR: Address
> > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > -                {
> > -                    PCEJ (BSEL, _SUN)
> > -                }
> > -            }
> > -
> > -            Device (SC8)
> > -            {
> > -                Name (_SUN, 0x19)  // _SUN: Slot User Number
> > -                Name (_ADR, 0x00190000)  // _ADR: Address
> > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > -                {
> > -                    PCEJ (BSEL, _SUN)
> > -                }
> > -            }
> > -
> > -            Device (SD0)
> > -            {
> > -                Name (_SUN, 0x1A)  // _SUN: Slot User Number
> > -                Name (_ADR, 0x001A0000)  // _ADR: Address
> > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > -                {
> > -                    PCEJ (BSEL, _SUN)
> > -                }
> > -            }
> > -
> > -            Device (SD8)
> > -            {
> > -                Name (_SUN, 0x1B)  // _SUN: Slot User Number
> > -                Name (_ADR, 0x001B0000)  // _ADR: Address
> > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > -                {
> > -                    PCEJ (BSEL, _SUN)
> > -                }
> > -            }
> > -
> > -            Device (SE0)
> > -            {
> > -                Name (_SUN, 0x1C)  // _SUN: Slot User Number
> > -                Name (_ADR, 0x001C0000)  // _ADR: Address
> > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > -                {
> > -                    PCEJ (BSEL, _SUN)
> > -                }
> > -            }
> > -
> > -            Device (SE8)
> > -            {
> > -                Name (_SUN, 0x1D)  // _SUN: Slot User Number
> > -                Name (_ADR, 0x001D0000)  // _ADR: Address
> > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > -                {
> > -                    PCEJ (BSEL, _SUN)
> > -                }
> > -            }
> > -
> > -            Device (SF0)
> > -            {
> > -                Name (_SUN, 0x1E)  // _SUN: Slot User Number
> > -                Name (_ADR, 0x001E0000)  // _ADR: Address
> > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > -                {
> > -                    PCEJ (BSEL, _SUN)
> > -                }
> > -            }
> > -
> > -            Device (SF8)
> > -            {
> > -                Name (_SUN, 0x1F)  // _SUN: Slot User Number
> > -                Name (_ADR, 0x001F0000)  // _ADR: Address
> > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > -                {
> > -                    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)
> > -            }
> >          }
> >      }
> >  }
> >
Ani Sinha Sept. 29, 2020, 9:37 a.m. UTC | #6
Maybe you can give me access to your workspace  aane I can take a look.

On Tue, Sep 29, 2020 at 2:21 PM Ani Sinha <ani@anisinha.ca> wrote:

> On Tue, Sep 29, 2020 at 1:53 PM Ani Sinha <ani@anisinha.ca> wrote:
>
> >
>
> > On Tue, Sep 29, 2020 at 12:56 PM Michael S. Tsirkin <mst@redhat.com>
> wrote:
>
> > >
>
> > > On Tue, Sep 29, 2020 at 12:53:17PM +0530, Ani Sinha wrote:
>
> > > > On Tue, Sep 29, 2020 at 12:42 PM Michael S. Tsirkin <mst@redhat.com>
> wrote:
>
> > > > >
>
> > > > > On Fri, Sep 18, 2020 at 02:11:11PM +0530, Ani Sinha wrote:
>
> > > > > > This change adds a new DSDT golden master table blob to test
> disabling
>
> > > > > > hotplug on both pci root bus and pci bridges. Also reverts the
> change
>
> > > > > > in file bios-tables-test-allowed-diff.h to make sure its now
> empty so that
>
> > > > > > future modifications to acpi tables can be caught.
>
> > > > > >
>
> > > > > > The following is the disassembled diff between DSDT.hpbridge and
> DSDT.hpbrroot:
>
> > > > > >
>
> > > > > > @@ -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.hpbridge, Wed Sep 16
> 09:45:56 2020
>
> > > > > > + * Disassembly of /tmp/aml-ECV9Q0, Wed Sep 16 09:45:56 2020
>
> > > > > >   *
>
> > > > > >   * Original Table Header:
>
> > > > > >   *     Signature        "DSDT"
>
> > > > > > - *     Length           0x0000131F (4895)
>
> > > > > > + *     Length           0x00000B89 (2953)
>
> > > > > >   *     Revision         0x01 **** 32-bit table (V1), no 64-bit
> math support
>
> > > > > > - *     Checksum         0xF9
>
> > > > > > + *     Checksum         0xA2
>
> > > > > >   *     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
>
> > > > > >          }
>
> > > > > >
>
> > > > > > @@ -234,64 +234,32 @@
>
> > > > > >          {
>
> > > > > >              Name (_HID, EisaId ("PNP0B00") /* AT Real-Time
> Clock */)  // _HID: Hardware ID
>
> > > > > >              Name (_CRS, ResourceTemplate ()  // _CRS: Current
> Resource Settings
>
> > > > > >              {
>
> > > > > >                  IO (Decode16,
>
> > > > > >                      0x0070,             // Range Minimum
>
> > > > > >                      0x0070,             // Range Maximum
>
> > > > > >                      0x01,               // Alignment
>
> > > > > >                      0x08,               // Length
>
> > > > > >                      )
>
> > > > > >                  IRQNoFlags ()
>
> > > > > >                      {8}
>
> > > > > >              })
>
> > > > > >          }
>
> > > > > >      }
>
> > > > > >
>
> > > > > > -    Scope (_SB.PCI0)
>
> > > > > > -    {
>
> > > > > > -        OperationRegion (PCST, SystemIO, 0xAE00, 0x08)
>
> > > > > > -        Field (PCST, DWordAcc, NoLock, WriteAsZeros)
>
> > > > > > -        {
>
> > > > > > -            PCIU,   32,
>
> > > > > > -            PCID,   32
>
> > > > > > -        }
>
> > > > > > -
>
> > > > > > -        OperationRegion (SEJ, SystemIO, 0xAE08, 0x04)
>
> > > > > > -        Field (SEJ, DWordAcc, NoLock, WriteAsZeros)
>
> > > > > > -        {
>
> > > > > > -            B0EJ,   32
>
> > > > > > -        }
>
> > > > > > -
>
> > > > > > -        OperationRegion (BNMR, SystemIO, 0xAE10, 0x04)
>
> > > > > > -        Field (BNMR, DWordAcc, NoLock, WriteAsZeros)
>
> > > > > > -        {
>
> > > > > > -            BNUM,   32
>
> > > > > > -        }
>
> > > > > > -
>
> > > > > > -        Mutex (BLCK, 0x00)
>
> > > > > > -        Method (PCEJ, 2, NotSerialized)
>
> > > > > > -        {
>
> > > > > > -            Acquire (BLCK, 0xFFFF)
>
> > > > > > -            BNUM = Arg0
>
> > > > > > -            B0EJ = (One << Arg1)
>
> > > > > > -            Release (BLCK)
>
> > > > > > -            Return (Zero)
>
> > > > > > -        }
>
> > > > > > -    }
>
> > > > > > -
>
> > > > > >      Scope (_SB)
>
> > > > > >      {
>
> > > > > >          Scope (PCI0)
>
> > > > > >          {
>
> > > > > >              Method (_PRT, 0, NotSerialized)  // _PRT: PCI
> Routing Table
>
> > > > > >              {
>
> > > > > >                  Local0 = Package (0x80){}
>
> > > > > >                  Local1 = Zero
>
> > > > > >                  While ((Local1 < 0x80))
>
> > > > > >                  {
>
> > > > > >                      Local2 = (Local1 >> 0x02)
>
> > > > > >                      Local3 = ((Local1 + Local2) & 0x03)
>
> > > > > >                      If ((Local3 == Zero))
>
> > > > > >                      {
>
> > > > > >                          Local4 = Package (0x04)
>
> > > > > >                              {
>
> > > > > > @@ -690,38 +658,32 @@
>
> > > > > >                  Method (_OST, 3, Serialized)  // _OST: OSPM
> Status Indication
>
> > > > > >                  {
>
> > > > > >                      COST (Zero, Arg0, Arg1, Arg2)
>
> > > > > >                  }
>
> > > > > >              }
>
> > > > > >          }
>
> > > > > >      }
>
> > > > > >
>
> > > > > >      Method (\_GPE._E02, 0, NotSerialized)  // _Exx:
> Edge-Triggered GPE
>
> > > > > >      {
>
> > > > > >          \_SB.CPUS.CSCN ()
>
> > > > > >      }
>
> > > > > >
>
> > > > > >      Scope (_GPE)
>
> > > > > >      {
>
> > > > > >          Name (_HID, "ACPI0006" /* GPE Block Device */)  //
> _HID: Hardware ID
>
> > > > > > -        Method (_E01, 0, NotSerialized)  // _Exx:
> Edge-Triggered GPE
>
> > > > > > -        {
>
> > > > > > -            Acquire (\_SB.PCI0.BLCK, 0xFFFF)
>
> > > > > > -            \_SB.PCI0.PCNT ()
>
> > > > > > -            Release (\_SB.PCI0.BLCK)
>
> > > > > > -        }
>
> > > > > >      }
>
> > > > > >
>
> > > > > >      Scope (\_SB.PCI0)
>
> > > > > >      {
>
> > > > > >          Name (_CRS, ResourceTemplate ()  // _CRS: Current
> Resource Settings
>
> > > > > >          {
>
> > > > > >              WordBusNumber (ResourceProducer, MinFixed,
> MaxFixed, PosDecode,
>
> > > > > >                  0x0000,             // Granularity
>
> > > > > >                  0x0000,             // Range Minimum
>
> > > > > >                  0x00FF,             // Range Maximum
>
> > > > > >                  0x0000,             // Translation Offset
>
> > > > > >                  0x0100,             // Length
>
> > > > > >                  ,, )
>
> > > > > >              IO (Decode16,
>
> > > > > >                  0x0CF8,             // Range Minimum
>
> > > > > >                  0x0CF8,             // Range Maximum
>
> > > > > > @@ -766,48 +728,32 @@
>
> > > > > >          })
>
> > > > > >          Device (GPE0)
>
> > > > > >          {
>
> > > > > >              Name (_HID, "PNP0A06" /* Generic Container Device
> */)  // _HID: Hardware ID
>
> > > > > >              Name (_UID, "GPE0 resources")  // _UID: Unique ID
>
> > > > > >              Name (_STA, 0x0B)  // _STA: Status
>
> > > > > >              Name (_CRS, ResourceTemplate ()  // _CRS: Current
> Resource Settings
>
> > > > > >              {
>
> > > > > >                  IO (Decode16,
>
> > > > > >                      0xAFE0,             // Range Minimum
>
> > > > > >                      0xAFE0,             // Range Maximum
>
> > > > > >                      0x01,               // Alignment
>
> > > > > >                      0x04,               // Length
>
> > > > > >                      )
>
> > > > > >              })
>
> > > > > >          }
>
> > > > > > -
>
> > > > > > -        Device (PHPR)
>
> > > > > > -        {
>
> > > > > > -            Name (_HID, "PNP0A06" /* Generic Container Device
> */)  // _HID: Hardware ID
>
> > > > > > -            Name (_UID, "PCI Hotplug resources")  // _UID:
> Unique ID
>
> > > > > > -            Name (_STA, 0x0B)  // _STA: Status
>
> > > > > > -            Name (_CRS, ResourceTemplate ()  // _CRS: Current
> Resource Settings
>
> > > > > > -            {
>
> > > > > > -                IO (Decode16,
>
> > > > > > -                    0xAE00,             // Range Minimum
>
> > > > > > -                    0xAE00,             // Range Maximum
>
> > > > > > -                    0x01,               // Alignment
>
> > > > > > -                    0x14,               // Length
>
> > > > > > -                    )
>
> > > > > > -            })
>
> > > > > > -        }
>
> > > > > >      }
>
> > > > > >
>
> > > > > >      Scope (\)
>
> > > > > >      {
>
> > > > > >          Name (_S3, Package (0x04)  // _S3_: S3 System State
>
> > > > > >          {
>
> > > > > >              One,
>
> > > > > >              One,
>
> > > > > >              Zero,
>
> > > > > >              Zero
>
> > > > > >          })
>
> > > > > >          Name (_S4, Package (0x04)  // _S4_: S4 System State
>
> > > > > >          {
>
> > > > > >              0x02,
>
> > > > > >              0x02,
>
> > > > > >              Zero,
>
> > > > > > @@ -831,479 +777,48 @@
>
> > > > > >              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
>
> > > > > >              }
>
> > > > > > -
>
> > > > > > -            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)
>
> > > > > > -            }
>
> > > > > >          }
>
> > > > > >      }
>
> > > > > >  }
>
> > > > >
>
> > > > > This is not the only diff I see if I apply this patchset on
>
> > > > > top of master.
>
> > > > > Dropped this and the previous patch.
>
> > > > > Please check what is going on and repost as appropriate.
>
> > > >
>
> > > > Which two ACPI DSDT files are you diffing? What diff are you getting?
>
> > >
>
> > >
>
> > > diff -rup ./tests/data/acpi/pc/DSDT.hpbridge.dsl
> ./tests/data/acpi/pc/DSDT.hpbrroot.dsl
>
> >
>
> > I re-based my patchset on top of the latest qemu master and did a make
>
> >  && make check-qtest-x86_64 V=1.
>
> > They pass. I am seeing this diff:
>
> > https://pastebin.ubuntu.com/p/BXy9GFfB2R/
>
> >
>
> > and it looks good to me.
>
> >
>
> > Not sure why your diff looks different. Maybe you can regenerate the
> blob?
>
>
>
> I did a full make check and it passed. I compared the diff again and
>
> it's the same. I checked my tree and it looks clean. These are the
>
> patches I have:
>
>
>
> $ git log --oneline
>
> 20d1323e10 (HEAD -> master) qom: code hardening - have bound checking
>
> while looping with integer value
>
> 0f69dae0e2 Add a comment in bios-tables-test.c to clarify the reason
>
> behind approach
>
> dd9a8c3cd3 tests/acpi: add DSDT.hpbrroot DSDT table blob to test
>
> global i440fx hotplug
>
> 5b93474fe9 tests/acpi: unit test exercising global pci hotplug off for
> i440fx
>
> 54c33e334a tests/acpi: update golden master DSDT binary table blobs for q35
>
> 2279f61f30 piix4: don't reserve hw resources when hotplug is off globally
>
> 1f61c524a0 Add ACPI DSDT tables for q35 that are being updated by the next
> patch
>
> bdd823611b tests/acpi: add newly added acpi DSDT table blob for pci
>
> bridge hotplug flag
>
> 8c80f8fba9 tests/acpi: unit test for
>
> 'acpi-pci-hotplug-with-bridge-support' bridge flag
>
> e0a3142df9 tests/acpi: list added acpi table binary file for pci
>
> bridge hotplug test
>
> 0ba08317a8 i440fx/acpi: do not add hotplug related amls for cold plugged
> bridges
>
> 73b191ade6 Fix a gap where acpi_pcihp_find_hotplug_bus() returns a
>
> non-hotpluggable bus
>
> ef0e526cc2 tests/acpi: add a new ACPI table in order to test root pci
>
> hotplug on/off
>
> c6d13264f8 tests/acpi: add new unit test to test hotplug off/on
>
> feature on the root pci bus
>
> 6901bada65 tests/acpi: mark addition of table DSDT.roothp for unit
>
> testing root pci hotplug
>
> 74504514b1 (origin/master, origin/HEAD) Merge remote-tracking branch
>
> 'remotes/alistair/tags/pull-register-20200927' into staging
>
>
>
>
>
> >
>
> > >
>
> > >
>
> > >
>
> > > --- ./tests/data/acpi/pc/DSDT.hpbridge.dsl      2020-09-29
> 02:44:43.874622404 -0400
>
> > > +++ ./tests/data/acpi/pc/DSDT.hpbrroot.dsl      2020-09-29
> 02:44:43.876622403 -0400
>
> > > @@ -5,13 +5,13 @@
>
> > >   *
>
> > >   * Disassembling to symbolic ASL+ operators
>
> > >   *
>
> > > - * Disassembly of tests/data/acpi/pc/DSDT.hpbridge, Tue Sep 29
> 02:44:43 2020
>
> > > + * Disassembly of tests/data/acpi/pc/DSDT.hpbrroot, Tue Sep 29
> 02:44:43 2020
>
> > >   *
>
> > >   * Original Table Header:
>
> > >   *     Signature        "DSDT"
>
> > > - *     Length           0x0000139D (5021)
>
> > > + *     Length           0x00000B89 (2953)
>
> > >   *     Revision         0x01 **** 32-bit table (V1), no 64-bit math
> support
>
> > > - *     Checksum         0x05
>
> > > + *     Checksum         0xA2
>
> > >   *     OEM ID           "BOCHS "
>
> > >   *     OEM Table ID     "BXPCDSDT"
>
> > >   *     OEM Revision     0x00000001 (1)
>
> > > @@ -247,38 +247,6 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
>
> > >          }
>
> > >      }
>
> > >
>
> > > -    Scope (_SB.PCI0)
>
> > > -    {
>
> > > -        OperationRegion (PCST, SystemIO, 0xAE00, 0x08)
>
> > > -        Field (PCST, DWordAcc, NoLock, WriteAsZeros)
>
> > > -        {
>
> > > -            PCIU,   32,
>
> > > -            PCID,   32
>
> > > -        }
>
> > > -
>
> > > -        OperationRegion (SEJ, SystemIO, 0xAE08, 0x04)
>
> > > -        Field (SEJ, DWordAcc, NoLock, WriteAsZeros)
>
> > > -        {
>
> > > -            B0EJ,   32
>
> > > -        }
>
> > > -
>
> > > -        OperationRegion (BNMR, SystemIO, 0xAE10, 0x04)
>
> > > -        Field (BNMR, DWordAcc, NoLock, WriteAsZeros)
>
> > > -        {
>
> > > -            BNUM,   32
>
> > > -        }
>
> > > -
>
> > > -        Mutex (BLCK, 0x00)
>
> > > -        Method (PCEJ, 2, NotSerialized)
>
> > > -        {
>
> > > -            Acquire (BLCK, 0xFFFF)
>
> > > -            BNUM = Arg0
>
> > > -            B0EJ = (One << Arg1)
>
> > > -            Release (BLCK)
>
> > > -            Return (Zero)
>
> > > -        }
>
> > > -    }
>
> > > -
>
> > >      Scope (_SB)
>
> > >      {
>
> > >          Scope (PCI0)
>
> > > @@ -643,56 +611,22 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
>
> > >              Method (CSCN, 0, Serialized)
>
> > >              {
>
> > >                  Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF)
>
> > > -                Name (CNEW, Package (0xFF){})
>
> > > -                Local3 = Zero
>
> > > -                Local4 = One
>
> > > -                While ((Local4 == One))
>
> > > +                Local0 = One
>
> > > +                While ((Local0 == One))
>
> > >                  {
>
> > > -                    Local4 = Zero
>
> > > -                    Local0 = One
>
> > > -                    Local1 = Zero
>
> > > -                    While (((Local0 == One) && (Local3 < One)))
>
> > > +                    Local0 = Zero
>
> > > +                    \_SB.PCI0.PRES.CCMD = Zero
>
> > > +                    If ((\_SB.PCI0.PRES.CINS == One))
>
> > >                      {
>
> > > -                        Local0 = Zero
>
> > > -                        \_SB.PCI0.PRES.CSEL = Local3
>
> > > -                        \_SB.PCI0.PRES.CCMD = Zero
>
> > > -                        If ((\_SB.PCI0.PRES.CDAT < Local3))
>
> > > -                        {
>
> > > -                            Break
>
> > > -                        }
>
> > > -
>
> > > -                        If ((Local1 == 0xFF))
>
> > > -                        {
>
> > > -                            Local4 = One
>
> > > -                            Break
>
> > > -                        }
>
> > > -
>
> > > -                        Local3 = \_SB.PCI0.PRES.CDAT
>
> > > -                        If ((\_SB.PCI0.PRES.CINS == One))
>
> > > -                        {
>
> > > -                            CNEW [Local1] = Local3
>
> > > -                            Local1++
>
> > > -                            Local0 = One
>
> > > -                        }
>
> > > -                        ElseIf ((\_SB.PCI0.PRES.CRMV == One))
>
> > > -                        {
>
> > > -                            CTFY (Local3, 0x03)
>
> > > -                            \_SB.PCI0.PRES.CRMV = One
>
> > > -                            Local0 = One
>
> > > -                        }
>
> > > -
>
> > > -                        Local3++
>
> > > +                        CTFY (\_SB.PCI0.PRES.CDAT, One)
>
> > > +                        \_SB.PCI0.PRES.CINS = One
>
> > > +                        Local0 = One
>
> > >                      }
>
> > > -
>
> > > -                    Local2 = Zero
>
> > > -                    While ((Local2 < Local1))
>
> > > +                    ElseIf ((\_SB.PCI0.PRES.CRMV == One))
>
> > >                      {
>
> > > -                        Local3 = DerefOf (CNEW [Local2])
>
> > > -                        CTFY (Local3, One)
>
> > > -                        Debug = Local3
>
> > > -                        \_SB.PCI0.PRES.CSEL = Local3
>
> > > -                        \_SB.PCI0.PRES.CINS = One
>
> > > -                        Local2++
>
> > > +                        CTFY (\_SB.PCI0.PRES.CDAT, 0x03)
>
> > > +                        \_SB.PCI0.PRES.CRMV = One
>
> > > +                        Local0 = One
>
> > >                      }
>
> > >                  }
>
> > >
>
> > > @@ -737,12 +671,6 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
>
> > >      Scope (_GPE)
>
> > >      {
>
> > >          Name (_HID, "ACPI0006" /* GPE Block Device */)  // _HID:
> Hardware ID
>
> > > -        Method (_E01, 0, NotSerialized)  // _Exx: Edge-Triggered GPE,
> xx=0x00-0xFF
>
> > > -        {
>
> > > -            Acquire (\_SB.PCI0.BLCK, 0xFFFF)
>
> > > -            \_SB.PCI0.PCNT ()
>
> > > -            Release (\_SB.PCI0.BLCK)
>
> > > -        }
>
> > >      }
>
> > >
>
> > >      Scope (\_SB.PCI0)
>
> > > @@ -813,22 +741,6 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
>
> > >                      )
>
> > >              })
>
> > >          }
>
> > > -
>
> > > -        Device (PHPR)
>
> > > -        {
>
> > > -            Name (_HID, "PNP0A06" /* Generic Container Device */)  //
> _HID: Hardware ID
>
> > > -            Name (_UID, "PCI Hotplug resources")  // _UID: Unique ID
>
> > > -            Name (_STA, 0x0B)  // _STA: Status
>
> > > -            Name (_CRS, ResourceTemplate ()  // _CRS: Current
> Resource Settings
>
> > > -            {
>
> > > -                IO (Decode16,
>
> > > -                    0xAE00,             // Range Minimum
>
> > > -                    0xAE00,             // Range Maximum
>
> > > -                    0x01,               // Alignment
>
> > > -                    0x14,               // Length
>
> > > -                    )
>
> > > -            })
>
> > > -        }
>
> > >      }
>
> > >
>
> > >      Scope (\)
>
> > > @@ -878,7 +790,6 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
>
> > >      {
>
> > >          Scope (PCI0)
>
> > >          {
>
> > > -            Name (BSEL, Zero)
>
> > >              Device (S00)
>
> > >              {
>
> > >                  Name (_ADR, Zero)  // _ADR: Address
>
> > > @@ -907,436 +818,6 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
>
> > >              {
>
> > >                  Name (_ADR, 0x00030000)  // _ADR: Address
>
> > >              }
>
> > > -
>
> > > -            Device (S20)
>
> > > -            {
>
> > > -                Name (_SUN, 0x04)  // _SUN: Slot User Number
>
> > > -                Name (_ADR, 0x00040000)  // _ADR: Address
>
> > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject
> Device, x=0-9
>
> > > -                {
>
> > > -                    PCEJ (BSEL, _SUN)
>
> > > -                }
>
> > > -            }
>
> > > -
>
> > > -            Device (S28)
>
> > > -            {
>
> > > -                Name (_SUN, 0x05)  // _SUN: Slot User Number
>
> > > -                Name (_ADR, 0x00050000)  // _ADR: Address
>
> > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject
> Device, x=0-9
>
> > > -                {
>
> > > -                    PCEJ (BSEL, _SUN)
>
> > > -                }
>
> > > -            }
>
> > > -
>
> > > -            Device (S30)
>
> > > -            {
>
> > > -                Name (_SUN, 0x06)  // _SUN: Slot User Number
>
> > > -                Name (_ADR, 0x00060000)  // _ADR: Address
>
> > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject
> Device, x=0-9
>
> > > -                {
>
> > > -                    PCEJ (BSEL, _SUN)
>
> > > -                }
>
> > > -            }
>
> > > -
>
> > > -            Device (S38)
>
> > > -            {
>
> > > -                Name (_SUN, 0x07)  // _SUN: Slot User Number
>
> > > -                Name (_ADR, 0x00070000)  // _ADR: Address
>
> > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject
> Device, x=0-9
>
> > > -                {
>
> > > -                    PCEJ (BSEL, _SUN)
>
> > > -                }
>
> > > -            }
>
> > > -
>
> > > -            Device (S40)
>
> > > -            {
>
> > > -                Name (_SUN, 0x08)  // _SUN: Slot User Number
>
> > > -                Name (_ADR, 0x00080000)  // _ADR: Address
>
> > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject
> Device, x=0-9
>
> > > -                {
>
> > > -                    PCEJ (BSEL, _SUN)
>
> > > -                }
>
> > > -            }
>
> > > -
>
> > > -            Device (S48)
>
> > > -            {
>
> > > -                Name (_SUN, 0x09)  // _SUN: Slot User Number
>
> > > -                Name (_ADR, 0x00090000)  // _ADR: Address
>
> > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject
> Device, x=0-9
>
> > > -                {
>
> > > -                    PCEJ (BSEL, _SUN)
>
> > > -                }
>
> > > -            }
>
> > > -
>
> > > -            Device (S50)
>
> > > -            {
>
> > > -                Name (_SUN, 0x0A)  // _SUN: Slot User Number
>
> > > -                Name (_ADR, 0x000A0000)  // _ADR: Address
>
> > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject
> Device, x=0-9
>
> > > -                {
>
> > > -                    PCEJ (BSEL, _SUN)
>
> > > -                }
>
> > > -            }
>
> > > -
>
> > > -            Device (S58)
>
> > > -            {
>
> > > -                Name (_SUN, 0x0B)  // _SUN: Slot User Number
>
> > > -                Name (_ADR, 0x000B0000)  // _ADR: Address
>
> > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject
> Device, x=0-9
>
> > > -                {
>
> > > -                    PCEJ (BSEL, _SUN)
>
> > > -                }
>
> > > -            }
>
> > > -
>
> > > -            Device (S60)
>
> > > -            {
>
> > > -                Name (_SUN, 0x0C)  // _SUN: Slot User Number
>
> > > -                Name (_ADR, 0x000C0000)  // _ADR: Address
>
> > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject
> Device, x=0-9
>
> > > -                {
>
> > > -                    PCEJ (BSEL, _SUN)
>
> > > -                }
>
> > > -            }
>
> > > -
>
> > > -            Device (S68)
>
> > > -            {
>
> > > -                Name (_SUN, 0x0D)  // _SUN: Slot User Number
>
> > > -                Name (_ADR, 0x000D0000)  // _ADR: Address
>
> > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject
> Device, x=0-9
>
> > > -                {
>
> > > -                    PCEJ (BSEL, _SUN)
>
> > > -                }
>
> > > -            }
>
> > > -
>
> > > -            Device (S70)
>
> > > -            {
>
> > > -                Name (_SUN, 0x0E)  // _SUN: Slot User Number
>
> > > -                Name (_ADR, 0x000E0000)  // _ADR: Address
>
> > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject
> Device, x=0-9
>
> > > -                {
>
> > > -                    PCEJ (BSEL, _SUN)
>
> > > -                }
>
> > > -            }
>
> > > -
>
> > > -            Device (S78)
>
> > > -            {
>
> > > -                Name (_SUN, 0x0F)  // _SUN: Slot User Number
>
> > > -                Name (_ADR, 0x000F0000)  // _ADR: Address
>
> > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject
> Device, x=0-9
>
> > > -                {
>
> > > -                    PCEJ (BSEL, _SUN)
>
> > > -                }
>
> > > -            }
>
> > > -
>
> > > -            Device (S80)
>
> > > -            {
>
> > > -                Name (_SUN, 0x10)  // _SUN: Slot User Number
>
> > > -                Name (_ADR, 0x00100000)  // _ADR: Address
>
> > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject
> Device, x=0-9
>
> > > -                {
>
> > > -                    PCEJ (BSEL, _SUN)
>
> > > -                }
>
> > > -            }
>
> > > -
>
> > > -            Device (S88)
>
> > > -            {
>
> > > -                Name (_SUN, 0x11)  // _SUN: Slot User Number
>
> > > -                Name (_ADR, 0x00110000)  // _ADR: Address
>
> > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject
> Device, x=0-9
>
> > > -                {
>
> > > -                    PCEJ (BSEL, _SUN)
>
> > > -                }
>
> > > -            }
>
> > > -
>
> > > -            Device (S90)
>
> > > -            {
>
> > > -                Name (_SUN, 0x12)  // _SUN: Slot User Number
>
> > > -                Name (_ADR, 0x00120000)  // _ADR: Address
>
> > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject
> Device, x=0-9
>
> > > -                {
>
> > > -                    PCEJ (BSEL, _SUN)
>
> > > -                }
>
> > > -            }
>
> > > -
>
> > > -            Device (S98)
>
> > > -            {
>
> > > -                Name (_SUN, 0x13)  // _SUN: Slot User Number
>
> > > -                Name (_ADR, 0x00130000)  // _ADR: Address
>
> > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject
> Device, x=0-9
>
> > > -                {
>
> > > -                    PCEJ (BSEL, _SUN)
>
> > > -                }
>
> > > -            }
>
> > > -
>
> > > -            Device (SA0)
>
> > > -            {
>
> > > -                Name (_SUN, 0x14)  // _SUN: Slot User Number
>
> > > -                Name (_ADR, 0x00140000)  // _ADR: Address
>
> > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject
> Device, x=0-9
>
> > > -                {
>
> > > -                    PCEJ (BSEL, _SUN)
>
> > > -                }
>
> > > -            }
>
> > > -
>
> > > -            Device (SA8)
>
> > > -            {
>
> > > -                Name (_SUN, 0x15)  // _SUN: Slot User Number
>
> > > -                Name (_ADR, 0x00150000)  // _ADR: Address
>
> > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject
> Device, x=0-9
>
> > > -                {
>
> > > -                    PCEJ (BSEL, _SUN)
>
> > > -                }
>
> > > -            }
>
> > > -
>
> > > -            Device (SB0)
>
> > > -            {
>
> > > -                Name (_SUN, 0x16)  // _SUN: Slot User Number
>
> > > -                Name (_ADR, 0x00160000)  // _ADR: Address
>
> > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject
> Device, x=0-9
>
> > > -                {
>
> > > -                    PCEJ (BSEL, _SUN)
>
> > > -                }
>
> > > -            }
>
> > > -
>
> > > -            Device (SB8)
>
> > > -            {
>
> > > -                Name (_SUN, 0x17)  // _SUN: Slot User Number
>
> > > -                Name (_ADR, 0x00170000)  // _ADR: Address
>
> > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject
> Device, x=0-9
>
> > > -                {
>
> > > -                    PCEJ (BSEL, _SUN)
>
> > > -                }
>
> > > -            }
>
> > > -
>
> > > -            Device (SC0)
>
> > > -            {
>
> > > -                Name (_SUN, 0x18)  // _SUN: Slot User Number
>
> > > -                Name (_ADR, 0x00180000)  // _ADR: Address
>
> > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject
> Device, x=0-9
>
> > > -                {
>
> > > -                    PCEJ (BSEL, _SUN)
>
> > > -                }
>
> > > -            }
>
> > > -
>
> > > -            Device (SC8)
>
> > > -            {
>
> > > -                Name (_SUN, 0x19)  // _SUN: Slot User Number
>
> > > -                Name (_ADR, 0x00190000)  // _ADR: Address
>
> > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject
> Device, x=0-9
>
> > > -                {
>
> > > -                    PCEJ (BSEL, _SUN)
>
> > > -                }
>
> > > -            }
>
> > > -
>
> > > -            Device (SD0)
>
> > > -            {
>
> > > -                Name (_SUN, 0x1A)  // _SUN: Slot User Number
>
> > > -                Name (_ADR, 0x001A0000)  // _ADR: Address
>
> > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject
> Device, x=0-9
>
> > > -                {
>
> > > -                    PCEJ (BSEL, _SUN)
>
> > > -                }
>
> > > -            }
>
> > > -
>
> > > -            Device (SD8)
>
> > > -            {
>
> > > -                Name (_SUN, 0x1B)  // _SUN: Slot User Number
>
> > > -                Name (_ADR, 0x001B0000)  // _ADR: Address
>
> > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject
> Device, x=0-9
>
> > > -                {
>
> > > -                    PCEJ (BSEL, _SUN)
>
> > > -                }
>
> > > -            }
>
> > > -
>
> > > -            Device (SE0)
>
> > > -            {
>
> > > -                Name (_SUN, 0x1C)  // _SUN: Slot User Number
>
> > > -                Name (_ADR, 0x001C0000)  // _ADR: Address
>
> > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject
> Device, x=0-9
>
> > > -                {
>
> > > -                    PCEJ (BSEL, _SUN)
>
> > > -                }
>
> > > -            }
>
> > > -
>
> > > -            Device (SE8)
>
> > > -            {
>
> > > -                Name (_SUN, 0x1D)  // _SUN: Slot User Number
>
> > > -                Name (_ADR, 0x001D0000)  // _ADR: Address
>
> > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject
> Device, x=0-9
>
> > > -                {
>
> > > -                    PCEJ (BSEL, _SUN)
>
> > > -                }
>
> > > -            }
>
> > > -
>
> > > -            Device (SF0)
>
> > > -            {
>
> > > -                Name (_SUN, 0x1E)  // _SUN: Slot User Number
>
> > > -                Name (_ADR, 0x001E0000)  // _ADR: Address
>
> > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject
> Device, x=0-9
>
> > > -                {
>
> > > -                    PCEJ (BSEL, _SUN)
>
> > > -                }
>
> > > -            }
>
> > > -
>
> > > -            Device (SF8)
>
> > > -            {
>
> > > -                Name (_SUN, 0x1F)  // _SUN: Slot User Number
>
> > > -                Name (_ADR, 0x001F0000)  // _ADR: Address
>
> > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject
> Device, x=0-9
>
> > > -                {
>
> > > -                    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)
>
> > > -            }
>
> > >          }
>
> > >      }
>
> > >  }
>
> > >
>
>
Michael S. Tsirkin Sept. 29, 2020, 9:42 a.m. UTC | #7
On Tue, Sep 29, 2020 at 02:21:06PM +0530, Ani Sinha wrote:
> On Tue, Sep 29, 2020 at 1:53 PM Ani Sinha <ani@anisinha.ca> wrote:
> >
> > On Tue, Sep 29, 2020 at 12:56 PM Michael S. Tsirkin <mst@redhat.com> wrote:
> > >
> > > On Tue, Sep 29, 2020 at 12:53:17PM +0530, Ani Sinha wrote:
> > > > On Tue, Sep 29, 2020 at 12:42 PM Michael S. Tsirkin <mst@redhat.com> wrote:
> > > > >
> > > > > On Fri, Sep 18, 2020 at 02:11:11PM +0530, Ani Sinha wrote:
> > > > > > This change adds a new DSDT golden master table blob to test disabling
> > > > > > hotplug on both pci root bus and pci bridges. Also reverts the change
> > > > > > in file bios-tables-test-allowed-diff.h to make sure its now empty so that
> > > > > > future modifications to acpi tables can be caught.
> > > > > >
> > > > > > The following is the disassembled diff between DSDT.hpbridge and DSDT.hpbrroot:
> > > > > >
> > > > > > @@ -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.hpbridge, Wed Sep 16 09:45:56 2020
> > > > > > + * Disassembly of /tmp/aml-ECV9Q0, Wed Sep 16 09:45:56 2020
> > > > > >   *
> > > > > >   * Original Table Header:
> > > > > >   *     Signature        "DSDT"
> > > > > > - *     Length           0x0000131F (4895)
> > > > > > + *     Length           0x00000B89 (2953)
> > > > > >   *     Revision         0x01 **** 32-bit table (V1), no 64-bit math support
> > > > > > - *     Checksum         0xF9
> > > > > > + *     Checksum         0xA2
> > > > > >   *     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
> > > > > >          }
> > > > > >
> > > > > > @@ -234,64 +234,32 @@
> > > > > >          {
> > > > > >              Name (_HID, EisaId ("PNP0B00") /* AT Real-Time Clock */)  // _HID: Hardware ID
> > > > > >              Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
> > > > > >              {
> > > > > >                  IO (Decode16,
> > > > > >                      0x0070,             // Range Minimum
> > > > > >                      0x0070,             // Range Maximum
> > > > > >                      0x01,               // Alignment
> > > > > >                      0x08,               // Length
> > > > > >                      )
> > > > > >                  IRQNoFlags ()
> > > > > >                      {8}
> > > > > >              })
> > > > > >          }
> > > > > >      }
> > > > > >
> > > > > > -    Scope (_SB.PCI0)
> > > > > > -    {
> > > > > > -        OperationRegion (PCST, SystemIO, 0xAE00, 0x08)
> > > > > > -        Field (PCST, DWordAcc, NoLock, WriteAsZeros)
> > > > > > -        {
> > > > > > -            PCIU,   32,
> > > > > > -            PCID,   32
> > > > > > -        }
> > > > > > -
> > > > > > -        OperationRegion (SEJ, SystemIO, 0xAE08, 0x04)
> > > > > > -        Field (SEJ, DWordAcc, NoLock, WriteAsZeros)
> > > > > > -        {
> > > > > > -            B0EJ,   32
> > > > > > -        }
> > > > > > -
> > > > > > -        OperationRegion (BNMR, SystemIO, 0xAE10, 0x04)
> > > > > > -        Field (BNMR, DWordAcc, NoLock, WriteAsZeros)
> > > > > > -        {
> > > > > > -            BNUM,   32
> > > > > > -        }
> > > > > > -
> > > > > > -        Mutex (BLCK, 0x00)
> > > > > > -        Method (PCEJ, 2, NotSerialized)
> > > > > > -        {
> > > > > > -            Acquire (BLCK, 0xFFFF)
> > > > > > -            BNUM = Arg0
> > > > > > -            B0EJ = (One << Arg1)
> > > > > > -            Release (BLCK)
> > > > > > -            Return (Zero)
> > > > > > -        }
> > > > > > -    }
> > > > > > -
> > > > > >      Scope (_SB)
> > > > > >      {
> > > > > >          Scope (PCI0)
> > > > > >          {
> > > > > >              Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
> > > > > >              {
> > > > > >                  Local0 = Package (0x80){}
> > > > > >                  Local1 = Zero
> > > > > >                  While ((Local1 < 0x80))
> > > > > >                  {
> > > > > >                      Local2 = (Local1 >> 0x02)
> > > > > >                      Local3 = ((Local1 + Local2) & 0x03)
> > > > > >                      If ((Local3 == Zero))
> > > > > >                      {
> > > > > >                          Local4 = Package (0x04)
> > > > > >                              {
> > > > > > @@ -690,38 +658,32 @@
> > > > > >                  Method (_OST, 3, Serialized)  // _OST: OSPM Status Indication
> > > > > >                  {
> > > > > >                      COST (Zero, Arg0, Arg1, Arg2)
> > > > > >                  }
> > > > > >              }
> > > > > >          }
> > > > > >      }
> > > > > >
> > > > > >      Method (\_GPE._E02, 0, NotSerialized)  // _Exx: Edge-Triggered GPE
> > > > > >      {
> > > > > >          \_SB.CPUS.CSCN ()
> > > > > >      }
> > > > > >
> > > > > >      Scope (_GPE)
> > > > > >      {
> > > > > >          Name (_HID, "ACPI0006" /* GPE Block Device */)  // _HID: Hardware ID
> > > > > > -        Method (_E01, 0, NotSerialized)  // _Exx: Edge-Triggered GPE
> > > > > > -        {
> > > > > > -            Acquire (\_SB.PCI0.BLCK, 0xFFFF)
> > > > > > -            \_SB.PCI0.PCNT ()
> > > > > > -            Release (\_SB.PCI0.BLCK)
> > > > > > -        }
> > > > > >      }
> > > > > >
> > > > > >      Scope (\_SB.PCI0)
> > > > > >      {
> > > > > >          Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
> > > > > >          {
> > > > > >              WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
> > > > > >                  0x0000,             // Granularity
> > > > > >                  0x0000,             // Range Minimum
> > > > > >                  0x00FF,             // Range Maximum
> > > > > >                  0x0000,             // Translation Offset
> > > > > >                  0x0100,             // Length
> > > > > >                  ,, )
> > > > > >              IO (Decode16,
> > > > > >                  0x0CF8,             // Range Minimum
> > > > > >                  0x0CF8,             // Range Maximum
> > > > > > @@ -766,48 +728,32 @@
> > > > > >          })
> > > > > >          Device (GPE0)
> > > > > >          {
> > > > > >              Name (_HID, "PNP0A06" /* Generic Container Device */)  // _HID: Hardware ID
> > > > > >              Name (_UID, "GPE0 resources")  // _UID: Unique ID
> > > > > >              Name (_STA, 0x0B)  // _STA: Status
> > > > > >              Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
> > > > > >              {
> > > > > >                  IO (Decode16,
> > > > > >                      0xAFE0,             // Range Minimum
> > > > > >                      0xAFE0,             // Range Maximum
> > > > > >                      0x01,               // Alignment
> > > > > >                      0x04,               // Length
> > > > > >                      )
> > > > > >              })
> > > > > >          }
> > > > > > -
> > > > > > -        Device (PHPR)
> > > > > > -        {
> > > > > > -            Name (_HID, "PNP0A06" /* Generic Container Device */)  // _HID: Hardware ID
> > > > > > -            Name (_UID, "PCI Hotplug resources")  // _UID: Unique ID
> > > > > > -            Name (_STA, 0x0B)  // _STA: Status
> > > > > > -            Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
> > > > > > -            {
> > > > > > -                IO (Decode16,
> > > > > > -                    0xAE00,             // Range Minimum
> > > > > > -                    0xAE00,             // Range Maximum
> > > > > > -                    0x01,               // Alignment
> > > > > > -                    0x14,               // Length
> > > > > > -                    )
> > > > > > -            })
> > > > > > -        }
> > > > > >      }
> > > > > >
> > > > > >      Scope (\)
> > > > > >      {
> > > > > >          Name (_S3, Package (0x04)  // _S3_: S3 System State
> > > > > >          {
> > > > > >              One,
> > > > > >              One,
> > > > > >              Zero,
> > > > > >              Zero
> > > > > >          })
> > > > > >          Name (_S4, Package (0x04)  // _S4_: S4 System State
> > > > > >          {
> > > > > >              0x02,
> > > > > >              0x02,
> > > > > >              Zero,
> > > > > > @@ -831,479 +777,48 @@
> > > > > >              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
> > > > > >              }
> > > > > > -
> > > > > > -            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)
> > > > > > -            }
> > > > > >          }
> > > > > >      }
> > > > > >  }
> > > > >
> > > > > This is not the only diff I see if I apply this patchset on
> > > > > top of master.
> > > > > Dropped this and the previous patch.
> > > > > Please check what is going on and repost as appropriate.
> > > >
> > > > Which two ACPI DSDT files are you diffing? What diff are you getting?
> > >
> > >
> > > diff -rup ./tests/data/acpi/pc/DSDT.hpbridge.dsl ./tests/data/acpi/pc/DSDT.hpbrroot.dsl
> >
> > I re-based my patchset on top of the latest qemu master and did a make
> >  && make check-qtest-x86_64 V=1.
> > They pass. I am seeing this diff:
> > https://pastebin.ubuntu.com/p/BXy9GFfB2R/
> >
> > and it looks good to me.
> >
> > Not sure why your diff looks different. Maybe you can regenerate the blob?
> 
> I did a full make check and it passed. I compared the diff again and
> it's the same. I checked my tree and it looks clean. These are the
> patches I have:
> 
> $ git log --oneline
> 20d1323e10 (HEAD -> master) qom: code hardening - have bound checking
> while looping with integer value
> 0f69dae0e2 Add a comment in bios-tables-test.c to clarify the reason
> behind approach
> dd9a8c3cd3 tests/acpi: add DSDT.hpbrroot DSDT table blob to test
> global i440fx hotplug
> 5b93474fe9 tests/acpi: unit test exercising global pci hotplug off for i440fx
> 54c33e334a tests/acpi: update golden master DSDT binary table blobs for q35
> 2279f61f30 piix4: don't reserve hw resources when hotplug is off globally
> 1f61c524a0 Add ACPI DSDT tables for q35 that are being updated by the next patch
> bdd823611b tests/acpi: add newly added acpi DSDT table blob for pci
> bridge hotplug flag
> 8c80f8fba9 tests/acpi: unit test for
> 'acpi-pci-hotplug-with-bridge-support' bridge flag
> e0a3142df9 tests/acpi: list added acpi table binary file for pci
> bridge hotplug test
> 0ba08317a8 i440fx/acpi: do not add hotplug related amls for cold plugged bridges
> 73b191ade6 Fix a gap where acpi_pcihp_find_hotplug_bus() returns a
> non-hotpluggable bus
> ef0e526cc2 tests/acpi: add a new ACPI table in order to test root pci
> hotplug on/off
> c6d13264f8 tests/acpi: add new unit test to test hotplug off/on
> feature on the root pci bus
> 6901bada65 tests/acpi: mark addition of table DSDT.roothp for unit
> testing root pci hotplug
> 74504514b1 (origin/master, origin/HEAD) Merge remote-tracking branch
> 'remotes/alistair/tags/pull-register-20200927' into staging

Try applying on top of latest pull request?


> 
> >
> > >
> > >
> > >
> > > --- ./tests/data/acpi/pc/DSDT.hpbridge.dsl      2020-09-29 02:44:43.874622404 -0400
> > > +++ ./tests/data/acpi/pc/DSDT.hpbrroot.dsl      2020-09-29 02:44:43.876622403 -0400
> > > @@ -5,13 +5,13 @@
> > >   *
> > >   * Disassembling to symbolic ASL+ operators
> > >   *
> > > - * Disassembly of tests/data/acpi/pc/DSDT.hpbridge, Tue Sep 29 02:44:43 2020
> > > + * Disassembly of tests/data/acpi/pc/DSDT.hpbrroot, Tue Sep 29 02:44:43 2020
> > >   *
> > >   * Original Table Header:
> > >   *     Signature        "DSDT"
> > > - *     Length           0x0000139D (5021)
> > > + *     Length           0x00000B89 (2953)
> > >   *     Revision         0x01 **** 32-bit table (V1), no 64-bit math support
> > > - *     Checksum         0x05
> > > + *     Checksum         0xA2
> > >   *     OEM ID           "BOCHS "
> > >   *     OEM Table ID     "BXPCDSDT"
> > >   *     OEM Revision     0x00000001 (1)
> > > @@ -247,38 +247,6 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
> > >          }
> > >      }
> > >
> > > -    Scope (_SB.PCI0)
> > > -    {
> > > -        OperationRegion (PCST, SystemIO, 0xAE00, 0x08)
> > > -        Field (PCST, DWordAcc, NoLock, WriteAsZeros)
> > > -        {
> > > -            PCIU,   32,
> > > -            PCID,   32
> > > -        }
> > > -
> > > -        OperationRegion (SEJ, SystemIO, 0xAE08, 0x04)
> > > -        Field (SEJ, DWordAcc, NoLock, WriteAsZeros)
> > > -        {
> > > -            B0EJ,   32
> > > -        }
> > > -
> > > -        OperationRegion (BNMR, SystemIO, 0xAE10, 0x04)
> > > -        Field (BNMR, DWordAcc, NoLock, WriteAsZeros)
> > > -        {
> > > -            BNUM,   32
> > > -        }
> > > -
> > > -        Mutex (BLCK, 0x00)
> > > -        Method (PCEJ, 2, NotSerialized)
> > > -        {
> > > -            Acquire (BLCK, 0xFFFF)
> > > -            BNUM = Arg0
> > > -            B0EJ = (One << Arg1)
> > > -            Release (BLCK)
> > > -            Return (Zero)
> > > -        }
> > > -    }
> > > -
> > >      Scope (_SB)
> > >      {
> > >          Scope (PCI0)
> > > @@ -643,56 +611,22 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
> > >              Method (CSCN, 0, Serialized)
> > >              {
> > >                  Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF)
> > > -                Name (CNEW, Package (0xFF){})
> > > -                Local3 = Zero
> > > -                Local4 = One
> > > -                While ((Local4 == One))
> > > +                Local0 = One
> > > +                While ((Local0 == One))
> > >                  {
> > > -                    Local4 = Zero
> > > -                    Local0 = One
> > > -                    Local1 = Zero
> > > -                    While (((Local0 == One) && (Local3 < One)))
> > > +                    Local0 = Zero
> > > +                    \_SB.PCI0.PRES.CCMD = Zero
> > > +                    If ((\_SB.PCI0.PRES.CINS == One))
> > >                      {
> > > -                        Local0 = Zero
> > > -                        \_SB.PCI0.PRES.CSEL = Local3
> > > -                        \_SB.PCI0.PRES.CCMD = Zero
> > > -                        If ((\_SB.PCI0.PRES.CDAT < Local3))
> > > -                        {
> > > -                            Break
> > > -                        }
> > > -
> > > -                        If ((Local1 == 0xFF))
> > > -                        {
> > > -                            Local4 = One
> > > -                            Break
> > > -                        }
> > > -
> > > -                        Local3 = \_SB.PCI0.PRES.CDAT
> > > -                        If ((\_SB.PCI0.PRES.CINS == One))
> > > -                        {
> > > -                            CNEW [Local1] = Local3
> > > -                            Local1++
> > > -                            Local0 = One
> > > -                        }
> > > -                        ElseIf ((\_SB.PCI0.PRES.CRMV == One))
> > > -                        {
> > > -                            CTFY (Local3, 0x03)
> > > -                            \_SB.PCI0.PRES.CRMV = One
> > > -                            Local0 = One
> > > -                        }
> > > -
> > > -                        Local3++
> > > +                        CTFY (\_SB.PCI0.PRES.CDAT, One)
> > > +                        \_SB.PCI0.PRES.CINS = One
> > > +                        Local0 = One
> > >                      }
> > > -
> > > -                    Local2 = Zero
> > > -                    While ((Local2 < Local1))
> > > +                    ElseIf ((\_SB.PCI0.PRES.CRMV == One))
> > >                      {
> > > -                        Local3 = DerefOf (CNEW [Local2])
> > > -                        CTFY (Local3, One)
> > > -                        Debug = Local3
> > > -                        \_SB.PCI0.PRES.CSEL = Local3
> > > -                        \_SB.PCI0.PRES.CINS = One
> > > -                        Local2++
> > > +                        CTFY (\_SB.PCI0.PRES.CDAT, 0x03)
> > > +                        \_SB.PCI0.PRES.CRMV = One
> > > +                        Local0 = One
> > >                      }
> > >                  }
> > >
> > > @@ -737,12 +671,6 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
> > >      Scope (_GPE)
> > >      {
> > >          Name (_HID, "ACPI0006" /* GPE Block Device */)  // _HID: Hardware ID
> > > -        Method (_E01, 0, NotSerialized)  // _Exx: Edge-Triggered GPE, xx=0x00-0xFF
> > > -        {
> > > -            Acquire (\_SB.PCI0.BLCK, 0xFFFF)
> > > -            \_SB.PCI0.PCNT ()
> > > -            Release (\_SB.PCI0.BLCK)
> > > -        }
> > >      }
> > >
> > >      Scope (\_SB.PCI0)
> > > @@ -813,22 +741,6 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
> > >                      )
> > >              })
> > >          }
> > > -
> > > -        Device (PHPR)
> > > -        {
> > > -            Name (_HID, "PNP0A06" /* Generic Container Device */)  // _HID: Hardware ID
> > > -            Name (_UID, "PCI Hotplug resources")  // _UID: Unique ID
> > > -            Name (_STA, 0x0B)  // _STA: Status
> > > -            Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
> > > -            {
> > > -                IO (Decode16,
> > > -                    0xAE00,             // Range Minimum
> > > -                    0xAE00,             // Range Maximum
> > > -                    0x01,               // Alignment
> > > -                    0x14,               // Length
> > > -                    )
> > > -            })
> > > -        }
> > >      }
> > >
> > >      Scope (\)
> > > @@ -878,7 +790,6 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
> > >      {
> > >          Scope (PCI0)
> > >          {
> > > -            Name (BSEL, Zero)
> > >              Device (S00)
> > >              {
> > >                  Name (_ADR, Zero)  // _ADR: Address
> > > @@ -907,436 +818,6 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
> > >              {
> > >                  Name (_ADR, 0x00030000)  // _ADR: Address
> > >              }
> > > -
> > > -            Device (S20)
> > > -            {
> > > -                Name (_SUN, 0x04)  // _SUN: Slot User Number
> > > -                Name (_ADR, 0x00040000)  // _ADR: Address
> > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > -                {
> > > -                    PCEJ (BSEL, _SUN)
> > > -                }
> > > -            }
> > > -
> > > -            Device (S28)
> > > -            {
> > > -                Name (_SUN, 0x05)  // _SUN: Slot User Number
> > > -                Name (_ADR, 0x00050000)  // _ADR: Address
> > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > -                {
> > > -                    PCEJ (BSEL, _SUN)
> > > -                }
> > > -            }
> > > -
> > > -            Device (S30)
> > > -            {
> > > -                Name (_SUN, 0x06)  // _SUN: Slot User Number
> > > -                Name (_ADR, 0x00060000)  // _ADR: Address
> > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > -                {
> > > -                    PCEJ (BSEL, _SUN)
> > > -                }
> > > -            }
> > > -
> > > -            Device (S38)
> > > -            {
> > > -                Name (_SUN, 0x07)  // _SUN: Slot User Number
> > > -                Name (_ADR, 0x00070000)  // _ADR: Address
> > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > -                {
> > > -                    PCEJ (BSEL, _SUN)
> > > -                }
> > > -            }
> > > -
> > > -            Device (S40)
> > > -            {
> > > -                Name (_SUN, 0x08)  // _SUN: Slot User Number
> > > -                Name (_ADR, 0x00080000)  // _ADR: Address
> > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > -                {
> > > -                    PCEJ (BSEL, _SUN)
> > > -                }
> > > -            }
> > > -
> > > -            Device (S48)
> > > -            {
> > > -                Name (_SUN, 0x09)  // _SUN: Slot User Number
> > > -                Name (_ADR, 0x00090000)  // _ADR: Address
> > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > -                {
> > > -                    PCEJ (BSEL, _SUN)
> > > -                }
> > > -            }
> > > -
> > > -            Device (S50)
> > > -            {
> > > -                Name (_SUN, 0x0A)  // _SUN: Slot User Number
> > > -                Name (_ADR, 0x000A0000)  // _ADR: Address
> > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > -                {
> > > -                    PCEJ (BSEL, _SUN)
> > > -                }
> > > -            }
> > > -
> > > -            Device (S58)
> > > -            {
> > > -                Name (_SUN, 0x0B)  // _SUN: Slot User Number
> > > -                Name (_ADR, 0x000B0000)  // _ADR: Address
> > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > -                {
> > > -                    PCEJ (BSEL, _SUN)
> > > -                }
> > > -            }
> > > -
> > > -            Device (S60)
> > > -            {
> > > -                Name (_SUN, 0x0C)  // _SUN: Slot User Number
> > > -                Name (_ADR, 0x000C0000)  // _ADR: Address
> > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > -                {
> > > -                    PCEJ (BSEL, _SUN)
> > > -                }
> > > -            }
> > > -
> > > -            Device (S68)
> > > -            {
> > > -                Name (_SUN, 0x0D)  // _SUN: Slot User Number
> > > -                Name (_ADR, 0x000D0000)  // _ADR: Address
> > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > -                {
> > > -                    PCEJ (BSEL, _SUN)
> > > -                }
> > > -            }
> > > -
> > > -            Device (S70)
> > > -            {
> > > -                Name (_SUN, 0x0E)  // _SUN: Slot User Number
> > > -                Name (_ADR, 0x000E0000)  // _ADR: Address
> > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > -                {
> > > -                    PCEJ (BSEL, _SUN)
> > > -                }
> > > -            }
> > > -
> > > -            Device (S78)
> > > -            {
> > > -                Name (_SUN, 0x0F)  // _SUN: Slot User Number
> > > -                Name (_ADR, 0x000F0000)  // _ADR: Address
> > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > -                {
> > > -                    PCEJ (BSEL, _SUN)
> > > -                }
> > > -            }
> > > -
> > > -            Device (S80)
> > > -            {
> > > -                Name (_SUN, 0x10)  // _SUN: Slot User Number
> > > -                Name (_ADR, 0x00100000)  // _ADR: Address
> > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > -                {
> > > -                    PCEJ (BSEL, _SUN)
> > > -                }
> > > -            }
> > > -
> > > -            Device (S88)
> > > -            {
> > > -                Name (_SUN, 0x11)  // _SUN: Slot User Number
> > > -                Name (_ADR, 0x00110000)  // _ADR: Address
> > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > -                {
> > > -                    PCEJ (BSEL, _SUN)
> > > -                }
> > > -            }
> > > -
> > > -            Device (S90)
> > > -            {
> > > -                Name (_SUN, 0x12)  // _SUN: Slot User Number
> > > -                Name (_ADR, 0x00120000)  // _ADR: Address
> > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > -                {
> > > -                    PCEJ (BSEL, _SUN)
> > > -                }
> > > -            }
> > > -
> > > -            Device (S98)
> > > -            {
> > > -                Name (_SUN, 0x13)  // _SUN: Slot User Number
> > > -                Name (_ADR, 0x00130000)  // _ADR: Address
> > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > -                {
> > > -                    PCEJ (BSEL, _SUN)
> > > -                }
> > > -            }
> > > -
> > > -            Device (SA0)
> > > -            {
> > > -                Name (_SUN, 0x14)  // _SUN: Slot User Number
> > > -                Name (_ADR, 0x00140000)  // _ADR: Address
> > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > -                {
> > > -                    PCEJ (BSEL, _SUN)
> > > -                }
> > > -            }
> > > -
> > > -            Device (SA8)
> > > -            {
> > > -                Name (_SUN, 0x15)  // _SUN: Slot User Number
> > > -                Name (_ADR, 0x00150000)  // _ADR: Address
> > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > -                {
> > > -                    PCEJ (BSEL, _SUN)
> > > -                }
> > > -            }
> > > -
> > > -            Device (SB0)
> > > -            {
> > > -                Name (_SUN, 0x16)  // _SUN: Slot User Number
> > > -                Name (_ADR, 0x00160000)  // _ADR: Address
> > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > -                {
> > > -                    PCEJ (BSEL, _SUN)
> > > -                }
> > > -            }
> > > -
> > > -            Device (SB8)
> > > -            {
> > > -                Name (_SUN, 0x17)  // _SUN: Slot User Number
> > > -                Name (_ADR, 0x00170000)  // _ADR: Address
> > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > -                {
> > > -                    PCEJ (BSEL, _SUN)
> > > -                }
> > > -            }
> > > -
> > > -            Device (SC0)
> > > -            {
> > > -                Name (_SUN, 0x18)  // _SUN: Slot User Number
> > > -                Name (_ADR, 0x00180000)  // _ADR: Address
> > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > -                {
> > > -                    PCEJ (BSEL, _SUN)
> > > -                }
> > > -            }
> > > -
> > > -            Device (SC8)
> > > -            {
> > > -                Name (_SUN, 0x19)  // _SUN: Slot User Number
> > > -                Name (_ADR, 0x00190000)  // _ADR: Address
> > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > -                {
> > > -                    PCEJ (BSEL, _SUN)
> > > -                }
> > > -            }
> > > -
> > > -            Device (SD0)
> > > -            {
> > > -                Name (_SUN, 0x1A)  // _SUN: Slot User Number
> > > -                Name (_ADR, 0x001A0000)  // _ADR: Address
> > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > -                {
> > > -                    PCEJ (BSEL, _SUN)
> > > -                }
> > > -            }
> > > -
> > > -            Device (SD8)
> > > -            {
> > > -                Name (_SUN, 0x1B)  // _SUN: Slot User Number
> > > -                Name (_ADR, 0x001B0000)  // _ADR: Address
> > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > -                {
> > > -                    PCEJ (BSEL, _SUN)
> > > -                }
> > > -            }
> > > -
> > > -            Device (SE0)
> > > -            {
> > > -                Name (_SUN, 0x1C)  // _SUN: Slot User Number
> > > -                Name (_ADR, 0x001C0000)  // _ADR: Address
> > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > -                {
> > > -                    PCEJ (BSEL, _SUN)
> > > -                }
> > > -            }
> > > -
> > > -            Device (SE8)
> > > -            {
> > > -                Name (_SUN, 0x1D)  // _SUN: Slot User Number
> > > -                Name (_ADR, 0x001D0000)  // _ADR: Address
> > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > -                {
> > > -                    PCEJ (BSEL, _SUN)
> > > -                }
> > > -            }
> > > -
> > > -            Device (SF0)
> > > -            {
> > > -                Name (_SUN, 0x1E)  // _SUN: Slot User Number
> > > -                Name (_ADR, 0x001E0000)  // _ADR: Address
> > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > -                {
> > > -                    PCEJ (BSEL, _SUN)
> > > -                }
> > > -            }
> > > -
> > > -            Device (SF8)
> > > -            {
> > > -                Name (_SUN, 0x1F)  // _SUN: Slot User Number
> > > -                Name (_ADR, 0x001F0000)  // _ADR: Address
> > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > -                {
> > > -                    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)
> > > -            }
> > >          }
> > >      }
> > >  }
> > >
Ani Sinha Sept. 29, 2020, 9:50 a.m. UTC | #8
On Tue, Sep 29, 2020 at 3:12 PM Michael S. Tsirkin <mst@redhat.com> wrote:

> On Tue, Sep 29, 2020 at 02:21:06PM +0530, Ani Sinha wrote:
>
> > On Tue, Sep 29, 2020 at 1:53 PM Ani Sinha <ani@anisinha.ca> wrote:
>
> > >
>
> > > On Tue, Sep 29, 2020 at 12:56 PM Michael S. Tsirkin <mst@redhat.com>
> wrote:
>
> > > >
>
> > > > On Tue, Sep 29, 2020 at 12:53:17PM +0530, Ani Sinha wrote:
>
> > > > > On Tue, Sep 29, 2020 at 12:42 PM Michael S. Tsirkin <
> mst@redhat.com> wrote:
>
> > > > > >
>
> > > > > > On Fri, Sep 18, 2020 at 02:11:11PM +0530, Ani Sinha wrote:
>
> > > > > > > This change adds a new DSDT golden master table blob to test
> disabling
>
> > > > > > > hotplug on both pci root bus and pci bridges. Also reverts the
> change
>
> > > > > > > in file bios-tables-test-allowed-diff.h to make sure its now
> empty so that
>
> > > > > > > future modifications to acpi tables can be caught.
>
> > > > > > >
>
> > > > > > > The following is the disassembled diff between DSDT.hpbridge
> and DSDT.hpbrroot:
>
> > > > > > >
>
> > > > > > > @@ -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.hpbridge, Wed Sep
> 16 09:45:56 2020
>
> > > > > > > + * Disassembly of /tmp/aml-ECV9Q0, Wed Sep 16 09:45:56 2020
>
> > > > > > >   *
>
> > > > > > >   * Original Table Header:
>
> > > > > > >   *     Signature        "DSDT"
>
> > > > > > > - *     Length           0x0000131F (4895)
>
> > > > > > > + *     Length           0x00000B89 (2953)
>
> > > > > > >   *     Revision         0x01 **** 32-bit table (V1), no
> 64-bit math support
>
> > > > > > > - *     Checksum         0xF9
>
> > > > > > > + *     Checksum         0xA2
>
> > > > > > >   *     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
>
> > > > > > >          }
>
> > > > > > >
>
> > > > > > > @@ -234,64 +234,32 @@
>
> > > > > > >          {
>
> > > > > > >              Name (_HID, EisaId ("PNP0B00") /* AT Real-Time
> Clock */)  // _HID: Hardware ID
>
> > > > > > >              Name (_CRS, ResourceTemplate ()  // _CRS: Current
> Resource Settings
>
> > > > > > >              {
>
> > > > > > >                  IO (Decode16,
>
> > > > > > >                      0x0070,             // Range Minimum
>
> > > > > > >                      0x0070,             // Range Maximum
>
> > > > > > >                      0x01,               // Alignment
>
> > > > > > >                      0x08,               // Length
>
> > > > > > >                      )
>
> > > > > > >                  IRQNoFlags ()
>
> > > > > > >                      {8}
>
> > > > > > >              })
>
> > > > > > >          }
>
> > > > > > >      }
>
> > > > > > >
>
> > > > > > > -    Scope (_SB.PCI0)
>
> > > > > > > -    {
>
> > > > > > > -        OperationRegion (PCST, SystemIO, 0xAE00, 0x08)
>
> > > > > > > -        Field (PCST, DWordAcc, NoLock, WriteAsZeros)
>
> > > > > > > -        {
>
> > > > > > > -            PCIU,   32,
>
> > > > > > > -            PCID,   32
>
> > > > > > > -        }
>
> > > > > > > -
>
> > > > > > > -        OperationRegion (SEJ, SystemIO, 0xAE08, 0x04)
>
> > > > > > > -        Field (SEJ, DWordAcc, NoLock, WriteAsZeros)
>
> > > > > > > -        {
>
> > > > > > > -            B0EJ,   32
>
> > > > > > > -        }
>
> > > > > > > -
>
> > > > > > > -        OperationRegion (BNMR, SystemIO, 0xAE10, 0x04)
>
> > > > > > > -        Field (BNMR, DWordAcc, NoLock, WriteAsZeros)
>
> > > > > > > -        {
>
> > > > > > > -            BNUM,   32
>
> > > > > > > -        }
>
> > > > > > > -
>
> > > > > > > -        Mutex (BLCK, 0x00)
>
> > > > > > > -        Method (PCEJ, 2, NotSerialized)
>
> > > > > > > -        {
>
> > > > > > > -            Acquire (BLCK, 0xFFFF)
>
> > > > > > > -            BNUM = Arg0
>
> > > > > > > -            B0EJ = (One << Arg1)
>
> > > > > > > -            Release (BLCK)
>
> > > > > > > -            Return (Zero)
>
> > > > > > > -        }
>
> > > > > > > -    }
>
> > > > > > > -
>
> > > > > > >      Scope (_SB)
>
> > > > > > >      {
>
> > > > > > >          Scope (PCI0)
>
> > > > > > >          {
>
> > > > > > >              Method (_PRT, 0, NotSerialized)  // _PRT: PCI
> Routing Table
>
> > > > > > >              {
>
> > > > > > >                  Local0 = Package (0x80){}
>
> > > > > > >                  Local1 = Zero
>
> > > > > > >                  While ((Local1 < 0x80))
>
> > > > > > >                  {
>
> > > > > > >                      Local2 = (Local1 >> 0x02)
>
> > > > > > >                      Local3 = ((Local1 + Local2) & 0x03)
>
> > > > > > >                      If ((Local3 == Zero))
>
> > > > > > >                      {
>
> > > > > > >                          Local4 = Package (0x04)
>
> > > > > > >                              {
>
> > > > > > > @@ -690,38 +658,32 @@
>
> > > > > > >                  Method (_OST, 3, Serialized)  // _OST: OSPM
> Status Indication
>
> > > > > > >                  {
>
> > > > > > >                      COST (Zero, Arg0, Arg1, Arg2)
>
> > > > > > >                  }
>
> > > > > > >              }
>
> > > > > > >          }
>
> > > > > > >      }
>
> > > > > > >
>
> > > > > > >      Method (\_GPE._E02, 0, NotSerialized)  // _Exx:
> Edge-Triggered GPE
>
> > > > > > >      {
>
> > > > > > >          \_SB.CPUS.CSCN ()
>
> > > > > > >      }
>
> > > > > > >
>
> > > > > > >      Scope (_GPE)
>
> > > > > > >      {
>
> > > > > > >          Name (_HID, "ACPI0006" /* GPE Block Device */)  //
> _HID: Hardware ID
>
> > > > > > > -        Method (_E01, 0, NotSerialized)  // _Exx:
> Edge-Triggered GPE
>
> > > > > > > -        {
>
> > > > > > > -            Acquire (\_SB.PCI0.BLCK, 0xFFFF)
>
> > > > > > > -            \_SB.PCI0.PCNT ()
>
> > > > > > > -            Release (\_SB.PCI0.BLCK)
>
> > > > > > > -        }
>
> > > > > > >      }
>
> > > > > > >
>
> > > > > > >      Scope (\_SB.PCI0)
>
> > > > > > >      {
>
> > > > > > >          Name (_CRS, ResourceTemplate ()  // _CRS: Current
> Resource Settings
>
> > > > > > >          {
>
> > > > > > >              WordBusNumber (ResourceProducer, MinFixed,
> MaxFixed, PosDecode,
>
> > > > > > >                  0x0000,             // Granularity
>
> > > > > > >                  0x0000,             // Range Minimum
>
> > > > > > >                  0x00FF,             // Range Maximum
>
> > > > > > >                  0x0000,             // Translation Offset
>
> > > > > > >                  0x0100,             // Length
>
> > > > > > >                  ,, )
>
> > > > > > >              IO (Decode16,
>
> > > > > > >                  0x0CF8,             // Range Minimum
>
> > > > > > >                  0x0CF8,             // Range Maximum
>
> > > > > > > @@ -766,48 +728,32 @@
>
> > > > > > >          })
>
> > > > > > >          Device (GPE0)
>
> > > > > > >          {
>
> > > > > > >              Name (_HID, "PNP0A06" /* Generic Container Device
> */)  // _HID: Hardware ID
>
> > > > > > >              Name (_UID, "GPE0 resources")  // _UID: Unique ID
>
> > > > > > >              Name (_STA, 0x0B)  // _STA: Status
>
> > > > > > >              Name (_CRS, ResourceTemplate ()  // _CRS: Current
> Resource Settings
>
> > > > > > >              {
>
> > > > > > >                  IO (Decode16,
>
> > > > > > >                      0xAFE0,             // Range Minimum
>
> > > > > > >                      0xAFE0,             // Range Maximum
>
> > > > > > >                      0x01,               // Alignment
>
> > > > > > >                      0x04,               // Length
>
> > > > > > >                      )
>
> > > > > > >              })
>
> > > > > > >          }
>
> > > > > > > -
>
> > > > > > > -        Device (PHPR)
>
> > > > > > > -        {
>
> > > > > > > -            Name (_HID, "PNP0A06" /* Generic Container Device
> */)  // _HID: Hardware ID
>
> > > > > > > -            Name (_UID, "PCI Hotplug resources")  // _UID:
> Unique ID
>
> > > > > > > -            Name (_STA, 0x0B)  // _STA: Status
>
> > > > > > > -            Name (_CRS, ResourceTemplate ()  // _CRS: Current
> Resource Settings
>
> > > > > > > -            {
>
> > > > > > > -                IO (Decode16,
>
> > > > > > > -                    0xAE00,             // Range Minimum
>
> > > > > > > -                    0xAE00,             // Range Maximum
>
> > > > > > > -                    0x01,               // Alignment
>
> > > > > > > -                    0x14,               // Length
>
> > > > > > > -                    )
>
> > > > > > > -            })
>
> > > > > > > -        }
>
> > > > > > >      }
>
> > > > > > >
>
> > > > > > >      Scope (\)
>
> > > > > > >      {
>
> > > > > > >          Name (_S3, Package (0x04)  // _S3_: S3 System State
>
> > > > > > >          {
>
> > > > > > >              One,
>
> > > > > > >              One,
>
> > > > > > >              Zero,
>
> > > > > > >              Zero
>
> > > > > > >          })
>
> > > > > > >          Name (_S4, Package (0x04)  // _S4_: S4 System State
>
> > > > > > >          {
>
> > > > > > >              0x02,
>
> > > > > > >              0x02,
>
> > > > > > >              Zero,
>
> > > > > > > @@ -831,479 +777,48 @@
>
> > > > > > >              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
>
> > > > > > >              }
>
> > > > > > > -
>
> > > > > > > -            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)
>
> > > > > > > -            }
>
> > > > > > >          }
>
> > > > > > >      }
>
> > > > > > >  }
>
> > > > > >
>
> > > > > > This is not the only diff I see if I apply this patchset on
>
> > > > > > top of master.
>
> > > > > > Dropped this and the previous patch.
>
> > > > > > Please check what is going on and repost as appropriate.
>
> > > > >
>
> > > > > Which two ACPI DSDT files are you diffing? What diff are you
> getting?
>
> > > >
>
> > > >
>
> > > > diff -rup ./tests/data/acpi/pc/DSDT.hpbridge.dsl
> ./tests/data/acpi/pc/DSDT.hpbrroot.dsl
>
> > >
>
> > > I re-based my patchset on top of the latest qemu master and did a make
>
> > >  && make check-qtest-x86_64 V=1.
>
> > > They pass. I am seeing this diff:
>
> > > https://pastebin.ubuntu.com/p/BXy9GFfB2R/
>
> > >
>
> > > and it looks good to me.
>
> > >
>
> > > Not sure why your diff looks different. Maybe you can regenerate the
> blob?
>
> >
>
> > I did a full make check and it passed. I compared the diff again and
>
> > it's the same. I checked my tree and it looks clean. These are the
>
> > patches I have:
>
> >
>
> > $ git log --oneline
>
> > 20d1323e10 (HEAD -> master) qom: code hardening - have bound checking
>
> > while looping with integer value
>
> > 0f69dae0e2 Add a comment in bios-tables-test.c to clarify the reason
>
> > behind approach
>
> > dd9a8c3cd3 tests/acpi: add DSDT.hpbrroot DSDT table blob to test
>
> > global i440fx hotplug
>
> > 5b93474fe9 tests/acpi: unit test exercising global pci hotplug off for
> i440fx
>
> > 54c33e334a tests/acpi: update golden master DSDT binary table blobs for
> q35
>
> > 2279f61f30 piix4: don't reserve hw resources when hotplug is off globally
>
> > 1f61c524a0 Add ACPI DSDT tables for q35 that are being updated by the
> next patch
>
> > bdd823611b tests/acpi: add newly added acpi DSDT table blob for pci
>
> > bridge hotplug flag
>
> > 8c80f8fba9 tests/acpi: unit test for
>
> > 'acpi-pci-hotplug-with-bridge-support' bridge flag
>
> > e0a3142df9 tests/acpi: list added acpi table binary file for pci
>
> > bridge hotplug test
>
> > 0ba08317a8 i440fx/acpi: do not add hotplug related amls for cold plugged
> bridges
>
> > 73b191ade6 Fix a gap where acpi_pcihp_find_hotplug_bus() returns a
>
> > non-hotpluggable bus
>
> > ef0e526cc2 tests/acpi: add a new ACPI table in order to test root pci
>
> > hotplug on/off
>
> > c6d13264f8 tests/acpi: add new unit test to test hotplug off/on
>
> > feature on the root pci bus
>
> > 6901bada65 tests/acpi: mark addition of table DSDT.roothp for unit
>
> > testing root pci hotplug
>
> > 74504514b1 (origin/master, origin/HEAD) Merge remote-tracking branch
>
> > 'remotes/alistair/tags/pull-register-20200927' into staging
>
>
>
> Try applying on top of latest pull request?


Maybe I'm missing something but can you point me to the latest pull
request?

>
>
>
>
>
>
> >
>
> > >
>
> > > >
>
> > > >
>
> > > >
>
> > > > --- ./tests/data/acpi/pc/DSDT.hpbridge.dsl      2020-09-29
> 02:44:43.874622404 -0400
>
> > > > +++ ./tests/data/acpi/pc/DSDT.hpbrroot.dsl      2020-09-29
> 02:44:43.876622403 -0400
>
> > > > @@ -5,13 +5,13 @@
>
> > > >   *
>
> > > >   * Disassembling to symbolic ASL+ operators
>
> > > >   *
>
> > > > - * Disassembly of tests/data/acpi/pc/DSDT.hpbridge, Tue Sep 29
> 02:44:43 2020
>
> > > > + * Disassembly of tests/data/acpi/pc/DSDT.hpbrroot, Tue Sep 29
> 02:44:43 2020
>
> > > >   *
>
> > > >   * Original Table Header:
>
> > > >   *     Signature        "DSDT"
>
> > > > - *     Length           0x0000139D (5021)
>
> > > > + *     Length           0x00000B89 (2953)
>
> > > >   *     Revision         0x01 **** 32-bit table (V1), no 64-bit math
> support
>
> > > > - *     Checksum         0x05
>
> > > > + *     Checksum         0xA2
>
> > > >   *     OEM ID           "BOCHS "
>
> > > >   *     OEM Table ID     "BXPCDSDT"
>
> > > >   *     OEM Revision     0x00000001 (1)
>
> > > > @@ -247,38 +247,6 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
>
> > > >          }
>
> > > >      }
>
> > > >
>
> > > > -    Scope (_SB.PCI0)
>
> > > > -    {
>
> > > > -        OperationRegion (PCST, SystemIO, 0xAE00, 0x08)
>
> > > > -        Field (PCST, DWordAcc, NoLock, WriteAsZeros)
>
> > > > -        {
>
> > > > -            PCIU,   32,
>
> > > > -            PCID,   32
>
> > > > -        }
>
> > > > -
>
> > > > -        OperationRegion (SEJ, SystemIO, 0xAE08, 0x04)
>
> > > > -        Field (SEJ, DWordAcc, NoLock, WriteAsZeros)
>
> > > > -        {
>
> > > > -            B0EJ,   32
>
> > > > -        }
>
> > > > -
>
> > > > -        OperationRegion (BNMR, SystemIO, 0xAE10, 0x04)
>
> > > > -        Field (BNMR, DWordAcc, NoLock, WriteAsZeros)
>
> > > > -        {
>
> > > > -            BNUM,   32
>
> > > > -        }
>
> > > > -
>
> > > > -        Mutex (BLCK, 0x00)
>
> > > > -        Method (PCEJ, 2, NotSerialized)
>
> > > > -        {
>
> > > > -            Acquire (BLCK, 0xFFFF)
>
> > > > -            BNUM = Arg0
>
> > > > -            B0EJ = (One << Arg1)
>
> > > > -            Release (BLCK)
>
> > > > -            Return (Zero)
>
> > > > -        }
>
> > > > -    }
>
> > > > -
>
> > > >      Scope (_SB)
>
> > > >      {
>
> > > >          Scope (PCI0)
>
> > > > @@ -643,56 +611,22 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
>
> > > >              Method (CSCN, 0, Serialized)
>
> > > >              {
>
> > > >                  Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF)
>
> > > > -                Name (CNEW, Package (0xFF){})
>
> > > > -                Local3 = Zero
>
> > > > -                Local4 = One
>
> > > > -                While ((Local4 == One))
>
> > > > +                Local0 = One
>
> > > > +                While ((Local0 == One))
>
> > > >                  {
>
> > > > -                    Local4 = Zero
>
> > > > -                    Local0 = One
>
> > > > -                    Local1 = Zero
>
> > > > -                    While (((Local0 == One) && (Local3 < One)))
>
> > > > +                    Local0 = Zero
>
> > > > +                    \_SB.PCI0.PRES.CCMD = Zero
>
> > > > +                    If ((\_SB.PCI0.PRES.CINS == One))
>
> > > >                      {
>
> > > > -                        Local0 = Zero
>
> > > > -                        \_SB.PCI0.PRES.CSEL = Local3
>
> > > > -                        \_SB.PCI0.PRES.CCMD = Zero
>
> > > > -                        If ((\_SB.PCI0.PRES.CDAT < Local3))
>
> > > > -                        {
>
> > > > -                            Break
>
> > > > -                        }
>
> > > > -
>
> > > > -                        If ((Local1 == 0xFF))
>
> > > > -                        {
>
> > > > -                            Local4 = One
>
> > > > -                            Break
>
> > > > -                        }
>
> > > > -
>
> > > > -                        Local3 = \_SB.PCI0.PRES.CDAT
>
> > > > -                        If ((\_SB.PCI0.PRES.CINS == One))
>
> > > > -                        {
>
> > > > -                            CNEW [Local1] = Local3
>
> > > > -                            Local1++
>
> > > > -                            Local0 = One
>
> > > > -                        }
>
> > > > -                        ElseIf ((\_SB.PCI0.PRES.CRMV == One))
>
> > > > -                        {
>
> > > > -                            CTFY (Local3, 0x03)
>
> > > > -                            \_SB.PCI0.PRES.CRMV = One
>
> > > > -                            Local0 = One
>
> > > > -                        }
>
> > > > -
>
> > > > -                        Local3++
>
> > > > +                        CTFY (\_SB.PCI0.PRES.CDAT, One)
>
> > > > +                        \_SB.PCI0.PRES.CINS = One
>
> > > > +                        Local0 = One
>
> > > >                      }
>
> > > > -
>
> > > > -                    Local2 = Zero
>
> > > > -                    While ((Local2 < Local1))
>
> > > > +                    ElseIf ((\_SB.PCI0.PRES.CRMV == One))
>
> > > >                      {
>
> > > > -                        Local3 = DerefOf (CNEW [Local2])
>
> > > > -                        CTFY (Local3, One)
>
> > > > -                        Debug = Local3
>
> > > > -                        \_SB.PCI0.PRES.CSEL = Local3
>
> > > > -                        \_SB.PCI0.PRES.CINS = One
>
> > > > -                        Local2++
>
> > > > +                        CTFY (\_SB.PCI0.PRES.CDAT, 0x03)
>
> > > > +                        \_SB.PCI0.PRES.CRMV = One
>
> > > > +                        Local0 = One
>
> > > >                      }
>
> > > >                  }
>
> > > >
>
> > > > @@ -737,12 +671,6 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
>
> > > >      Scope (_GPE)
>
> > > >      {
>
> > > >          Name (_HID, "ACPI0006" /* GPE Block Device */)  // _HID:
> Hardware ID
>
> > > > -        Method (_E01, 0, NotSerialized)  // _Exx: Edge-Triggered
> GPE, xx=0x00-0xFF
>
> > > > -        {
>
> > > > -            Acquire (\_SB.PCI0.BLCK, 0xFFFF)
>
> > > > -            \_SB.PCI0.PCNT ()
>
> > > > -            Release (\_SB.PCI0.BLCK)
>
> > > > -        }
>
> > > >      }
>
> > > >
>
> > > >      Scope (\_SB.PCI0)
>
> > > > @@ -813,22 +741,6 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
>
> > > >                      )
>
> > > >              })
>
> > > >          }
>
> > > > -
>
> > > > -        Device (PHPR)
>
> > > > -        {
>
> > > > -            Name (_HID, "PNP0A06" /* Generic Container Device */)
> // _HID: Hardware ID
>
> > > > -            Name (_UID, "PCI Hotplug resources")  // _UID: Unique ID
>
> > > > -            Name (_STA, 0x0B)  // _STA: Status
>
> > > > -            Name (_CRS, ResourceTemplate ()  // _CRS: Current
> Resource Settings
>
> > > > -            {
>
> > > > -                IO (Decode16,
>
> > > > -                    0xAE00,             // Range Minimum
>
> > > > -                    0xAE00,             // Range Maximum
>
> > > > -                    0x01,               // Alignment
>
> > > > -                    0x14,               // Length
>
> > > > -                    )
>
> > > > -            })
>
> > > > -        }
>
> > > >      }
>
> > > >
>
> > > >      Scope (\)
>
> > > > @@ -878,7 +790,6 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
>
> > > >      {
>
> > > >          Scope (PCI0)
>
> > > >          {
>
> > > > -            Name (BSEL, Zero)
>
> > > >              Device (S00)
>
> > > >              {
>
> > > >                  Name (_ADR, Zero)  // _ADR: Address
>
> > > > @@ -907,436 +818,6 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
>
> > > >              {
>
> > > >                  Name (_ADR, 0x00030000)  // _ADR: Address
>
> > > >              }
>
> > > > -
>
> > > > -            Device (S20)
>
> > > > -            {
>
> > > > -                Name (_SUN, 0x04)  // _SUN: Slot User Number
>
> > > > -                Name (_ADR, 0x00040000)  // _ADR: Address
>
> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject
> Device, x=0-9
>
> > > > -                {
>
> > > > -                    PCEJ (BSEL, _SUN)
>
> > > > -                }
>
> > > > -            }
>
> > > > -
>
> > > > -            Device (S28)
>
> > > > -            {
>
> > > > -                Name (_SUN, 0x05)  // _SUN: Slot User Number
>
> > > > -                Name (_ADR, 0x00050000)  // _ADR: Address
>
> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject
> Device, x=0-9
>
> > > > -                {
>
> > > > -                    PCEJ (BSEL, _SUN)
>
> > > > -                }
>
> > > > -            }
>
> > > > -
>
> > > > -            Device (S30)
>
> > > > -            {
>
> > > > -                Name (_SUN, 0x06)  // _SUN: Slot User Number
>
> > > > -                Name (_ADR, 0x00060000)  // _ADR: Address
>
> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject
> Device, x=0-9
>
> > > > -                {
>
> > > > -                    PCEJ (BSEL, _SUN)
>
> > > > -                }
>
> > > > -            }
>
> > > > -
>
> > > > -            Device (S38)
>
> > > > -            {
>
> > > > -                Name (_SUN, 0x07)  // _SUN: Slot User Number
>
> > > > -                Name (_ADR, 0x00070000)  // _ADR: Address
>
> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject
> Device, x=0-9
>
> > > > -                {
>
> > > > -                    PCEJ (BSEL, _SUN)
>
> > > > -                }
>
> > > > -            }
>
> > > > -
>
> > > > -            Device (S40)
>
> > > > -            {
>
> > > > -                Name (_SUN, 0x08)  // _SUN: Slot User Number
>
> > > > -                Name (_ADR, 0x00080000)  // _ADR: Address
>
> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject
> Device, x=0-9
>
> > > > -                {
>
> > > > -                    PCEJ (BSEL, _SUN)
>
> > > > -                }
>
> > > > -            }
>
> > > > -
>
> > > > -            Device (S48)
>
> > > > -            {
>
> > > > -                Name (_SUN, 0x09)  // _SUN: Slot User Number
>
> > > > -                Name (_ADR, 0x00090000)  // _ADR: Address
>
> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject
> Device, x=0-9
>
> > > > -                {
>
> > > > -                    PCEJ (BSEL, _SUN)
>
> > > > -                }
>
> > > > -            }
>
> > > > -
>
> > > > -            Device (S50)
>
> > > > -            {
>
> > > > -                Name (_SUN, 0x0A)  // _SUN: Slot User Number
>
> > > > -                Name (_ADR, 0x000A0000)  // _ADR: Address
>
> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject
> Device, x=0-9
>
> > > > -                {
>
> > > > -                    PCEJ (BSEL, _SUN)
>
> > > > -                }
>
> > > > -            }
>
> > > > -
>
> > > > -            Device (S58)
>
> > > > -            {
>
> > > > -                Name (_SUN, 0x0B)  // _SUN: Slot User Number
>
> > > > -                Name (_ADR, 0x000B0000)  // _ADR: Address
>
> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject
> Device, x=0-9
>
> > > > -                {
>
> > > > -                    PCEJ (BSEL, _SUN)
>
> > > > -                }
>
> > > > -            }
>
> > > > -
>
> > > > -            Device (S60)
>
> > > > -            {
>
> > > > -                Name (_SUN, 0x0C)  // _SUN: Slot User Number
>
> > > > -                Name (_ADR, 0x000C0000)  // _ADR: Address
>
> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject
> Device, x=0-9
>
> > > > -                {
>
> > > > -                    PCEJ (BSEL, _SUN)
>
> > > > -                }
>
> > > > -            }
>
> > > > -
>
> > > > -            Device (S68)
>
> > > > -            {
>
> > > > -                Name (_SUN, 0x0D)  // _SUN: Slot User Number
>
> > > > -                Name (_ADR, 0x000D0000)  // _ADR: Address
>
> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject
> Device, x=0-9
>
> > > > -                {
>
> > > > -                    PCEJ (BSEL, _SUN)
>
> > > > -                }
>
> > > > -            }
>
> > > > -
>
> > > > -            Device (S70)
>
> > > > -            {
>
> > > > -                Name (_SUN, 0x0E)  // _SUN: Slot User Number
>
> > > > -                Name (_ADR, 0x000E0000)  // _ADR: Address
>
> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject
> Device, x=0-9
>
> > > > -                {
>
> > > > -                    PCEJ (BSEL, _SUN)
>
> > > > -                }
>
> > > > -            }
>
> > > > -
>
> > > > -            Device (S78)
>
> > > > -            {
>
> > > > -                Name (_SUN, 0x0F)  // _SUN: Slot User Number
>
> > > > -                Name (_ADR, 0x000F0000)  // _ADR: Address
>
> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject
> Device, x=0-9
>
> > > > -                {
>
> > > > -                    PCEJ (BSEL, _SUN)
>
> > > > -                }
>
> > > > -            }
>
> > > > -
>
> > > > -            Device (S80)
>
> > > > -            {
>
> > > > -                Name (_SUN, 0x10)  // _SUN: Slot User Number
>
> > > > -                Name (_ADR, 0x00100000)  // _ADR: Address
>
> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject
> Device, x=0-9
>
> > > > -                {
>
> > > > -                    PCEJ (BSEL, _SUN)
>
> > > > -                }
>
> > > > -            }
>
> > > > -
>
> > > > -            Device (S88)
>
> > > > -            {
>
> > > > -                Name (_SUN, 0x11)  // _SUN: Slot User Number
>
> > > > -                Name (_ADR, 0x00110000)  // _ADR: Address
>
> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject
> Device, x=0-9
>
> > > > -                {
>
> > > > -                    PCEJ (BSEL, _SUN)
>
> > > > -                }
>
> > > > -            }
>
> > > > -
>
> > > > -            Device (S90)
>
> > > > -            {
>
> > > > -                Name (_SUN, 0x12)  // _SUN: Slot User Number
>
> > > > -                Name (_ADR, 0x00120000)  // _ADR: Address
>
> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject
> Device, x=0-9
>
> > > > -                {
>
> > > > -                    PCEJ (BSEL, _SUN)
>
> > > > -                }
>
> > > > -            }
>
> > > > -
>
> > > > -            Device (S98)
>
> > > > -            {
>
> > > > -                Name (_SUN, 0x13)  // _SUN: Slot User Number
>
> > > > -                Name (_ADR, 0x00130000)  // _ADR: Address
>
> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject
> Device, x=0-9
>
> > > > -                {
>
> > > > -                    PCEJ (BSEL, _SUN)
>
> > > > -                }
>
> > > > -            }
>
> > > > -
>
> > > > -            Device (SA0)
>
> > > > -            {
>
> > > > -                Name (_SUN, 0x14)  // _SUN: Slot User Number
>
> > > > -                Name (_ADR, 0x00140000)  // _ADR: Address
>
> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject
> Device, x=0-9
>
> > > > -                {
>
> > > > -                    PCEJ (BSEL, _SUN)
>
> > > > -                }
>
> > > > -            }
>
> > > > -
>
> > > > -            Device (SA8)
>
> > > > -            {
>
> > > > -                Name (_SUN, 0x15)  // _SUN: Slot User Number
>
> > > > -                Name (_ADR, 0x00150000)  // _ADR: Address
>
> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject
> Device, x=0-9
>
> > > > -                {
>
> > > > -                    PCEJ (BSEL, _SUN)
>
> > > > -                }
>
> > > > -            }
>
> > > > -
>
> > > > -            Device (SB0)
>
> > > > -            {
>
> > > > -                Name (_SUN, 0x16)  // _SUN: Slot User Number
>
> > > > -                Name (_ADR, 0x00160000)  // _ADR: Address
>
> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject
> Device, x=0-9
>
> > > > -                {
>
> > > > -                    PCEJ (BSEL, _SUN)
>
> > > > -                }
>
> > > > -            }
>
> > > > -
>
> > > > -            Device (SB8)
>
> > > > -            {
>
> > > > -                Name (_SUN, 0x17)  // _SUN: Slot User Number
>
> > > > -                Name (_ADR, 0x00170000)  // _ADR: Address
>
> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject
> Device, x=0-9
>
> > > > -                {
>
> > > > -                    PCEJ (BSEL, _SUN)
>
> > > > -                }
>
> > > > -            }
>
> > > > -
>
> > > > -            Device (SC0)
>
> > > > -            {
>
> > > > -                Name (_SUN, 0x18)  // _SUN: Slot User Number
>
> > > > -                Name (_ADR, 0x00180000)  // _ADR: Address
>
> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject
> Device, x=0-9
>
> > > > -                {
>
> > > > -                    PCEJ (BSEL, _SUN)
>
> > > > -                }
>
> > > > -            }
>
> > > > -
>
> > > > -            Device (SC8)
>
> > > > -            {
>
> > > > -                Name (_SUN, 0x19)  // _SUN: Slot User Number
>
> > > > -                Name (_ADR, 0x00190000)  // _ADR: Address
>
> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject
> Device, x=0-9
>
> > > > -                {
>
> > > > -                    PCEJ (BSEL, _SUN)
>
> > > > -                }
>
> > > > -            }
>
> > > > -
>
> > > > -            Device (SD0)
>
> > > > -            {
>
> > > > -                Name (_SUN, 0x1A)  // _SUN: Slot User Number
>
> > > > -                Name (_ADR, 0x001A0000)  // _ADR: Address
>
> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject
> Device, x=0-9
>
> > > > -                {
>
> > > > -                    PCEJ (BSEL, _SUN)
>
> > > > -                }
>
> > > > -            }
>
> > > > -
>
> > > > -            Device (SD8)
>
> > > > -            {
>
> > > > -                Name (_SUN, 0x1B)  // _SUN: Slot User Number
>
> > > > -                Name (_ADR, 0x001B0000)  // _ADR: Address
>
> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject
> Device, x=0-9
>
> > > > -                {
>
> > > > -                    PCEJ (BSEL, _SUN)
>
> > > > -                }
>
> > > > -            }
>
> > > > -
>
> > > > -            Device (SE0)
>
> > > > -            {
>
> > > > -                Name (_SUN, 0x1C)  // _SUN: Slot User Number
>
> > > > -                Name (_ADR, 0x001C0000)  // _ADR: Address
>
> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject
> Device, x=0-9
>
> > > > -                {
>
> > > > -                    PCEJ (BSEL, _SUN)
>
> > > > -                }
>
> > > > -            }
>
> > > > -
>
> > > > -            Device (SE8)
>
> > > > -            {
>
> > > > -                Name (_SUN, 0x1D)  // _SUN: Slot User Number
>
> > > > -                Name (_ADR, 0x001D0000)  // _ADR: Address
>
> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject
> Device, x=0-9
>
> > > > -                {
>
> > > > -                    PCEJ (BSEL, _SUN)
>
> > > > -                }
>
> > > > -            }
>
> > > > -
>
> > > > -            Device (SF0)
>
> > > > -            {
>
> > > > -                Name (_SUN, 0x1E)  // _SUN: Slot User Number
>
> > > > -                Name (_ADR, 0x001E0000)  // _ADR: Address
>
> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject
> Device, x=0-9
>
> > > > -                {
>
> > > > -                    PCEJ (BSEL, _SUN)
>
> > > > -                }
>
> > > > -            }
>
> > > > -
>
> > > > -            Device (SF8)
>
> > > > -            {
>
> > > > -                Name (_SUN, 0x1F)  // _SUN: Slot User Number
>
> > > > -                Name (_ADR, 0x001F0000)  // _ADR: Address
>
> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject
> Device, x=0-9
>
> > > > -                {
>
> > > > -                    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)
>
> > > > -            }
>
> > > >          }
>
> > > >      }
>
> > > >  }
>
> > > >
>
>
>
>
Ani Sinha Sept. 29, 2020, 10:30 a.m. UTC | #9
In your pull request the following patch is completely screwed up:

commit cda2006eded0ed91974e1d9e7f9f288e65812a3e
Author: Ani Sinha <ani@anisinha.ca>
Date:   Tue Sep 29 03:22:52 2020 -0400

    tests/acpi: update golden master DSDT binary table blobs for q35


This is not my patch. It has all sorts of changes which does not
belong there. Can you please check?

On Tue, Sep 29, 2020 at 3:20 PM Ani Sinha <ani@anisinha.ca> wrote:
>
>
>
> On Tue, Sep 29, 2020 at 3:12 PM Michael S. Tsirkin <mst@redhat.com> wrote:
>>
>> On Tue, Sep 29, 2020 at 02:21:06PM +0530, Ani Sinha wrote:
>>
>> > On Tue, Sep 29, 2020 at 1:53 PM Ani Sinha <ani@anisinha.ca> wrote:
>>
>> > >
>>
>> > > On Tue, Sep 29, 2020 at 12:56 PM Michael S. Tsirkin <mst@redhat.com> wrote:
>>
>> > > >
>>
>> > > > On Tue, Sep 29, 2020 at 12:53:17PM +0530, Ani Sinha wrote:
>>
>> > > > > On Tue, Sep 29, 2020 at 12:42 PM Michael S. Tsirkin <mst@redhat.com> wrote:
>>
>> > > > > >
>>
>> > > > > > On Fri, Sep 18, 2020 at 02:11:11PM +0530, Ani Sinha wrote:
>>
>> > > > > > > This change adds a new DSDT golden master table blob to test disabling
>>
>> > > > > > > hotplug on both pci root bus and pci bridges. Also reverts the change
>>
>> > > > > > > in file bios-tables-test-allowed-diff.h to make sure its now empty so that
>>
>> > > > > > > future modifications to acpi tables can be caught.
>>
>> > > > > > >
>>
>> > > > > > > The following is the disassembled diff between DSDT.hpbridge and DSDT.hpbrroot:
>>
>> > > > > > >
>>
>> > > > > > > @@ -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.hpbridge, Wed Sep 16 09:45:56 2020
>>
>> > > > > > > + * Disassembly of /tmp/aml-ECV9Q0, Wed Sep 16 09:45:56 2020
>>
>> > > > > > >   *
>>
>> > > > > > >   * Original Table Header:
>>
>> > > > > > >   *     Signature        "DSDT"
>>
>> > > > > > > - *     Length           0x0000131F (4895)
>>
>> > > > > > > + *     Length           0x00000B89 (2953)
>>
>> > > > > > >   *     Revision         0x01 **** 32-bit table (V1), no 64-bit math support
>>
>> > > > > > > - *     Checksum         0xF9
>>
>> > > > > > > + *     Checksum         0xA2
>>
>> > > > > > >   *     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
>>
>> > > > > > >          }
>>
>> > > > > > >
>>
>> > > > > > > @@ -234,64 +234,32 @@
>>
>> > > > > > >          {
>>
>> > > > > > >              Name (_HID, EisaId ("PNP0B00") /* AT Real-Time Clock */)  // _HID: Hardware ID
>>
>> > > > > > >              Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
>>
>> > > > > > >              {
>>
>> > > > > > >                  IO (Decode16,
>>
>> > > > > > >                      0x0070,             // Range Minimum
>>
>> > > > > > >                      0x0070,             // Range Maximum
>>
>> > > > > > >                      0x01,               // Alignment
>>
>> > > > > > >                      0x08,               // Length
>>
>> > > > > > >                      )
>>
>> > > > > > >                  IRQNoFlags ()
>>
>> > > > > > >                      {8}
>>
>> > > > > > >              })
>>
>> > > > > > >          }
>>
>> > > > > > >      }
>>
>> > > > > > >
>>
>> > > > > > > -    Scope (_SB.PCI0)
>>
>> > > > > > > -    {
>>
>> > > > > > > -        OperationRegion (PCST, SystemIO, 0xAE00, 0x08)
>>
>> > > > > > > -        Field (PCST, DWordAcc, NoLock, WriteAsZeros)
>>
>> > > > > > > -        {
>>
>> > > > > > > -            PCIU,   32,
>>
>> > > > > > > -            PCID,   32
>>
>> > > > > > > -        }
>>
>> > > > > > > -
>>
>> > > > > > > -        OperationRegion (SEJ, SystemIO, 0xAE08, 0x04)
>>
>> > > > > > > -        Field (SEJ, DWordAcc, NoLock, WriteAsZeros)
>>
>> > > > > > > -        {
>>
>> > > > > > > -            B0EJ,   32
>>
>> > > > > > > -        }
>>
>> > > > > > > -
>>
>> > > > > > > -        OperationRegion (BNMR, SystemIO, 0xAE10, 0x04)
>>
>> > > > > > > -        Field (BNMR, DWordAcc, NoLock, WriteAsZeros)
>>
>> > > > > > > -        {
>>
>> > > > > > > -            BNUM,   32
>>
>> > > > > > > -        }
>>
>> > > > > > > -
>>
>> > > > > > > -        Mutex (BLCK, 0x00)
>>
>> > > > > > > -        Method (PCEJ, 2, NotSerialized)
>>
>> > > > > > > -        {
>>
>> > > > > > > -            Acquire (BLCK, 0xFFFF)
>>
>> > > > > > > -            BNUM = Arg0
>>
>> > > > > > > -            B0EJ = (One << Arg1)
>>
>> > > > > > > -            Release (BLCK)
>>
>> > > > > > > -            Return (Zero)
>>
>> > > > > > > -        }
>>
>> > > > > > > -    }
>>
>> > > > > > > -
>>
>> > > > > > >      Scope (_SB)
>>
>> > > > > > >      {
>>
>> > > > > > >          Scope (PCI0)
>>
>> > > > > > >          {
>>
>> > > > > > >              Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
>>
>> > > > > > >              {
>>
>> > > > > > >                  Local0 = Package (0x80){}
>>
>> > > > > > >                  Local1 = Zero
>>
>> > > > > > >                  While ((Local1 < 0x80))
>>
>> > > > > > >                  {
>>
>> > > > > > >                      Local2 = (Local1 >> 0x02)
>>
>> > > > > > >                      Local3 = ((Local1 + Local2) & 0x03)
>>
>> > > > > > >                      If ((Local3 == Zero))
>>
>> > > > > > >                      {
>>
>> > > > > > >                          Local4 = Package (0x04)
>>
>> > > > > > >                              {
>>
>> > > > > > > @@ -690,38 +658,32 @@
>>
>> > > > > > >                  Method (_OST, 3, Serialized)  // _OST: OSPM Status Indication
>>
>> > > > > > >                  {
>>
>> > > > > > >                      COST (Zero, Arg0, Arg1, Arg2)
>>
>> > > > > > >                  }
>>
>> > > > > > >              }
>>
>> > > > > > >          }
>>
>> > > > > > >      }
>>
>> > > > > > >
>>
>> > > > > > >      Method (\_GPE._E02, 0, NotSerialized)  // _Exx: Edge-Triggered GPE
>>
>> > > > > > >      {
>>
>> > > > > > >          \_SB.CPUS.CSCN ()
>>
>> > > > > > >      }
>>
>> > > > > > >
>>
>> > > > > > >      Scope (_GPE)
>>
>> > > > > > >      {
>>
>> > > > > > >          Name (_HID, "ACPI0006" /* GPE Block Device */)  // _HID: Hardware ID
>>
>> > > > > > > -        Method (_E01, 0, NotSerialized)  // _Exx: Edge-Triggered GPE
>>
>> > > > > > > -        {
>>
>> > > > > > > -            Acquire (\_SB.PCI0.BLCK, 0xFFFF)
>>
>> > > > > > > -            \_SB.PCI0.PCNT ()
>>
>> > > > > > > -            Release (\_SB.PCI0.BLCK)
>>
>> > > > > > > -        }
>>
>> > > > > > >      }
>>
>> > > > > > >
>>
>> > > > > > >      Scope (\_SB.PCI0)
>>
>> > > > > > >      {
>>
>> > > > > > >          Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
>>
>> > > > > > >          {
>>
>> > > > > > >              WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
>>
>> > > > > > >                  0x0000,             // Granularity
>>
>> > > > > > >                  0x0000,             // Range Minimum
>>
>> > > > > > >                  0x00FF,             // Range Maximum
>>
>> > > > > > >                  0x0000,             // Translation Offset
>>
>> > > > > > >                  0x0100,             // Length
>>
>> > > > > > >                  ,, )
>>
>> > > > > > >              IO (Decode16,
>>
>> > > > > > >                  0x0CF8,             // Range Minimum
>>
>> > > > > > >                  0x0CF8,             // Range Maximum
>>
>> > > > > > > @@ -766,48 +728,32 @@
>>
>> > > > > > >          })
>>
>> > > > > > >          Device (GPE0)
>>
>> > > > > > >          {
>>
>> > > > > > >              Name (_HID, "PNP0A06" /* Generic Container Device */)  // _HID: Hardware ID
>>
>> > > > > > >              Name (_UID, "GPE0 resources")  // _UID: Unique ID
>>
>> > > > > > >              Name (_STA, 0x0B)  // _STA: Status
>>
>> > > > > > >              Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
>>
>> > > > > > >              {
>>
>> > > > > > >                  IO (Decode16,
>>
>> > > > > > >                      0xAFE0,             // Range Minimum
>>
>> > > > > > >                      0xAFE0,             // Range Maximum
>>
>> > > > > > >                      0x01,               // Alignment
>>
>> > > > > > >                      0x04,               // Length
>>
>> > > > > > >                      )
>>
>> > > > > > >              })
>>
>> > > > > > >          }
>>
>> > > > > > > -
>>
>> > > > > > > -        Device (PHPR)
>>
>> > > > > > > -        {
>>
>> > > > > > > -            Name (_HID, "PNP0A06" /* Generic Container Device */)  // _HID: Hardware ID
>>
>> > > > > > > -            Name (_UID, "PCI Hotplug resources")  // _UID: Unique ID
>>
>> > > > > > > -            Name (_STA, 0x0B)  // _STA: Status
>>
>> > > > > > > -            Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
>>
>> > > > > > > -            {
>>
>> > > > > > > -                IO (Decode16,
>>
>> > > > > > > -                    0xAE00,             // Range Minimum
>>
>> > > > > > > -                    0xAE00,             // Range Maximum
>>
>> > > > > > > -                    0x01,               // Alignment
>>
>> > > > > > > -                    0x14,               // Length
>>
>> > > > > > > -                    )
>>
>> > > > > > > -            })
>>
>> > > > > > > -        }
>>
>> > > > > > >      }
>>
>> > > > > > >
>>
>> > > > > > >      Scope (\)
>>
>> > > > > > >      {
>>
>> > > > > > >          Name (_S3, Package (0x04)  // _S3_: S3 System State
>>
>> > > > > > >          {
>>
>> > > > > > >              One,
>>
>> > > > > > >              One,
>>
>> > > > > > >              Zero,
>>
>> > > > > > >              Zero
>>
>> > > > > > >          })
>>
>> > > > > > >          Name (_S4, Package (0x04)  // _S4_: S4 System State
>>
>> > > > > > >          {
>>
>> > > > > > >              0x02,
>>
>> > > > > > >              0x02,
>>
>> > > > > > >              Zero,
>>
>> > > > > > > @@ -831,479 +777,48 @@
>>
>> > > > > > >              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
>>
>> > > > > > >              }
>>
>> > > > > > > -
>>
>> > > > > > > -            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)
>>
>> > > > > > > -            }
>>
>> > > > > > >          }
>>
>> > > > > > >      }
>>
>> > > > > > >  }
>>
>> > > > > >
>>
>> > > > > > This is not the only diff I see if I apply this patchset on
>>
>> > > > > > top of master.
>>
>> > > > > > Dropped this and the previous patch.
>>
>> > > > > > Please check what is going on and repost as appropriate.
>>
>> > > > >
>>
>> > > > > Which two ACPI DSDT files are you diffing? What diff are you getting?
>>
>> > > >
>>
>> > > >
>>
>> > > > diff -rup ./tests/data/acpi/pc/DSDT.hpbridge.dsl ./tests/data/acpi/pc/DSDT.hpbrroot.dsl
>>
>> > >
>>
>> > > I re-based my patchset on top of the latest qemu master and did a make
>>
>> > >  && make check-qtest-x86_64 V=1.
>>
>> > > They pass. I am seeing this diff:
>>
>> > > https://pastebin.ubuntu.com/p/BXy9GFfB2R/
>>
>> > >
>>
>> > > and it looks good to me.
>>
>> > >
>>
>> > > Not sure why your diff looks different. Maybe you can regenerate the blob?
>>
>> >
>>
>> > I did a full make check and it passed. I compared the diff again and
>>
>> > it's the same. I checked my tree and it looks clean. These are the
>>
>> > patches I have:
>>
>> >
>>
>> > $ git log --oneline
>>
>> > 20d1323e10 (HEAD -> master) qom: code hardening - have bound checking
>>
>> > while looping with integer value
>>
>> > 0f69dae0e2 Add a comment in bios-tables-test.c to clarify the reason
>>
>> > behind approach
>>
>> > dd9a8c3cd3 tests/acpi: add DSDT.hpbrroot DSDT table blob to test
>>
>> > global i440fx hotplug
>>
>> > 5b93474fe9 tests/acpi: unit test exercising global pci hotplug off for i440fx
>>
>> > 54c33e334a tests/acpi: update golden master DSDT binary table blobs for q35
>>
>> > 2279f61f30 piix4: don't reserve hw resources when hotplug is off globally
>>
>> > 1f61c524a0 Add ACPI DSDT tables for q35 that are being updated by the next patch
>>
>> > bdd823611b tests/acpi: add newly added acpi DSDT table blob for pci
>>
>> > bridge hotplug flag
>>
>> > 8c80f8fba9 tests/acpi: unit test for
>>
>> > 'acpi-pci-hotplug-with-bridge-support' bridge flag
>>
>> > e0a3142df9 tests/acpi: list added acpi table binary file for pci
>>
>> > bridge hotplug test
>>
>> > 0ba08317a8 i440fx/acpi: do not add hotplug related amls for cold plugged bridges
>>
>> > 73b191ade6 Fix a gap where acpi_pcihp_find_hotplug_bus() returns a
>>
>> > non-hotpluggable bus
>>
>> > ef0e526cc2 tests/acpi: add a new ACPI table in order to test root pci
>>
>> > hotplug on/off
>>
>> > c6d13264f8 tests/acpi: add new unit test to test hotplug off/on
>>
>> > feature on the root pci bus
>>
>> > 6901bada65 tests/acpi: mark addition of table DSDT.roothp for unit
>>
>> > testing root pci hotplug
>>
>> > 74504514b1 (origin/master, origin/HEAD) Merge remote-tracking branch
>>
>> > 'remotes/alistair/tags/pull-register-20200927' into staging
>>
>>
>>
>> Try applying on top of latest pull request?
>
>
> Maybe I'm missing something but can you point me to the latest pull request?
>>
>>
>>
>>
>>
>>
>>
>> >
>>
>> > >
>>
>> > > >
>>
>> > > >
>>
>> > > >
>>
>> > > > --- ./tests/data/acpi/pc/DSDT.hpbridge.dsl      2020-09-29 02:44:43.874622404 -0400
>>
>> > > > +++ ./tests/data/acpi/pc/DSDT.hpbrroot.dsl      2020-09-29 02:44:43.876622403 -0400
>>
>> > > > @@ -5,13 +5,13 @@
>>
>> > > >   *
>>
>> > > >   * Disassembling to symbolic ASL+ operators
>>
>> > > >   *
>>
>> > > > - * Disassembly of tests/data/acpi/pc/DSDT.hpbridge, Tue Sep 29 02:44:43 2020
>>
>> > > > + * Disassembly of tests/data/acpi/pc/DSDT.hpbrroot, Tue Sep 29 02:44:43 2020
>>
>> > > >   *
>>
>> > > >   * Original Table Header:
>>
>> > > >   *     Signature        "DSDT"
>>
>> > > > - *     Length           0x0000139D (5021)
>>
>> > > > + *     Length           0x00000B89 (2953)
>>
>> > > >   *     Revision         0x01 **** 32-bit table (V1), no 64-bit math support
>>
>> > > > - *     Checksum         0x05
>>
>> > > > + *     Checksum         0xA2
>>
>> > > >   *     OEM ID           "BOCHS "
>>
>> > > >   *     OEM Table ID     "BXPCDSDT"
>>
>> > > >   *     OEM Revision     0x00000001 (1)
>>
>> > > > @@ -247,38 +247,6 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
>>
>> > > >          }
>>
>> > > >      }
>>
>> > > >
>>
>> > > > -    Scope (_SB.PCI0)
>>
>> > > > -    {
>>
>> > > > -        OperationRegion (PCST, SystemIO, 0xAE00, 0x08)
>>
>> > > > -        Field (PCST, DWordAcc, NoLock, WriteAsZeros)
>>
>> > > > -        {
>>
>> > > > -            PCIU,   32,
>>
>> > > > -            PCID,   32
>>
>> > > > -        }
>>
>> > > > -
>>
>> > > > -        OperationRegion (SEJ, SystemIO, 0xAE08, 0x04)
>>
>> > > > -        Field (SEJ, DWordAcc, NoLock, WriteAsZeros)
>>
>> > > > -        {
>>
>> > > > -            B0EJ,   32
>>
>> > > > -        }
>>
>> > > > -
>>
>> > > > -        OperationRegion (BNMR, SystemIO, 0xAE10, 0x04)
>>
>> > > > -        Field (BNMR, DWordAcc, NoLock, WriteAsZeros)
>>
>> > > > -        {
>>
>> > > > -            BNUM,   32
>>
>> > > > -        }
>>
>> > > > -
>>
>> > > > -        Mutex (BLCK, 0x00)
>>
>> > > > -        Method (PCEJ, 2, NotSerialized)
>>
>> > > > -        {
>>
>> > > > -            Acquire (BLCK, 0xFFFF)
>>
>> > > > -            BNUM = Arg0
>>
>> > > > -            B0EJ = (One << Arg1)
>>
>> > > > -            Release (BLCK)
>>
>> > > > -            Return (Zero)
>>
>> > > > -        }
>>
>> > > > -    }
>>
>> > > > -
>>
>> > > >      Scope (_SB)
>>
>> > > >      {
>>
>> > > >          Scope (PCI0)
>>
>> > > > @@ -643,56 +611,22 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
>>
>> > > >              Method (CSCN, 0, Serialized)
>>
>> > > >              {
>>
>> > > >                  Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF)
>>
>> > > > -                Name (CNEW, Package (0xFF){})
>>
>> > > > -                Local3 = Zero
>>
>> > > > -                Local4 = One
>>
>> > > > -                While ((Local4 == One))
>>
>> > > > +                Local0 = One
>>
>> > > > +                While ((Local0 == One))
>>
>> > > >                  {
>>
>> > > > -                    Local4 = Zero
>>
>> > > > -                    Local0 = One
>>
>> > > > -                    Local1 = Zero
>>
>> > > > -                    While (((Local0 == One) && (Local3 < One)))
>>
>> > > > +                    Local0 = Zero
>>
>> > > > +                    \_SB.PCI0.PRES.CCMD = Zero
>>
>> > > > +                    If ((\_SB.PCI0.PRES.CINS == One))
>>
>> > > >                      {
>>
>> > > > -                        Local0 = Zero
>>
>> > > > -                        \_SB.PCI0.PRES.CSEL = Local3
>>
>> > > > -                        \_SB.PCI0.PRES.CCMD = Zero
>>
>> > > > -                        If ((\_SB.PCI0.PRES.CDAT < Local3))
>>
>> > > > -                        {
>>
>> > > > -                            Break
>>
>> > > > -                        }
>>
>> > > > -
>>
>> > > > -                        If ((Local1 == 0xFF))
>>
>> > > > -                        {
>>
>> > > > -                            Local4 = One
>>
>> > > > -                            Break
>>
>> > > > -                        }
>>
>> > > > -
>>
>> > > > -                        Local3 = \_SB.PCI0.PRES.CDAT
>>
>> > > > -                        If ((\_SB.PCI0.PRES.CINS == One))
>>
>> > > > -                        {
>>
>> > > > -                            CNEW [Local1] = Local3
>>
>> > > > -                            Local1++
>>
>> > > > -                            Local0 = One
>>
>> > > > -                        }
>>
>> > > > -                        ElseIf ((\_SB.PCI0.PRES.CRMV == One))
>>
>> > > > -                        {
>>
>> > > > -                            CTFY (Local3, 0x03)
>>
>> > > > -                            \_SB.PCI0.PRES.CRMV = One
>>
>> > > > -                            Local0 = One
>>
>> > > > -                        }
>>
>> > > > -
>>
>> > > > -                        Local3++
>>
>> > > > +                        CTFY (\_SB.PCI0.PRES.CDAT, One)
>>
>> > > > +                        \_SB.PCI0.PRES.CINS = One
>>
>> > > > +                        Local0 = One
>>
>> > > >                      }
>>
>> > > > -
>>
>> > > > -                    Local2 = Zero
>>
>> > > > -                    While ((Local2 < Local1))
>>
>> > > > +                    ElseIf ((\_SB.PCI0.PRES.CRMV == One))
>>
>> > > >                      {
>>
>> > > > -                        Local3 = DerefOf (CNEW [Local2])
>>
>> > > > -                        CTFY (Local3, One)
>>
>> > > > -                        Debug = Local3
>>
>> > > > -                        \_SB.PCI0.PRES.CSEL = Local3
>>
>> > > > -                        \_SB.PCI0.PRES.CINS = One
>>
>> > > > -                        Local2++
>>
>> > > > +                        CTFY (\_SB.PCI0.PRES.CDAT, 0x03)
>>
>> > > > +                        \_SB.PCI0.PRES.CRMV = One
>>
>> > > > +                        Local0 = One
>>
>> > > >                      }
>>
>> > > >                  }
>>
>> > > >
>>
>> > > > @@ -737,12 +671,6 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
>>
>> > > >      Scope (_GPE)
>>
>> > > >      {
>>
>> > > >          Name (_HID, "ACPI0006" /* GPE Block Device */)  // _HID: Hardware ID
>>
>> > > > -        Method (_E01, 0, NotSerialized)  // _Exx: Edge-Triggered GPE, xx=0x00-0xFF
>>
>> > > > -        {
>>
>> > > > -            Acquire (\_SB.PCI0.BLCK, 0xFFFF)
>>
>> > > > -            \_SB.PCI0.PCNT ()
>>
>> > > > -            Release (\_SB.PCI0.BLCK)
>>
>> > > > -        }
>>
>> > > >      }
>>
>> > > >
>>
>> > > >      Scope (\_SB.PCI0)
>>
>> > > > @@ -813,22 +741,6 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
>>
>> > > >                      )
>>
>> > > >              })
>>
>> > > >          }
>>
>> > > > -
>>
>> > > > -        Device (PHPR)
>>
>> > > > -        {
>>
>> > > > -            Name (_HID, "PNP0A06" /* Generic Container Device */)  // _HID: Hardware ID
>>
>> > > > -            Name (_UID, "PCI Hotplug resources")  // _UID: Unique ID
>>
>> > > > -            Name (_STA, 0x0B)  // _STA: Status
>>
>> > > > -            Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
>>
>> > > > -            {
>>
>> > > > -                IO (Decode16,
>>
>> > > > -                    0xAE00,             // Range Minimum
>>
>> > > > -                    0xAE00,             // Range Maximum
>>
>> > > > -                    0x01,               // Alignment
>>
>> > > > -                    0x14,               // Length
>>
>> > > > -                    )
>>
>> > > > -            })
>>
>> > > > -        }
>>
>> > > >      }
>>
>> > > >
>>
>> > > >      Scope (\)
>>
>> > > > @@ -878,7 +790,6 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
>>
>> > > >      {
>>
>> > > >          Scope (PCI0)
>>
>> > > >          {
>>
>> > > > -            Name (BSEL, Zero)
>>
>> > > >              Device (S00)
>>
>> > > >              {
>>
>> > > >                  Name (_ADR, Zero)  // _ADR: Address
>>
>> > > > @@ -907,436 +818,6 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
>>
>> > > >              {
>>
>> > > >                  Name (_ADR, 0x00030000)  // _ADR: Address
>>
>> > > >              }
>>
>> > > > -
>>
>> > > > -            Device (S20)
>>
>> > > > -            {
>>
>> > > > -                Name (_SUN, 0x04)  // _SUN: Slot User Number
>>
>> > > > -                Name (_ADR, 0x00040000)  // _ADR: Address
>>
>> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
>>
>> > > > -                {
>>
>> > > > -                    PCEJ (BSEL, _SUN)
>>
>> > > > -                }
>>
>> > > > -            }
>>
>> > > > -
>>
>> > > > -            Device (S28)
>>
>> > > > -            {
>>
>> > > > -                Name (_SUN, 0x05)  // _SUN: Slot User Number
>>
>> > > > -                Name (_ADR, 0x00050000)  // _ADR: Address
>>
>> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
>>
>> > > > -                {
>>
>> > > > -                    PCEJ (BSEL, _SUN)
>>
>> > > > -                }
>>
>> > > > -            }
>>
>> > > > -
>>
>> > > > -            Device (S30)
>>
>> > > > -            {
>>
>> > > > -                Name (_SUN, 0x06)  // _SUN: Slot User Number
>>
>> > > > -                Name (_ADR, 0x00060000)  // _ADR: Address
>>
>> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
>>
>> > > > -                {
>>
>> > > > -                    PCEJ (BSEL, _SUN)
>>
>> > > > -                }
>>
>> > > > -            }
>>
>> > > > -
>>
>> > > > -            Device (S38)
>>
>> > > > -            {
>>
>> > > > -                Name (_SUN, 0x07)  // _SUN: Slot User Number
>>
>> > > > -                Name (_ADR, 0x00070000)  // _ADR: Address
>>
>> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
>>
>> > > > -                {
>>
>> > > > -                    PCEJ (BSEL, _SUN)
>>
>> > > > -                }
>>
>> > > > -            }
>>
>> > > > -
>>
>> > > > -            Device (S40)
>>
>> > > > -            {
>>
>> > > > -                Name (_SUN, 0x08)  // _SUN: Slot User Number
>>
>> > > > -                Name (_ADR, 0x00080000)  // _ADR: Address
>>
>> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
>>
>> > > > -                {
>>
>> > > > -                    PCEJ (BSEL, _SUN)
>>
>> > > > -                }
>>
>> > > > -            }
>>
>> > > > -
>>
>> > > > -            Device (S48)
>>
>> > > > -            {
>>
>> > > > -                Name (_SUN, 0x09)  // _SUN: Slot User Number
>>
>> > > > -                Name (_ADR, 0x00090000)  // _ADR: Address
>>
>> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
>>
>> > > > -                {
>>
>> > > > -                    PCEJ (BSEL, _SUN)
>>
>> > > > -                }
>>
>> > > > -            }
>>
>> > > > -
>>
>> > > > -            Device (S50)
>>
>> > > > -            {
>>
>> > > > -                Name (_SUN, 0x0A)  // _SUN: Slot User Number
>>
>> > > > -                Name (_ADR, 0x000A0000)  // _ADR: Address
>>
>> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
>>
>> > > > -                {
>>
>> > > > -                    PCEJ (BSEL, _SUN)
>>
>> > > > -                }
>>
>> > > > -            }
>>
>> > > > -
>>
>> > > > -            Device (S58)
>>
>> > > > -            {
>>
>> > > > -                Name (_SUN, 0x0B)  // _SUN: Slot User Number
>>
>> > > > -                Name (_ADR, 0x000B0000)  // _ADR: Address
>>
>> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
>>
>> > > > -                {
>>
>> > > > -                    PCEJ (BSEL, _SUN)
>>
>> > > > -                }
>>
>> > > > -            }
>>
>> > > > -
>>
>> > > > -            Device (S60)
>>
>> > > > -            {
>>
>> > > > -                Name (_SUN, 0x0C)  // _SUN: Slot User Number
>>
>> > > > -                Name (_ADR, 0x000C0000)  // _ADR: Address
>>
>> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
>>
>> > > > -                {
>>
>> > > > -                    PCEJ (BSEL, _SUN)
>>
>> > > > -                }
>>
>> > > > -            }
>>
>> > > > -
>>
>> > > > -            Device (S68)
>>
>> > > > -            {
>>
>> > > > -                Name (_SUN, 0x0D)  // _SUN: Slot User Number
>>
>> > > > -                Name (_ADR, 0x000D0000)  // _ADR: Address
>>
>> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
>>
>> > > > -                {
>>
>> > > > -                    PCEJ (BSEL, _SUN)
>>
>> > > > -                }
>>
>> > > > -            }
>>
>> > > > -
>>
>> > > > -            Device (S70)
>>
>> > > > -            {
>>
>> > > > -                Name (_SUN, 0x0E)  // _SUN: Slot User Number
>>
>> > > > -                Name (_ADR, 0x000E0000)  // _ADR: Address
>>
>> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
>>
>> > > > -                {
>>
>> > > > -                    PCEJ (BSEL, _SUN)
>>
>> > > > -                }
>>
>> > > > -            }
>>
>> > > > -
>>
>> > > > -            Device (S78)
>>
>> > > > -            {
>>
>> > > > -                Name (_SUN, 0x0F)  // _SUN: Slot User Number
>>
>> > > > -                Name (_ADR, 0x000F0000)  // _ADR: Address
>>
>> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
>>
>> > > > -                {
>>
>> > > > -                    PCEJ (BSEL, _SUN)
>>
>> > > > -                }
>>
>> > > > -            }
>>
>> > > > -
>>
>> > > > -            Device (S80)
>>
>> > > > -            {
>>
>> > > > -                Name (_SUN, 0x10)  // _SUN: Slot User Number
>>
>> > > > -                Name (_ADR, 0x00100000)  // _ADR: Address
>>
>> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
>>
>> > > > -                {
>>
>> > > > -                    PCEJ (BSEL, _SUN)
>>
>> > > > -                }
>>
>> > > > -            }
>>
>> > > > -
>>
>> > > > -            Device (S88)
>>
>> > > > -            {
>>
>> > > > -                Name (_SUN, 0x11)  // _SUN: Slot User Number
>>
>> > > > -                Name (_ADR, 0x00110000)  // _ADR: Address
>>
>> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
>>
>> > > > -                {
>>
>> > > > -                    PCEJ (BSEL, _SUN)
>>
>> > > > -                }
>>
>> > > > -            }
>>
>> > > > -
>>
>> > > > -            Device (S90)
>>
>> > > > -            {
>>
>> > > > -                Name (_SUN, 0x12)  // _SUN: Slot User Number
>>
>> > > > -                Name (_ADR, 0x00120000)  // _ADR: Address
>>
>> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
>>
>> > > > -                {
>>
>> > > > -                    PCEJ (BSEL, _SUN)
>>
>> > > > -                }
>>
>> > > > -            }
>>
>> > > > -
>>
>> > > > -            Device (S98)
>>
>> > > > -            {
>>
>> > > > -                Name (_SUN, 0x13)  // _SUN: Slot User Number
>>
>> > > > -                Name (_ADR, 0x00130000)  // _ADR: Address
>>
>> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
>>
>> > > > -                {
>>
>> > > > -                    PCEJ (BSEL, _SUN)
>>
>> > > > -                }
>>
>> > > > -            }
>>
>> > > > -
>>
>> > > > -            Device (SA0)
>>
>> > > > -            {
>>
>> > > > -                Name (_SUN, 0x14)  // _SUN: Slot User Number
>>
>> > > > -                Name (_ADR, 0x00140000)  // _ADR: Address
>>
>> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
>>
>> > > > -                {
>>
>> > > > -                    PCEJ (BSEL, _SUN)
>>
>> > > > -                }
>>
>> > > > -            }
>>
>> > > > -
>>
>> > > > -            Device (SA8)
>>
>> > > > -            {
>>
>> > > > -                Name (_SUN, 0x15)  // _SUN: Slot User Number
>>
>> > > > -                Name (_ADR, 0x00150000)  // _ADR: Address
>>
>> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
>>
>> > > > -                {
>>
>> > > > -                    PCEJ (BSEL, _SUN)
>>
>> > > > -                }
>>
>> > > > -            }
>>
>> > > > -
>>
>> > > > -            Device (SB0)
>>
>> > > > -            {
>>
>> > > > -                Name (_SUN, 0x16)  // _SUN: Slot User Number
>>
>> > > > -                Name (_ADR, 0x00160000)  // _ADR: Address
>>
>> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
>>
>> > > > -                {
>>
>> > > > -                    PCEJ (BSEL, _SUN)
>>
>> > > > -                }
>>
>> > > > -            }
>>
>> > > > -
>>
>> > > > -            Device (SB8)
>>
>> > > > -            {
>>
>> > > > -                Name (_SUN, 0x17)  // _SUN: Slot User Number
>>
>> > > > -                Name (_ADR, 0x00170000)  // _ADR: Address
>>
>> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
>>
>> > > > -                {
>>
>> > > > -                    PCEJ (BSEL, _SUN)
>>
>> > > > -                }
>>
>> > > > -            }
>>
>> > > > -
>>
>> > > > -            Device (SC0)
>>
>> > > > -            {
>>
>> > > > -                Name (_SUN, 0x18)  // _SUN: Slot User Number
>>
>> > > > -                Name (_ADR, 0x00180000)  // _ADR: Address
>>
>> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
>>
>> > > > -                {
>>
>> > > > -                    PCEJ (BSEL, _SUN)
>>
>> > > > -                }
>>
>> > > > -            }
>>
>> > > > -
>>
>> > > > -            Device (SC8)
>>
>> > > > -            {
>>
>> > > > -                Name (_SUN, 0x19)  // _SUN: Slot User Number
>>
>> > > > -                Name (_ADR, 0x00190000)  // _ADR: Address
>>
>> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
>>
>> > > > -                {
>>
>> > > > -                    PCEJ (BSEL, _SUN)
>>
>> > > > -                }
>>
>> > > > -            }
>>
>> > > > -
>>
>> > > > -            Device (SD0)
>>
>> > > > -            {
>>
>> > > > -                Name (_SUN, 0x1A)  // _SUN: Slot User Number
>>
>> > > > -                Name (_ADR, 0x001A0000)  // _ADR: Address
>>
>> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
>>
>> > > > -                {
>>
>> > > > -                    PCEJ (BSEL, _SUN)
>>
>> > > > -                }
>>
>> > > > -            }
>>
>> > > > -
>>
>> > > > -            Device (SD8)
>>
>> > > > -            {
>>
>> > > > -                Name (_SUN, 0x1B)  // _SUN: Slot User Number
>>
>> > > > -                Name (_ADR, 0x001B0000)  // _ADR: Address
>>
>> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
>>
>> > > > -                {
>>
>> > > > -                    PCEJ (BSEL, _SUN)
>>
>> > > > -                }
>>
>> > > > -            }
>>
>> > > > -
>>
>> > > > -            Device (SE0)
>>
>> > > > -            {
>>
>> > > > -                Name (_SUN, 0x1C)  // _SUN: Slot User Number
>>
>> > > > -                Name (_ADR, 0x001C0000)  // _ADR: Address
>>
>> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
>>
>> > > > -                {
>>
>> > > > -                    PCEJ (BSEL, _SUN)
>>
>> > > > -                }
>>
>> > > > -            }
>>
>> > > > -
>>
>> > > > -            Device (SE8)
>>
>> > > > -            {
>>
>> > > > -                Name (_SUN, 0x1D)  // _SUN: Slot User Number
>>
>> > > > -                Name (_ADR, 0x001D0000)  // _ADR: Address
>>
>> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
>>
>> > > > -                {
>>
>> > > > -                    PCEJ (BSEL, _SUN)
>>
>> > > > -                }
>>
>> > > > -            }
>>
>> > > > -
>>
>> > > > -            Device (SF0)
>>
>> > > > -            {
>>
>> > > > -                Name (_SUN, 0x1E)  // _SUN: Slot User Number
>>
>> > > > -                Name (_ADR, 0x001E0000)  // _ADR: Address
>>
>> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
>>
>> > > > -                {
>>
>> > > > -                    PCEJ (BSEL, _SUN)
>>
>> > > > -                }
>>
>> > > > -            }
>>
>> > > > -
>>
>> > > > -            Device (SF8)
>>
>> > > > -            {
>>
>> > > > -                Name (_SUN, 0x1F)  // _SUN: Slot User Number
>>
>> > > > -                Name (_ADR, 0x001F0000)  // _ADR: Address
>>
>> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
>>
>> > > > -                {
>>
>> > > > -                    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)
>>
>> > > > -            }
>>
>> > > >          }
>>
>> > > >      }
>>
>> > > >  }
>>
>> > > >
>>
>>
>>
Ani Sinha Sept. 29, 2020, 10:32 a.m. UTC | #10
On Tue, Sep 29, 2020 at 4:00 PM Ani Sinha <ani@anisinha.ca> wrote:
>
> In your pull request the following patch is completely screwed up:
>
> commit cda2006eded0ed91974e1d9e7f9f288e65812a3e
> Author: Ani Sinha <ani@anisinha.ca>
> Date:   Tue Sep 29 03:22:52 2020 -0400
>
>     tests/acpi: update golden master DSDT binary table blobs for q35
>
>
> This is not my patch. It has all sorts of changes which does not
> belong there. Can you please check?

See https://patchew.org/QEMU/20200929071948.281157-1-mst@redhat.com/20200929071948.281157-46-mst@redhat.com/


>
> On Tue, Sep 29, 2020 at 3:20 PM Ani Sinha <ani@anisinha.ca> wrote:
> >
> >
> >
> > On Tue, Sep 29, 2020 at 3:12 PM Michael S. Tsirkin <mst@redhat.com> wrote:
> >>
> >> On Tue, Sep 29, 2020 at 02:21:06PM +0530, Ani Sinha wrote:
> >>
> >> > On Tue, Sep 29, 2020 at 1:53 PM Ani Sinha <ani@anisinha.ca> wrote:
> >>
> >> > >
> >>
> >> > > On Tue, Sep 29, 2020 at 12:56 PM Michael S. Tsirkin <mst@redhat.com> wrote:
> >>
> >> > > >
> >>
> >> > > > On Tue, Sep 29, 2020 at 12:53:17PM +0530, Ani Sinha wrote:
> >>
> >> > > > > On Tue, Sep 29, 2020 at 12:42 PM Michael S. Tsirkin <mst@redhat.com> wrote:
> >>
> >> > > > > >
> >>
> >> > > > > > On Fri, Sep 18, 2020 at 02:11:11PM +0530, Ani Sinha wrote:
> >>
> >> > > > > > > This change adds a new DSDT golden master table blob to test disabling
> >>
> >> > > > > > > hotplug on both pci root bus and pci bridges. Also reverts the change
> >>
> >> > > > > > > in file bios-tables-test-allowed-diff.h to make sure its now empty so that
> >>
> >> > > > > > > future modifications to acpi tables can be caught.
> >>
> >> > > > > > >
> >>
> >> > > > > > > The following is the disassembled diff between DSDT.hpbridge and DSDT.hpbrroot:
> >>
> >> > > > > > >
> >>
> >> > > > > > > @@ -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.hpbridge, Wed Sep 16 09:45:56 2020
> >>
> >> > > > > > > + * Disassembly of /tmp/aml-ECV9Q0, Wed Sep 16 09:45:56 2020
> >>
> >> > > > > > >   *
> >>
> >> > > > > > >   * Original Table Header:
> >>
> >> > > > > > >   *     Signature        "DSDT"
> >>
> >> > > > > > > - *     Length           0x0000131F (4895)
> >>
> >> > > > > > > + *     Length           0x00000B89 (2953)
> >>
> >> > > > > > >   *     Revision         0x01 **** 32-bit table (V1), no 64-bit math support
> >>
> >> > > > > > > - *     Checksum         0xF9
> >>
> >> > > > > > > + *     Checksum         0xA2
> >>
> >> > > > > > >   *     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
> >>
> >> > > > > > >          }
> >>
> >> > > > > > >
> >>
> >> > > > > > > @@ -234,64 +234,32 @@
> >>
> >> > > > > > >          {
> >>
> >> > > > > > >              Name (_HID, EisaId ("PNP0B00") /* AT Real-Time Clock */)  // _HID: Hardware ID
> >>
> >> > > > > > >              Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
> >>
> >> > > > > > >              {
> >>
> >> > > > > > >                  IO (Decode16,
> >>
> >> > > > > > >                      0x0070,             // Range Minimum
> >>
> >> > > > > > >                      0x0070,             // Range Maximum
> >>
> >> > > > > > >                      0x01,               // Alignment
> >>
> >> > > > > > >                      0x08,               // Length
> >>
> >> > > > > > >                      )
> >>
> >> > > > > > >                  IRQNoFlags ()
> >>
> >> > > > > > >                      {8}
> >>
> >> > > > > > >              })
> >>
> >> > > > > > >          }
> >>
> >> > > > > > >      }
> >>
> >> > > > > > >
> >>
> >> > > > > > > -    Scope (_SB.PCI0)
> >>
> >> > > > > > > -    {
> >>
> >> > > > > > > -        OperationRegion (PCST, SystemIO, 0xAE00, 0x08)
> >>
> >> > > > > > > -        Field (PCST, DWordAcc, NoLock, WriteAsZeros)
> >>
> >> > > > > > > -        {
> >>
> >> > > > > > > -            PCIU,   32,
> >>
> >> > > > > > > -            PCID,   32
> >>
> >> > > > > > > -        }
> >>
> >> > > > > > > -
> >>
> >> > > > > > > -        OperationRegion (SEJ, SystemIO, 0xAE08, 0x04)
> >>
> >> > > > > > > -        Field (SEJ, DWordAcc, NoLock, WriteAsZeros)
> >>
> >> > > > > > > -        {
> >>
> >> > > > > > > -            B0EJ,   32
> >>
> >> > > > > > > -        }
> >>
> >> > > > > > > -
> >>
> >> > > > > > > -        OperationRegion (BNMR, SystemIO, 0xAE10, 0x04)
> >>
> >> > > > > > > -        Field (BNMR, DWordAcc, NoLock, WriteAsZeros)
> >>
> >> > > > > > > -        {
> >>
> >> > > > > > > -            BNUM,   32
> >>
> >> > > > > > > -        }
> >>
> >> > > > > > > -
> >>
> >> > > > > > > -        Mutex (BLCK, 0x00)
> >>
> >> > > > > > > -        Method (PCEJ, 2, NotSerialized)
> >>
> >> > > > > > > -        {
> >>
> >> > > > > > > -            Acquire (BLCK, 0xFFFF)
> >>
> >> > > > > > > -            BNUM = Arg0
> >>
> >> > > > > > > -            B0EJ = (One << Arg1)
> >>
> >> > > > > > > -            Release (BLCK)
> >>
> >> > > > > > > -            Return (Zero)
> >>
> >> > > > > > > -        }
> >>
> >> > > > > > > -    }
> >>
> >> > > > > > > -
> >>
> >> > > > > > >      Scope (_SB)
> >>
> >> > > > > > >      {
> >>
> >> > > > > > >          Scope (PCI0)
> >>
> >> > > > > > >          {
> >>
> >> > > > > > >              Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
> >>
> >> > > > > > >              {
> >>
> >> > > > > > >                  Local0 = Package (0x80){}
> >>
> >> > > > > > >                  Local1 = Zero
> >>
> >> > > > > > >                  While ((Local1 < 0x80))
> >>
> >> > > > > > >                  {
> >>
> >> > > > > > >                      Local2 = (Local1 >> 0x02)
> >>
> >> > > > > > >                      Local3 = ((Local1 + Local2) & 0x03)
> >>
> >> > > > > > >                      If ((Local3 == Zero))
> >>
> >> > > > > > >                      {
> >>
> >> > > > > > >                          Local4 = Package (0x04)
> >>
> >> > > > > > >                              {
> >>
> >> > > > > > > @@ -690,38 +658,32 @@
> >>
> >> > > > > > >                  Method (_OST, 3, Serialized)  // _OST: OSPM Status Indication
> >>
> >> > > > > > >                  {
> >>
> >> > > > > > >                      COST (Zero, Arg0, Arg1, Arg2)
> >>
> >> > > > > > >                  }
> >>
> >> > > > > > >              }
> >>
> >> > > > > > >          }
> >>
> >> > > > > > >      }
> >>
> >> > > > > > >
> >>
> >> > > > > > >      Method (\_GPE._E02, 0, NotSerialized)  // _Exx: Edge-Triggered GPE
> >>
> >> > > > > > >      {
> >>
> >> > > > > > >          \_SB.CPUS.CSCN ()
> >>
> >> > > > > > >      }
> >>
> >> > > > > > >
> >>
> >> > > > > > >      Scope (_GPE)
> >>
> >> > > > > > >      {
> >>
> >> > > > > > >          Name (_HID, "ACPI0006" /* GPE Block Device */)  // _HID: Hardware ID
> >>
> >> > > > > > > -        Method (_E01, 0, NotSerialized)  // _Exx: Edge-Triggered GPE
> >>
> >> > > > > > > -        {
> >>
> >> > > > > > > -            Acquire (\_SB.PCI0.BLCK, 0xFFFF)
> >>
> >> > > > > > > -            \_SB.PCI0.PCNT ()
> >>
> >> > > > > > > -            Release (\_SB.PCI0.BLCK)
> >>
> >> > > > > > > -        }
> >>
> >> > > > > > >      }
> >>
> >> > > > > > >
> >>
> >> > > > > > >      Scope (\_SB.PCI0)
> >>
> >> > > > > > >      {
> >>
> >> > > > > > >          Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
> >>
> >> > > > > > >          {
> >>
> >> > > > > > >              WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
> >>
> >> > > > > > >                  0x0000,             // Granularity
> >>
> >> > > > > > >                  0x0000,             // Range Minimum
> >>
> >> > > > > > >                  0x00FF,             // Range Maximum
> >>
> >> > > > > > >                  0x0000,             // Translation Offset
> >>
> >> > > > > > >                  0x0100,             // Length
> >>
> >> > > > > > >                  ,, )
> >>
> >> > > > > > >              IO (Decode16,
> >>
> >> > > > > > >                  0x0CF8,             // Range Minimum
> >>
> >> > > > > > >                  0x0CF8,             // Range Maximum
> >>
> >> > > > > > > @@ -766,48 +728,32 @@
> >>
> >> > > > > > >          })
> >>
> >> > > > > > >          Device (GPE0)
> >>
> >> > > > > > >          {
> >>
> >> > > > > > >              Name (_HID, "PNP0A06" /* Generic Container Device */)  // _HID: Hardware ID
> >>
> >> > > > > > >              Name (_UID, "GPE0 resources")  // _UID: Unique ID
> >>
> >> > > > > > >              Name (_STA, 0x0B)  // _STA: Status
> >>
> >> > > > > > >              Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
> >>
> >> > > > > > >              {
> >>
> >> > > > > > >                  IO (Decode16,
> >>
> >> > > > > > >                      0xAFE0,             // Range Minimum
> >>
> >> > > > > > >                      0xAFE0,             // Range Maximum
> >>
> >> > > > > > >                      0x01,               // Alignment
> >>
> >> > > > > > >                      0x04,               // Length
> >>
> >> > > > > > >                      )
> >>
> >> > > > > > >              })
> >>
> >> > > > > > >          }
> >>
> >> > > > > > > -
> >>
> >> > > > > > > -        Device (PHPR)
> >>
> >> > > > > > > -        {
> >>
> >> > > > > > > -            Name (_HID, "PNP0A06" /* Generic Container Device */)  // _HID: Hardware ID
> >>
> >> > > > > > > -            Name (_UID, "PCI Hotplug resources")  // _UID: Unique ID
> >>
> >> > > > > > > -            Name (_STA, 0x0B)  // _STA: Status
> >>
> >> > > > > > > -            Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
> >>
> >> > > > > > > -            {
> >>
> >> > > > > > > -                IO (Decode16,
> >>
> >> > > > > > > -                    0xAE00,             // Range Minimum
> >>
> >> > > > > > > -                    0xAE00,             // Range Maximum
> >>
> >> > > > > > > -                    0x01,               // Alignment
> >>
> >> > > > > > > -                    0x14,               // Length
> >>
> >> > > > > > > -                    )
> >>
> >> > > > > > > -            })
> >>
> >> > > > > > > -        }
> >>
> >> > > > > > >      }
> >>
> >> > > > > > >
> >>
> >> > > > > > >      Scope (\)
> >>
> >> > > > > > >      {
> >>
> >> > > > > > >          Name (_S3, Package (0x04)  // _S3_: S3 System State
> >>
> >> > > > > > >          {
> >>
> >> > > > > > >              One,
> >>
> >> > > > > > >              One,
> >>
> >> > > > > > >              Zero,
> >>
> >> > > > > > >              Zero
> >>
> >> > > > > > >          })
> >>
> >> > > > > > >          Name (_S4, Package (0x04)  // _S4_: S4 System State
> >>
> >> > > > > > >          {
> >>
> >> > > > > > >              0x02,
> >>
> >> > > > > > >              0x02,
> >>
> >> > > > > > >              Zero,
> >>
> >> > > > > > > @@ -831,479 +777,48 @@
> >>
> >> > > > > > >              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
> >>
> >> > > > > > >              }
> >>
> >> > > > > > > -
> >>
> >> > > > > > > -            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)
> >>
> >> > > > > > > -            }
> >>
> >> > > > > > >          }
> >>
> >> > > > > > >      }
> >>
> >> > > > > > >  }
> >>
> >> > > > > >
> >>
> >> > > > > > This is not the only diff I see if I apply this patchset on
> >>
> >> > > > > > top of master.
> >>
> >> > > > > > Dropped this and the previous patch.
> >>
> >> > > > > > Please check what is going on and repost as appropriate.
> >>
> >> > > > >
> >>
> >> > > > > Which two ACPI DSDT files are you diffing? What diff are you getting?
> >>
> >> > > >
> >>
> >> > > >
> >>
> >> > > > diff -rup ./tests/data/acpi/pc/DSDT.hpbridge.dsl ./tests/data/acpi/pc/DSDT.hpbrroot.dsl
> >>
> >> > >
> >>
> >> > > I re-based my patchset on top of the latest qemu master and did a make
> >>
> >> > >  && make check-qtest-x86_64 V=1.
> >>
> >> > > They pass. I am seeing this diff:
> >>
> >> > > https://pastebin.ubuntu.com/p/BXy9GFfB2R/
> >>
> >> > >
> >>
> >> > > and it looks good to me.
> >>
> >> > >
> >>
> >> > > Not sure why your diff looks different. Maybe you can regenerate the blob?
> >>
> >> >
> >>
> >> > I did a full make check and it passed. I compared the diff again and
> >>
> >> > it's the same. I checked my tree and it looks clean. These are the
> >>
> >> > patches I have:
> >>
> >> >
> >>
> >> > $ git log --oneline
> >>
> >> > 20d1323e10 (HEAD -> master) qom: code hardening - have bound checking
> >>
> >> > while looping with integer value
> >>
> >> > 0f69dae0e2 Add a comment in bios-tables-test.c to clarify the reason
> >>
> >> > behind approach
> >>
> >> > dd9a8c3cd3 tests/acpi: add DSDT.hpbrroot DSDT table blob to test
> >>
> >> > global i440fx hotplug
> >>
> >> > 5b93474fe9 tests/acpi: unit test exercising global pci hotplug off for i440fx
> >>
> >> > 54c33e334a tests/acpi: update golden master DSDT binary table blobs for q35
> >>
> >> > 2279f61f30 piix4: don't reserve hw resources when hotplug is off globally
> >>
> >> > 1f61c524a0 Add ACPI DSDT tables for q35 that are being updated by the next patch
> >>
> >> > bdd823611b tests/acpi: add newly added acpi DSDT table blob for pci
> >>
> >> > bridge hotplug flag
> >>
> >> > 8c80f8fba9 tests/acpi: unit test for
> >>
> >> > 'acpi-pci-hotplug-with-bridge-support' bridge flag
> >>
> >> > e0a3142df9 tests/acpi: list added acpi table binary file for pci
> >>
> >> > bridge hotplug test
> >>
> >> > 0ba08317a8 i440fx/acpi: do not add hotplug related amls for cold plugged bridges
> >>
> >> > 73b191ade6 Fix a gap where acpi_pcihp_find_hotplug_bus() returns a
> >>
> >> > non-hotpluggable bus
> >>
> >> > ef0e526cc2 tests/acpi: add a new ACPI table in order to test root pci
> >>
> >> > hotplug on/off
> >>
> >> > c6d13264f8 tests/acpi: add new unit test to test hotplug off/on
> >>
> >> > feature on the root pci bus
> >>
> >> > 6901bada65 tests/acpi: mark addition of table DSDT.roothp for unit
> >>
> >> > testing root pci hotplug
> >>
> >> > 74504514b1 (origin/master, origin/HEAD) Merge remote-tracking branch
> >>
> >> > 'remotes/alistair/tags/pull-register-20200927' into staging
> >>
> >>
> >>
> >> Try applying on top of latest pull request?
> >
> >
> > Maybe I'm missing something but can you point me to the latest pull request?
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >> >
> >>
> >> > >
> >>
> >> > > >
> >>
> >> > > >
> >>
> >> > > >
> >>
> >> > > > --- ./tests/data/acpi/pc/DSDT.hpbridge.dsl      2020-09-29 02:44:43.874622404 -0400
> >>
> >> > > > +++ ./tests/data/acpi/pc/DSDT.hpbrroot.dsl      2020-09-29 02:44:43.876622403 -0400
> >>
> >> > > > @@ -5,13 +5,13 @@
> >>
> >> > > >   *
> >>
> >> > > >   * Disassembling to symbolic ASL+ operators
> >>
> >> > > >   *
> >>
> >> > > > - * Disassembly of tests/data/acpi/pc/DSDT.hpbridge, Tue Sep 29 02:44:43 2020
> >>
> >> > > > + * Disassembly of tests/data/acpi/pc/DSDT.hpbrroot, Tue Sep 29 02:44:43 2020
> >>
> >> > > >   *
> >>
> >> > > >   * Original Table Header:
> >>
> >> > > >   *     Signature        "DSDT"
> >>
> >> > > > - *     Length           0x0000139D (5021)
> >>
> >> > > > + *     Length           0x00000B89 (2953)
> >>
> >> > > >   *     Revision         0x01 **** 32-bit table (V1), no 64-bit math support
> >>
> >> > > > - *     Checksum         0x05
> >>
> >> > > > + *     Checksum         0xA2
> >>
> >> > > >   *     OEM ID           "BOCHS "
> >>
> >> > > >   *     OEM Table ID     "BXPCDSDT"
> >>
> >> > > >   *     OEM Revision     0x00000001 (1)
> >>
> >> > > > @@ -247,38 +247,6 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
> >>
> >> > > >          }
> >>
> >> > > >      }
> >>
> >> > > >
> >>
> >> > > > -    Scope (_SB.PCI0)
> >>
> >> > > > -    {
> >>
> >> > > > -        OperationRegion (PCST, SystemIO, 0xAE00, 0x08)
> >>
> >> > > > -        Field (PCST, DWordAcc, NoLock, WriteAsZeros)
> >>
> >> > > > -        {
> >>
> >> > > > -            PCIU,   32,
> >>
> >> > > > -            PCID,   32
> >>
> >> > > > -        }
> >>
> >> > > > -
> >>
> >> > > > -        OperationRegion (SEJ, SystemIO, 0xAE08, 0x04)
> >>
> >> > > > -        Field (SEJ, DWordAcc, NoLock, WriteAsZeros)
> >>
> >> > > > -        {
> >>
> >> > > > -            B0EJ,   32
> >>
> >> > > > -        }
> >>
> >> > > > -
> >>
> >> > > > -        OperationRegion (BNMR, SystemIO, 0xAE10, 0x04)
> >>
> >> > > > -        Field (BNMR, DWordAcc, NoLock, WriteAsZeros)
> >>
> >> > > > -        {
> >>
> >> > > > -            BNUM,   32
> >>
> >> > > > -        }
> >>
> >> > > > -
> >>
> >> > > > -        Mutex (BLCK, 0x00)
> >>
> >> > > > -        Method (PCEJ, 2, NotSerialized)
> >>
> >> > > > -        {
> >>
> >> > > > -            Acquire (BLCK, 0xFFFF)
> >>
> >> > > > -            BNUM = Arg0
> >>
> >> > > > -            B0EJ = (One << Arg1)
> >>
> >> > > > -            Release (BLCK)
> >>
> >> > > > -            Return (Zero)
> >>
> >> > > > -        }
> >>
> >> > > > -    }
> >>
> >> > > > -
> >>
> >> > > >      Scope (_SB)
> >>
> >> > > >      {
> >>
> >> > > >          Scope (PCI0)
> >>
> >> > > > @@ -643,56 +611,22 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
> >>
> >> > > >              Method (CSCN, 0, Serialized)
> >>
> >> > > >              {
> >>
> >> > > >                  Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF)
> >>
> >> > > > -                Name (CNEW, Package (0xFF){})
> >>
> >> > > > -                Local3 = Zero
> >>
> >> > > > -                Local4 = One
> >>
> >> > > > -                While ((Local4 == One))
> >>
> >> > > > +                Local0 = One
> >>
> >> > > > +                While ((Local0 == One))
> >>
> >> > > >                  {
> >>
> >> > > > -                    Local4 = Zero
> >>
> >> > > > -                    Local0 = One
> >>
> >> > > > -                    Local1 = Zero
> >>
> >> > > > -                    While (((Local0 == One) && (Local3 < One)))
> >>
> >> > > > +                    Local0 = Zero
> >>
> >> > > > +                    \_SB.PCI0.PRES.CCMD = Zero
> >>
> >> > > > +                    If ((\_SB.PCI0.PRES.CINS == One))
> >>
> >> > > >                      {
> >>
> >> > > > -                        Local0 = Zero
> >>
> >> > > > -                        \_SB.PCI0.PRES.CSEL = Local3
> >>
> >> > > > -                        \_SB.PCI0.PRES.CCMD = Zero
> >>
> >> > > > -                        If ((\_SB.PCI0.PRES.CDAT < Local3))
> >>
> >> > > > -                        {
> >>
> >> > > > -                            Break
> >>
> >> > > > -                        }
> >>
> >> > > > -
> >>
> >> > > > -                        If ((Local1 == 0xFF))
> >>
> >> > > > -                        {
> >>
> >> > > > -                            Local4 = One
> >>
> >> > > > -                            Break
> >>
> >> > > > -                        }
> >>
> >> > > > -
> >>
> >> > > > -                        Local3 = \_SB.PCI0.PRES.CDAT
> >>
> >> > > > -                        If ((\_SB.PCI0.PRES.CINS == One))
> >>
> >> > > > -                        {
> >>
> >> > > > -                            CNEW [Local1] = Local3
> >>
> >> > > > -                            Local1++
> >>
> >> > > > -                            Local0 = One
> >>
> >> > > > -                        }
> >>
> >> > > > -                        ElseIf ((\_SB.PCI0.PRES.CRMV == One))
> >>
> >> > > > -                        {
> >>
> >> > > > -                            CTFY (Local3, 0x03)
> >>
> >> > > > -                            \_SB.PCI0.PRES.CRMV = One
> >>
> >> > > > -                            Local0 = One
> >>
> >> > > > -                        }
> >>
> >> > > > -
> >>
> >> > > > -                        Local3++
> >>
> >> > > > +                        CTFY (\_SB.PCI0.PRES.CDAT, One)
> >>
> >> > > > +                        \_SB.PCI0.PRES.CINS = One
> >>
> >> > > > +                        Local0 = One
> >>
> >> > > >                      }
> >>
> >> > > > -
> >>
> >> > > > -                    Local2 = Zero
> >>
> >> > > > -                    While ((Local2 < Local1))
> >>
> >> > > > +                    ElseIf ((\_SB.PCI0.PRES.CRMV == One))
> >>
> >> > > >                      {
> >>
> >> > > > -                        Local3 = DerefOf (CNEW [Local2])
> >>
> >> > > > -                        CTFY (Local3, One)
> >>
> >> > > > -                        Debug = Local3
> >>
> >> > > > -                        \_SB.PCI0.PRES.CSEL = Local3
> >>
> >> > > > -                        \_SB.PCI0.PRES.CINS = One
> >>
> >> > > > -                        Local2++
> >>
> >> > > > +                        CTFY (\_SB.PCI0.PRES.CDAT, 0x03)
> >>
> >> > > > +                        \_SB.PCI0.PRES.CRMV = One
> >>
> >> > > > +                        Local0 = One
> >>
> >> > > >                      }
> >>
> >> > > >                  }
> >>
> >> > > >
> >>
> >> > > > @@ -737,12 +671,6 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
> >>
> >> > > >      Scope (_GPE)
> >>
> >> > > >      {
> >>
> >> > > >          Name (_HID, "ACPI0006" /* GPE Block Device */)  // _HID: Hardware ID
> >>
> >> > > > -        Method (_E01, 0, NotSerialized)  // _Exx: Edge-Triggered GPE, xx=0x00-0xFF
> >>
> >> > > > -        {
> >>
> >> > > > -            Acquire (\_SB.PCI0.BLCK, 0xFFFF)
> >>
> >> > > > -            \_SB.PCI0.PCNT ()
> >>
> >> > > > -            Release (\_SB.PCI0.BLCK)
> >>
> >> > > > -        }
> >>
> >> > > >      }
> >>
> >> > > >
> >>
> >> > > >      Scope (\_SB.PCI0)
> >>
> >> > > > @@ -813,22 +741,6 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
> >>
> >> > > >                      )
> >>
> >> > > >              })
> >>
> >> > > >          }
> >>
> >> > > > -
> >>
> >> > > > -        Device (PHPR)
> >>
> >> > > > -        {
> >>
> >> > > > -            Name (_HID, "PNP0A06" /* Generic Container Device */)  // _HID: Hardware ID
> >>
> >> > > > -            Name (_UID, "PCI Hotplug resources")  // _UID: Unique ID
> >>
> >> > > > -            Name (_STA, 0x0B)  // _STA: Status
> >>
> >> > > > -            Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
> >>
> >> > > > -            {
> >>
> >> > > > -                IO (Decode16,
> >>
> >> > > > -                    0xAE00,             // Range Minimum
> >>
> >> > > > -                    0xAE00,             // Range Maximum
> >>
> >> > > > -                    0x01,               // Alignment
> >>
> >> > > > -                    0x14,               // Length
> >>
> >> > > > -                    )
> >>
> >> > > > -            })
> >>
> >> > > > -        }
> >>
> >> > > >      }
> >>
> >> > > >
> >>
> >> > > >      Scope (\)
> >>
> >> > > > @@ -878,7 +790,6 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
> >>
> >> > > >      {
> >>
> >> > > >          Scope (PCI0)
> >>
> >> > > >          {
> >>
> >> > > > -            Name (BSEL, Zero)
> >>
> >> > > >              Device (S00)
> >>
> >> > > >              {
> >>
> >> > > >                  Name (_ADR, Zero)  // _ADR: Address
> >>
> >> > > > @@ -907,436 +818,6 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
> >>
> >> > > >              {
> >>
> >> > > >                  Name (_ADR, 0x00030000)  // _ADR: Address
> >>
> >> > > >              }
> >>
> >> > > > -
> >>
> >> > > > -            Device (S20)
> >>
> >> > > > -            {
> >>
> >> > > > -                Name (_SUN, 0x04)  // _SUN: Slot User Number
> >>
> >> > > > -                Name (_ADR, 0x00040000)  // _ADR: Address
> >>
> >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> >>
> >> > > > -                {
> >>
> >> > > > -                    PCEJ (BSEL, _SUN)
> >>
> >> > > > -                }
> >>
> >> > > > -            }
> >>
> >> > > > -
> >>
> >> > > > -            Device (S28)
> >>
> >> > > > -            {
> >>
> >> > > > -                Name (_SUN, 0x05)  // _SUN: Slot User Number
> >>
> >> > > > -                Name (_ADR, 0x00050000)  // _ADR: Address
> >>
> >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> >>
> >> > > > -                {
> >>
> >> > > > -                    PCEJ (BSEL, _SUN)
> >>
> >> > > > -                }
> >>
> >> > > > -            }
> >>
> >> > > > -
> >>
> >> > > > -            Device (S30)
> >>
> >> > > > -            {
> >>
> >> > > > -                Name (_SUN, 0x06)  // _SUN: Slot User Number
> >>
> >> > > > -                Name (_ADR, 0x00060000)  // _ADR: Address
> >>
> >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> >>
> >> > > > -                {
> >>
> >> > > > -                    PCEJ (BSEL, _SUN)
> >>
> >> > > > -                }
> >>
> >> > > > -            }
> >>
> >> > > > -
> >>
> >> > > > -            Device (S38)
> >>
> >> > > > -            {
> >>
> >> > > > -                Name (_SUN, 0x07)  // _SUN: Slot User Number
> >>
> >> > > > -                Name (_ADR, 0x00070000)  // _ADR: Address
> >>
> >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> >>
> >> > > > -                {
> >>
> >> > > > -                    PCEJ (BSEL, _SUN)
> >>
> >> > > > -                }
> >>
> >> > > > -            }
> >>
> >> > > > -
> >>
> >> > > > -            Device (S40)
> >>
> >> > > > -            {
> >>
> >> > > > -                Name (_SUN, 0x08)  // _SUN: Slot User Number
> >>
> >> > > > -                Name (_ADR, 0x00080000)  // _ADR: Address
> >>
> >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> >>
> >> > > > -                {
> >>
> >> > > > -                    PCEJ (BSEL, _SUN)
> >>
> >> > > > -                }
> >>
> >> > > > -            }
> >>
> >> > > > -
> >>
> >> > > > -            Device (S48)
> >>
> >> > > > -            {
> >>
> >> > > > -                Name (_SUN, 0x09)  // _SUN: Slot User Number
> >>
> >> > > > -                Name (_ADR, 0x00090000)  // _ADR: Address
> >>
> >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> >>
> >> > > > -                {
> >>
> >> > > > -                    PCEJ (BSEL, _SUN)
> >>
> >> > > > -                }
> >>
> >> > > > -            }
> >>
> >> > > > -
> >>
> >> > > > -            Device (S50)
> >>
> >> > > > -            {
> >>
> >> > > > -                Name (_SUN, 0x0A)  // _SUN: Slot User Number
> >>
> >> > > > -                Name (_ADR, 0x000A0000)  // _ADR: Address
> >>
> >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> >>
> >> > > > -                {
> >>
> >> > > > -                    PCEJ (BSEL, _SUN)
> >>
> >> > > > -                }
> >>
> >> > > > -            }
> >>
> >> > > > -
> >>
> >> > > > -            Device (S58)
> >>
> >> > > > -            {
> >>
> >> > > > -                Name (_SUN, 0x0B)  // _SUN: Slot User Number
> >>
> >> > > > -                Name (_ADR, 0x000B0000)  // _ADR: Address
> >>
> >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> >>
> >> > > > -                {
> >>
> >> > > > -                    PCEJ (BSEL, _SUN)
> >>
> >> > > > -                }
> >>
> >> > > > -            }
> >>
> >> > > > -
> >>
> >> > > > -            Device (S60)
> >>
> >> > > > -            {
> >>
> >> > > > -                Name (_SUN, 0x0C)  // _SUN: Slot User Number
> >>
> >> > > > -                Name (_ADR, 0x000C0000)  // _ADR: Address
> >>
> >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> >>
> >> > > > -                {
> >>
> >> > > > -                    PCEJ (BSEL, _SUN)
> >>
> >> > > > -                }
> >>
> >> > > > -            }
> >>
> >> > > > -
> >>
> >> > > > -            Device (S68)
> >>
> >> > > > -            {
> >>
> >> > > > -                Name (_SUN, 0x0D)  // _SUN: Slot User Number
> >>
> >> > > > -                Name (_ADR, 0x000D0000)  // _ADR: Address
> >>
> >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> >>
> >> > > > -                {
> >>
> >> > > > -                    PCEJ (BSEL, _SUN)
> >>
> >> > > > -                }
> >>
> >> > > > -            }
> >>
> >> > > > -
> >>
> >> > > > -            Device (S70)
> >>
> >> > > > -            {
> >>
> >> > > > -                Name (_SUN, 0x0E)  // _SUN: Slot User Number
> >>
> >> > > > -                Name (_ADR, 0x000E0000)  // _ADR: Address
> >>
> >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> >>
> >> > > > -                {
> >>
> >> > > > -                    PCEJ (BSEL, _SUN)
> >>
> >> > > > -                }
> >>
> >> > > > -            }
> >>
> >> > > > -
> >>
> >> > > > -            Device (S78)
> >>
> >> > > > -            {
> >>
> >> > > > -                Name (_SUN, 0x0F)  // _SUN: Slot User Number
> >>
> >> > > > -                Name (_ADR, 0x000F0000)  // _ADR: Address
> >>
> >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> >>
> >> > > > -                {
> >>
> >> > > > -                    PCEJ (BSEL, _SUN)
> >>
> >> > > > -                }
> >>
> >> > > > -            }
> >>
> >> > > > -
> >>
> >> > > > -            Device (S80)
> >>
> >> > > > -            {
> >>
> >> > > > -                Name (_SUN, 0x10)  // _SUN: Slot User Number
> >>
> >> > > > -                Name (_ADR, 0x00100000)  // _ADR: Address
> >>
> >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> >>
> >> > > > -                {
> >>
> >> > > > -                    PCEJ (BSEL, _SUN)
> >>
> >> > > > -                }
> >>
> >> > > > -            }
> >>
> >> > > > -
> >>
> >> > > > -            Device (S88)
> >>
> >> > > > -            {
> >>
> >> > > > -                Name (_SUN, 0x11)  // _SUN: Slot User Number
> >>
> >> > > > -                Name (_ADR, 0x00110000)  // _ADR: Address
> >>
> >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> >>
> >> > > > -                {
> >>
> >> > > > -                    PCEJ (BSEL, _SUN)
> >>
> >> > > > -                }
> >>
> >> > > > -            }
> >>
> >> > > > -
> >>
> >> > > > -            Device (S90)
> >>
> >> > > > -            {
> >>
> >> > > > -                Name (_SUN, 0x12)  // _SUN: Slot User Number
> >>
> >> > > > -                Name (_ADR, 0x00120000)  // _ADR: Address
> >>
> >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> >>
> >> > > > -                {
> >>
> >> > > > -                    PCEJ (BSEL, _SUN)
> >>
> >> > > > -                }
> >>
> >> > > > -            }
> >>
> >> > > > -
> >>
> >> > > > -            Device (S98)
> >>
> >> > > > -            {
> >>
> >> > > > -                Name (_SUN, 0x13)  // _SUN: Slot User Number
> >>
> >> > > > -                Name (_ADR, 0x00130000)  // _ADR: Address
> >>
> >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> >>
> >> > > > -                {
> >>
> >> > > > -                    PCEJ (BSEL, _SUN)
> >>
> >> > > > -                }
> >>
> >> > > > -            }
> >>
> >> > > > -
> >>
> >> > > > -            Device (SA0)
> >>
> >> > > > -            {
> >>
> >> > > > -                Name (_SUN, 0x14)  // _SUN: Slot User Number
> >>
> >> > > > -                Name (_ADR, 0x00140000)  // _ADR: Address
> >>
> >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> >>
> >> > > > -                {
> >>
> >> > > > -                    PCEJ (BSEL, _SUN)
> >>
> >> > > > -                }
> >>
> >> > > > -            }
> >>
> >> > > > -
> >>
> >> > > > -            Device (SA8)
> >>
> >> > > > -            {
> >>
> >> > > > -                Name (_SUN, 0x15)  // _SUN: Slot User Number
> >>
> >> > > > -                Name (_ADR, 0x00150000)  // _ADR: Address
> >>
> >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> >>
> >> > > > -                {
> >>
> >> > > > -                    PCEJ (BSEL, _SUN)
> >>
> >> > > > -                }
> >>
> >> > > > -            }
> >>
> >> > > > -
> >>
> >> > > > -            Device (SB0)
> >>
> >> > > > -            {
> >>
> >> > > > -                Name (_SUN, 0x16)  // _SUN: Slot User Number
> >>
> >> > > > -                Name (_ADR, 0x00160000)  // _ADR: Address
> >>
> >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> >>
> >> > > > -                {
> >>
> >> > > > -                    PCEJ (BSEL, _SUN)
> >>
> >> > > > -                }
> >>
> >> > > > -            }
> >>
> >> > > > -
> >>
> >> > > > -            Device (SB8)
> >>
> >> > > > -            {
> >>
> >> > > > -                Name (_SUN, 0x17)  // _SUN: Slot User Number
> >>
> >> > > > -                Name (_ADR, 0x00170000)  // _ADR: Address
> >>
> >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> >>
> >> > > > -                {
> >>
> >> > > > -                    PCEJ (BSEL, _SUN)
> >>
> >> > > > -                }
> >>
> >> > > > -            }
> >>
> >> > > > -
> >>
> >> > > > -            Device (SC0)
> >>
> >> > > > -            {
> >>
> >> > > > -                Name (_SUN, 0x18)  // _SUN: Slot User Number
> >>
> >> > > > -                Name (_ADR, 0x00180000)  // _ADR: Address
> >>
> >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> >>
> >> > > > -                {
> >>
> >> > > > -                    PCEJ (BSEL, _SUN)
> >>
> >> > > > -                }
> >>
> >> > > > -            }
> >>
> >> > > > -
> >>
> >> > > > -            Device (SC8)
> >>
> >> > > > -            {
> >>
> >> > > > -                Name (_SUN, 0x19)  // _SUN: Slot User Number
> >>
> >> > > > -                Name (_ADR, 0x00190000)  // _ADR: Address
> >>
> >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> >>
> >> > > > -                {
> >>
> >> > > > -                    PCEJ (BSEL, _SUN)
> >>
> >> > > > -                }
> >>
> >> > > > -            }
> >>
> >> > > > -
> >>
> >> > > > -            Device (SD0)
> >>
> >> > > > -            {
> >>
> >> > > > -                Name (_SUN, 0x1A)  // _SUN: Slot User Number
> >>
> >> > > > -                Name (_ADR, 0x001A0000)  // _ADR: Address
> >>
> >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> >>
> >> > > > -                {
> >>
> >> > > > -                    PCEJ (BSEL, _SUN)
> >>
> >> > > > -                }
> >>
> >> > > > -            }
> >>
> >> > > > -
> >>
> >> > > > -            Device (SD8)
> >>
> >> > > > -            {
> >>
> >> > > > -                Name (_SUN, 0x1B)  // _SUN: Slot User Number
> >>
> >> > > > -                Name (_ADR, 0x001B0000)  // _ADR: Address
> >>
> >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> >>
> >> > > > -                {
> >>
> >> > > > -                    PCEJ (BSEL, _SUN)
> >>
> >> > > > -                }
> >>
> >> > > > -            }
> >>
> >> > > > -
> >>
> >> > > > -            Device (SE0)
> >>
> >> > > > -            {
> >>
> >> > > > -                Name (_SUN, 0x1C)  // _SUN: Slot User Number
> >>
> >> > > > -                Name (_ADR, 0x001C0000)  // _ADR: Address
> >>
> >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> >>
> >> > > > -                {
> >>
> >> > > > -                    PCEJ (BSEL, _SUN)
> >>
> >> > > > -                }
> >>
> >> > > > -            }
> >>
> >> > > > -
> >>
> >> > > > -            Device (SE8)
> >>
> >> > > > -            {
> >>
> >> > > > -                Name (_SUN, 0x1D)  // _SUN: Slot User Number
> >>
> >> > > > -                Name (_ADR, 0x001D0000)  // _ADR: Address
> >>
> >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> >>
> >> > > > -                {
> >>
> >> > > > -                    PCEJ (BSEL, _SUN)
> >>
> >> > > > -                }
> >>
> >> > > > -            }
> >>
> >> > > > -
> >>
> >> > > > -            Device (SF0)
> >>
> >> > > > -            {
> >>
> >> > > > -                Name (_SUN, 0x1E)  // _SUN: Slot User Number
> >>
> >> > > > -                Name (_ADR, 0x001E0000)  // _ADR: Address
> >>
> >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> >>
> >> > > > -                {
> >>
> >> > > > -                    PCEJ (BSEL, _SUN)
> >>
> >> > > > -                }
> >>
> >> > > > -            }
> >>
> >> > > > -
> >>
> >> > > > -            Device (SF8)
> >>
> >> > > > -            {
> >>
> >> > > > -                Name (_SUN, 0x1F)  // _SUN: Slot User Number
> >>
> >> > > > -                Name (_ADR, 0x001F0000)  // _ADR: Address
> >>
> >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> >>
> >> > > > -                {
> >>
> >> > > > -                    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)
> >>
> >> > > > -            }
> >>
> >> > > >          }
> >>
> >> > > >      }
> >>
> >> > > >  }
> >>
> >> > > >
> >>
> >>
> >>
Ani Sinha Sept. 29, 2020, 10:36 a.m. UTC | #11
On Tue, Sep 29, 2020 at 4:02 PM Ani Sinha <ani@anisinha.ca> wrote:
>
> On Tue, Sep 29, 2020 at 4:00 PM Ani Sinha <ani@anisinha.ca> wrote:
> >
> > In your pull request the following patch is completely screwed up:
> >
> > commit cda2006eded0ed91974e1d9e7f9f288e65812a3e
> > Author: Ani Sinha <ani@anisinha.ca>
> > Date:   Tue Sep 29 03:22:52 2020 -0400
> >
> >     tests/acpi: update golden master DSDT binary table blobs for q35
> >
> >
> > This is not my patch. It has all sorts of changes which does not
> > belong there. Can you please check?
>
> See https://patchew.org/QEMU/20200929071948.281157-1-mst@redhat.com/20200929071948.281157-46-mst@redhat.com/

Also you have tons of dsl files which does not belong :

ani@ani-ubuntu:~/workspace/qemu-patchew/tests/data/acpi/pc$ ls *.dsl
APIC.acpihmat.dsl  DSDT.acpihmat.dsl  FACP.acpihmat.dsl
FACS.acpihmat.dsl  HMAT.acpihmat.dsl  HPET.dsl          SLIT.memhp.dsl
    WAET.acpihmat.dsl
APIC.bridge.dsl    DSDT.bridge.dsl    FACP.bridge.dsl
FACS.bridge.dsl    HMAT.dsl           HPET.ipmikcs.dsl
SRAT.acpihmat.dsl  WAET.bridge.dsl
APIC.cphp.dsl      DSDT.cphp.dsl      FACP.cphp.dsl      FACS.cphp.dsl
     hpbridge.dsl       HPET.memhp.dsl    SRAT.cphp.dsl
WAET.cphp.dsl
APIC.dimmpxm.dsl   DSDT.dimmpxm.dsl   FACP.dimmpxm.dsl
FACS.dimmpxm.dsl   hpbrroot.dsl       HPET.numamem.dsl
SRAT.dimmpxm.dsl   WAET.dimmpxm.dsl
APIC.dsl           DSDT.dsl           FACP.dsl           FACS.dsl
     HPET.acpihmat.dsl  NFIT.dimmpxm.dsl  SRAT.dsl           WAET.dsl
APIC.ipmikcs.dsl   DSDT.ipmikcs.dsl   FACP.ipmikcs.dsl
FACS.ipmikcs.dsl   HPET.bridge.dsl    NFIT.dsl          SRAT.memhp.dsl
    WAET.ipmikcs.dsl
APIC.memhp.dsl     DSDT.memhp.dsl     FACP.memhp.dsl
FACS.memhp.dsl     HPET.cphp.dsl      SLIT.cphp.dsl
SRAT.numamem.dsl   WAET.memhp.dsl
APIC.numamem.dsl   DSDT.numamem.dsl   FACP.numamem.dsl
FACS.numamem.dsl   HPET.dimmpxm.dsl   SLIT.dsl          SSDT.dsl
    WAET.numamem.dsl

They are all introduced by that patch. So some screwup while rebase?


>
>
> >
> > On Tue, Sep 29, 2020 at 3:20 PM Ani Sinha <ani@anisinha.ca> wrote:
> > >
> > >
> > >
> > > On Tue, Sep 29, 2020 at 3:12 PM Michael S. Tsirkin <mst@redhat.com> wrote:
> > >>
> > >> On Tue, Sep 29, 2020 at 02:21:06PM +0530, Ani Sinha wrote:
> > >>
> > >> > On Tue, Sep 29, 2020 at 1:53 PM Ani Sinha <ani@anisinha.ca> wrote:
> > >>
> > >> > >
> > >>
> > >> > > On Tue, Sep 29, 2020 at 12:56 PM Michael S. Tsirkin <mst@redhat.com> wrote:
> > >>
> > >> > > >
> > >>
> > >> > > > On Tue, Sep 29, 2020 at 12:53:17PM +0530, Ani Sinha wrote:
> > >>
> > >> > > > > On Tue, Sep 29, 2020 at 12:42 PM Michael S. Tsirkin <mst@redhat.com> wrote:
> > >>
> > >> > > > > >
> > >>
> > >> > > > > > On Fri, Sep 18, 2020 at 02:11:11PM +0530, Ani Sinha wrote:
> > >>
> > >> > > > > > > This change adds a new DSDT golden master table blob to test disabling
> > >>
> > >> > > > > > > hotplug on both pci root bus and pci bridges. Also reverts the change
> > >>
> > >> > > > > > > in file bios-tables-test-allowed-diff.h to make sure its now empty so that
> > >>
> > >> > > > > > > future modifications to acpi tables can be caught.
> > >>
> > >> > > > > > >
> > >>
> > >> > > > > > > The following is the disassembled diff between DSDT.hpbridge and DSDT.hpbrroot:
> > >>
> > >> > > > > > >
> > >>
> > >> > > > > > > @@ -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.hpbridge, Wed Sep 16 09:45:56 2020
> > >>
> > >> > > > > > > + * Disassembly of /tmp/aml-ECV9Q0, Wed Sep 16 09:45:56 2020
> > >>
> > >> > > > > > >   *
> > >>
> > >> > > > > > >   * Original Table Header:
> > >>
> > >> > > > > > >   *     Signature        "DSDT"
> > >>
> > >> > > > > > > - *     Length           0x0000131F (4895)
> > >>
> > >> > > > > > > + *     Length           0x00000B89 (2953)
> > >>
> > >> > > > > > >   *     Revision         0x01 **** 32-bit table (V1), no 64-bit math support
> > >>
> > >> > > > > > > - *     Checksum         0xF9
> > >>
> > >> > > > > > > + *     Checksum         0xA2
> > >>
> > >> > > > > > >   *     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
> > >>
> > >> > > > > > >          }
> > >>
> > >> > > > > > >
> > >>
> > >> > > > > > > @@ -234,64 +234,32 @@
> > >>
> > >> > > > > > >          {
> > >>
> > >> > > > > > >              Name (_HID, EisaId ("PNP0B00") /* AT Real-Time Clock */)  // _HID: Hardware ID
> > >>
> > >> > > > > > >              Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
> > >>
> > >> > > > > > >              {
> > >>
> > >> > > > > > >                  IO (Decode16,
> > >>
> > >> > > > > > >                      0x0070,             // Range Minimum
> > >>
> > >> > > > > > >                      0x0070,             // Range Maximum
> > >>
> > >> > > > > > >                      0x01,               // Alignment
> > >>
> > >> > > > > > >                      0x08,               // Length
> > >>
> > >> > > > > > >                      )
> > >>
> > >> > > > > > >                  IRQNoFlags ()
> > >>
> > >> > > > > > >                      {8}
> > >>
> > >> > > > > > >              })
> > >>
> > >> > > > > > >          }
> > >>
> > >> > > > > > >      }
> > >>
> > >> > > > > > >
> > >>
> > >> > > > > > > -    Scope (_SB.PCI0)
> > >>
> > >> > > > > > > -    {
> > >>
> > >> > > > > > > -        OperationRegion (PCST, SystemIO, 0xAE00, 0x08)
> > >>
> > >> > > > > > > -        Field (PCST, DWordAcc, NoLock, WriteAsZeros)
> > >>
> > >> > > > > > > -        {
> > >>
> > >> > > > > > > -            PCIU,   32,
> > >>
> > >> > > > > > > -            PCID,   32
> > >>
> > >> > > > > > > -        }
> > >>
> > >> > > > > > > -
> > >>
> > >> > > > > > > -        OperationRegion (SEJ, SystemIO, 0xAE08, 0x04)
> > >>
> > >> > > > > > > -        Field (SEJ, DWordAcc, NoLock, WriteAsZeros)
> > >>
> > >> > > > > > > -        {
> > >>
> > >> > > > > > > -            B0EJ,   32
> > >>
> > >> > > > > > > -        }
> > >>
> > >> > > > > > > -
> > >>
> > >> > > > > > > -        OperationRegion (BNMR, SystemIO, 0xAE10, 0x04)
> > >>
> > >> > > > > > > -        Field (BNMR, DWordAcc, NoLock, WriteAsZeros)
> > >>
> > >> > > > > > > -        {
> > >>
> > >> > > > > > > -            BNUM,   32
> > >>
> > >> > > > > > > -        }
> > >>
> > >> > > > > > > -
> > >>
> > >> > > > > > > -        Mutex (BLCK, 0x00)
> > >>
> > >> > > > > > > -        Method (PCEJ, 2, NotSerialized)
> > >>
> > >> > > > > > > -        {
> > >>
> > >> > > > > > > -            Acquire (BLCK, 0xFFFF)
> > >>
> > >> > > > > > > -            BNUM = Arg0
> > >>
> > >> > > > > > > -            B0EJ = (One << Arg1)
> > >>
> > >> > > > > > > -            Release (BLCK)
> > >>
> > >> > > > > > > -            Return (Zero)
> > >>
> > >> > > > > > > -        }
> > >>
> > >> > > > > > > -    }
> > >>
> > >> > > > > > > -
> > >>
> > >> > > > > > >      Scope (_SB)
> > >>
> > >> > > > > > >      {
> > >>
> > >> > > > > > >          Scope (PCI0)
> > >>
> > >> > > > > > >          {
> > >>
> > >> > > > > > >              Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
> > >>
> > >> > > > > > >              {
> > >>
> > >> > > > > > >                  Local0 = Package (0x80){}
> > >>
> > >> > > > > > >                  Local1 = Zero
> > >>
> > >> > > > > > >                  While ((Local1 < 0x80))
> > >>
> > >> > > > > > >                  {
> > >>
> > >> > > > > > >                      Local2 = (Local1 >> 0x02)
> > >>
> > >> > > > > > >                      Local3 = ((Local1 + Local2) & 0x03)
> > >>
> > >> > > > > > >                      If ((Local3 == Zero))
> > >>
> > >> > > > > > >                      {
> > >>
> > >> > > > > > >                          Local4 = Package (0x04)
> > >>
> > >> > > > > > >                              {
> > >>
> > >> > > > > > > @@ -690,38 +658,32 @@
> > >>
> > >> > > > > > >                  Method (_OST, 3, Serialized)  // _OST: OSPM Status Indication
> > >>
> > >> > > > > > >                  {
> > >>
> > >> > > > > > >                      COST (Zero, Arg0, Arg1, Arg2)
> > >>
> > >> > > > > > >                  }
> > >>
> > >> > > > > > >              }
> > >>
> > >> > > > > > >          }
> > >>
> > >> > > > > > >      }
> > >>
> > >> > > > > > >
> > >>
> > >> > > > > > >      Method (\_GPE._E02, 0, NotSerialized)  // _Exx: Edge-Triggered GPE
> > >>
> > >> > > > > > >      {
> > >>
> > >> > > > > > >          \_SB.CPUS.CSCN ()
> > >>
> > >> > > > > > >      }
> > >>
> > >> > > > > > >
> > >>
> > >> > > > > > >      Scope (_GPE)
> > >>
> > >> > > > > > >      {
> > >>
> > >> > > > > > >          Name (_HID, "ACPI0006" /* GPE Block Device */)  // _HID: Hardware ID
> > >>
> > >> > > > > > > -        Method (_E01, 0, NotSerialized)  // _Exx: Edge-Triggered GPE
> > >>
> > >> > > > > > > -        {
> > >>
> > >> > > > > > > -            Acquire (\_SB.PCI0.BLCK, 0xFFFF)
> > >>
> > >> > > > > > > -            \_SB.PCI0.PCNT ()
> > >>
> > >> > > > > > > -            Release (\_SB.PCI0.BLCK)
> > >>
> > >> > > > > > > -        }
> > >>
> > >> > > > > > >      }
> > >>
> > >> > > > > > >
> > >>
> > >> > > > > > >      Scope (\_SB.PCI0)
> > >>
> > >> > > > > > >      {
> > >>
> > >> > > > > > >          Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
> > >>
> > >> > > > > > >          {
> > >>
> > >> > > > > > >              WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
> > >>
> > >> > > > > > >                  0x0000,             // Granularity
> > >>
> > >> > > > > > >                  0x0000,             // Range Minimum
> > >>
> > >> > > > > > >                  0x00FF,             // Range Maximum
> > >>
> > >> > > > > > >                  0x0000,             // Translation Offset
> > >>
> > >> > > > > > >                  0x0100,             // Length
> > >>
> > >> > > > > > >                  ,, )
> > >>
> > >> > > > > > >              IO (Decode16,
> > >>
> > >> > > > > > >                  0x0CF8,             // Range Minimum
> > >>
> > >> > > > > > >                  0x0CF8,             // Range Maximum
> > >>
> > >> > > > > > > @@ -766,48 +728,32 @@
> > >>
> > >> > > > > > >          })
> > >>
> > >> > > > > > >          Device (GPE0)
> > >>
> > >> > > > > > >          {
> > >>
> > >> > > > > > >              Name (_HID, "PNP0A06" /* Generic Container Device */)  // _HID: Hardware ID
> > >>
> > >> > > > > > >              Name (_UID, "GPE0 resources")  // _UID: Unique ID
> > >>
> > >> > > > > > >              Name (_STA, 0x0B)  // _STA: Status
> > >>
> > >> > > > > > >              Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
> > >>
> > >> > > > > > >              {
> > >>
> > >> > > > > > >                  IO (Decode16,
> > >>
> > >> > > > > > >                      0xAFE0,             // Range Minimum
> > >>
> > >> > > > > > >                      0xAFE0,             // Range Maximum
> > >>
> > >> > > > > > >                      0x01,               // Alignment
> > >>
> > >> > > > > > >                      0x04,               // Length
> > >>
> > >> > > > > > >                      )
> > >>
> > >> > > > > > >              })
> > >>
> > >> > > > > > >          }
> > >>
> > >> > > > > > > -
> > >>
> > >> > > > > > > -        Device (PHPR)
> > >>
> > >> > > > > > > -        {
> > >>
> > >> > > > > > > -            Name (_HID, "PNP0A06" /* Generic Container Device */)  // _HID: Hardware ID
> > >>
> > >> > > > > > > -            Name (_UID, "PCI Hotplug resources")  // _UID: Unique ID
> > >>
> > >> > > > > > > -            Name (_STA, 0x0B)  // _STA: Status
> > >>
> > >> > > > > > > -            Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
> > >>
> > >> > > > > > > -            {
> > >>
> > >> > > > > > > -                IO (Decode16,
> > >>
> > >> > > > > > > -                    0xAE00,             // Range Minimum
> > >>
> > >> > > > > > > -                    0xAE00,             // Range Maximum
> > >>
> > >> > > > > > > -                    0x01,               // Alignment
> > >>
> > >> > > > > > > -                    0x14,               // Length
> > >>
> > >> > > > > > > -                    )
> > >>
> > >> > > > > > > -            })
> > >>
> > >> > > > > > > -        }
> > >>
> > >> > > > > > >      }
> > >>
> > >> > > > > > >
> > >>
> > >> > > > > > >      Scope (\)
> > >>
> > >> > > > > > >      {
> > >>
> > >> > > > > > >          Name (_S3, Package (0x04)  // _S3_: S3 System State
> > >>
> > >> > > > > > >          {
> > >>
> > >> > > > > > >              One,
> > >>
> > >> > > > > > >              One,
> > >>
> > >> > > > > > >              Zero,
> > >>
> > >> > > > > > >              Zero
> > >>
> > >> > > > > > >          })
> > >>
> > >> > > > > > >          Name (_S4, Package (0x04)  // _S4_: S4 System State
> > >>
> > >> > > > > > >          {
> > >>
> > >> > > > > > >              0x02,
> > >>
> > >> > > > > > >              0x02,
> > >>
> > >> > > > > > >              Zero,
> > >>
> > >> > > > > > > @@ -831,479 +777,48 @@
> > >>
> > >> > > > > > >              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
> > >>
> > >> > > > > > >              }
> > >>
> > >> > > > > > > -
> > >>
> > >> > > > > > > -            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)
> > >>
> > >> > > > > > > -            }
> > >>
> > >> > > > > > >          }
> > >>
> > >> > > > > > >      }
> > >>
> > >> > > > > > >  }
> > >>
> > >> > > > > >
> > >>
> > >> > > > > > This is not the only diff I see if I apply this patchset on
> > >>
> > >> > > > > > top of master.
> > >>
> > >> > > > > > Dropped this and the previous patch.
> > >>
> > >> > > > > > Please check what is going on and repost as appropriate.
> > >>
> > >> > > > >
> > >>
> > >> > > > > Which two ACPI DSDT files are you diffing? What diff are you getting?
> > >>
> > >> > > >
> > >>
> > >> > > >
> > >>
> > >> > > > diff -rup ./tests/data/acpi/pc/DSDT.hpbridge.dsl ./tests/data/acpi/pc/DSDT.hpbrroot.dsl
> > >>
> > >> > >
> > >>
> > >> > > I re-based my patchset on top of the latest qemu master and did a make
> > >>
> > >> > >  && make check-qtest-x86_64 V=1.
> > >>
> > >> > > They pass. I am seeing this diff:
> > >>
> > >> > > https://pastebin.ubuntu.com/p/BXy9GFfB2R/
> > >>
> > >> > >
> > >>
> > >> > > and it looks good to me.
> > >>
> > >> > >
> > >>
> > >> > > Not sure why your diff looks different. Maybe you can regenerate the blob?
> > >>
> > >> >
> > >>
> > >> > I did a full make check and it passed. I compared the diff again and
> > >>
> > >> > it's the same. I checked my tree and it looks clean. These are the
> > >>
> > >> > patches I have:
> > >>
> > >> >
> > >>
> > >> > $ git log --oneline
> > >>
> > >> > 20d1323e10 (HEAD -> master) qom: code hardening - have bound checking
> > >>
> > >> > while looping with integer value
> > >>
> > >> > 0f69dae0e2 Add a comment in bios-tables-test.c to clarify the reason
> > >>
> > >> > behind approach
> > >>
> > >> > dd9a8c3cd3 tests/acpi: add DSDT.hpbrroot DSDT table blob to test
> > >>
> > >> > global i440fx hotplug
> > >>
> > >> > 5b93474fe9 tests/acpi: unit test exercising global pci hotplug off for i440fx
> > >>
> > >> > 54c33e334a tests/acpi: update golden master DSDT binary table blobs for q35
> > >>
> > >> > 2279f61f30 piix4: don't reserve hw resources when hotplug is off globally
> > >>
> > >> > 1f61c524a0 Add ACPI DSDT tables for q35 that are being updated by the next patch
> > >>
> > >> > bdd823611b tests/acpi: add newly added acpi DSDT table blob for pci
> > >>
> > >> > bridge hotplug flag
> > >>
> > >> > 8c80f8fba9 tests/acpi: unit test for
> > >>
> > >> > 'acpi-pci-hotplug-with-bridge-support' bridge flag
> > >>
> > >> > e0a3142df9 tests/acpi: list added acpi table binary file for pci
> > >>
> > >> > bridge hotplug test
> > >>
> > >> > 0ba08317a8 i440fx/acpi: do not add hotplug related amls for cold plugged bridges
> > >>
> > >> > 73b191ade6 Fix a gap where acpi_pcihp_find_hotplug_bus() returns a
> > >>
> > >> > non-hotpluggable bus
> > >>
> > >> > ef0e526cc2 tests/acpi: add a new ACPI table in order to test root pci
> > >>
> > >> > hotplug on/off
> > >>
> > >> > c6d13264f8 tests/acpi: add new unit test to test hotplug off/on
> > >>
> > >> > feature on the root pci bus
> > >>
> > >> > 6901bada65 tests/acpi: mark addition of table DSDT.roothp for unit
> > >>
> > >> > testing root pci hotplug
> > >>
> > >> > 74504514b1 (origin/master, origin/HEAD) Merge remote-tracking branch
> > >>
> > >> > 'remotes/alistair/tags/pull-register-20200927' into staging
> > >>
> > >>
> > >>
> > >> Try applying on top of latest pull request?
> > >
> > >
> > > Maybe I'm missing something but can you point me to the latest pull request?
> > >>
> > >>
> > >>
> > >>
> > >>
> > >>
> > >>
> > >> >
> > >>
> > >> > >
> > >>
> > >> > > >
> > >>
> > >> > > >
> > >>
> > >> > > >
> > >>
> > >> > > > --- ./tests/data/acpi/pc/DSDT.hpbridge.dsl      2020-09-29 02:44:43.874622404 -0400
> > >>
> > >> > > > +++ ./tests/data/acpi/pc/DSDT.hpbrroot.dsl      2020-09-29 02:44:43.876622403 -0400
> > >>
> > >> > > > @@ -5,13 +5,13 @@
> > >>
> > >> > > >   *
> > >>
> > >> > > >   * Disassembling to symbolic ASL+ operators
> > >>
> > >> > > >   *
> > >>
> > >> > > > - * Disassembly of tests/data/acpi/pc/DSDT.hpbridge, Tue Sep 29 02:44:43 2020
> > >>
> > >> > > > + * Disassembly of tests/data/acpi/pc/DSDT.hpbrroot, Tue Sep 29 02:44:43 2020
> > >>
> > >> > > >   *
> > >>
> > >> > > >   * Original Table Header:
> > >>
> > >> > > >   *     Signature        "DSDT"
> > >>
> > >> > > > - *     Length           0x0000139D (5021)
> > >>
> > >> > > > + *     Length           0x00000B89 (2953)
> > >>
> > >> > > >   *     Revision         0x01 **** 32-bit table (V1), no 64-bit math support
> > >>
> > >> > > > - *     Checksum         0x05
> > >>
> > >> > > > + *     Checksum         0xA2
> > >>
> > >> > > >   *     OEM ID           "BOCHS "
> > >>
> > >> > > >   *     OEM Table ID     "BXPCDSDT"
> > >>
> > >> > > >   *     OEM Revision     0x00000001 (1)
> > >>
> > >> > > > @@ -247,38 +247,6 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
> > >>
> > >> > > >          }
> > >>
> > >> > > >      }
> > >>
> > >> > > >
> > >>
> > >> > > > -    Scope (_SB.PCI0)
> > >>
> > >> > > > -    {
> > >>
> > >> > > > -        OperationRegion (PCST, SystemIO, 0xAE00, 0x08)
> > >>
> > >> > > > -        Field (PCST, DWordAcc, NoLock, WriteAsZeros)
> > >>
> > >> > > > -        {
> > >>
> > >> > > > -            PCIU,   32,
> > >>
> > >> > > > -            PCID,   32
> > >>
> > >> > > > -        }
> > >>
> > >> > > > -
> > >>
> > >> > > > -        OperationRegion (SEJ, SystemIO, 0xAE08, 0x04)
> > >>
> > >> > > > -        Field (SEJ, DWordAcc, NoLock, WriteAsZeros)
> > >>
> > >> > > > -        {
> > >>
> > >> > > > -            B0EJ,   32
> > >>
> > >> > > > -        }
> > >>
> > >> > > > -
> > >>
> > >> > > > -        OperationRegion (BNMR, SystemIO, 0xAE10, 0x04)
> > >>
> > >> > > > -        Field (BNMR, DWordAcc, NoLock, WriteAsZeros)
> > >>
> > >> > > > -        {
> > >>
> > >> > > > -            BNUM,   32
> > >>
> > >> > > > -        }
> > >>
> > >> > > > -
> > >>
> > >> > > > -        Mutex (BLCK, 0x00)
> > >>
> > >> > > > -        Method (PCEJ, 2, NotSerialized)
> > >>
> > >> > > > -        {
> > >>
> > >> > > > -            Acquire (BLCK, 0xFFFF)
> > >>
> > >> > > > -            BNUM = Arg0
> > >>
> > >> > > > -            B0EJ = (One << Arg1)
> > >>
> > >> > > > -            Release (BLCK)
> > >>
> > >> > > > -            Return (Zero)
> > >>
> > >> > > > -        }
> > >>
> > >> > > > -    }
> > >>
> > >> > > > -
> > >>
> > >> > > >      Scope (_SB)
> > >>
> > >> > > >      {
> > >>
> > >> > > >          Scope (PCI0)
> > >>
> > >> > > > @@ -643,56 +611,22 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
> > >>
> > >> > > >              Method (CSCN, 0, Serialized)
> > >>
> > >> > > >              {
> > >>
> > >> > > >                  Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF)
> > >>
> > >> > > > -                Name (CNEW, Package (0xFF){})
> > >>
> > >> > > > -                Local3 = Zero
> > >>
> > >> > > > -                Local4 = One
> > >>
> > >> > > > -                While ((Local4 == One))
> > >>
> > >> > > > +                Local0 = One
> > >>
> > >> > > > +                While ((Local0 == One))
> > >>
> > >> > > >                  {
> > >>
> > >> > > > -                    Local4 = Zero
> > >>
> > >> > > > -                    Local0 = One
> > >>
> > >> > > > -                    Local1 = Zero
> > >>
> > >> > > > -                    While (((Local0 == One) && (Local3 < One)))
> > >>
> > >> > > > +                    Local0 = Zero
> > >>
> > >> > > > +                    \_SB.PCI0.PRES.CCMD = Zero
> > >>
> > >> > > > +                    If ((\_SB.PCI0.PRES.CINS == One))
> > >>
> > >> > > >                      {
> > >>
> > >> > > > -                        Local0 = Zero
> > >>
> > >> > > > -                        \_SB.PCI0.PRES.CSEL = Local3
> > >>
> > >> > > > -                        \_SB.PCI0.PRES.CCMD = Zero
> > >>
> > >> > > > -                        If ((\_SB.PCI0.PRES.CDAT < Local3))
> > >>
> > >> > > > -                        {
> > >>
> > >> > > > -                            Break
> > >>
> > >> > > > -                        }
> > >>
> > >> > > > -
> > >>
> > >> > > > -                        If ((Local1 == 0xFF))
> > >>
> > >> > > > -                        {
> > >>
> > >> > > > -                            Local4 = One
> > >>
> > >> > > > -                            Break
> > >>
> > >> > > > -                        }
> > >>
> > >> > > > -
> > >>
> > >> > > > -                        Local3 = \_SB.PCI0.PRES.CDAT
> > >>
> > >> > > > -                        If ((\_SB.PCI0.PRES.CINS == One))
> > >>
> > >> > > > -                        {
> > >>
> > >> > > > -                            CNEW [Local1] = Local3
> > >>
> > >> > > > -                            Local1++
> > >>
> > >> > > > -                            Local0 = One
> > >>
> > >> > > > -                        }
> > >>
> > >> > > > -                        ElseIf ((\_SB.PCI0.PRES.CRMV == One))
> > >>
> > >> > > > -                        {
> > >>
> > >> > > > -                            CTFY (Local3, 0x03)
> > >>
> > >> > > > -                            \_SB.PCI0.PRES.CRMV = One
> > >>
> > >> > > > -                            Local0 = One
> > >>
> > >> > > > -                        }
> > >>
> > >> > > > -
> > >>
> > >> > > > -                        Local3++
> > >>
> > >> > > > +                        CTFY (\_SB.PCI0.PRES.CDAT, One)
> > >>
> > >> > > > +                        \_SB.PCI0.PRES.CINS = One
> > >>
> > >> > > > +                        Local0 = One
> > >>
> > >> > > >                      }
> > >>
> > >> > > > -
> > >>
> > >> > > > -                    Local2 = Zero
> > >>
> > >> > > > -                    While ((Local2 < Local1))
> > >>
> > >> > > > +                    ElseIf ((\_SB.PCI0.PRES.CRMV == One))
> > >>
> > >> > > >                      {
> > >>
> > >> > > > -                        Local3 = DerefOf (CNEW [Local2])
> > >>
> > >> > > > -                        CTFY (Local3, One)
> > >>
> > >> > > > -                        Debug = Local3
> > >>
> > >> > > > -                        \_SB.PCI0.PRES.CSEL = Local3
> > >>
> > >> > > > -                        \_SB.PCI0.PRES.CINS = One
> > >>
> > >> > > > -                        Local2++
> > >>
> > >> > > > +                        CTFY (\_SB.PCI0.PRES.CDAT, 0x03)
> > >>
> > >> > > > +                        \_SB.PCI0.PRES.CRMV = One
> > >>
> > >> > > > +                        Local0 = One
> > >>
> > >> > > >                      }
> > >>
> > >> > > >                  }
> > >>
> > >> > > >
> > >>
> > >> > > > @@ -737,12 +671,6 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
> > >>
> > >> > > >      Scope (_GPE)
> > >>
> > >> > > >      {
> > >>
> > >> > > >          Name (_HID, "ACPI0006" /* GPE Block Device */)  // _HID: Hardware ID
> > >>
> > >> > > > -        Method (_E01, 0, NotSerialized)  // _Exx: Edge-Triggered GPE, xx=0x00-0xFF
> > >>
> > >> > > > -        {
> > >>
> > >> > > > -            Acquire (\_SB.PCI0.BLCK, 0xFFFF)
> > >>
> > >> > > > -            \_SB.PCI0.PCNT ()
> > >>
> > >> > > > -            Release (\_SB.PCI0.BLCK)
> > >>
> > >> > > > -        }
> > >>
> > >> > > >      }
> > >>
> > >> > > >
> > >>
> > >> > > >      Scope (\_SB.PCI0)
> > >>
> > >> > > > @@ -813,22 +741,6 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
> > >>
> > >> > > >                      )
> > >>
> > >> > > >              })
> > >>
> > >> > > >          }
> > >>
> > >> > > > -
> > >>
> > >> > > > -        Device (PHPR)
> > >>
> > >> > > > -        {
> > >>
> > >> > > > -            Name (_HID, "PNP0A06" /* Generic Container Device */)  // _HID: Hardware ID
> > >>
> > >> > > > -            Name (_UID, "PCI Hotplug resources")  // _UID: Unique ID
> > >>
> > >> > > > -            Name (_STA, 0x0B)  // _STA: Status
> > >>
> > >> > > > -            Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
> > >>
> > >> > > > -            {
> > >>
> > >> > > > -                IO (Decode16,
> > >>
> > >> > > > -                    0xAE00,             // Range Minimum
> > >>
> > >> > > > -                    0xAE00,             // Range Maximum
> > >>
> > >> > > > -                    0x01,               // Alignment
> > >>
> > >> > > > -                    0x14,               // Length
> > >>
> > >> > > > -                    )
> > >>
> > >> > > > -            })
> > >>
> > >> > > > -        }
> > >>
> > >> > > >      }
> > >>
> > >> > > >
> > >>
> > >> > > >      Scope (\)
> > >>
> > >> > > > @@ -878,7 +790,6 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
> > >>
> > >> > > >      {
> > >>
> > >> > > >          Scope (PCI0)
> > >>
> > >> > > >          {
> > >>
> > >> > > > -            Name (BSEL, Zero)
> > >>
> > >> > > >              Device (S00)
> > >>
> > >> > > >              {
> > >>
> > >> > > >                  Name (_ADR, Zero)  // _ADR: Address
> > >>
> > >> > > > @@ -907,436 +818,6 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
> > >>
> > >> > > >              {
> > >>
> > >> > > >                  Name (_ADR, 0x00030000)  // _ADR: Address
> > >>
> > >> > > >              }
> > >>
> > >> > > > -
> > >>
> > >> > > > -            Device (S20)
> > >>
> > >> > > > -            {
> > >>
> > >> > > > -                Name (_SUN, 0x04)  // _SUN: Slot User Number
> > >>
> > >> > > > -                Name (_ADR, 0x00040000)  // _ADR: Address
> > >>
> > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > >>
> > >> > > > -                {
> > >>
> > >> > > > -                    PCEJ (BSEL, _SUN)
> > >>
> > >> > > > -                }
> > >>
> > >> > > > -            }
> > >>
> > >> > > > -
> > >>
> > >> > > > -            Device (S28)
> > >>
> > >> > > > -            {
> > >>
> > >> > > > -                Name (_SUN, 0x05)  // _SUN: Slot User Number
> > >>
> > >> > > > -                Name (_ADR, 0x00050000)  // _ADR: Address
> > >>
> > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > >>
> > >> > > > -                {
> > >>
> > >> > > > -                    PCEJ (BSEL, _SUN)
> > >>
> > >> > > > -                }
> > >>
> > >> > > > -            }
> > >>
> > >> > > > -
> > >>
> > >> > > > -            Device (S30)
> > >>
> > >> > > > -            {
> > >>
> > >> > > > -                Name (_SUN, 0x06)  // _SUN: Slot User Number
> > >>
> > >> > > > -                Name (_ADR, 0x00060000)  // _ADR: Address
> > >>
> > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > >>
> > >> > > > -                {
> > >>
> > >> > > > -                    PCEJ (BSEL, _SUN)
> > >>
> > >> > > > -                }
> > >>
> > >> > > > -            }
> > >>
> > >> > > > -
> > >>
> > >> > > > -            Device (S38)
> > >>
> > >> > > > -            {
> > >>
> > >> > > > -                Name (_SUN, 0x07)  // _SUN: Slot User Number
> > >>
> > >> > > > -                Name (_ADR, 0x00070000)  // _ADR: Address
> > >>
> > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > >>
> > >> > > > -                {
> > >>
> > >> > > > -                    PCEJ (BSEL, _SUN)
> > >>
> > >> > > > -                }
> > >>
> > >> > > > -            }
> > >>
> > >> > > > -
> > >>
> > >> > > > -            Device (S40)
> > >>
> > >> > > > -            {
> > >>
> > >> > > > -                Name (_SUN, 0x08)  // _SUN: Slot User Number
> > >>
> > >> > > > -                Name (_ADR, 0x00080000)  // _ADR: Address
> > >>
> > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > >>
> > >> > > > -                {
> > >>
> > >> > > > -                    PCEJ (BSEL, _SUN)
> > >>
> > >> > > > -                }
> > >>
> > >> > > > -            }
> > >>
> > >> > > > -
> > >>
> > >> > > > -            Device (S48)
> > >>
> > >> > > > -            {
> > >>
> > >> > > > -                Name (_SUN, 0x09)  // _SUN: Slot User Number
> > >>
> > >> > > > -                Name (_ADR, 0x00090000)  // _ADR: Address
> > >>
> > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > >>
> > >> > > > -                {
> > >>
> > >> > > > -                    PCEJ (BSEL, _SUN)
> > >>
> > >> > > > -                }
> > >>
> > >> > > > -            }
> > >>
> > >> > > > -
> > >>
> > >> > > > -            Device (S50)
> > >>
> > >> > > > -            {
> > >>
> > >> > > > -                Name (_SUN, 0x0A)  // _SUN: Slot User Number
> > >>
> > >> > > > -                Name (_ADR, 0x000A0000)  // _ADR: Address
> > >>
> > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > >>
> > >> > > > -                {
> > >>
> > >> > > > -                    PCEJ (BSEL, _SUN)
> > >>
> > >> > > > -                }
> > >>
> > >> > > > -            }
> > >>
> > >> > > > -
> > >>
> > >> > > > -            Device (S58)
> > >>
> > >> > > > -            {
> > >>
> > >> > > > -                Name (_SUN, 0x0B)  // _SUN: Slot User Number
> > >>
> > >> > > > -                Name (_ADR, 0x000B0000)  // _ADR: Address
> > >>
> > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > >>
> > >> > > > -                {
> > >>
> > >> > > > -                    PCEJ (BSEL, _SUN)
> > >>
> > >> > > > -                }
> > >>
> > >> > > > -            }
> > >>
> > >> > > > -
> > >>
> > >> > > > -            Device (S60)
> > >>
> > >> > > > -            {
> > >>
> > >> > > > -                Name (_SUN, 0x0C)  // _SUN: Slot User Number
> > >>
> > >> > > > -                Name (_ADR, 0x000C0000)  // _ADR: Address
> > >>
> > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > >>
> > >> > > > -                {
> > >>
> > >> > > > -                    PCEJ (BSEL, _SUN)
> > >>
> > >> > > > -                }
> > >>
> > >> > > > -            }
> > >>
> > >> > > > -
> > >>
> > >> > > > -            Device (S68)
> > >>
> > >> > > > -            {
> > >>
> > >> > > > -                Name (_SUN, 0x0D)  // _SUN: Slot User Number
> > >>
> > >> > > > -                Name (_ADR, 0x000D0000)  // _ADR: Address
> > >>
> > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > >>
> > >> > > > -                {
> > >>
> > >> > > > -                    PCEJ (BSEL, _SUN)
> > >>
> > >> > > > -                }
> > >>
> > >> > > > -            }
> > >>
> > >> > > > -
> > >>
> > >> > > > -            Device (S70)
> > >>
> > >> > > > -            {
> > >>
> > >> > > > -                Name (_SUN, 0x0E)  // _SUN: Slot User Number
> > >>
> > >> > > > -                Name (_ADR, 0x000E0000)  // _ADR: Address
> > >>
> > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > >>
> > >> > > > -                {
> > >>
> > >> > > > -                    PCEJ (BSEL, _SUN)
> > >>
> > >> > > > -                }
> > >>
> > >> > > > -            }
> > >>
> > >> > > > -
> > >>
> > >> > > > -            Device (S78)
> > >>
> > >> > > > -            {
> > >>
> > >> > > > -                Name (_SUN, 0x0F)  // _SUN: Slot User Number
> > >>
> > >> > > > -                Name (_ADR, 0x000F0000)  // _ADR: Address
> > >>
> > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > >>
> > >> > > > -                {
> > >>
> > >> > > > -                    PCEJ (BSEL, _SUN)
> > >>
> > >> > > > -                }
> > >>
> > >> > > > -            }
> > >>
> > >> > > > -
> > >>
> > >> > > > -            Device (S80)
> > >>
> > >> > > > -            {
> > >>
> > >> > > > -                Name (_SUN, 0x10)  // _SUN: Slot User Number
> > >>
> > >> > > > -                Name (_ADR, 0x00100000)  // _ADR: Address
> > >>
> > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > >>
> > >> > > > -                {
> > >>
> > >> > > > -                    PCEJ (BSEL, _SUN)
> > >>
> > >> > > > -                }
> > >>
> > >> > > > -            }
> > >>
> > >> > > > -
> > >>
> > >> > > > -            Device (S88)
> > >>
> > >> > > > -            {
> > >>
> > >> > > > -                Name (_SUN, 0x11)  // _SUN: Slot User Number
> > >>
> > >> > > > -                Name (_ADR, 0x00110000)  // _ADR: Address
> > >>
> > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > >>
> > >> > > > -                {
> > >>
> > >> > > > -                    PCEJ (BSEL, _SUN)
> > >>
> > >> > > > -                }
> > >>
> > >> > > > -            }
> > >>
> > >> > > > -
> > >>
> > >> > > > -            Device (S90)
> > >>
> > >> > > > -            {
> > >>
> > >> > > > -                Name (_SUN, 0x12)  // _SUN: Slot User Number
> > >>
> > >> > > > -                Name (_ADR, 0x00120000)  // _ADR: Address
> > >>
> > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > >>
> > >> > > > -                {
> > >>
> > >> > > > -                    PCEJ (BSEL, _SUN)
> > >>
> > >> > > > -                }
> > >>
> > >> > > > -            }
> > >>
> > >> > > > -
> > >>
> > >> > > > -            Device (S98)
> > >>
> > >> > > > -            {
> > >>
> > >> > > > -                Name (_SUN, 0x13)  // _SUN: Slot User Number
> > >>
> > >> > > > -                Name (_ADR, 0x00130000)  // _ADR: Address
> > >>
> > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > >>
> > >> > > > -                {
> > >>
> > >> > > > -                    PCEJ (BSEL, _SUN)
> > >>
> > >> > > > -                }
> > >>
> > >> > > > -            }
> > >>
> > >> > > > -
> > >>
> > >> > > > -            Device (SA0)
> > >>
> > >> > > > -            {
> > >>
> > >> > > > -                Name (_SUN, 0x14)  // _SUN: Slot User Number
> > >>
> > >> > > > -                Name (_ADR, 0x00140000)  // _ADR: Address
> > >>
> > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > >>
> > >> > > > -                {
> > >>
> > >> > > > -                    PCEJ (BSEL, _SUN)
> > >>
> > >> > > > -                }
> > >>
> > >> > > > -            }
> > >>
> > >> > > > -
> > >>
> > >> > > > -            Device (SA8)
> > >>
> > >> > > > -            {
> > >>
> > >> > > > -                Name (_SUN, 0x15)  // _SUN: Slot User Number
> > >>
> > >> > > > -                Name (_ADR, 0x00150000)  // _ADR: Address
> > >>
> > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > >>
> > >> > > > -                {
> > >>
> > >> > > > -                    PCEJ (BSEL, _SUN)
> > >>
> > >> > > > -                }
> > >>
> > >> > > > -            }
> > >>
> > >> > > > -
> > >>
> > >> > > > -            Device (SB0)
> > >>
> > >> > > > -            {
> > >>
> > >> > > > -                Name (_SUN, 0x16)  // _SUN: Slot User Number
> > >>
> > >> > > > -                Name (_ADR, 0x00160000)  // _ADR: Address
> > >>
> > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > >>
> > >> > > > -                {
> > >>
> > >> > > > -                    PCEJ (BSEL, _SUN)
> > >>
> > >> > > > -                }
> > >>
> > >> > > > -            }
> > >>
> > >> > > > -
> > >>
> > >> > > > -            Device (SB8)
> > >>
> > >> > > > -            {
> > >>
> > >> > > > -                Name (_SUN, 0x17)  // _SUN: Slot User Number
> > >>
> > >> > > > -                Name (_ADR, 0x00170000)  // _ADR: Address
> > >>
> > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > >>
> > >> > > > -                {
> > >>
> > >> > > > -                    PCEJ (BSEL, _SUN)
> > >>
> > >> > > > -                }
> > >>
> > >> > > > -            }
> > >>
> > >> > > > -
> > >>
> > >> > > > -            Device (SC0)
> > >>
> > >> > > > -            {
> > >>
> > >> > > > -                Name (_SUN, 0x18)  // _SUN: Slot User Number
> > >>
> > >> > > > -                Name (_ADR, 0x00180000)  // _ADR: Address
> > >>
> > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > >>
> > >> > > > -                {
> > >>
> > >> > > > -                    PCEJ (BSEL, _SUN)
> > >>
> > >> > > > -                }
> > >>
> > >> > > > -            }
> > >>
> > >> > > > -
> > >>
> > >> > > > -            Device (SC8)
> > >>
> > >> > > > -            {
> > >>
> > >> > > > -                Name (_SUN, 0x19)  // _SUN: Slot User Number
> > >>
> > >> > > > -                Name (_ADR, 0x00190000)  // _ADR: Address
> > >>
> > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > >>
> > >> > > > -                {
> > >>
> > >> > > > -                    PCEJ (BSEL, _SUN)
> > >>
> > >> > > > -                }
> > >>
> > >> > > > -            }
> > >>
> > >> > > > -
> > >>
> > >> > > > -            Device (SD0)
> > >>
> > >> > > > -            {
> > >>
> > >> > > > -                Name (_SUN, 0x1A)  // _SUN: Slot User Number
> > >>
> > >> > > > -                Name (_ADR, 0x001A0000)  // _ADR: Address
> > >>
> > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > >>
> > >> > > > -                {
> > >>
> > >> > > > -                    PCEJ (BSEL, _SUN)
> > >>
> > >> > > > -                }
> > >>
> > >> > > > -            }
> > >>
> > >> > > > -
> > >>
> > >> > > > -            Device (SD8)
> > >>
> > >> > > > -            {
> > >>
> > >> > > > -                Name (_SUN, 0x1B)  // _SUN: Slot User Number
> > >>
> > >> > > > -                Name (_ADR, 0x001B0000)  // _ADR: Address
> > >>
> > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > >>
> > >> > > > -                {
> > >>
> > >> > > > -                    PCEJ (BSEL, _SUN)
> > >>
> > >> > > > -                }
> > >>
> > >> > > > -            }
> > >>
> > >> > > > -
> > >>
> > >> > > > -            Device (SE0)
> > >>
> > >> > > > -            {
> > >>
> > >> > > > -                Name (_SUN, 0x1C)  // _SUN: Slot User Number
> > >>
> > >> > > > -                Name (_ADR, 0x001C0000)  // _ADR: Address
> > >>
> > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > >>
> > >> > > > -                {
> > >>
> > >> > > > -                    PCEJ (BSEL, _SUN)
> > >>
> > >> > > > -                }
> > >>
> > >> > > > -            }
> > >>
> > >> > > > -
> > >>
> > >> > > > -            Device (SE8)
> > >>
> > >> > > > -            {
> > >>
> > >> > > > -                Name (_SUN, 0x1D)  // _SUN: Slot User Number
> > >>
> > >> > > > -                Name (_ADR, 0x001D0000)  // _ADR: Address
> > >>
> > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > >>
> > >> > > > -                {
> > >>
> > >> > > > -                    PCEJ (BSEL, _SUN)
> > >>
> > >> > > > -                }
> > >>
> > >> > > > -            }
> > >>
> > >> > > > -
> > >>
> > >> > > > -            Device (SF0)
> > >>
> > >> > > > -            {
> > >>
> > >> > > > -                Name (_SUN, 0x1E)  // _SUN: Slot User Number
> > >>
> > >> > > > -                Name (_ADR, 0x001E0000)  // _ADR: Address
> > >>
> > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > >>
> > >> > > > -                {
> > >>
> > >> > > > -                    PCEJ (BSEL, _SUN)
> > >>
> > >> > > > -                }
> > >>
> > >> > > > -            }
> > >>
> > >> > > > -
> > >>
> > >> > > > -            Device (SF8)
> > >>
> > >> > > > -            {
> > >>
> > >> > > > -                Name (_SUN, 0x1F)  // _SUN: Slot User Number
> > >>
> > >> > > > -                Name (_ADR, 0x001F0000)  // _ADR: Address
> > >>
> > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > >>
> > >> > > > -                {
> > >>
> > >> > > > -                    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)
> > >>
> > >> > > > -            }
> > >>
> > >> > > >          }
> > >>
> > >> > > >      }
> > >>
> > >> > > >  }
> > >>
> > >> > > >
> > >>
> > >>
> > >>
Michael S. Tsirkin Sept. 29, 2020, 10:37 a.m. UTC | #12
On Tue, Sep 29, 2020 at 04:02:07PM +0530, Ani Sinha wrote:
> On Tue, Sep 29, 2020 at 4:00 PM Ani Sinha <ani@anisinha.ca> wrote:
> >
> > In your pull request the following patch is completely screwed up:
> >
> > commit cda2006eded0ed91974e1d9e7f9f288e65812a3e
> > Author: Ani Sinha <ani@anisinha.ca>
> > Date:   Tue Sep 29 03:22:52 2020 -0400
> >
> >     tests/acpi: update golden master DSDT binary table blobs for q35
> >
> >
> > This is not my patch. It has all sorts of changes which does not
> > belong there. Can you please check?
> 
> See https://patchew.org/QEMU/20200929071948.281157-1-mst@redhat.com/20200929071948.281157-46-mst@redhat.com/


I had to regenerate the binary, yes. That's par for the course.
But it looks like I added disasssembled files. Will fix up and drop,
thanks for noticing this.


> 
> >
> > On Tue, Sep 29, 2020 at 3:20 PM Ani Sinha <ani@anisinha.ca> wrote:
> > >
> > >
> > >
> > > On Tue, Sep 29, 2020 at 3:12 PM Michael S. Tsirkin <mst@redhat.com> wrote:
> > >>
> > >> On Tue, Sep 29, 2020 at 02:21:06PM +0530, Ani Sinha wrote:
> > >>
> > >> > On Tue, Sep 29, 2020 at 1:53 PM Ani Sinha <ani@anisinha.ca> wrote:
> > >>
> > >> > >
> > >>
> > >> > > On Tue, Sep 29, 2020 at 12:56 PM Michael S. Tsirkin <mst@redhat.com> wrote:
> > >>
> > >> > > >
> > >>
> > >> > > > On Tue, Sep 29, 2020 at 12:53:17PM +0530, Ani Sinha wrote:
> > >>
> > >> > > > > On Tue, Sep 29, 2020 at 12:42 PM Michael S. Tsirkin <mst@redhat.com> wrote:
> > >>
> > >> > > > > >
> > >>
> > >> > > > > > On Fri, Sep 18, 2020 at 02:11:11PM +0530, Ani Sinha wrote:
> > >>
> > >> > > > > > > This change adds a new DSDT golden master table blob to test disabling
> > >>
> > >> > > > > > > hotplug on both pci root bus and pci bridges. Also reverts the change
> > >>
> > >> > > > > > > in file bios-tables-test-allowed-diff.h to make sure its now empty so that
> > >>
> > >> > > > > > > future modifications to acpi tables can be caught.
> > >>
> > >> > > > > > >
> > >>
> > >> > > > > > > The following is the disassembled diff between DSDT.hpbridge and DSDT.hpbrroot:
> > >>
> > >> > > > > > >
> > >>
> > >> > > > > > > @@ -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.hpbridge, Wed Sep 16 09:45:56 2020
> > >>
> > >> > > > > > > + * Disassembly of /tmp/aml-ECV9Q0, Wed Sep 16 09:45:56 2020
> > >>
> > >> > > > > > >   *
> > >>
> > >> > > > > > >   * Original Table Header:
> > >>
> > >> > > > > > >   *     Signature        "DSDT"
> > >>
> > >> > > > > > > - *     Length           0x0000131F (4895)
> > >>
> > >> > > > > > > + *     Length           0x00000B89 (2953)
> > >>
> > >> > > > > > >   *     Revision         0x01 **** 32-bit table (V1), no 64-bit math support
> > >>
> > >> > > > > > > - *     Checksum         0xF9
> > >>
> > >> > > > > > > + *     Checksum         0xA2
> > >>
> > >> > > > > > >   *     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
> > >>
> > >> > > > > > >          }
> > >>
> > >> > > > > > >
> > >>
> > >> > > > > > > @@ -234,64 +234,32 @@
> > >>
> > >> > > > > > >          {
> > >>
> > >> > > > > > >              Name (_HID, EisaId ("PNP0B00") /* AT Real-Time Clock */)  // _HID: Hardware ID
> > >>
> > >> > > > > > >              Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
> > >>
> > >> > > > > > >              {
> > >>
> > >> > > > > > >                  IO (Decode16,
> > >>
> > >> > > > > > >                      0x0070,             // Range Minimum
> > >>
> > >> > > > > > >                      0x0070,             // Range Maximum
> > >>
> > >> > > > > > >                      0x01,               // Alignment
> > >>
> > >> > > > > > >                      0x08,               // Length
> > >>
> > >> > > > > > >                      )
> > >>
> > >> > > > > > >                  IRQNoFlags ()
> > >>
> > >> > > > > > >                      {8}
> > >>
> > >> > > > > > >              })
> > >>
> > >> > > > > > >          }
> > >>
> > >> > > > > > >      }
> > >>
> > >> > > > > > >
> > >>
> > >> > > > > > > -    Scope (_SB.PCI0)
> > >>
> > >> > > > > > > -    {
> > >>
> > >> > > > > > > -        OperationRegion (PCST, SystemIO, 0xAE00, 0x08)
> > >>
> > >> > > > > > > -        Field (PCST, DWordAcc, NoLock, WriteAsZeros)
> > >>
> > >> > > > > > > -        {
> > >>
> > >> > > > > > > -            PCIU,   32,
> > >>
> > >> > > > > > > -            PCID,   32
> > >>
> > >> > > > > > > -        }
> > >>
> > >> > > > > > > -
> > >>
> > >> > > > > > > -        OperationRegion (SEJ, SystemIO, 0xAE08, 0x04)
> > >>
> > >> > > > > > > -        Field (SEJ, DWordAcc, NoLock, WriteAsZeros)
> > >>
> > >> > > > > > > -        {
> > >>
> > >> > > > > > > -            B0EJ,   32
> > >>
> > >> > > > > > > -        }
> > >>
> > >> > > > > > > -
> > >>
> > >> > > > > > > -        OperationRegion (BNMR, SystemIO, 0xAE10, 0x04)
> > >>
> > >> > > > > > > -        Field (BNMR, DWordAcc, NoLock, WriteAsZeros)
> > >>
> > >> > > > > > > -        {
> > >>
> > >> > > > > > > -            BNUM,   32
> > >>
> > >> > > > > > > -        }
> > >>
> > >> > > > > > > -
> > >>
> > >> > > > > > > -        Mutex (BLCK, 0x00)
> > >>
> > >> > > > > > > -        Method (PCEJ, 2, NotSerialized)
> > >>
> > >> > > > > > > -        {
> > >>
> > >> > > > > > > -            Acquire (BLCK, 0xFFFF)
> > >>
> > >> > > > > > > -            BNUM = Arg0
> > >>
> > >> > > > > > > -            B0EJ = (One << Arg1)
> > >>
> > >> > > > > > > -            Release (BLCK)
> > >>
> > >> > > > > > > -            Return (Zero)
> > >>
> > >> > > > > > > -        }
> > >>
> > >> > > > > > > -    }
> > >>
> > >> > > > > > > -
> > >>
> > >> > > > > > >      Scope (_SB)
> > >>
> > >> > > > > > >      {
> > >>
> > >> > > > > > >          Scope (PCI0)
> > >>
> > >> > > > > > >          {
> > >>
> > >> > > > > > >              Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
> > >>
> > >> > > > > > >              {
> > >>
> > >> > > > > > >                  Local0 = Package (0x80){}
> > >>
> > >> > > > > > >                  Local1 = Zero
> > >>
> > >> > > > > > >                  While ((Local1 < 0x80))
> > >>
> > >> > > > > > >                  {
> > >>
> > >> > > > > > >                      Local2 = (Local1 >> 0x02)
> > >>
> > >> > > > > > >                      Local3 = ((Local1 + Local2) & 0x03)
> > >>
> > >> > > > > > >                      If ((Local3 == Zero))
> > >>
> > >> > > > > > >                      {
> > >>
> > >> > > > > > >                          Local4 = Package (0x04)
> > >>
> > >> > > > > > >                              {
> > >>
> > >> > > > > > > @@ -690,38 +658,32 @@
> > >>
> > >> > > > > > >                  Method (_OST, 3, Serialized)  // _OST: OSPM Status Indication
> > >>
> > >> > > > > > >                  {
> > >>
> > >> > > > > > >                      COST (Zero, Arg0, Arg1, Arg2)
> > >>
> > >> > > > > > >                  }
> > >>
> > >> > > > > > >              }
> > >>
> > >> > > > > > >          }
> > >>
> > >> > > > > > >      }
> > >>
> > >> > > > > > >
> > >>
> > >> > > > > > >      Method (\_GPE._E02, 0, NotSerialized)  // _Exx: Edge-Triggered GPE
> > >>
> > >> > > > > > >      {
> > >>
> > >> > > > > > >          \_SB.CPUS.CSCN ()
> > >>
> > >> > > > > > >      }
> > >>
> > >> > > > > > >
> > >>
> > >> > > > > > >      Scope (_GPE)
> > >>
> > >> > > > > > >      {
> > >>
> > >> > > > > > >          Name (_HID, "ACPI0006" /* GPE Block Device */)  // _HID: Hardware ID
> > >>
> > >> > > > > > > -        Method (_E01, 0, NotSerialized)  // _Exx: Edge-Triggered GPE
> > >>
> > >> > > > > > > -        {
> > >>
> > >> > > > > > > -            Acquire (\_SB.PCI0.BLCK, 0xFFFF)
> > >>
> > >> > > > > > > -            \_SB.PCI0.PCNT ()
> > >>
> > >> > > > > > > -            Release (\_SB.PCI0.BLCK)
> > >>
> > >> > > > > > > -        }
> > >>
> > >> > > > > > >      }
> > >>
> > >> > > > > > >
> > >>
> > >> > > > > > >      Scope (\_SB.PCI0)
> > >>
> > >> > > > > > >      {
> > >>
> > >> > > > > > >          Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
> > >>
> > >> > > > > > >          {
> > >>
> > >> > > > > > >              WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
> > >>
> > >> > > > > > >                  0x0000,             // Granularity
> > >>
> > >> > > > > > >                  0x0000,             // Range Minimum
> > >>
> > >> > > > > > >                  0x00FF,             // Range Maximum
> > >>
> > >> > > > > > >                  0x0000,             // Translation Offset
> > >>
> > >> > > > > > >                  0x0100,             // Length
> > >>
> > >> > > > > > >                  ,, )
> > >>
> > >> > > > > > >              IO (Decode16,
> > >>
> > >> > > > > > >                  0x0CF8,             // Range Minimum
> > >>
> > >> > > > > > >                  0x0CF8,             // Range Maximum
> > >>
> > >> > > > > > > @@ -766,48 +728,32 @@
> > >>
> > >> > > > > > >          })
> > >>
> > >> > > > > > >          Device (GPE0)
> > >>
> > >> > > > > > >          {
> > >>
> > >> > > > > > >              Name (_HID, "PNP0A06" /* Generic Container Device */)  // _HID: Hardware ID
> > >>
> > >> > > > > > >              Name (_UID, "GPE0 resources")  // _UID: Unique ID
> > >>
> > >> > > > > > >              Name (_STA, 0x0B)  // _STA: Status
> > >>
> > >> > > > > > >              Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
> > >>
> > >> > > > > > >              {
> > >>
> > >> > > > > > >                  IO (Decode16,
> > >>
> > >> > > > > > >                      0xAFE0,             // Range Minimum
> > >>
> > >> > > > > > >                      0xAFE0,             // Range Maximum
> > >>
> > >> > > > > > >                      0x01,               // Alignment
> > >>
> > >> > > > > > >                      0x04,               // Length
> > >>
> > >> > > > > > >                      )
> > >>
> > >> > > > > > >              })
> > >>
> > >> > > > > > >          }
> > >>
> > >> > > > > > > -
> > >>
> > >> > > > > > > -        Device (PHPR)
> > >>
> > >> > > > > > > -        {
> > >>
> > >> > > > > > > -            Name (_HID, "PNP0A06" /* Generic Container Device */)  // _HID: Hardware ID
> > >>
> > >> > > > > > > -            Name (_UID, "PCI Hotplug resources")  // _UID: Unique ID
> > >>
> > >> > > > > > > -            Name (_STA, 0x0B)  // _STA: Status
> > >>
> > >> > > > > > > -            Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
> > >>
> > >> > > > > > > -            {
> > >>
> > >> > > > > > > -                IO (Decode16,
> > >>
> > >> > > > > > > -                    0xAE00,             // Range Minimum
> > >>
> > >> > > > > > > -                    0xAE00,             // Range Maximum
> > >>
> > >> > > > > > > -                    0x01,               // Alignment
> > >>
> > >> > > > > > > -                    0x14,               // Length
> > >>
> > >> > > > > > > -                    )
> > >>
> > >> > > > > > > -            })
> > >>
> > >> > > > > > > -        }
> > >>
> > >> > > > > > >      }
> > >>
> > >> > > > > > >
> > >>
> > >> > > > > > >      Scope (\)
> > >>
> > >> > > > > > >      {
> > >>
> > >> > > > > > >          Name (_S3, Package (0x04)  // _S3_: S3 System State
> > >>
> > >> > > > > > >          {
> > >>
> > >> > > > > > >              One,
> > >>
> > >> > > > > > >              One,
> > >>
> > >> > > > > > >              Zero,
> > >>
> > >> > > > > > >              Zero
> > >>
> > >> > > > > > >          })
> > >>
> > >> > > > > > >          Name (_S4, Package (0x04)  // _S4_: S4 System State
> > >>
> > >> > > > > > >          {
> > >>
> > >> > > > > > >              0x02,
> > >>
> > >> > > > > > >              0x02,
> > >>
> > >> > > > > > >              Zero,
> > >>
> > >> > > > > > > @@ -831,479 +777,48 @@
> > >>
> > >> > > > > > >              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
> > >>
> > >> > > > > > >              }
> > >>
> > >> > > > > > > -
> > >>
> > >> > > > > > > -            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)
> > >>
> > >> > > > > > > -            }
> > >>
> > >> > > > > > >          }
> > >>
> > >> > > > > > >      }
> > >>
> > >> > > > > > >  }
> > >>
> > >> > > > > >
> > >>
> > >> > > > > > This is not the only diff I see if I apply this patchset on
> > >>
> > >> > > > > > top of master.
> > >>
> > >> > > > > > Dropped this and the previous patch.
> > >>
> > >> > > > > > Please check what is going on and repost as appropriate.
> > >>
> > >> > > > >
> > >>
> > >> > > > > Which two ACPI DSDT files are you diffing? What diff are you getting?
> > >>
> > >> > > >
> > >>
> > >> > > >
> > >>
> > >> > > > diff -rup ./tests/data/acpi/pc/DSDT.hpbridge.dsl ./tests/data/acpi/pc/DSDT.hpbrroot.dsl
> > >>
> > >> > >
> > >>
> > >> > > I re-based my patchset on top of the latest qemu master and did a make
> > >>
> > >> > >  && make check-qtest-x86_64 V=1.
> > >>
> > >> > > They pass. I am seeing this diff:
> > >>
> > >> > > https://pastebin.ubuntu.com/p/BXy9GFfB2R/
> > >>
> > >> > >
> > >>
> > >> > > and it looks good to me.
> > >>
> > >> > >
> > >>
> > >> > > Not sure why your diff looks different. Maybe you can regenerate the blob?
> > >>
> > >> >
> > >>
> > >> > I did a full make check and it passed. I compared the diff again and
> > >>
> > >> > it's the same. I checked my tree and it looks clean. These are the
> > >>
> > >> > patches I have:
> > >>
> > >> >
> > >>
> > >> > $ git log --oneline
> > >>
> > >> > 20d1323e10 (HEAD -> master) qom: code hardening - have bound checking
> > >>
> > >> > while looping with integer value
> > >>
> > >> > 0f69dae0e2 Add a comment in bios-tables-test.c to clarify the reason
> > >>
> > >> > behind approach
> > >>
> > >> > dd9a8c3cd3 tests/acpi: add DSDT.hpbrroot DSDT table blob to test
> > >>
> > >> > global i440fx hotplug
> > >>
> > >> > 5b93474fe9 tests/acpi: unit test exercising global pci hotplug off for i440fx
> > >>
> > >> > 54c33e334a tests/acpi: update golden master DSDT binary table blobs for q35
> > >>
> > >> > 2279f61f30 piix4: don't reserve hw resources when hotplug is off globally
> > >>
> > >> > 1f61c524a0 Add ACPI DSDT tables for q35 that are being updated by the next patch
> > >>
> > >> > bdd823611b tests/acpi: add newly added acpi DSDT table blob for pci
> > >>
> > >> > bridge hotplug flag
> > >>
> > >> > 8c80f8fba9 tests/acpi: unit test for
> > >>
> > >> > 'acpi-pci-hotplug-with-bridge-support' bridge flag
> > >>
> > >> > e0a3142df9 tests/acpi: list added acpi table binary file for pci
> > >>
> > >> > bridge hotplug test
> > >>
> > >> > 0ba08317a8 i440fx/acpi: do not add hotplug related amls for cold plugged bridges
> > >>
> > >> > 73b191ade6 Fix a gap where acpi_pcihp_find_hotplug_bus() returns a
> > >>
> > >> > non-hotpluggable bus
> > >>
> > >> > ef0e526cc2 tests/acpi: add a new ACPI table in order to test root pci
> > >>
> > >> > hotplug on/off
> > >>
> > >> > c6d13264f8 tests/acpi: add new unit test to test hotplug off/on
> > >>
> > >> > feature on the root pci bus
> > >>
> > >> > 6901bada65 tests/acpi: mark addition of table DSDT.roothp for unit
> > >>
> > >> > testing root pci hotplug
> > >>
> > >> > 74504514b1 (origin/master, origin/HEAD) Merge remote-tracking branch
> > >>
> > >> > 'remotes/alistair/tags/pull-register-20200927' into staging
> > >>
> > >>
> > >>
> > >> Try applying on top of latest pull request?
> > >
> > >
> > > Maybe I'm missing something but can you point me to the latest pull request?
> > >>
> > >>
> > >>
> > >>
> > >>
> > >>
> > >>
> > >> >
> > >>
> > >> > >
> > >>
> > >> > > >
> > >>
> > >> > > >
> > >>
> > >> > > >
> > >>
> > >> > > > --- ./tests/data/acpi/pc/DSDT.hpbridge.dsl      2020-09-29 02:44:43.874622404 -0400
> > >>
> > >> > > > +++ ./tests/data/acpi/pc/DSDT.hpbrroot.dsl      2020-09-29 02:44:43.876622403 -0400
> > >>
> > >> > > > @@ -5,13 +5,13 @@
> > >>
> > >> > > >   *
> > >>
> > >> > > >   * Disassembling to symbolic ASL+ operators
> > >>
> > >> > > >   *
> > >>
> > >> > > > - * Disassembly of tests/data/acpi/pc/DSDT.hpbridge, Tue Sep 29 02:44:43 2020
> > >>
> > >> > > > + * Disassembly of tests/data/acpi/pc/DSDT.hpbrroot, Tue Sep 29 02:44:43 2020
> > >>
> > >> > > >   *
> > >>
> > >> > > >   * Original Table Header:
> > >>
> > >> > > >   *     Signature        "DSDT"
> > >>
> > >> > > > - *     Length           0x0000139D (5021)
> > >>
> > >> > > > + *     Length           0x00000B89 (2953)
> > >>
> > >> > > >   *     Revision         0x01 **** 32-bit table (V1), no 64-bit math support
> > >>
> > >> > > > - *     Checksum         0x05
> > >>
> > >> > > > + *     Checksum         0xA2
> > >>
> > >> > > >   *     OEM ID           "BOCHS "
> > >>
> > >> > > >   *     OEM Table ID     "BXPCDSDT"
> > >>
> > >> > > >   *     OEM Revision     0x00000001 (1)
> > >>
> > >> > > > @@ -247,38 +247,6 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
> > >>
> > >> > > >          }
> > >>
> > >> > > >      }
> > >>
> > >> > > >
> > >>
> > >> > > > -    Scope (_SB.PCI0)
> > >>
> > >> > > > -    {
> > >>
> > >> > > > -        OperationRegion (PCST, SystemIO, 0xAE00, 0x08)
> > >>
> > >> > > > -        Field (PCST, DWordAcc, NoLock, WriteAsZeros)
> > >>
> > >> > > > -        {
> > >>
> > >> > > > -            PCIU,   32,
> > >>
> > >> > > > -            PCID,   32
> > >>
> > >> > > > -        }
> > >>
> > >> > > > -
> > >>
> > >> > > > -        OperationRegion (SEJ, SystemIO, 0xAE08, 0x04)
> > >>
> > >> > > > -        Field (SEJ, DWordAcc, NoLock, WriteAsZeros)
> > >>
> > >> > > > -        {
> > >>
> > >> > > > -            B0EJ,   32
> > >>
> > >> > > > -        }
> > >>
> > >> > > > -
> > >>
> > >> > > > -        OperationRegion (BNMR, SystemIO, 0xAE10, 0x04)
> > >>
> > >> > > > -        Field (BNMR, DWordAcc, NoLock, WriteAsZeros)
> > >>
> > >> > > > -        {
> > >>
> > >> > > > -            BNUM,   32
> > >>
> > >> > > > -        }
> > >>
> > >> > > > -
> > >>
> > >> > > > -        Mutex (BLCK, 0x00)
> > >>
> > >> > > > -        Method (PCEJ, 2, NotSerialized)
> > >>
> > >> > > > -        {
> > >>
> > >> > > > -            Acquire (BLCK, 0xFFFF)
> > >>
> > >> > > > -            BNUM = Arg0
> > >>
> > >> > > > -            B0EJ = (One << Arg1)
> > >>
> > >> > > > -            Release (BLCK)
> > >>
> > >> > > > -            Return (Zero)
> > >>
> > >> > > > -        }
> > >>
> > >> > > > -    }
> > >>
> > >> > > > -
> > >>
> > >> > > >      Scope (_SB)
> > >>
> > >> > > >      {
> > >>
> > >> > > >          Scope (PCI0)
> > >>
> > >> > > > @@ -643,56 +611,22 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
> > >>
> > >> > > >              Method (CSCN, 0, Serialized)
> > >>
> > >> > > >              {
> > >>
> > >> > > >                  Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF)
> > >>
> > >> > > > -                Name (CNEW, Package (0xFF){})
> > >>
> > >> > > > -                Local3 = Zero
> > >>
> > >> > > > -                Local4 = One
> > >>
> > >> > > > -                While ((Local4 == One))
> > >>
> > >> > > > +                Local0 = One
> > >>
> > >> > > > +                While ((Local0 == One))
> > >>
> > >> > > >                  {
> > >>
> > >> > > > -                    Local4 = Zero
> > >>
> > >> > > > -                    Local0 = One
> > >>
> > >> > > > -                    Local1 = Zero
> > >>
> > >> > > > -                    While (((Local0 == One) && (Local3 < One)))
> > >>
> > >> > > > +                    Local0 = Zero
> > >>
> > >> > > > +                    \_SB.PCI0.PRES.CCMD = Zero
> > >>
> > >> > > > +                    If ((\_SB.PCI0.PRES.CINS == One))
> > >>
> > >> > > >                      {
> > >>
> > >> > > > -                        Local0 = Zero
> > >>
> > >> > > > -                        \_SB.PCI0.PRES.CSEL = Local3
> > >>
> > >> > > > -                        \_SB.PCI0.PRES.CCMD = Zero
> > >>
> > >> > > > -                        If ((\_SB.PCI0.PRES.CDAT < Local3))
> > >>
> > >> > > > -                        {
> > >>
> > >> > > > -                            Break
> > >>
> > >> > > > -                        }
> > >>
> > >> > > > -
> > >>
> > >> > > > -                        If ((Local1 == 0xFF))
> > >>
> > >> > > > -                        {
> > >>
> > >> > > > -                            Local4 = One
> > >>
> > >> > > > -                            Break
> > >>
> > >> > > > -                        }
> > >>
> > >> > > > -
> > >>
> > >> > > > -                        Local3 = \_SB.PCI0.PRES.CDAT
> > >>
> > >> > > > -                        If ((\_SB.PCI0.PRES.CINS == One))
> > >>
> > >> > > > -                        {
> > >>
> > >> > > > -                            CNEW [Local1] = Local3
> > >>
> > >> > > > -                            Local1++
> > >>
> > >> > > > -                            Local0 = One
> > >>
> > >> > > > -                        }
> > >>
> > >> > > > -                        ElseIf ((\_SB.PCI0.PRES.CRMV == One))
> > >>
> > >> > > > -                        {
> > >>
> > >> > > > -                            CTFY (Local3, 0x03)
> > >>
> > >> > > > -                            \_SB.PCI0.PRES.CRMV = One
> > >>
> > >> > > > -                            Local0 = One
> > >>
> > >> > > > -                        }
> > >>
> > >> > > > -
> > >>
> > >> > > > -                        Local3++
> > >>
> > >> > > > +                        CTFY (\_SB.PCI0.PRES.CDAT, One)
> > >>
> > >> > > > +                        \_SB.PCI0.PRES.CINS = One
> > >>
> > >> > > > +                        Local0 = One
> > >>
> > >> > > >                      }
> > >>
> > >> > > > -
> > >>
> > >> > > > -                    Local2 = Zero
> > >>
> > >> > > > -                    While ((Local2 < Local1))
> > >>
> > >> > > > +                    ElseIf ((\_SB.PCI0.PRES.CRMV == One))
> > >>
> > >> > > >                      {
> > >>
> > >> > > > -                        Local3 = DerefOf (CNEW [Local2])
> > >>
> > >> > > > -                        CTFY (Local3, One)
> > >>
> > >> > > > -                        Debug = Local3
> > >>
> > >> > > > -                        \_SB.PCI0.PRES.CSEL = Local3
> > >>
> > >> > > > -                        \_SB.PCI0.PRES.CINS = One
> > >>
> > >> > > > -                        Local2++
> > >>
> > >> > > > +                        CTFY (\_SB.PCI0.PRES.CDAT, 0x03)
> > >>
> > >> > > > +                        \_SB.PCI0.PRES.CRMV = One
> > >>
> > >> > > > +                        Local0 = One
> > >>
> > >> > > >                      }
> > >>
> > >> > > >                  }
> > >>
> > >> > > >
> > >>
> > >> > > > @@ -737,12 +671,6 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
> > >>
> > >> > > >      Scope (_GPE)
> > >>
> > >> > > >      {
> > >>
> > >> > > >          Name (_HID, "ACPI0006" /* GPE Block Device */)  // _HID: Hardware ID
> > >>
> > >> > > > -        Method (_E01, 0, NotSerialized)  // _Exx: Edge-Triggered GPE, xx=0x00-0xFF
> > >>
> > >> > > > -        {
> > >>
> > >> > > > -            Acquire (\_SB.PCI0.BLCK, 0xFFFF)
> > >>
> > >> > > > -            \_SB.PCI0.PCNT ()
> > >>
> > >> > > > -            Release (\_SB.PCI0.BLCK)
> > >>
> > >> > > > -        }
> > >>
> > >> > > >      }
> > >>
> > >> > > >
> > >>
> > >> > > >      Scope (\_SB.PCI0)
> > >>
> > >> > > > @@ -813,22 +741,6 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
> > >>
> > >> > > >                      )
> > >>
> > >> > > >              })
> > >>
> > >> > > >          }
> > >>
> > >> > > > -
> > >>
> > >> > > > -        Device (PHPR)
> > >>
> > >> > > > -        {
> > >>
> > >> > > > -            Name (_HID, "PNP0A06" /* Generic Container Device */)  // _HID: Hardware ID
> > >>
> > >> > > > -            Name (_UID, "PCI Hotplug resources")  // _UID: Unique ID
> > >>
> > >> > > > -            Name (_STA, 0x0B)  // _STA: Status
> > >>
> > >> > > > -            Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
> > >>
> > >> > > > -            {
> > >>
> > >> > > > -                IO (Decode16,
> > >>
> > >> > > > -                    0xAE00,             // Range Minimum
> > >>
> > >> > > > -                    0xAE00,             // Range Maximum
> > >>
> > >> > > > -                    0x01,               // Alignment
> > >>
> > >> > > > -                    0x14,               // Length
> > >>
> > >> > > > -                    )
> > >>
> > >> > > > -            })
> > >>
> > >> > > > -        }
> > >>
> > >> > > >      }
> > >>
> > >> > > >
> > >>
> > >> > > >      Scope (\)
> > >>
> > >> > > > @@ -878,7 +790,6 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
> > >>
> > >> > > >      {
> > >>
> > >> > > >          Scope (PCI0)
> > >>
> > >> > > >          {
> > >>
> > >> > > > -            Name (BSEL, Zero)
> > >>
> > >> > > >              Device (S00)
> > >>
> > >> > > >              {
> > >>
> > >> > > >                  Name (_ADR, Zero)  // _ADR: Address
> > >>
> > >> > > > @@ -907,436 +818,6 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
> > >>
> > >> > > >              {
> > >>
> > >> > > >                  Name (_ADR, 0x00030000)  // _ADR: Address
> > >>
> > >> > > >              }
> > >>
> > >> > > > -
> > >>
> > >> > > > -            Device (S20)
> > >>
> > >> > > > -            {
> > >>
> > >> > > > -                Name (_SUN, 0x04)  // _SUN: Slot User Number
> > >>
> > >> > > > -                Name (_ADR, 0x00040000)  // _ADR: Address
> > >>
> > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > >>
> > >> > > > -                {
> > >>
> > >> > > > -                    PCEJ (BSEL, _SUN)
> > >>
> > >> > > > -                }
> > >>
> > >> > > > -            }
> > >>
> > >> > > > -
> > >>
> > >> > > > -            Device (S28)
> > >>
> > >> > > > -            {
> > >>
> > >> > > > -                Name (_SUN, 0x05)  // _SUN: Slot User Number
> > >>
> > >> > > > -                Name (_ADR, 0x00050000)  // _ADR: Address
> > >>
> > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > >>
> > >> > > > -                {
> > >>
> > >> > > > -                    PCEJ (BSEL, _SUN)
> > >>
> > >> > > > -                }
> > >>
> > >> > > > -            }
> > >>
> > >> > > > -
> > >>
> > >> > > > -            Device (S30)
> > >>
> > >> > > > -            {
> > >>
> > >> > > > -                Name (_SUN, 0x06)  // _SUN: Slot User Number
> > >>
> > >> > > > -                Name (_ADR, 0x00060000)  // _ADR: Address
> > >>
> > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > >>
> > >> > > > -                {
> > >>
> > >> > > > -                    PCEJ (BSEL, _SUN)
> > >>
> > >> > > > -                }
> > >>
> > >> > > > -            }
> > >>
> > >> > > > -
> > >>
> > >> > > > -            Device (S38)
> > >>
> > >> > > > -            {
> > >>
> > >> > > > -                Name (_SUN, 0x07)  // _SUN: Slot User Number
> > >>
> > >> > > > -                Name (_ADR, 0x00070000)  // _ADR: Address
> > >>
> > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > >>
> > >> > > > -                {
> > >>
> > >> > > > -                    PCEJ (BSEL, _SUN)
> > >>
> > >> > > > -                }
> > >>
> > >> > > > -            }
> > >>
> > >> > > > -
> > >>
> > >> > > > -            Device (S40)
> > >>
> > >> > > > -            {
> > >>
> > >> > > > -                Name (_SUN, 0x08)  // _SUN: Slot User Number
> > >>
> > >> > > > -                Name (_ADR, 0x00080000)  // _ADR: Address
> > >>
> > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > >>
> > >> > > > -                {
> > >>
> > >> > > > -                    PCEJ (BSEL, _SUN)
> > >>
> > >> > > > -                }
> > >>
> > >> > > > -            }
> > >>
> > >> > > > -
> > >>
> > >> > > > -            Device (S48)
> > >>
> > >> > > > -            {
> > >>
> > >> > > > -                Name (_SUN, 0x09)  // _SUN: Slot User Number
> > >>
> > >> > > > -                Name (_ADR, 0x00090000)  // _ADR: Address
> > >>
> > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > >>
> > >> > > > -                {
> > >>
> > >> > > > -                    PCEJ (BSEL, _SUN)
> > >>
> > >> > > > -                }
> > >>
> > >> > > > -            }
> > >>
> > >> > > > -
> > >>
> > >> > > > -            Device (S50)
> > >>
> > >> > > > -            {
> > >>
> > >> > > > -                Name (_SUN, 0x0A)  // _SUN: Slot User Number
> > >>
> > >> > > > -                Name (_ADR, 0x000A0000)  // _ADR: Address
> > >>
> > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > >>
> > >> > > > -                {
> > >>
> > >> > > > -                    PCEJ (BSEL, _SUN)
> > >>
> > >> > > > -                }
> > >>
> > >> > > > -            }
> > >>
> > >> > > > -
> > >>
> > >> > > > -            Device (S58)
> > >>
> > >> > > > -            {
> > >>
> > >> > > > -                Name (_SUN, 0x0B)  // _SUN: Slot User Number
> > >>
> > >> > > > -                Name (_ADR, 0x000B0000)  // _ADR: Address
> > >>
> > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > >>
> > >> > > > -                {
> > >>
> > >> > > > -                    PCEJ (BSEL, _SUN)
> > >>
> > >> > > > -                }
> > >>
> > >> > > > -            }
> > >>
> > >> > > > -
> > >>
> > >> > > > -            Device (S60)
> > >>
> > >> > > > -            {
> > >>
> > >> > > > -                Name (_SUN, 0x0C)  // _SUN: Slot User Number
> > >>
> > >> > > > -                Name (_ADR, 0x000C0000)  // _ADR: Address
> > >>
> > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > >>
> > >> > > > -                {
> > >>
> > >> > > > -                    PCEJ (BSEL, _SUN)
> > >>
> > >> > > > -                }
> > >>
> > >> > > > -            }
> > >>
> > >> > > > -
> > >>
> > >> > > > -            Device (S68)
> > >>
> > >> > > > -            {
> > >>
> > >> > > > -                Name (_SUN, 0x0D)  // _SUN: Slot User Number
> > >>
> > >> > > > -                Name (_ADR, 0x000D0000)  // _ADR: Address
> > >>
> > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > >>
> > >> > > > -                {
> > >>
> > >> > > > -                    PCEJ (BSEL, _SUN)
> > >>
> > >> > > > -                }
> > >>
> > >> > > > -            }
> > >>
> > >> > > > -
> > >>
> > >> > > > -            Device (S70)
> > >>
> > >> > > > -            {
> > >>
> > >> > > > -                Name (_SUN, 0x0E)  // _SUN: Slot User Number
> > >>
> > >> > > > -                Name (_ADR, 0x000E0000)  // _ADR: Address
> > >>
> > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > >>
> > >> > > > -                {
> > >>
> > >> > > > -                    PCEJ (BSEL, _SUN)
> > >>
> > >> > > > -                }
> > >>
> > >> > > > -            }
> > >>
> > >> > > > -
> > >>
> > >> > > > -            Device (S78)
> > >>
> > >> > > > -            {
> > >>
> > >> > > > -                Name (_SUN, 0x0F)  // _SUN: Slot User Number
> > >>
> > >> > > > -                Name (_ADR, 0x000F0000)  // _ADR: Address
> > >>
> > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > >>
> > >> > > > -                {
> > >>
> > >> > > > -                    PCEJ (BSEL, _SUN)
> > >>
> > >> > > > -                }
> > >>
> > >> > > > -            }
> > >>
> > >> > > > -
> > >>
> > >> > > > -            Device (S80)
> > >>
> > >> > > > -            {
> > >>
> > >> > > > -                Name (_SUN, 0x10)  // _SUN: Slot User Number
> > >>
> > >> > > > -                Name (_ADR, 0x00100000)  // _ADR: Address
> > >>
> > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > >>
> > >> > > > -                {
> > >>
> > >> > > > -                    PCEJ (BSEL, _SUN)
> > >>
> > >> > > > -                }
> > >>
> > >> > > > -            }
> > >>
> > >> > > > -
> > >>
> > >> > > > -            Device (S88)
> > >>
> > >> > > > -            {
> > >>
> > >> > > > -                Name (_SUN, 0x11)  // _SUN: Slot User Number
> > >>
> > >> > > > -                Name (_ADR, 0x00110000)  // _ADR: Address
> > >>
> > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > >>
> > >> > > > -                {
> > >>
> > >> > > > -                    PCEJ (BSEL, _SUN)
> > >>
> > >> > > > -                }
> > >>
> > >> > > > -            }
> > >>
> > >> > > > -
> > >>
> > >> > > > -            Device (S90)
> > >>
> > >> > > > -            {
> > >>
> > >> > > > -                Name (_SUN, 0x12)  // _SUN: Slot User Number
> > >>
> > >> > > > -                Name (_ADR, 0x00120000)  // _ADR: Address
> > >>
> > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > >>
> > >> > > > -                {
> > >>
> > >> > > > -                    PCEJ (BSEL, _SUN)
> > >>
> > >> > > > -                }
> > >>
> > >> > > > -            }
> > >>
> > >> > > > -
> > >>
> > >> > > > -            Device (S98)
> > >>
> > >> > > > -            {
> > >>
> > >> > > > -                Name (_SUN, 0x13)  // _SUN: Slot User Number
> > >>
> > >> > > > -                Name (_ADR, 0x00130000)  // _ADR: Address
> > >>
> > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > >>
> > >> > > > -                {
> > >>
> > >> > > > -                    PCEJ (BSEL, _SUN)
> > >>
> > >> > > > -                }
> > >>
> > >> > > > -            }
> > >>
> > >> > > > -
> > >>
> > >> > > > -            Device (SA0)
> > >>
> > >> > > > -            {
> > >>
> > >> > > > -                Name (_SUN, 0x14)  // _SUN: Slot User Number
> > >>
> > >> > > > -                Name (_ADR, 0x00140000)  // _ADR: Address
> > >>
> > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > >>
> > >> > > > -                {
> > >>
> > >> > > > -                    PCEJ (BSEL, _SUN)
> > >>
> > >> > > > -                }
> > >>
> > >> > > > -            }
> > >>
> > >> > > > -
> > >>
> > >> > > > -            Device (SA8)
> > >>
> > >> > > > -            {
> > >>
> > >> > > > -                Name (_SUN, 0x15)  // _SUN: Slot User Number
> > >>
> > >> > > > -                Name (_ADR, 0x00150000)  // _ADR: Address
> > >>
> > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > >>
> > >> > > > -                {
> > >>
> > >> > > > -                    PCEJ (BSEL, _SUN)
> > >>
> > >> > > > -                }
> > >>
> > >> > > > -            }
> > >>
> > >> > > > -
> > >>
> > >> > > > -            Device (SB0)
> > >>
> > >> > > > -            {
> > >>
> > >> > > > -                Name (_SUN, 0x16)  // _SUN: Slot User Number
> > >>
> > >> > > > -                Name (_ADR, 0x00160000)  // _ADR: Address
> > >>
> > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > >>
> > >> > > > -                {
> > >>
> > >> > > > -                    PCEJ (BSEL, _SUN)
> > >>
> > >> > > > -                }
> > >>
> > >> > > > -            }
> > >>
> > >> > > > -
> > >>
> > >> > > > -            Device (SB8)
> > >>
> > >> > > > -            {
> > >>
> > >> > > > -                Name (_SUN, 0x17)  // _SUN: Slot User Number
> > >>
> > >> > > > -                Name (_ADR, 0x00170000)  // _ADR: Address
> > >>
> > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > >>
> > >> > > > -                {
> > >>
> > >> > > > -                    PCEJ (BSEL, _SUN)
> > >>
> > >> > > > -                }
> > >>
> > >> > > > -            }
> > >>
> > >> > > > -
> > >>
> > >> > > > -            Device (SC0)
> > >>
> > >> > > > -            {
> > >>
> > >> > > > -                Name (_SUN, 0x18)  // _SUN: Slot User Number
> > >>
> > >> > > > -                Name (_ADR, 0x00180000)  // _ADR: Address
> > >>
> > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > >>
> > >> > > > -                {
> > >>
> > >> > > > -                    PCEJ (BSEL, _SUN)
> > >>
> > >> > > > -                }
> > >>
> > >> > > > -            }
> > >>
> > >> > > > -
> > >>
> > >> > > > -            Device (SC8)
> > >>
> > >> > > > -            {
> > >>
> > >> > > > -                Name (_SUN, 0x19)  // _SUN: Slot User Number
> > >>
> > >> > > > -                Name (_ADR, 0x00190000)  // _ADR: Address
> > >>
> > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > >>
> > >> > > > -                {
> > >>
> > >> > > > -                    PCEJ (BSEL, _SUN)
> > >>
> > >> > > > -                }
> > >>
> > >> > > > -            }
> > >>
> > >> > > > -
> > >>
> > >> > > > -            Device (SD0)
> > >>
> > >> > > > -            {
> > >>
> > >> > > > -                Name (_SUN, 0x1A)  // _SUN: Slot User Number
> > >>
> > >> > > > -                Name (_ADR, 0x001A0000)  // _ADR: Address
> > >>
> > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > >>
> > >> > > > -                {
> > >>
> > >> > > > -                    PCEJ (BSEL, _SUN)
> > >>
> > >> > > > -                }
> > >>
> > >> > > > -            }
> > >>
> > >> > > > -
> > >>
> > >> > > > -            Device (SD8)
> > >>
> > >> > > > -            {
> > >>
> > >> > > > -                Name (_SUN, 0x1B)  // _SUN: Slot User Number
> > >>
> > >> > > > -                Name (_ADR, 0x001B0000)  // _ADR: Address
> > >>
> > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > >>
> > >> > > > -                {
> > >>
> > >> > > > -                    PCEJ (BSEL, _SUN)
> > >>
> > >> > > > -                }
> > >>
> > >> > > > -            }
> > >>
> > >> > > > -
> > >>
> > >> > > > -            Device (SE0)
> > >>
> > >> > > > -            {
> > >>
> > >> > > > -                Name (_SUN, 0x1C)  // _SUN: Slot User Number
> > >>
> > >> > > > -                Name (_ADR, 0x001C0000)  // _ADR: Address
> > >>
> > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > >>
> > >> > > > -                {
> > >>
> > >> > > > -                    PCEJ (BSEL, _SUN)
> > >>
> > >> > > > -                }
> > >>
> > >> > > > -            }
> > >>
> > >> > > > -
> > >>
> > >> > > > -            Device (SE8)
> > >>
> > >> > > > -            {
> > >>
> > >> > > > -                Name (_SUN, 0x1D)  // _SUN: Slot User Number
> > >>
> > >> > > > -                Name (_ADR, 0x001D0000)  // _ADR: Address
> > >>
> > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > >>
> > >> > > > -                {
> > >>
> > >> > > > -                    PCEJ (BSEL, _SUN)
> > >>
> > >> > > > -                }
> > >>
> > >> > > > -            }
> > >>
> > >> > > > -
> > >>
> > >> > > > -            Device (SF0)
> > >>
> > >> > > > -            {
> > >>
> > >> > > > -                Name (_SUN, 0x1E)  // _SUN: Slot User Number
> > >>
> > >> > > > -                Name (_ADR, 0x001E0000)  // _ADR: Address
> > >>
> > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > >>
> > >> > > > -                {
> > >>
> > >> > > > -                    PCEJ (BSEL, _SUN)
> > >>
> > >> > > > -                }
> > >>
> > >> > > > -            }
> > >>
> > >> > > > -
> > >>
> > >> > > > -            Device (SF8)
> > >>
> > >> > > > -            {
> > >>
> > >> > > > -                Name (_SUN, 0x1F)  // _SUN: Slot User Number
> > >>
> > >> > > > -                Name (_ADR, 0x001F0000)  // _ADR: Address
> > >>
> > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > >>
> > >> > > > -                {
> > >>
> > >> > > > -                    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)
> > >>
> > >> > > > -            }
> > >>
> > >> > > >          }
> > >>
> > >> > > >      }
> > >>
> > >> > > >  }
> > >>
> > >> > > >
> > >>
> > >>
> > >>
Ani Sinha Sept. 29, 2020, 10:41 a.m. UTC | #13
On Tue, Sep 29, 2020 at 4:07 PM Michael S. Tsirkin <mst@redhat.com> wrote:
>
> On Tue, Sep 29, 2020 at 04:02:07PM +0530, Ani Sinha wrote:
> > On Tue, Sep 29, 2020 at 4:00 PM Ani Sinha <ani@anisinha.ca> wrote:
> > >
> > > In your pull request the following patch is completely screwed up:
> > >
> > > commit cda2006eded0ed91974e1d9e7f9f288e65812a3e
> > > Author: Ani Sinha <ani@anisinha.ca>
> > > Date:   Tue Sep 29 03:22:52 2020 -0400
> > >
> > >     tests/acpi: update golden master DSDT binary table blobs for q35
> > >
> > >
> > > This is not my patch. It has all sorts of changes which does not
> > > belong there. Can you please check?
> >
> > See https://patchew.org/QEMU/20200929071948.281157-1-mst@redhat.com/20200929071948.281157-46-mst@redhat.com/
>
>
> I had to regenerate the binary, yes. That's par for the course.
> But it looks like I added disasssembled files. Will fix up and drop,
> thanks for noticing this.

I think DSDT.hbridge is wrong. The checksum looks weird:


+ *     Length           0x00000B89 (2953)
  *     Revision         0x01 **** 32-bit table (V1), no 64-bit math support
- *     Checksum         0x05

This file should be introduced just by one patch. my patch.

>
>
> >
> > >
> > > On Tue, Sep 29, 2020 at 3:20 PM Ani Sinha <ani@anisinha.ca> wrote:
> > > >
> > > >
> > > >
> > > > On Tue, Sep 29, 2020 at 3:12 PM Michael S. Tsirkin <mst@redhat.com> wrote:
> > > >>
> > > >> On Tue, Sep 29, 2020 at 02:21:06PM +0530, Ani Sinha wrote:
> > > >>
> > > >> > On Tue, Sep 29, 2020 at 1:53 PM Ani Sinha <ani@anisinha.ca> wrote:
> > > >>
> > > >> > >
> > > >>
> > > >> > > On Tue, Sep 29, 2020 at 12:56 PM Michael S. Tsirkin <mst@redhat.com> wrote:
> > > >>
> > > >> > > >
> > > >>
> > > >> > > > On Tue, Sep 29, 2020 at 12:53:17PM +0530, Ani Sinha wrote:
> > > >>
> > > >> > > > > On Tue, Sep 29, 2020 at 12:42 PM Michael S. Tsirkin <mst@redhat.com> wrote:
> > > >>
> > > >> > > > > >
> > > >>
> > > >> > > > > > On Fri, Sep 18, 2020 at 02:11:11PM +0530, Ani Sinha wrote:
> > > >>
> > > >> > > > > > > This change adds a new DSDT golden master table blob to test disabling
> > > >>
> > > >> > > > > > > hotplug on both pci root bus and pci bridges. Also reverts the change
> > > >>
> > > >> > > > > > > in file bios-tables-test-allowed-diff.h to make sure its now empty so that
> > > >>
> > > >> > > > > > > future modifications to acpi tables can be caught.
> > > >>
> > > >> > > > > > >
> > > >>
> > > >> > > > > > > The following is the disassembled diff between DSDT.hpbridge and DSDT.hpbrroot:
> > > >>
> > > >> > > > > > >
> > > >>
> > > >> > > > > > > @@ -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.hpbridge, Wed Sep 16 09:45:56 2020
> > > >>
> > > >> > > > > > > + * Disassembly of /tmp/aml-ECV9Q0, Wed Sep 16 09:45:56 2020
> > > >>
> > > >> > > > > > >   *
> > > >>
> > > >> > > > > > >   * Original Table Header:
> > > >>
> > > >> > > > > > >   *     Signature        "DSDT"
> > > >>
> > > >> > > > > > > - *     Length           0x0000131F (4895)
> > > >>
> > > >> > > > > > > + *     Length           0x00000B89 (2953)
> > > >>
> > > >> > > > > > >   *     Revision         0x01 **** 32-bit table (V1), no 64-bit math support
> > > >>
> > > >> > > > > > > - *     Checksum         0xF9
> > > >>
> > > >> > > > > > > + *     Checksum         0xA2
> > > >>
> > > >> > > > > > >   *     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
> > > >>
> > > >> > > > > > >          }
> > > >>
> > > >> > > > > > >
> > > >>
> > > >> > > > > > > @@ -234,64 +234,32 @@
> > > >>
> > > >> > > > > > >          {
> > > >>
> > > >> > > > > > >              Name (_HID, EisaId ("PNP0B00") /* AT Real-Time Clock */)  // _HID: Hardware ID
> > > >>
> > > >> > > > > > >              Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
> > > >>
> > > >> > > > > > >              {
> > > >>
> > > >> > > > > > >                  IO (Decode16,
> > > >>
> > > >> > > > > > >                      0x0070,             // Range Minimum
> > > >>
> > > >> > > > > > >                      0x0070,             // Range Maximum
> > > >>
> > > >> > > > > > >                      0x01,               // Alignment
> > > >>
> > > >> > > > > > >                      0x08,               // Length
> > > >>
> > > >> > > > > > >                      )
> > > >>
> > > >> > > > > > >                  IRQNoFlags ()
> > > >>
> > > >> > > > > > >                      {8}
> > > >>
> > > >> > > > > > >              })
> > > >>
> > > >> > > > > > >          }
> > > >>
> > > >> > > > > > >      }
> > > >>
> > > >> > > > > > >
> > > >>
> > > >> > > > > > > -    Scope (_SB.PCI0)
> > > >>
> > > >> > > > > > > -    {
> > > >>
> > > >> > > > > > > -        OperationRegion (PCST, SystemIO, 0xAE00, 0x08)
> > > >>
> > > >> > > > > > > -        Field (PCST, DWordAcc, NoLock, WriteAsZeros)
> > > >>
> > > >> > > > > > > -        {
> > > >>
> > > >> > > > > > > -            PCIU,   32,
> > > >>
> > > >> > > > > > > -            PCID,   32
> > > >>
> > > >> > > > > > > -        }
> > > >>
> > > >> > > > > > > -
> > > >>
> > > >> > > > > > > -        OperationRegion (SEJ, SystemIO, 0xAE08, 0x04)
> > > >>
> > > >> > > > > > > -        Field (SEJ, DWordAcc, NoLock, WriteAsZeros)
> > > >>
> > > >> > > > > > > -        {
> > > >>
> > > >> > > > > > > -            B0EJ,   32
> > > >>
> > > >> > > > > > > -        }
> > > >>
> > > >> > > > > > > -
> > > >>
> > > >> > > > > > > -        OperationRegion (BNMR, SystemIO, 0xAE10, 0x04)
> > > >>
> > > >> > > > > > > -        Field (BNMR, DWordAcc, NoLock, WriteAsZeros)
> > > >>
> > > >> > > > > > > -        {
> > > >>
> > > >> > > > > > > -            BNUM,   32
> > > >>
> > > >> > > > > > > -        }
> > > >>
> > > >> > > > > > > -
> > > >>
> > > >> > > > > > > -        Mutex (BLCK, 0x00)
> > > >>
> > > >> > > > > > > -        Method (PCEJ, 2, NotSerialized)
> > > >>
> > > >> > > > > > > -        {
> > > >>
> > > >> > > > > > > -            Acquire (BLCK, 0xFFFF)
> > > >>
> > > >> > > > > > > -            BNUM = Arg0
> > > >>
> > > >> > > > > > > -            B0EJ = (One << Arg1)
> > > >>
> > > >> > > > > > > -            Release (BLCK)
> > > >>
> > > >> > > > > > > -            Return (Zero)
> > > >>
> > > >> > > > > > > -        }
> > > >>
> > > >> > > > > > > -    }
> > > >>
> > > >> > > > > > > -
> > > >>
> > > >> > > > > > >      Scope (_SB)
> > > >>
> > > >> > > > > > >      {
> > > >>
> > > >> > > > > > >          Scope (PCI0)
> > > >>
> > > >> > > > > > >          {
> > > >>
> > > >> > > > > > >              Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
> > > >>
> > > >> > > > > > >              {
> > > >>
> > > >> > > > > > >                  Local0 = Package (0x80){}
> > > >>
> > > >> > > > > > >                  Local1 = Zero
> > > >>
> > > >> > > > > > >                  While ((Local1 < 0x80))
> > > >>
> > > >> > > > > > >                  {
> > > >>
> > > >> > > > > > >                      Local2 = (Local1 >> 0x02)
> > > >>
> > > >> > > > > > >                      Local3 = ((Local1 + Local2) & 0x03)
> > > >>
> > > >> > > > > > >                      If ((Local3 == Zero))
> > > >>
> > > >> > > > > > >                      {
> > > >>
> > > >> > > > > > >                          Local4 = Package (0x04)
> > > >>
> > > >> > > > > > >                              {
> > > >>
> > > >> > > > > > > @@ -690,38 +658,32 @@
> > > >>
> > > >> > > > > > >                  Method (_OST, 3, Serialized)  // _OST: OSPM Status Indication
> > > >>
> > > >> > > > > > >                  {
> > > >>
> > > >> > > > > > >                      COST (Zero, Arg0, Arg1, Arg2)
> > > >>
> > > >> > > > > > >                  }
> > > >>
> > > >> > > > > > >              }
> > > >>
> > > >> > > > > > >          }
> > > >>
> > > >> > > > > > >      }
> > > >>
> > > >> > > > > > >
> > > >>
> > > >> > > > > > >      Method (\_GPE._E02, 0, NotSerialized)  // _Exx: Edge-Triggered GPE
> > > >>
> > > >> > > > > > >      {
> > > >>
> > > >> > > > > > >          \_SB.CPUS.CSCN ()
> > > >>
> > > >> > > > > > >      }
> > > >>
> > > >> > > > > > >
> > > >>
> > > >> > > > > > >      Scope (_GPE)
> > > >>
> > > >> > > > > > >      {
> > > >>
> > > >> > > > > > >          Name (_HID, "ACPI0006" /* GPE Block Device */)  // _HID: Hardware ID
> > > >>
> > > >> > > > > > > -        Method (_E01, 0, NotSerialized)  // _Exx: Edge-Triggered GPE
> > > >>
> > > >> > > > > > > -        {
> > > >>
> > > >> > > > > > > -            Acquire (\_SB.PCI0.BLCK, 0xFFFF)
> > > >>
> > > >> > > > > > > -            \_SB.PCI0.PCNT ()
> > > >>
> > > >> > > > > > > -            Release (\_SB.PCI0.BLCK)
> > > >>
> > > >> > > > > > > -        }
> > > >>
> > > >> > > > > > >      }
> > > >>
> > > >> > > > > > >
> > > >>
> > > >> > > > > > >      Scope (\_SB.PCI0)
> > > >>
> > > >> > > > > > >      {
> > > >>
> > > >> > > > > > >          Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
> > > >>
> > > >> > > > > > >          {
> > > >>
> > > >> > > > > > >              WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
> > > >>
> > > >> > > > > > >                  0x0000,             // Granularity
> > > >>
> > > >> > > > > > >                  0x0000,             // Range Minimum
> > > >>
> > > >> > > > > > >                  0x00FF,             // Range Maximum
> > > >>
> > > >> > > > > > >                  0x0000,             // Translation Offset
> > > >>
> > > >> > > > > > >                  0x0100,             // Length
> > > >>
> > > >> > > > > > >                  ,, )
> > > >>
> > > >> > > > > > >              IO (Decode16,
> > > >>
> > > >> > > > > > >                  0x0CF8,             // Range Minimum
> > > >>
> > > >> > > > > > >                  0x0CF8,             // Range Maximum
> > > >>
> > > >> > > > > > > @@ -766,48 +728,32 @@
> > > >>
> > > >> > > > > > >          })
> > > >>
> > > >> > > > > > >          Device (GPE0)
> > > >>
> > > >> > > > > > >          {
> > > >>
> > > >> > > > > > >              Name (_HID, "PNP0A06" /* Generic Container Device */)  // _HID: Hardware ID
> > > >>
> > > >> > > > > > >              Name (_UID, "GPE0 resources")  // _UID: Unique ID
> > > >>
> > > >> > > > > > >              Name (_STA, 0x0B)  // _STA: Status
> > > >>
> > > >> > > > > > >              Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
> > > >>
> > > >> > > > > > >              {
> > > >>
> > > >> > > > > > >                  IO (Decode16,
> > > >>
> > > >> > > > > > >                      0xAFE0,             // Range Minimum
> > > >>
> > > >> > > > > > >                      0xAFE0,             // Range Maximum
> > > >>
> > > >> > > > > > >                      0x01,               // Alignment
> > > >>
> > > >> > > > > > >                      0x04,               // Length
> > > >>
> > > >> > > > > > >                      )
> > > >>
> > > >> > > > > > >              })
> > > >>
> > > >> > > > > > >          }
> > > >>
> > > >> > > > > > > -
> > > >>
> > > >> > > > > > > -        Device (PHPR)
> > > >>
> > > >> > > > > > > -        {
> > > >>
> > > >> > > > > > > -            Name (_HID, "PNP0A06" /* Generic Container Device */)  // _HID: Hardware ID
> > > >>
> > > >> > > > > > > -            Name (_UID, "PCI Hotplug resources")  // _UID: Unique ID
> > > >>
> > > >> > > > > > > -            Name (_STA, 0x0B)  // _STA: Status
> > > >>
> > > >> > > > > > > -            Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
> > > >>
> > > >> > > > > > > -            {
> > > >>
> > > >> > > > > > > -                IO (Decode16,
> > > >>
> > > >> > > > > > > -                    0xAE00,             // Range Minimum
> > > >>
> > > >> > > > > > > -                    0xAE00,             // Range Maximum
> > > >>
> > > >> > > > > > > -                    0x01,               // Alignment
> > > >>
> > > >> > > > > > > -                    0x14,               // Length
> > > >>
> > > >> > > > > > > -                    )
> > > >>
> > > >> > > > > > > -            })
> > > >>
> > > >> > > > > > > -        }
> > > >>
> > > >> > > > > > >      }
> > > >>
> > > >> > > > > > >
> > > >>
> > > >> > > > > > >      Scope (\)
> > > >>
> > > >> > > > > > >      {
> > > >>
> > > >> > > > > > >          Name (_S3, Package (0x04)  // _S3_: S3 System State
> > > >>
> > > >> > > > > > >          {
> > > >>
> > > >> > > > > > >              One,
> > > >>
> > > >> > > > > > >              One,
> > > >>
> > > >> > > > > > >              Zero,
> > > >>
> > > >> > > > > > >              Zero
> > > >>
> > > >> > > > > > >          })
> > > >>
> > > >> > > > > > >          Name (_S4, Package (0x04)  // _S4_: S4 System State
> > > >>
> > > >> > > > > > >          {
> > > >>
> > > >> > > > > > >              0x02,
> > > >>
> > > >> > > > > > >              0x02,
> > > >>
> > > >> > > > > > >              Zero,
> > > >>
> > > >> > > > > > > @@ -831,479 +777,48 @@
> > > >>
> > > >> > > > > > >              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
> > > >>
> > > >> > > > > > >              }
> > > >>
> > > >> > > > > > > -
> > > >>
> > > >> > > > > > > -            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)
> > > >>
> > > >> > > > > > > -            }
> > > >>
> > > >> > > > > > >          }
> > > >>
> > > >> > > > > > >      }
> > > >>
> > > >> > > > > > >  }
> > > >>
> > > >> > > > > >
> > > >>
> > > >> > > > > > This is not the only diff I see if I apply this patchset on
> > > >>
> > > >> > > > > > top of master.
> > > >>
> > > >> > > > > > Dropped this and the previous patch.
> > > >>
> > > >> > > > > > Please check what is going on and repost as appropriate.
> > > >>
> > > >> > > > >
> > > >>
> > > >> > > > > Which two ACPI DSDT files are you diffing? What diff are you getting?
> > > >>
> > > >> > > >
> > > >>
> > > >> > > >
> > > >>
> > > >> > > > diff -rup ./tests/data/acpi/pc/DSDT.hpbridge.dsl ./tests/data/acpi/pc/DSDT.hpbrroot.dsl
> > > >>
> > > >> > >
> > > >>
> > > >> > > I re-based my patchset on top of the latest qemu master and did a make
> > > >>
> > > >> > >  && make check-qtest-x86_64 V=1.
> > > >>
> > > >> > > They pass. I am seeing this diff:
> > > >>
> > > >> > > https://pastebin.ubuntu.com/p/BXy9GFfB2R/
> > > >>
> > > >> > >
> > > >>
> > > >> > > and it looks good to me.
> > > >>
> > > >> > >
> > > >>
> > > >> > > Not sure why your diff looks different. Maybe you can regenerate the blob?
> > > >>
> > > >> >
> > > >>
> > > >> > I did a full make check and it passed. I compared the diff again and
> > > >>
> > > >> > it's the same. I checked my tree and it looks clean. These are the
> > > >>
> > > >> > patches I have:
> > > >>
> > > >> >
> > > >>
> > > >> > $ git log --oneline
> > > >>
> > > >> > 20d1323e10 (HEAD -> master) qom: code hardening - have bound checking
> > > >>
> > > >> > while looping with integer value
> > > >>
> > > >> > 0f69dae0e2 Add a comment in bios-tables-test.c to clarify the reason
> > > >>
> > > >> > behind approach
> > > >>
> > > >> > dd9a8c3cd3 tests/acpi: add DSDT.hpbrroot DSDT table blob to test
> > > >>
> > > >> > global i440fx hotplug
> > > >>
> > > >> > 5b93474fe9 tests/acpi: unit test exercising global pci hotplug off for i440fx
> > > >>
> > > >> > 54c33e334a tests/acpi: update golden master DSDT binary table blobs for q35
> > > >>
> > > >> > 2279f61f30 piix4: don't reserve hw resources when hotplug is off globally
> > > >>
> > > >> > 1f61c524a0 Add ACPI DSDT tables for q35 that are being updated by the next patch
> > > >>
> > > >> > bdd823611b tests/acpi: add newly added acpi DSDT table blob for pci
> > > >>
> > > >> > bridge hotplug flag
> > > >>
> > > >> > 8c80f8fba9 tests/acpi: unit test for
> > > >>
> > > >> > 'acpi-pci-hotplug-with-bridge-support' bridge flag
> > > >>
> > > >> > e0a3142df9 tests/acpi: list added acpi table binary file for pci
> > > >>
> > > >> > bridge hotplug test
> > > >>
> > > >> > 0ba08317a8 i440fx/acpi: do not add hotplug related amls for cold plugged bridges
> > > >>
> > > >> > 73b191ade6 Fix a gap where acpi_pcihp_find_hotplug_bus() returns a
> > > >>
> > > >> > non-hotpluggable bus
> > > >>
> > > >> > ef0e526cc2 tests/acpi: add a new ACPI table in order to test root pci
> > > >>
> > > >> > hotplug on/off
> > > >>
> > > >> > c6d13264f8 tests/acpi: add new unit test to test hotplug off/on
> > > >>
> > > >> > feature on the root pci bus
> > > >>
> > > >> > 6901bada65 tests/acpi: mark addition of table DSDT.roothp for unit
> > > >>
> > > >> > testing root pci hotplug
> > > >>
> > > >> > 74504514b1 (origin/master, origin/HEAD) Merge remote-tracking branch
> > > >>
> > > >> > 'remotes/alistair/tags/pull-register-20200927' into staging
> > > >>
> > > >>
> > > >>
> > > >> Try applying on top of latest pull request?
> > > >
> > > >
> > > > Maybe I'm missing something but can you point me to the latest pull request?
> > > >>
> > > >>
> > > >>
> > > >>
> > > >>
> > > >>
> > > >>
> > > >> >
> > > >>
> > > >> > >
> > > >>
> > > >> > > >
> > > >>
> > > >> > > >
> > > >>
> > > >> > > >
> > > >>
> > > >> > > > --- ./tests/data/acpi/pc/DSDT.hpbridge.dsl      2020-09-29 02:44:43.874622404 -0400
> > > >>
> > > >> > > > +++ ./tests/data/acpi/pc/DSDT.hpbrroot.dsl      2020-09-29 02:44:43.876622403 -0400
> > > >>
> > > >> > > > @@ -5,13 +5,13 @@
> > > >>
> > > >> > > >   *
> > > >>
> > > >> > > >   * Disassembling to symbolic ASL+ operators
> > > >>
> > > >> > > >   *
> > > >>
> > > >> > > > - * Disassembly of tests/data/acpi/pc/DSDT.hpbridge, Tue Sep 29 02:44:43 2020
> > > >>
> > > >> > > > + * Disassembly of tests/data/acpi/pc/DSDT.hpbrroot, Tue Sep 29 02:44:43 2020
> > > >>
> > > >> > > >   *
> > > >>
> > > >> > > >   * Original Table Header:
> > > >>
> > > >> > > >   *     Signature        "DSDT"
> > > >>
> > > >> > > > - *     Length           0x0000139D (5021)
> > > >>
> > > >> > > > + *     Length           0x00000B89 (2953)
> > > >>
> > > >> > > >   *     Revision         0x01 **** 32-bit table (V1), no 64-bit math support
> > > >>
> > > >> > > > - *     Checksum         0x05
> > > >>
> > > >> > > > + *     Checksum         0xA2
> > > >>
> > > >> > > >   *     OEM ID           "BOCHS "
> > > >>
> > > >> > > >   *     OEM Table ID     "BXPCDSDT"
> > > >>
> > > >> > > >   *     OEM Revision     0x00000001 (1)
> > > >>
> > > >> > > > @@ -247,38 +247,6 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
> > > >>
> > > >> > > >          }
> > > >>
> > > >> > > >      }
> > > >>
> > > >> > > >
> > > >>
> > > >> > > > -    Scope (_SB.PCI0)
> > > >>
> > > >> > > > -    {
> > > >>
> > > >> > > > -        OperationRegion (PCST, SystemIO, 0xAE00, 0x08)
> > > >>
> > > >> > > > -        Field (PCST, DWordAcc, NoLock, WriteAsZeros)
> > > >>
> > > >> > > > -        {
> > > >>
> > > >> > > > -            PCIU,   32,
> > > >>
> > > >> > > > -            PCID,   32
> > > >>
> > > >> > > > -        }
> > > >>
> > > >> > > > -
> > > >>
> > > >> > > > -        OperationRegion (SEJ, SystemIO, 0xAE08, 0x04)
> > > >>
> > > >> > > > -        Field (SEJ, DWordAcc, NoLock, WriteAsZeros)
> > > >>
> > > >> > > > -        {
> > > >>
> > > >> > > > -            B0EJ,   32
> > > >>
> > > >> > > > -        }
> > > >>
> > > >> > > > -
> > > >>
> > > >> > > > -        OperationRegion (BNMR, SystemIO, 0xAE10, 0x04)
> > > >>
> > > >> > > > -        Field (BNMR, DWordAcc, NoLock, WriteAsZeros)
> > > >>
> > > >> > > > -        {
> > > >>
> > > >> > > > -            BNUM,   32
> > > >>
> > > >> > > > -        }
> > > >>
> > > >> > > > -
> > > >>
> > > >> > > > -        Mutex (BLCK, 0x00)
> > > >>
> > > >> > > > -        Method (PCEJ, 2, NotSerialized)
> > > >>
> > > >> > > > -        {
> > > >>
> > > >> > > > -            Acquire (BLCK, 0xFFFF)
> > > >>
> > > >> > > > -            BNUM = Arg0
> > > >>
> > > >> > > > -            B0EJ = (One << Arg1)
> > > >>
> > > >> > > > -            Release (BLCK)
> > > >>
> > > >> > > > -            Return (Zero)
> > > >>
> > > >> > > > -        }
> > > >>
> > > >> > > > -    }
> > > >>
> > > >> > > > -
> > > >>
> > > >> > > >      Scope (_SB)
> > > >>
> > > >> > > >      {
> > > >>
> > > >> > > >          Scope (PCI0)
> > > >>
> > > >> > > > @@ -643,56 +611,22 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
> > > >>
> > > >> > > >              Method (CSCN, 0, Serialized)
> > > >>
> > > >> > > >              {
> > > >>
> > > >> > > >                  Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF)
> > > >>
> > > >> > > > -                Name (CNEW, Package (0xFF){})
> > > >>
> > > >> > > > -                Local3 = Zero
> > > >>
> > > >> > > > -                Local4 = One
> > > >>
> > > >> > > > -                While ((Local4 == One))
> > > >>
> > > >> > > > +                Local0 = One
> > > >>
> > > >> > > > +                While ((Local0 == One))
> > > >>
> > > >> > > >                  {
> > > >>
> > > >> > > > -                    Local4 = Zero
> > > >>
> > > >> > > > -                    Local0 = One
> > > >>
> > > >> > > > -                    Local1 = Zero
> > > >>
> > > >> > > > -                    While (((Local0 == One) && (Local3 < One)))
> > > >>
> > > >> > > > +                    Local0 = Zero
> > > >>
> > > >> > > > +                    \_SB.PCI0.PRES.CCMD = Zero
> > > >>
> > > >> > > > +                    If ((\_SB.PCI0.PRES.CINS == One))
> > > >>
> > > >> > > >                      {
> > > >>
> > > >> > > > -                        Local0 = Zero
> > > >>
> > > >> > > > -                        \_SB.PCI0.PRES.CSEL = Local3
> > > >>
> > > >> > > > -                        \_SB.PCI0.PRES.CCMD = Zero
> > > >>
> > > >> > > > -                        If ((\_SB.PCI0.PRES.CDAT < Local3))
> > > >>
> > > >> > > > -                        {
> > > >>
> > > >> > > > -                            Break
> > > >>
> > > >> > > > -                        }
> > > >>
> > > >> > > > -
> > > >>
> > > >> > > > -                        If ((Local1 == 0xFF))
> > > >>
> > > >> > > > -                        {
> > > >>
> > > >> > > > -                            Local4 = One
> > > >>
> > > >> > > > -                            Break
> > > >>
> > > >> > > > -                        }
> > > >>
> > > >> > > > -
> > > >>
> > > >> > > > -                        Local3 = \_SB.PCI0.PRES.CDAT
> > > >>
> > > >> > > > -                        If ((\_SB.PCI0.PRES.CINS == One))
> > > >>
> > > >> > > > -                        {
> > > >>
> > > >> > > > -                            CNEW [Local1] = Local3
> > > >>
> > > >> > > > -                            Local1++
> > > >>
> > > >> > > > -                            Local0 = One
> > > >>
> > > >> > > > -                        }
> > > >>
> > > >> > > > -                        ElseIf ((\_SB.PCI0.PRES.CRMV == One))
> > > >>
> > > >> > > > -                        {
> > > >>
> > > >> > > > -                            CTFY (Local3, 0x03)
> > > >>
> > > >> > > > -                            \_SB.PCI0.PRES.CRMV = One
> > > >>
> > > >> > > > -                            Local0 = One
> > > >>
> > > >> > > > -                        }
> > > >>
> > > >> > > > -
> > > >>
> > > >> > > > -                        Local3++
> > > >>
> > > >> > > > +                        CTFY (\_SB.PCI0.PRES.CDAT, One)
> > > >>
> > > >> > > > +                        \_SB.PCI0.PRES.CINS = One
> > > >>
> > > >> > > > +                        Local0 = One
> > > >>
> > > >> > > >                      }
> > > >>
> > > >> > > > -
> > > >>
> > > >> > > > -                    Local2 = Zero
> > > >>
> > > >> > > > -                    While ((Local2 < Local1))
> > > >>
> > > >> > > > +                    ElseIf ((\_SB.PCI0.PRES.CRMV == One))
> > > >>
> > > >> > > >                      {
> > > >>
> > > >> > > > -                        Local3 = DerefOf (CNEW [Local2])
> > > >>
> > > >> > > > -                        CTFY (Local3, One)
> > > >>
> > > >> > > > -                        Debug = Local3
> > > >>
> > > >> > > > -                        \_SB.PCI0.PRES.CSEL = Local3
> > > >>
> > > >> > > > -                        \_SB.PCI0.PRES.CINS = One
> > > >>
> > > >> > > > -                        Local2++
> > > >>
> > > >> > > > +                        CTFY (\_SB.PCI0.PRES.CDAT, 0x03)
> > > >>
> > > >> > > > +                        \_SB.PCI0.PRES.CRMV = One
> > > >>
> > > >> > > > +                        Local0 = One
> > > >>
> > > >> > > >                      }
> > > >>
> > > >> > > >                  }
> > > >>
> > > >> > > >
> > > >>
> > > >> > > > @@ -737,12 +671,6 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
> > > >>
> > > >> > > >      Scope (_GPE)
> > > >>
> > > >> > > >      {
> > > >>
> > > >> > > >          Name (_HID, "ACPI0006" /* GPE Block Device */)  // _HID: Hardware ID
> > > >>
> > > >> > > > -        Method (_E01, 0, NotSerialized)  // _Exx: Edge-Triggered GPE, xx=0x00-0xFF
> > > >>
> > > >> > > > -        {
> > > >>
> > > >> > > > -            Acquire (\_SB.PCI0.BLCK, 0xFFFF)
> > > >>
> > > >> > > > -            \_SB.PCI0.PCNT ()
> > > >>
> > > >> > > > -            Release (\_SB.PCI0.BLCK)
> > > >>
> > > >> > > > -        }
> > > >>
> > > >> > > >      }
> > > >>
> > > >> > > >
> > > >>
> > > >> > > >      Scope (\_SB.PCI0)
> > > >>
> > > >> > > > @@ -813,22 +741,6 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
> > > >>
> > > >> > > >                      )
> > > >>
> > > >> > > >              })
> > > >>
> > > >> > > >          }
> > > >>
> > > >> > > > -
> > > >>
> > > >> > > > -        Device (PHPR)
> > > >>
> > > >> > > > -        {
> > > >>
> > > >> > > > -            Name (_HID, "PNP0A06" /* Generic Container Device */)  // _HID: Hardware ID
> > > >>
> > > >> > > > -            Name (_UID, "PCI Hotplug resources")  // _UID: Unique ID
> > > >>
> > > >> > > > -            Name (_STA, 0x0B)  // _STA: Status
> > > >>
> > > >> > > > -            Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
> > > >>
> > > >> > > > -            {
> > > >>
> > > >> > > > -                IO (Decode16,
> > > >>
> > > >> > > > -                    0xAE00,             // Range Minimum
> > > >>
> > > >> > > > -                    0xAE00,             // Range Maximum
> > > >>
> > > >> > > > -                    0x01,               // Alignment
> > > >>
> > > >> > > > -                    0x14,               // Length
> > > >>
> > > >> > > > -                    )
> > > >>
> > > >> > > > -            })
> > > >>
> > > >> > > > -        }
> > > >>
> > > >> > > >      }
> > > >>
> > > >> > > >
> > > >>
> > > >> > > >      Scope (\)
> > > >>
> > > >> > > > @@ -878,7 +790,6 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
> > > >>
> > > >> > > >      {
> > > >>
> > > >> > > >          Scope (PCI0)
> > > >>
> > > >> > > >          {
> > > >>
> > > >> > > > -            Name (BSEL, Zero)
> > > >>
> > > >> > > >              Device (S00)
> > > >>
> > > >> > > >              {
> > > >>
> > > >> > > >                  Name (_ADR, Zero)  // _ADR: Address
> > > >>
> > > >> > > > @@ -907,436 +818,6 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
> > > >>
> > > >> > > >              {
> > > >>
> > > >> > > >                  Name (_ADR, 0x00030000)  // _ADR: Address
> > > >>
> > > >> > > >              }
> > > >>
> > > >> > > > -
> > > >>
> > > >> > > > -            Device (S20)
> > > >>
> > > >> > > > -            {
> > > >>
> > > >> > > > -                Name (_SUN, 0x04)  // _SUN: Slot User Number
> > > >>
> > > >> > > > -                Name (_ADR, 0x00040000)  // _ADR: Address
> > > >>
> > > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > >>
> > > >> > > > -                {
> > > >>
> > > >> > > > -                    PCEJ (BSEL, _SUN)
> > > >>
> > > >> > > > -                }
> > > >>
> > > >> > > > -            }
> > > >>
> > > >> > > > -
> > > >>
> > > >> > > > -            Device (S28)
> > > >>
> > > >> > > > -            {
> > > >>
> > > >> > > > -                Name (_SUN, 0x05)  // _SUN: Slot User Number
> > > >>
> > > >> > > > -                Name (_ADR, 0x00050000)  // _ADR: Address
> > > >>
> > > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > >>
> > > >> > > > -                {
> > > >>
> > > >> > > > -                    PCEJ (BSEL, _SUN)
> > > >>
> > > >> > > > -                }
> > > >>
> > > >> > > > -            }
> > > >>
> > > >> > > > -
> > > >>
> > > >> > > > -            Device (S30)
> > > >>
> > > >> > > > -            {
> > > >>
> > > >> > > > -                Name (_SUN, 0x06)  // _SUN: Slot User Number
> > > >>
> > > >> > > > -                Name (_ADR, 0x00060000)  // _ADR: Address
> > > >>
> > > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > >>
> > > >> > > > -                {
> > > >>
> > > >> > > > -                    PCEJ (BSEL, _SUN)
> > > >>
> > > >> > > > -                }
> > > >>
> > > >> > > > -            }
> > > >>
> > > >> > > > -
> > > >>
> > > >> > > > -            Device (S38)
> > > >>
> > > >> > > > -            {
> > > >>
> > > >> > > > -                Name (_SUN, 0x07)  // _SUN: Slot User Number
> > > >>
> > > >> > > > -                Name (_ADR, 0x00070000)  // _ADR: Address
> > > >>
> > > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > >>
> > > >> > > > -                {
> > > >>
> > > >> > > > -                    PCEJ (BSEL, _SUN)
> > > >>
> > > >> > > > -                }
> > > >>
> > > >> > > > -            }
> > > >>
> > > >> > > > -
> > > >>
> > > >> > > > -            Device (S40)
> > > >>
> > > >> > > > -            {
> > > >>
> > > >> > > > -                Name (_SUN, 0x08)  // _SUN: Slot User Number
> > > >>
> > > >> > > > -                Name (_ADR, 0x00080000)  // _ADR: Address
> > > >>
> > > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > >>
> > > >> > > > -                {
> > > >>
> > > >> > > > -                    PCEJ (BSEL, _SUN)
> > > >>
> > > >> > > > -                }
> > > >>
> > > >> > > > -            }
> > > >>
> > > >> > > > -
> > > >>
> > > >> > > > -            Device (S48)
> > > >>
> > > >> > > > -            {
> > > >>
> > > >> > > > -                Name (_SUN, 0x09)  // _SUN: Slot User Number
> > > >>
> > > >> > > > -                Name (_ADR, 0x00090000)  // _ADR: Address
> > > >>
> > > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > >>
> > > >> > > > -                {
> > > >>
> > > >> > > > -                    PCEJ (BSEL, _SUN)
> > > >>
> > > >> > > > -                }
> > > >>
> > > >> > > > -            }
> > > >>
> > > >> > > > -
> > > >>
> > > >> > > > -            Device (S50)
> > > >>
> > > >> > > > -            {
> > > >>
> > > >> > > > -                Name (_SUN, 0x0A)  // _SUN: Slot User Number
> > > >>
> > > >> > > > -                Name (_ADR, 0x000A0000)  // _ADR: Address
> > > >>
> > > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > >>
> > > >> > > > -                {
> > > >>
> > > >> > > > -                    PCEJ (BSEL, _SUN)
> > > >>
> > > >> > > > -                }
> > > >>
> > > >> > > > -            }
> > > >>
> > > >> > > > -
> > > >>
> > > >> > > > -            Device (S58)
> > > >>
> > > >> > > > -            {
> > > >>
> > > >> > > > -                Name (_SUN, 0x0B)  // _SUN: Slot User Number
> > > >>
> > > >> > > > -                Name (_ADR, 0x000B0000)  // _ADR: Address
> > > >>
> > > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > >>
> > > >> > > > -                {
> > > >>
> > > >> > > > -                    PCEJ (BSEL, _SUN)
> > > >>
> > > >> > > > -                }
> > > >>
> > > >> > > > -            }
> > > >>
> > > >> > > > -
> > > >>
> > > >> > > > -            Device (S60)
> > > >>
> > > >> > > > -            {
> > > >>
> > > >> > > > -                Name (_SUN, 0x0C)  // _SUN: Slot User Number
> > > >>
> > > >> > > > -                Name (_ADR, 0x000C0000)  // _ADR: Address
> > > >>
> > > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > >>
> > > >> > > > -                {
> > > >>
> > > >> > > > -                    PCEJ (BSEL, _SUN)
> > > >>
> > > >> > > > -                }
> > > >>
> > > >> > > > -            }
> > > >>
> > > >> > > > -
> > > >>
> > > >> > > > -            Device (S68)
> > > >>
> > > >> > > > -            {
> > > >>
> > > >> > > > -                Name (_SUN, 0x0D)  // _SUN: Slot User Number
> > > >>
> > > >> > > > -                Name (_ADR, 0x000D0000)  // _ADR: Address
> > > >>
> > > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > >>
> > > >> > > > -                {
> > > >>
> > > >> > > > -                    PCEJ (BSEL, _SUN)
> > > >>
> > > >> > > > -                }
> > > >>
> > > >> > > > -            }
> > > >>
> > > >> > > > -
> > > >>
> > > >> > > > -            Device (S70)
> > > >>
> > > >> > > > -            {
> > > >>
> > > >> > > > -                Name (_SUN, 0x0E)  // _SUN: Slot User Number
> > > >>
> > > >> > > > -                Name (_ADR, 0x000E0000)  // _ADR: Address
> > > >>
> > > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > >>
> > > >> > > > -                {
> > > >>
> > > >> > > > -                    PCEJ (BSEL, _SUN)
> > > >>
> > > >> > > > -                }
> > > >>
> > > >> > > > -            }
> > > >>
> > > >> > > > -
> > > >>
> > > >> > > > -            Device (S78)
> > > >>
> > > >> > > > -            {
> > > >>
> > > >> > > > -                Name (_SUN, 0x0F)  // _SUN: Slot User Number
> > > >>
> > > >> > > > -                Name (_ADR, 0x000F0000)  // _ADR: Address
> > > >>
> > > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > >>
> > > >> > > > -                {
> > > >>
> > > >> > > > -                    PCEJ (BSEL, _SUN)
> > > >>
> > > >> > > > -                }
> > > >>
> > > >> > > > -            }
> > > >>
> > > >> > > > -
> > > >>
> > > >> > > > -            Device (S80)
> > > >>
> > > >> > > > -            {
> > > >>
> > > >> > > > -                Name (_SUN, 0x10)  // _SUN: Slot User Number
> > > >>
> > > >> > > > -                Name (_ADR, 0x00100000)  // _ADR: Address
> > > >>
> > > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > >>
> > > >> > > > -                {
> > > >>
> > > >> > > > -                    PCEJ (BSEL, _SUN)
> > > >>
> > > >> > > > -                }
> > > >>
> > > >> > > > -            }
> > > >>
> > > >> > > > -
> > > >>
> > > >> > > > -            Device (S88)
> > > >>
> > > >> > > > -            {
> > > >>
> > > >> > > > -                Name (_SUN, 0x11)  // _SUN: Slot User Number
> > > >>
> > > >> > > > -                Name (_ADR, 0x00110000)  // _ADR: Address
> > > >>
> > > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > >>
> > > >> > > > -                {
> > > >>
> > > >> > > > -                    PCEJ (BSEL, _SUN)
> > > >>
> > > >> > > > -                }
> > > >>
> > > >> > > > -            }
> > > >>
> > > >> > > > -
> > > >>
> > > >> > > > -            Device (S90)
> > > >>
> > > >> > > > -            {
> > > >>
> > > >> > > > -                Name (_SUN, 0x12)  // _SUN: Slot User Number
> > > >>
> > > >> > > > -                Name (_ADR, 0x00120000)  // _ADR: Address
> > > >>
> > > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > >>
> > > >> > > > -                {
> > > >>
> > > >> > > > -                    PCEJ (BSEL, _SUN)
> > > >>
> > > >> > > > -                }
> > > >>
> > > >> > > > -            }
> > > >>
> > > >> > > > -
> > > >>
> > > >> > > > -            Device (S98)
> > > >>
> > > >> > > > -            {
> > > >>
> > > >> > > > -                Name (_SUN, 0x13)  // _SUN: Slot User Number
> > > >>
> > > >> > > > -                Name (_ADR, 0x00130000)  // _ADR: Address
> > > >>
> > > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > >>
> > > >> > > > -                {
> > > >>
> > > >> > > > -                    PCEJ (BSEL, _SUN)
> > > >>
> > > >> > > > -                }
> > > >>
> > > >> > > > -            }
> > > >>
> > > >> > > > -
> > > >>
> > > >> > > > -            Device (SA0)
> > > >>
> > > >> > > > -            {
> > > >>
> > > >> > > > -                Name (_SUN, 0x14)  // _SUN: Slot User Number
> > > >>
> > > >> > > > -                Name (_ADR, 0x00140000)  // _ADR: Address
> > > >>
> > > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > >>
> > > >> > > > -                {
> > > >>
> > > >> > > > -                    PCEJ (BSEL, _SUN)
> > > >>
> > > >> > > > -                }
> > > >>
> > > >> > > > -            }
> > > >>
> > > >> > > > -
> > > >>
> > > >> > > > -            Device (SA8)
> > > >>
> > > >> > > > -            {
> > > >>
> > > >> > > > -                Name (_SUN, 0x15)  // _SUN: Slot User Number
> > > >>
> > > >> > > > -                Name (_ADR, 0x00150000)  // _ADR: Address
> > > >>
> > > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > >>
> > > >> > > > -                {
> > > >>
> > > >> > > > -                    PCEJ (BSEL, _SUN)
> > > >>
> > > >> > > > -                }
> > > >>
> > > >> > > > -            }
> > > >>
> > > >> > > > -
> > > >>
> > > >> > > > -            Device (SB0)
> > > >>
> > > >> > > > -            {
> > > >>
> > > >> > > > -                Name (_SUN, 0x16)  // _SUN: Slot User Number
> > > >>
> > > >> > > > -                Name (_ADR, 0x00160000)  // _ADR: Address
> > > >>
> > > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > >>
> > > >> > > > -                {
> > > >>
> > > >> > > > -                    PCEJ (BSEL, _SUN)
> > > >>
> > > >> > > > -                }
> > > >>
> > > >> > > > -            }
> > > >>
> > > >> > > > -
> > > >>
> > > >> > > > -            Device (SB8)
> > > >>
> > > >> > > > -            {
> > > >>
> > > >> > > > -                Name (_SUN, 0x17)  // _SUN: Slot User Number
> > > >>
> > > >> > > > -                Name (_ADR, 0x00170000)  // _ADR: Address
> > > >>
> > > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > >>
> > > >> > > > -                {
> > > >>
> > > >> > > > -                    PCEJ (BSEL, _SUN)
> > > >>
> > > >> > > > -                }
> > > >>
> > > >> > > > -            }
> > > >>
> > > >> > > > -
> > > >>
> > > >> > > > -            Device (SC0)
> > > >>
> > > >> > > > -            {
> > > >>
> > > >> > > > -                Name (_SUN, 0x18)  // _SUN: Slot User Number
> > > >>
> > > >> > > > -                Name (_ADR, 0x00180000)  // _ADR: Address
> > > >>
> > > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > >>
> > > >> > > > -                {
> > > >>
> > > >> > > > -                    PCEJ (BSEL, _SUN)
> > > >>
> > > >> > > > -                }
> > > >>
> > > >> > > > -            }
> > > >>
> > > >> > > > -
> > > >>
> > > >> > > > -            Device (SC8)
> > > >>
> > > >> > > > -            {
> > > >>
> > > >> > > > -                Name (_SUN, 0x19)  // _SUN: Slot User Number
> > > >>
> > > >> > > > -                Name (_ADR, 0x00190000)  // _ADR: Address
> > > >>
> > > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > >>
> > > >> > > > -                {
> > > >>
> > > >> > > > -                    PCEJ (BSEL, _SUN)
> > > >>
> > > >> > > > -                }
> > > >>
> > > >> > > > -            }
> > > >>
> > > >> > > > -
> > > >>
> > > >> > > > -            Device (SD0)
> > > >>
> > > >> > > > -            {
> > > >>
> > > >> > > > -                Name (_SUN, 0x1A)  // _SUN: Slot User Number
> > > >>
> > > >> > > > -                Name (_ADR, 0x001A0000)  // _ADR: Address
> > > >>
> > > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > >>
> > > >> > > > -                {
> > > >>
> > > >> > > > -                    PCEJ (BSEL, _SUN)
> > > >>
> > > >> > > > -                }
> > > >>
> > > >> > > > -            }
> > > >>
> > > >> > > > -
> > > >>
> > > >> > > > -            Device (SD8)
> > > >>
> > > >> > > > -            {
> > > >>
> > > >> > > > -                Name (_SUN, 0x1B)  // _SUN: Slot User Number
> > > >>
> > > >> > > > -                Name (_ADR, 0x001B0000)  // _ADR: Address
> > > >>
> > > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > >>
> > > >> > > > -                {
> > > >>
> > > >> > > > -                    PCEJ (BSEL, _SUN)
> > > >>
> > > >> > > > -                }
> > > >>
> > > >> > > > -            }
> > > >>
> > > >> > > > -
> > > >>
> > > >> > > > -            Device (SE0)
> > > >>
> > > >> > > > -            {
> > > >>
> > > >> > > > -                Name (_SUN, 0x1C)  // _SUN: Slot User Number
> > > >>
> > > >> > > > -                Name (_ADR, 0x001C0000)  // _ADR: Address
> > > >>
> > > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > >>
> > > >> > > > -                {
> > > >>
> > > >> > > > -                    PCEJ (BSEL, _SUN)
> > > >>
> > > >> > > > -                }
> > > >>
> > > >> > > > -            }
> > > >>
> > > >> > > > -
> > > >>
> > > >> > > > -            Device (SE8)
> > > >>
> > > >> > > > -            {
> > > >>
> > > >> > > > -                Name (_SUN, 0x1D)  // _SUN: Slot User Number
> > > >>
> > > >> > > > -                Name (_ADR, 0x001D0000)  // _ADR: Address
> > > >>
> > > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > >>
> > > >> > > > -                {
> > > >>
> > > >> > > > -                    PCEJ (BSEL, _SUN)
> > > >>
> > > >> > > > -                }
> > > >>
> > > >> > > > -            }
> > > >>
> > > >> > > > -
> > > >>
> > > >> > > > -            Device (SF0)
> > > >>
> > > >> > > > -            {
> > > >>
> > > >> > > > -                Name (_SUN, 0x1E)  // _SUN: Slot User Number
> > > >>
> > > >> > > > -                Name (_ADR, 0x001E0000)  // _ADR: Address
> > > >>
> > > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > >>
> > > >> > > > -                {
> > > >>
> > > >> > > > -                    PCEJ (BSEL, _SUN)
> > > >>
> > > >> > > > -                }
> > > >>
> > > >> > > > -            }
> > > >>
> > > >> > > > -
> > > >>
> > > >> > > > -            Device (SF8)
> > > >>
> > > >> > > > -            {
> > > >>
> > > >> > > > -                Name (_SUN, 0x1F)  // _SUN: Slot User Number
> > > >>
> > > >> > > > -                Name (_ADR, 0x001F0000)  // _ADR: Address
> > > >>
> > > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > >>
> > > >> > > > -                {
> > > >>
> > > >> > > > -                    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)
> > > >>
> > > >> > > > -            }
> > > >>
> > > >> > > >          }
> > > >>
> > > >> > > >      }
> > > >>
> > > >> > > >  }
> > > >>
> > > >> > > >
> > > >>
> > > >>
> > > >>
>
Ani Sinha Sept. 29, 2020, 10:50 a.m. UTC | #14
as

On Tue, Sep 29, 2020 at 4:11 PM Ani Sinha <ani@anisinha.ca> wrote:
>
> On Tue, Sep 29, 2020 at 4:07 PM Michael S. Tsirkin <mst@redhat.com> wrote:
> >
> > On Tue, Sep 29, 2020 at 04:02:07PM +0530, Ani Sinha wrote:
> > > On Tue, Sep 29, 2020 at 4:00 PM Ani Sinha <ani@anisinha.ca> wrote:
> > > >
> > > > In your pull request the following patch is completely screwed up:
> > > >
> > > > commit cda2006eded0ed91974e1d9e7f9f288e65812a3e
> > > > Author: Ani Sinha <ani@anisinha.ca>
> > > > Date:   Tue Sep 29 03:22:52 2020 -0400
> > > >
> > > >     tests/acpi: update golden master DSDT binary table blobs for q35
> > > >
> > > >
> > > > This is not my patch. It has all sorts of changes which does not
> > > > belong there. Can you please check?
> > >
> > > See https://patchew.org/QEMU/20200929071948.281157-1-mst@redhat.com/20200929071948.281157-46-mst@redhat.com/
> >
> >
> > I had to regenerate the binary, yes. That's par for the course.
> > But it looks like I added disasssembled files. Will fix up and drop,
> > thanks for noticing this.

It's probably worthwhile to regenerate DSDT.hpbrroot as well and then
do the diff and compare.

>
> I think DSDT.hbridge is wrong. The checksum looks weird:
>
>
> + *     Length           0x00000B89 (2953)
>   *     Revision         0x01 **** 32-bit table (V1), no 64-bit math support
> - *     Checksum         0x05
>
> This file should be introduced just by one patch. my patch.
>
> >
> >
> > >
> > > >
> > > > On Tue, Sep 29, 2020 at 3:20 PM Ani Sinha <ani@anisinha.ca> wrote:
> > > > >
> > > > >
> > > > >
> > > > > On Tue, Sep 29, 2020 at 3:12 PM Michael S. Tsirkin <mst@redhat.com> wrote:
> > > > >>
> > > > >> On Tue, Sep 29, 2020 at 02:21:06PM +0530, Ani Sinha wrote:
> > > > >>
> > > > >> > On Tue, Sep 29, 2020 at 1:53 PM Ani Sinha <ani@anisinha.ca> wrote:
> > > > >>
> > > > >> > >
> > > > >>
> > > > >> > > On Tue, Sep 29, 2020 at 12:56 PM Michael S. Tsirkin <mst@redhat.com> wrote:
> > > > >>
> > > > >> > > >
> > > > >>
> > > > >> > > > On Tue, Sep 29, 2020 at 12:53:17PM +0530, Ani Sinha wrote:
> > > > >>
> > > > >> > > > > On Tue, Sep 29, 2020 at 12:42 PM Michael S. Tsirkin <mst@redhat.com> wrote:
> > > > >>
> > > > >> > > > > >
> > > > >>
> > > > >> > > > > > On Fri, Sep 18, 2020 at 02:11:11PM +0530, Ani Sinha wrote:
> > > > >>
> > > > >> > > > > > > This change adds a new DSDT golden master table blob to test disabling
> > > > >>
> > > > >> > > > > > > hotplug on both pci root bus and pci bridges. Also reverts the change
> > > > >>
> > > > >> > > > > > > in file bios-tables-test-allowed-diff.h to make sure its now empty so that
> > > > >>
> > > > >> > > > > > > future modifications to acpi tables can be caught.
> > > > >>
> > > > >> > > > > > >
> > > > >>
> > > > >> > > > > > > The following is the disassembled diff between DSDT.hpbridge and DSDT.hpbrroot:
> > > > >>
> > > > >> > > > > > >
> > > > >>
> > > > >> > > > > > > @@ -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.hpbridge, Wed Sep 16 09:45:56 2020
> > > > >>
> > > > >> > > > > > > + * Disassembly of /tmp/aml-ECV9Q0, Wed Sep 16 09:45:56 2020
> > > > >>
> > > > >> > > > > > >   *
> > > > >>
> > > > >> > > > > > >   * Original Table Header:
> > > > >>
> > > > >> > > > > > >   *     Signature        "DSDT"
> > > > >>
> > > > >> > > > > > > - *     Length           0x0000131F (4895)
> > > > >>
> > > > >> > > > > > > + *     Length           0x00000B89 (2953)
> > > > >>
> > > > >> > > > > > >   *     Revision         0x01 **** 32-bit table (V1), no 64-bit math support
> > > > >>
> > > > >> > > > > > > - *     Checksum         0xF9
> > > > >>
> > > > >> > > > > > > + *     Checksum         0xA2
> > > > >>
> > > > >> > > > > > >   *     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
> > > > >>
> > > > >> > > > > > >          }
> > > > >>
> > > > >> > > > > > >
> > > > >>
> > > > >> > > > > > > @@ -234,64 +234,32 @@
> > > > >>
> > > > >> > > > > > >          {
> > > > >>
> > > > >> > > > > > >              Name (_HID, EisaId ("PNP0B00") /* AT Real-Time Clock */)  // _HID: Hardware ID
> > > > >>
> > > > >> > > > > > >              Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
> > > > >>
> > > > >> > > > > > >              {
> > > > >>
> > > > >> > > > > > >                  IO (Decode16,
> > > > >>
> > > > >> > > > > > >                      0x0070,             // Range Minimum
> > > > >>
> > > > >> > > > > > >                      0x0070,             // Range Maximum
> > > > >>
> > > > >> > > > > > >                      0x01,               // Alignment
> > > > >>
> > > > >> > > > > > >                      0x08,               // Length
> > > > >>
> > > > >> > > > > > >                      )
> > > > >>
> > > > >> > > > > > >                  IRQNoFlags ()
> > > > >>
> > > > >> > > > > > >                      {8}
> > > > >>
> > > > >> > > > > > >              })
> > > > >>
> > > > >> > > > > > >          }
> > > > >>
> > > > >> > > > > > >      }
> > > > >>
> > > > >> > > > > > >
> > > > >>
> > > > >> > > > > > > -    Scope (_SB.PCI0)
> > > > >>
> > > > >> > > > > > > -    {
> > > > >>
> > > > >> > > > > > > -        OperationRegion (PCST, SystemIO, 0xAE00, 0x08)
> > > > >>
> > > > >> > > > > > > -        Field (PCST, DWordAcc, NoLock, WriteAsZeros)
> > > > >>
> > > > >> > > > > > > -        {
> > > > >>
> > > > >> > > > > > > -            PCIU,   32,
> > > > >>
> > > > >> > > > > > > -            PCID,   32
> > > > >>
> > > > >> > > > > > > -        }
> > > > >>
> > > > >> > > > > > > -
> > > > >>
> > > > >> > > > > > > -        OperationRegion (SEJ, SystemIO, 0xAE08, 0x04)
> > > > >>
> > > > >> > > > > > > -        Field (SEJ, DWordAcc, NoLock, WriteAsZeros)
> > > > >>
> > > > >> > > > > > > -        {
> > > > >>
> > > > >> > > > > > > -            B0EJ,   32
> > > > >>
> > > > >> > > > > > > -        }
> > > > >>
> > > > >> > > > > > > -
> > > > >>
> > > > >> > > > > > > -        OperationRegion (BNMR, SystemIO, 0xAE10, 0x04)
> > > > >>
> > > > >> > > > > > > -        Field (BNMR, DWordAcc, NoLock, WriteAsZeros)
> > > > >>
> > > > >> > > > > > > -        {
> > > > >>
> > > > >> > > > > > > -            BNUM,   32
> > > > >>
> > > > >> > > > > > > -        }
> > > > >>
> > > > >> > > > > > > -
> > > > >>
> > > > >> > > > > > > -        Mutex (BLCK, 0x00)
> > > > >>
> > > > >> > > > > > > -        Method (PCEJ, 2, NotSerialized)
> > > > >>
> > > > >> > > > > > > -        {
> > > > >>
> > > > >> > > > > > > -            Acquire (BLCK, 0xFFFF)
> > > > >>
> > > > >> > > > > > > -            BNUM = Arg0
> > > > >>
> > > > >> > > > > > > -            B0EJ = (One << Arg1)
> > > > >>
> > > > >> > > > > > > -            Release (BLCK)
> > > > >>
> > > > >> > > > > > > -            Return (Zero)
> > > > >>
> > > > >> > > > > > > -        }
> > > > >>
> > > > >> > > > > > > -    }
> > > > >>
> > > > >> > > > > > > -
> > > > >>
> > > > >> > > > > > >      Scope (_SB)
> > > > >>
> > > > >> > > > > > >      {
> > > > >>
> > > > >> > > > > > >          Scope (PCI0)
> > > > >>
> > > > >> > > > > > >          {
> > > > >>
> > > > >> > > > > > >              Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
> > > > >>
> > > > >> > > > > > >              {
> > > > >>
> > > > >> > > > > > >                  Local0 = Package (0x80){}
> > > > >>
> > > > >> > > > > > >                  Local1 = Zero
> > > > >>
> > > > >> > > > > > >                  While ((Local1 < 0x80))
> > > > >>
> > > > >> > > > > > >                  {
> > > > >>
> > > > >> > > > > > >                      Local2 = (Local1 >> 0x02)
> > > > >>
> > > > >> > > > > > >                      Local3 = ((Local1 + Local2) & 0x03)
> > > > >>
> > > > >> > > > > > >                      If ((Local3 == Zero))
> > > > >>
> > > > >> > > > > > >                      {
> > > > >>
> > > > >> > > > > > >                          Local4 = Package (0x04)
> > > > >>
> > > > >> > > > > > >                              {
> > > > >>
> > > > >> > > > > > > @@ -690,38 +658,32 @@
> > > > >>
> > > > >> > > > > > >                  Method (_OST, 3, Serialized)  // _OST: OSPM Status Indication
> > > > >>
> > > > >> > > > > > >                  {
> > > > >>
> > > > >> > > > > > >                      COST (Zero, Arg0, Arg1, Arg2)
> > > > >>
> > > > >> > > > > > >                  }
> > > > >>
> > > > >> > > > > > >              }
> > > > >>
> > > > >> > > > > > >          }
> > > > >>
> > > > >> > > > > > >      }
> > > > >>
> > > > >> > > > > > >
> > > > >>
> > > > >> > > > > > >      Method (\_GPE._E02, 0, NotSerialized)  // _Exx: Edge-Triggered GPE
> > > > >>
> > > > >> > > > > > >      {
> > > > >>
> > > > >> > > > > > >          \_SB.CPUS.CSCN ()
> > > > >>
> > > > >> > > > > > >      }
> > > > >>
> > > > >> > > > > > >
> > > > >>
> > > > >> > > > > > >      Scope (_GPE)
> > > > >>
> > > > >> > > > > > >      {
> > > > >>
> > > > >> > > > > > >          Name (_HID, "ACPI0006" /* GPE Block Device */)  // _HID: Hardware ID
> > > > >>
> > > > >> > > > > > > -        Method (_E01, 0, NotSerialized)  // _Exx: Edge-Triggered GPE
> > > > >>
> > > > >> > > > > > > -        {
> > > > >>
> > > > >> > > > > > > -            Acquire (\_SB.PCI0.BLCK, 0xFFFF)
> > > > >>
> > > > >> > > > > > > -            \_SB.PCI0.PCNT ()
> > > > >>
> > > > >> > > > > > > -            Release (\_SB.PCI0.BLCK)
> > > > >>
> > > > >> > > > > > > -        }
> > > > >>
> > > > >> > > > > > >      }
> > > > >>
> > > > >> > > > > > >
> > > > >>
> > > > >> > > > > > >      Scope (\_SB.PCI0)
> > > > >>
> > > > >> > > > > > >      {
> > > > >>
> > > > >> > > > > > >          Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
> > > > >>
> > > > >> > > > > > >          {
> > > > >>
> > > > >> > > > > > >              WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
> > > > >>
> > > > >> > > > > > >                  0x0000,             // Granularity
> > > > >>
> > > > >> > > > > > >                  0x0000,             // Range Minimum
> > > > >>
> > > > >> > > > > > >                  0x00FF,             // Range Maximum
> > > > >>
> > > > >> > > > > > >                  0x0000,             // Translation Offset
> > > > >>
> > > > >> > > > > > >                  0x0100,             // Length
> > > > >>
> > > > >> > > > > > >                  ,, )
> > > > >>
> > > > >> > > > > > >              IO (Decode16,
> > > > >>
> > > > >> > > > > > >                  0x0CF8,             // Range Minimum
> > > > >>
> > > > >> > > > > > >                  0x0CF8,             // Range Maximum
> > > > >>
> > > > >> > > > > > > @@ -766,48 +728,32 @@
> > > > >>
> > > > >> > > > > > >          })
> > > > >>
> > > > >> > > > > > >          Device (GPE0)
> > > > >>
> > > > >> > > > > > >          {
> > > > >>
> > > > >> > > > > > >              Name (_HID, "PNP0A06" /* Generic Container Device */)  // _HID: Hardware ID
> > > > >>
> > > > >> > > > > > >              Name (_UID, "GPE0 resources")  // _UID: Unique ID
> > > > >>
> > > > >> > > > > > >              Name (_STA, 0x0B)  // _STA: Status
> > > > >>
> > > > >> > > > > > >              Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
> > > > >>
> > > > >> > > > > > >              {
> > > > >>
> > > > >> > > > > > >                  IO (Decode16,
> > > > >>
> > > > >> > > > > > >                      0xAFE0,             // Range Minimum
> > > > >>
> > > > >> > > > > > >                      0xAFE0,             // Range Maximum
> > > > >>
> > > > >> > > > > > >                      0x01,               // Alignment
> > > > >>
> > > > >> > > > > > >                      0x04,               // Length
> > > > >>
> > > > >> > > > > > >                      )
> > > > >>
> > > > >> > > > > > >              })
> > > > >>
> > > > >> > > > > > >          }
> > > > >>
> > > > >> > > > > > > -
> > > > >>
> > > > >> > > > > > > -        Device (PHPR)
> > > > >>
> > > > >> > > > > > > -        {
> > > > >>
> > > > >> > > > > > > -            Name (_HID, "PNP0A06" /* Generic Container Device */)  // _HID: Hardware ID
> > > > >>
> > > > >> > > > > > > -            Name (_UID, "PCI Hotplug resources")  // _UID: Unique ID
> > > > >>
> > > > >> > > > > > > -            Name (_STA, 0x0B)  // _STA: Status
> > > > >>
> > > > >> > > > > > > -            Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
> > > > >>
> > > > >> > > > > > > -            {
> > > > >>
> > > > >> > > > > > > -                IO (Decode16,
> > > > >>
> > > > >> > > > > > > -                    0xAE00,             // Range Minimum
> > > > >>
> > > > >> > > > > > > -                    0xAE00,             // Range Maximum
> > > > >>
> > > > >> > > > > > > -                    0x01,               // Alignment
> > > > >>
> > > > >> > > > > > > -                    0x14,               // Length
> > > > >>
> > > > >> > > > > > > -                    )
> > > > >>
> > > > >> > > > > > > -            })
> > > > >>
> > > > >> > > > > > > -        }
> > > > >>
> > > > >> > > > > > >      }
> > > > >>
> > > > >> > > > > > >
> > > > >>
> > > > >> > > > > > >      Scope (\)
> > > > >>
> > > > >> > > > > > >      {
> > > > >>
> > > > >> > > > > > >          Name (_S3, Package (0x04)  // _S3_: S3 System State
> > > > >>
> > > > >> > > > > > >          {
> > > > >>
> > > > >> > > > > > >              One,
> > > > >>
> > > > >> > > > > > >              One,
> > > > >>
> > > > >> > > > > > >              Zero,
> > > > >>
> > > > >> > > > > > >              Zero
> > > > >>
> > > > >> > > > > > >          })
> > > > >>
> > > > >> > > > > > >          Name (_S4, Package (0x04)  // _S4_: S4 System State
> > > > >>
> > > > >> > > > > > >          {
> > > > >>
> > > > >> > > > > > >              0x02,
> > > > >>
> > > > >> > > > > > >              0x02,
> > > > >>
> > > > >> > > > > > >              Zero,
> > > > >>
> > > > >> > > > > > > @@ -831,479 +777,48 @@
> > > > >>
> > > > >> > > > > > >              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
> > > > >>
> > > > >> > > > > > >              }
> > > > >>
> > > > >> > > > > > > -
> > > > >>
> > > > >> > > > > > > -            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)
> > > > >>
> > > > >> > > > > > > -            }
> > > > >>
> > > > >> > > > > > >          }
> > > > >>
> > > > >> > > > > > >      }
> > > > >>
> > > > >> > > > > > >  }
> > > > >>
> > > > >> > > > > >
> > > > >>
> > > > >> > > > > > This is not the only diff I see if I apply this patchset on
> > > > >>
> > > > >> > > > > > top of master.
> > > > >>
> > > > >> > > > > > Dropped this and the previous patch.
> > > > >>
> > > > >> > > > > > Please check what is going on and repost as appropriate.
> > > > >>
> > > > >> > > > >
> > > > >>
> > > > >> > > > > Which two ACPI DSDT files are you diffing? What diff are you getting?
> > > > >>
> > > > >> > > >
> > > > >>
> > > > >> > > >
> > > > >>
> > > > >> > > > diff -rup ./tests/data/acpi/pc/DSDT.hpbridge.dsl ./tests/data/acpi/pc/DSDT.hpbrroot.dsl
> > > > >>
> > > > >> > >
> > > > >>
> > > > >> > > I re-based my patchset on top of the latest qemu master and did a make
> > > > >>
> > > > >> > >  && make check-qtest-x86_64 V=1.
> > > > >>
> > > > >> > > They pass. I am seeing this diff:
> > > > >>
> > > > >> > > https://pastebin.ubuntu.com/p/BXy9GFfB2R/
> > > > >>
> > > > >> > >
> > > > >>
> > > > >> > > and it looks good to me.
> > > > >>
> > > > >> > >
> > > > >>
> > > > >> > > Not sure why your diff looks different. Maybe you can regenerate the blob?
> > > > >>
> > > > >> >
> > > > >>
> > > > >> > I did a full make check and it passed. I compared the diff again and
> > > > >>
> > > > >> > it's the same. I checked my tree and it looks clean. These are the
> > > > >>
> > > > >> > patches I have:
> > > > >>
> > > > >> >
> > > > >>
> > > > >> > $ git log --oneline
> > > > >>
> > > > >> > 20d1323e10 (HEAD -> master) qom: code hardening - have bound checking
> > > > >>
> > > > >> > while looping with integer value
> > > > >>
> > > > >> > 0f69dae0e2 Add a comment in bios-tables-test.c to clarify the reason
> > > > >>
> > > > >> > behind approach
> > > > >>
> > > > >> > dd9a8c3cd3 tests/acpi: add DSDT.hpbrroot DSDT table blob to test
> > > > >>
> > > > >> > global i440fx hotplug
> > > > >>
> > > > >> > 5b93474fe9 tests/acpi: unit test exercising global pci hotplug off for i440fx
> > > > >>
> > > > >> > 54c33e334a tests/acpi: update golden master DSDT binary table blobs for q35
> > > > >>
> > > > >> > 2279f61f30 piix4: don't reserve hw resources when hotplug is off globally
> > > > >>
> > > > >> > 1f61c524a0 Add ACPI DSDT tables for q35 that are being updated by the next patch
> > > > >>
> > > > >> > bdd823611b tests/acpi: add newly added acpi DSDT table blob for pci
> > > > >>
> > > > >> > bridge hotplug flag
> > > > >>
> > > > >> > 8c80f8fba9 tests/acpi: unit test for
> > > > >>
> > > > >> > 'acpi-pci-hotplug-with-bridge-support' bridge flag
> > > > >>
> > > > >> > e0a3142df9 tests/acpi: list added acpi table binary file for pci
> > > > >>
> > > > >> > bridge hotplug test
> > > > >>
> > > > >> > 0ba08317a8 i440fx/acpi: do not add hotplug related amls for cold plugged bridges
> > > > >>
> > > > >> > 73b191ade6 Fix a gap where acpi_pcihp_find_hotplug_bus() returns a
> > > > >>
> > > > >> > non-hotpluggable bus
> > > > >>
> > > > >> > ef0e526cc2 tests/acpi: add a new ACPI table in order to test root pci
> > > > >>
> > > > >> > hotplug on/off
> > > > >>
> > > > >> > c6d13264f8 tests/acpi: add new unit test to test hotplug off/on
> > > > >>
> > > > >> > feature on the root pci bus
> > > > >>
> > > > >> > 6901bada65 tests/acpi: mark addition of table DSDT.roothp for unit
> > > > >>
> > > > >> > testing root pci hotplug
> > > > >>
> > > > >> > 74504514b1 (origin/master, origin/HEAD) Merge remote-tracking branch
> > > > >>
> > > > >> > 'remotes/alistair/tags/pull-register-20200927' into staging
> > > > >>
> > > > >>
> > > > >>
> > > > >> Try applying on top of latest pull request?
> > > > >
> > > > >
> > > > > Maybe I'm missing something but can you point me to the latest pull request?
> > > > >>
> > > > >>
> > > > >>
> > > > >>
> > > > >>
> > > > >>
> > > > >>
> > > > >> >
> > > > >>
> > > > >> > >
> > > > >>
> > > > >> > > >
> > > > >>
> > > > >> > > >
> > > > >>
> > > > >> > > >
> > > > >>
> > > > >> > > > --- ./tests/data/acpi/pc/DSDT.hpbridge.dsl      2020-09-29 02:44:43.874622404 -0400
> > > > >>
> > > > >> > > > +++ ./tests/data/acpi/pc/DSDT.hpbrroot.dsl      2020-09-29 02:44:43.876622403 -0400
> > > > >>
> > > > >> > > > @@ -5,13 +5,13 @@
> > > > >>
> > > > >> > > >   *
> > > > >>
> > > > >> > > >   * Disassembling to symbolic ASL+ operators
> > > > >>
> > > > >> > > >   *
> > > > >>
> > > > >> > > > - * Disassembly of tests/data/acpi/pc/DSDT.hpbridge, Tue Sep 29 02:44:43 2020
> > > > >>
> > > > >> > > > + * Disassembly of tests/data/acpi/pc/DSDT.hpbrroot, Tue Sep 29 02:44:43 2020
> > > > >>
> > > > >> > > >   *
> > > > >>
> > > > >> > > >   * Original Table Header:
> > > > >>
> > > > >> > > >   *     Signature        "DSDT"
> > > > >>
> > > > >> > > > - *     Length           0x0000139D (5021)
> > > > >>
> > > > >> > > > + *     Length           0x00000B89 (2953)
> > > > >>
> > > > >> > > >   *     Revision         0x01 **** 32-bit table (V1), no 64-bit math support
> > > > >>
> > > > >> > > > - *     Checksum         0x05
> > > > >>
> > > > >> > > > + *     Checksum         0xA2
> > > > >>
> > > > >> > > >   *     OEM ID           "BOCHS "
> > > > >>
> > > > >> > > >   *     OEM Table ID     "BXPCDSDT"
> > > > >>
> > > > >> > > >   *     OEM Revision     0x00000001 (1)
> > > > >>
> > > > >> > > > @@ -247,38 +247,6 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
> > > > >>
> > > > >> > > >          }
> > > > >>
> > > > >> > > >      }
> > > > >>
> > > > >> > > >
> > > > >>
> > > > >> > > > -    Scope (_SB.PCI0)
> > > > >>
> > > > >> > > > -    {
> > > > >>
> > > > >> > > > -        OperationRegion (PCST, SystemIO, 0xAE00, 0x08)
> > > > >>
> > > > >> > > > -        Field (PCST, DWordAcc, NoLock, WriteAsZeros)
> > > > >>
> > > > >> > > > -        {
> > > > >>
> > > > >> > > > -            PCIU,   32,
> > > > >>
> > > > >> > > > -            PCID,   32
> > > > >>
> > > > >> > > > -        }
> > > > >>
> > > > >> > > > -
> > > > >>
> > > > >> > > > -        OperationRegion (SEJ, SystemIO, 0xAE08, 0x04)
> > > > >>
> > > > >> > > > -        Field (SEJ, DWordAcc, NoLock, WriteAsZeros)
> > > > >>
> > > > >> > > > -        {
> > > > >>
> > > > >> > > > -            B0EJ,   32
> > > > >>
> > > > >> > > > -        }
> > > > >>
> > > > >> > > > -
> > > > >>
> > > > >> > > > -        OperationRegion (BNMR, SystemIO, 0xAE10, 0x04)
> > > > >>
> > > > >> > > > -        Field (BNMR, DWordAcc, NoLock, WriteAsZeros)
> > > > >>
> > > > >> > > > -        {
> > > > >>
> > > > >> > > > -            BNUM,   32
> > > > >>
> > > > >> > > > -        }
> > > > >>
> > > > >> > > > -
> > > > >>
> > > > >> > > > -        Mutex (BLCK, 0x00)
> > > > >>
> > > > >> > > > -        Method (PCEJ, 2, NotSerialized)
> > > > >>
> > > > >> > > > -        {
> > > > >>
> > > > >> > > > -            Acquire (BLCK, 0xFFFF)
> > > > >>
> > > > >> > > > -            BNUM = Arg0
> > > > >>
> > > > >> > > > -            B0EJ = (One << Arg1)
> > > > >>
> > > > >> > > > -            Release (BLCK)
> > > > >>
> > > > >> > > > -            Return (Zero)
> > > > >>
> > > > >> > > > -        }
> > > > >>
> > > > >> > > > -    }
> > > > >>
> > > > >> > > > -
> > > > >>
> > > > >> > > >      Scope (_SB)
> > > > >>
> > > > >> > > >      {
> > > > >>
> > > > >> > > >          Scope (PCI0)
> > > > >>
> > > > >> > > > @@ -643,56 +611,22 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
> > > > >>
> > > > >> > > >              Method (CSCN, 0, Serialized)
> > > > >>
> > > > >> > > >              {
> > > > >>
> > > > >> > > >                  Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF)
> > > > >>
> > > > >> > > > -                Name (CNEW, Package (0xFF){})
> > > > >>
> > > > >> > > > -                Local3 = Zero
> > > > >>
> > > > >> > > > -                Local4 = One
> > > > >>
> > > > >> > > > -                While ((Local4 == One))
> > > > >>
> > > > >> > > > +                Local0 = One
> > > > >>
> > > > >> > > > +                While ((Local0 == One))
> > > > >>
> > > > >> > > >                  {
> > > > >>
> > > > >> > > > -                    Local4 = Zero
> > > > >>
> > > > >> > > > -                    Local0 = One
> > > > >>
> > > > >> > > > -                    Local1 = Zero
> > > > >>
> > > > >> > > > -                    While (((Local0 == One) && (Local3 < One)))
> > > > >>
> > > > >> > > > +                    Local0 = Zero
> > > > >>
> > > > >> > > > +                    \_SB.PCI0.PRES.CCMD = Zero
> > > > >>
> > > > >> > > > +                    If ((\_SB.PCI0.PRES.CINS == One))
> > > > >>
> > > > >> > > >                      {
> > > > >>
> > > > >> > > > -                        Local0 = Zero
> > > > >>
> > > > >> > > > -                        \_SB.PCI0.PRES.CSEL = Local3
> > > > >>
> > > > >> > > > -                        \_SB.PCI0.PRES.CCMD = Zero
> > > > >>
> > > > >> > > > -                        If ((\_SB.PCI0.PRES.CDAT < Local3))
> > > > >>
> > > > >> > > > -                        {
> > > > >>
> > > > >> > > > -                            Break
> > > > >>
> > > > >> > > > -                        }
> > > > >>
> > > > >> > > > -
> > > > >>
> > > > >> > > > -                        If ((Local1 == 0xFF))
> > > > >>
> > > > >> > > > -                        {
> > > > >>
> > > > >> > > > -                            Local4 = One
> > > > >>
> > > > >> > > > -                            Break
> > > > >>
> > > > >> > > > -                        }
> > > > >>
> > > > >> > > > -
> > > > >>
> > > > >> > > > -                        Local3 = \_SB.PCI0.PRES.CDAT
> > > > >>
> > > > >> > > > -                        If ((\_SB.PCI0.PRES.CINS == One))
> > > > >>
> > > > >> > > > -                        {
> > > > >>
> > > > >> > > > -                            CNEW [Local1] = Local3
> > > > >>
> > > > >> > > > -                            Local1++
> > > > >>
> > > > >> > > > -                            Local0 = One
> > > > >>
> > > > >> > > > -                        }
> > > > >>
> > > > >> > > > -                        ElseIf ((\_SB.PCI0.PRES.CRMV == One))
> > > > >>
> > > > >> > > > -                        {
> > > > >>
> > > > >> > > > -                            CTFY (Local3, 0x03)
> > > > >>
> > > > >> > > > -                            \_SB.PCI0.PRES.CRMV = One
> > > > >>
> > > > >> > > > -                            Local0 = One
> > > > >>
> > > > >> > > > -                        }
> > > > >>
> > > > >> > > > -
> > > > >>
> > > > >> > > > -                        Local3++
> > > > >>
> > > > >> > > > +                        CTFY (\_SB.PCI0.PRES.CDAT, One)
> > > > >>
> > > > >> > > > +                        \_SB.PCI0.PRES.CINS = One
> > > > >>
> > > > >> > > > +                        Local0 = One
> > > > >>
> > > > >> > > >                      }
> > > > >>
> > > > >> > > > -
> > > > >>
> > > > >> > > > -                    Local2 = Zero
> > > > >>
> > > > >> > > > -                    While ((Local2 < Local1))
> > > > >>
> > > > >> > > > +                    ElseIf ((\_SB.PCI0.PRES.CRMV == One))
> > > > >>
> > > > >> > > >                      {
> > > > >>
> > > > >> > > > -                        Local3 = DerefOf (CNEW [Local2])
> > > > >>
> > > > >> > > > -                        CTFY (Local3, One)
> > > > >>
> > > > >> > > > -                        Debug = Local3
> > > > >>
> > > > >> > > > -                        \_SB.PCI0.PRES.CSEL = Local3
> > > > >>
> > > > >> > > > -                        \_SB.PCI0.PRES.CINS = One
> > > > >>
> > > > >> > > > -                        Local2++
> > > > >>
> > > > >> > > > +                        CTFY (\_SB.PCI0.PRES.CDAT, 0x03)
> > > > >>
> > > > >> > > > +                        \_SB.PCI0.PRES.CRMV = One
> > > > >>
> > > > >> > > > +                        Local0 = One
> > > > >>
> > > > >> > > >                      }
> > > > >>
> > > > >> > > >                  }
> > > > >>
> > > > >> > > >
> > > > >>
> > > > >> > > > @@ -737,12 +671,6 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
> > > > >>
> > > > >> > > >      Scope (_GPE)
> > > > >>
> > > > >> > > >      {
> > > > >>
> > > > >> > > >          Name (_HID, "ACPI0006" /* GPE Block Device */)  // _HID: Hardware ID
> > > > >>
> > > > >> > > > -        Method (_E01, 0, NotSerialized)  // _Exx: Edge-Triggered GPE, xx=0x00-0xFF
> > > > >>
> > > > >> > > > -        {
> > > > >>
> > > > >> > > > -            Acquire (\_SB.PCI0.BLCK, 0xFFFF)
> > > > >>
> > > > >> > > > -            \_SB.PCI0.PCNT ()
> > > > >>
> > > > >> > > > -            Release (\_SB.PCI0.BLCK)
> > > > >>
> > > > >> > > > -        }
> > > > >>
> > > > >> > > >      }
> > > > >>
> > > > >> > > >
> > > > >>
> > > > >> > > >      Scope (\_SB.PCI0)
> > > > >>
> > > > >> > > > @@ -813,22 +741,6 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
> > > > >>
> > > > >> > > >                      )
> > > > >>
> > > > >> > > >              })
> > > > >>
> > > > >> > > >          }
> > > > >>
> > > > >> > > > -
> > > > >>
> > > > >> > > > -        Device (PHPR)
> > > > >>
> > > > >> > > > -        {
> > > > >>
> > > > >> > > > -            Name (_HID, "PNP0A06" /* Generic Container Device */)  // _HID: Hardware ID
> > > > >>
> > > > >> > > > -            Name (_UID, "PCI Hotplug resources")  // _UID: Unique ID
> > > > >>
> > > > >> > > > -            Name (_STA, 0x0B)  // _STA: Status
> > > > >>
> > > > >> > > > -            Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
> > > > >>
> > > > >> > > > -            {
> > > > >>
> > > > >> > > > -                IO (Decode16,
> > > > >>
> > > > >> > > > -                    0xAE00,             // Range Minimum
> > > > >>
> > > > >> > > > -                    0xAE00,             // Range Maximum
> > > > >>
> > > > >> > > > -                    0x01,               // Alignment
> > > > >>
> > > > >> > > > -                    0x14,               // Length
> > > > >>
> > > > >> > > > -                    )
> > > > >>
> > > > >> > > > -            })
> > > > >>
> > > > >> > > > -        }
> > > > >>
> > > > >> > > >      }
> > > > >>
> > > > >> > > >
> > > > >>
> > > > >> > > >      Scope (\)
> > > > >>
> > > > >> > > > @@ -878,7 +790,6 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
> > > > >>
> > > > >> > > >      {
> > > > >>
> > > > >> > > >          Scope (PCI0)
> > > > >>
> > > > >> > > >          {
> > > > >>
> > > > >> > > > -            Name (BSEL, Zero)
> > > > >>
> > > > >> > > >              Device (S00)
> > > > >>
> > > > >> > > >              {
> > > > >>
> > > > >> > > >                  Name (_ADR, Zero)  // _ADR: Address
> > > > >>
> > > > >> > > > @@ -907,436 +818,6 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS "
> > > > >>
> > > > >> > > >              {
> > > > >>
> > > > >> > > >                  Name (_ADR, 0x00030000)  // _ADR: Address
> > > > >>
> > > > >> > > >              }
> > > > >>
> > > > >> > > > -
> > > > >>
> > > > >> > > > -            Device (S20)
> > > > >>
> > > > >> > > > -            {
> > > > >>
> > > > >> > > > -                Name (_SUN, 0x04)  // _SUN: Slot User Number
> > > > >>
> > > > >> > > > -                Name (_ADR, 0x00040000)  // _ADR: Address
> > > > >>
> > > > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > > >>
> > > > >> > > > -                {
> > > > >>
> > > > >> > > > -                    PCEJ (BSEL, _SUN)
> > > > >>
> > > > >> > > > -                }
> > > > >>
> > > > >> > > > -            }
> > > > >>
> > > > >> > > > -
> > > > >>
> > > > >> > > > -            Device (S28)
> > > > >>
> > > > >> > > > -            {
> > > > >>
> > > > >> > > > -                Name (_SUN, 0x05)  // _SUN: Slot User Number
> > > > >>
> > > > >> > > > -                Name (_ADR, 0x00050000)  // _ADR: Address
> > > > >>
> > > > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > > >>
> > > > >> > > > -                {
> > > > >>
> > > > >> > > > -                    PCEJ (BSEL, _SUN)
> > > > >>
> > > > >> > > > -                }
> > > > >>
> > > > >> > > > -            }
> > > > >>
> > > > >> > > > -
> > > > >>
> > > > >> > > > -            Device (S30)
> > > > >>
> > > > >> > > > -            {
> > > > >>
> > > > >> > > > -                Name (_SUN, 0x06)  // _SUN: Slot User Number
> > > > >>
> > > > >> > > > -                Name (_ADR, 0x00060000)  // _ADR: Address
> > > > >>
> > > > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > > >>
> > > > >> > > > -                {
> > > > >>
> > > > >> > > > -                    PCEJ (BSEL, _SUN)
> > > > >>
> > > > >> > > > -                }
> > > > >>
> > > > >> > > > -            }
> > > > >>
> > > > >> > > > -
> > > > >>
> > > > >> > > > -            Device (S38)
> > > > >>
> > > > >> > > > -            {
> > > > >>
> > > > >> > > > -                Name (_SUN, 0x07)  // _SUN: Slot User Number
> > > > >>
> > > > >> > > > -                Name (_ADR, 0x00070000)  // _ADR: Address
> > > > >>
> > > > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > > >>
> > > > >> > > > -                {
> > > > >>
> > > > >> > > > -                    PCEJ (BSEL, _SUN)
> > > > >>
> > > > >> > > > -                }
> > > > >>
> > > > >> > > > -            }
> > > > >>
> > > > >> > > > -
> > > > >>
> > > > >> > > > -            Device (S40)
> > > > >>
> > > > >> > > > -            {
> > > > >>
> > > > >> > > > -                Name (_SUN, 0x08)  // _SUN: Slot User Number
> > > > >>
> > > > >> > > > -                Name (_ADR, 0x00080000)  // _ADR: Address
> > > > >>
> > > > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > > >>
> > > > >> > > > -                {
> > > > >>
> > > > >> > > > -                    PCEJ (BSEL, _SUN)
> > > > >>
> > > > >> > > > -                }
> > > > >>
> > > > >> > > > -            }
> > > > >>
> > > > >> > > > -
> > > > >>
> > > > >> > > > -            Device (S48)
> > > > >>
> > > > >> > > > -            {
> > > > >>
> > > > >> > > > -                Name (_SUN, 0x09)  // _SUN: Slot User Number
> > > > >>
> > > > >> > > > -                Name (_ADR, 0x00090000)  // _ADR: Address
> > > > >>
> > > > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > > >>
> > > > >> > > > -                {
> > > > >>
> > > > >> > > > -                    PCEJ (BSEL, _SUN)
> > > > >>
> > > > >> > > > -                }
> > > > >>
> > > > >> > > > -            }
> > > > >>
> > > > >> > > > -
> > > > >>
> > > > >> > > > -            Device (S50)
> > > > >>
> > > > >> > > > -            {
> > > > >>
> > > > >> > > > -                Name (_SUN, 0x0A)  // _SUN: Slot User Number
> > > > >>
> > > > >> > > > -                Name (_ADR, 0x000A0000)  // _ADR: Address
> > > > >>
> > > > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > > >>
> > > > >> > > > -                {
> > > > >>
> > > > >> > > > -                    PCEJ (BSEL, _SUN)
> > > > >>
> > > > >> > > > -                }
> > > > >>
> > > > >> > > > -            }
> > > > >>
> > > > >> > > > -
> > > > >>
> > > > >> > > > -            Device (S58)
> > > > >>
> > > > >> > > > -            {
> > > > >>
> > > > >> > > > -                Name (_SUN, 0x0B)  // _SUN: Slot User Number
> > > > >>
> > > > >> > > > -                Name (_ADR, 0x000B0000)  // _ADR: Address
> > > > >>
> > > > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > > >>
> > > > >> > > > -                {
> > > > >>
> > > > >> > > > -                    PCEJ (BSEL, _SUN)
> > > > >>
> > > > >> > > > -                }
> > > > >>
> > > > >> > > > -            }
> > > > >>
> > > > >> > > > -
> > > > >>
> > > > >> > > > -            Device (S60)
> > > > >>
> > > > >> > > > -            {
> > > > >>
> > > > >> > > > -                Name (_SUN, 0x0C)  // _SUN: Slot User Number
> > > > >>
> > > > >> > > > -                Name (_ADR, 0x000C0000)  // _ADR: Address
> > > > >>
> > > > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > > >>
> > > > >> > > > -                {
> > > > >>
> > > > >> > > > -                    PCEJ (BSEL, _SUN)
> > > > >>
> > > > >> > > > -                }
> > > > >>
> > > > >> > > > -            }
> > > > >>
> > > > >> > > > -
> > > > >>
> > > > >> > > > -            Device (S68)
> > > > >>
> > > > >> > > > -            {
> > > > >>
> > > > >> > > > -                Name (_SUN, 0x0D)  // _SUN: Slot User Number
> > > > >>
> > > > >> > > > -                Name (_ADR, 0x000D0000)  // _ADR: Address
> > > > >>
> > > > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > > >>
> > > > >> > > > -                {
> > > > >>
> > > > >> > > > -                    PCEJ (BSEL, _SUN)
> > > > >>
> > > > >> > > > -                }
> > > > >>
> > > > >> > > > -            }
> > > > >>
> > > > >> > > > -
> > > > >>
> > > > >> > > > -            Device (S70)
> > > > >>
> > > > >> > > > -            {
> > > > >>
> > > > >> > > > -                Name (_SUN, 0x0E)  // _SUN: Slot User Number
> > > > >>
> > > > >> > > > -                Name (_ADR, 0x000E0000)  // _ADR: Address
> > > > >>
> > > > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > > >>
> > > > >> > > > -                {
> > > > >>
> > > > >> > > > -                    PCEJ (BSEL, _SUN)
> > > > >>
> > > > >> > > > -                }
> > > > >>
> > > > >> > > > -            }
> > > > >>
> > > > >> > > > -
> > > > >>
> > > > >> > > > -            Device (S78)
> > > > >>
> > > > >> > > > -            {
> > > > >>
> > > > >> > > > -                Name (_SUN, 0x0F)  // _SUN: Slot User Number
> > > > >>
> > > > >> > > > -                Name (_ADR, 0x000F0000)  // _ADR: Address
> > > > >>
> > > > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > > >>
> > > > >> > > > -                {
> > > > >>
> > > > >> > > > -                    PCEJ (BSEL, _SUN)
> > > > >>
> > > > >> > > > -                }
> > > > >>
> > > > >> > > > -            }
> > > > >>
> > > > >> > > > -
> > > > >>
> > > > >> > > > -            Device (S80)
> > > > >>
> > > > >> > > > -            {
> > > > >>
> > > > >> > > > -                Name (_SUN, 0x10)  // _SUN: Slot User Number
> > > > >>
> > > > >> > > > -                Name (_ADR, 0x00100000)  // _ADR: Address
> > > > >>
> > > > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > > >>
> > > > >> > > > -                {
> > > > >>
> > > > >> > > > -                    PCEJ (BSEL, _SUN)
> > > > >>
> > > > >> > > > -                }
> > > > >>
> > > > >> > > > -            }
> > > > >>
> > > > >> > > > -
> > > > >>
> > > > >> > > > -            Device (S88)
> > > > >>
> > > > >> > > > -            {
> > > > >>
> > > > >> > > > -                Name (_SUN, 0x11)  // _SUN: Slot User Number
> > > > >>
> > > > >> > > > -                Name (_ADR, 0x00110000)  // _ADR: Address
> > > > >>
> > > > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > > >>
> > > > >> > > > -                {
> > > > >>
> > > > >> > > > -                    PCEJ (BSEL, _SUN)
> > > > >>
> > > > >> > > > -                }
> > > > >>
> > > > >> > > > -            }
> > > > >>
> > > > >> > > > -
> > > > >>
> > > > >> > > > -            Device (S90)
> > > > >>
> > > > >> > > > -            {
> > > > >>
> > > > >> > > > -                Name (_SUN, 0x12)  // _SUN: Slot User Number
> > > > >>
> > > > >> > > > -                Name (_ADR, 0x00120000)  // _ADR: Address
> > > > >>
> > > > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > > >>
> > > > >> > > > -                {
> > > > >>
> > > > >> > > > -                    PCEJ (BSEL, _SUN)
> > > > >>
> > > > >> > > > -                }
> > > > >>
> > > > >> > > > -            }
> > > > >>
> > > > >> > > > -
> > > > >>
> > > > >> > > > -            Device (S98)
> > > > >>
> > > > >> > > > -            {
> > > > >>
> > > > >> > > > -                Name (_SUN, 0x13)  // _SUN: Slot User Number
> > > > >>
> > > > >> > > > -                Name (_ADR, 0x00130000)  // _ADR: Address
> > > > >>
> > > > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > > >>
> > > > >> > > > -                {
> > > > >>
> > > > >> > > > -                    PCEJ (BSEL, _SUN)
> > > > >>
> > > > >> > > > -                }
> > > > >>
> > > > >> > > > -            }
> > > > >>
> > > > >> > > > -
> > > > >>
> > > > >> > > > -            Device (SA0)
> > > > >>
> > > > >> > > > -            {
> > > > >>
> > > > >> > > > -                Name (_SUN, 0x14)  // _SUN: Slot User Number
> > > > >>
> > > > >> > > > -                Name (_ADR, 0x00140000)  // _ADR: Address
> > > > >>
> > > > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > > >>
> > > > >> > > > -                {
> > > > >>
> > > > >> > > > -                    PCEJ (BSEL, _SUN)
> > > > >>
> > > > >> > > > -                }
> > > > >>
> > > > >> > > > -            }
> > > > >>
> > > > >> > > > -
> > > > >>
> > > > >> > > > -            Device (SA8)
> > > > >>
> > > > >> > > > -            {
> > > > >>
> > > > >> > > > -                Name (_SUN, 0x15)  // _SUN: Slot User Number
> > > > >>
> > > > >> > > > -                Name (_ADR, 0x00150000)  // _ADR: Address
> > > > >>
> > > > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > > >>
> > > > >> > > > -                {
> > > > >>
> > > > >> > > > -                    PCEJ (BSEL, _SUN)
> > > > >>
> > > > >> > > > -                }
> > > > >>
> > > > >> > > > -            }
> > > > >>
> > > > >> > > > -
> > > > >>
> > > > >> > > > -            Device (SB0)
> > > > >>
> > > > >> > > > -            {
> > > > >>
> > > > >> > > > -                Name (_SUN, 0x16)  // _SUN: Slot User Number
> > > > >>
> > > > >> > > > -                Name (_ADR, 0x00160000)  // _ADR: Address
> > > > >>
> > > > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > > >>
> > > > >> > > > -                {
> > > > >>
> > > > >> > > > -                    PCEJ (BSEL, _SUN)
> > > > >>
> > > > >> > > > -                }
> > > > >>
> > > > >> > > > -            }
> > > > >>
> > > > >> > > > -
> > > > >>
> > > > >> > > > -            Device (SB8)
> > > > >>
> > > > >> > > > -            {
> > > > >>
> > > > >> > > > -                Name (_SUN, 0x17)  // _SUN: Slot User Number
> > > > >>
> > > > >> > > > -                Name (_ADR, 0x00170000)  // _ADR: Address
> > > > >>
> > > > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > > >>
> > > > >> > > > -                {
> > > > >>
> > > > >> > > > -                    PCEJ (BSEL, _SUN)
> > > > >>
> > > > >> > > > -                }
> > > > >>
> > > > >> > > > -            }
> > > > >>
> > > > >> > > > -
> > > > >>
> > > > >> > > > -            Device (SC0)
> > > > >>
> > > > >> > > > -            {
> > > > >>
> > > > >> > > > -                Name (_SUN, 0x18)  // _SUN: Slot User Number
> > > > >>
> > > > >> > > > -                Name (_ADR, 0x00180000)  // _ADR: Address
> > > > >>
> > > > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > > >>
> > > > >> > > > -                {
> > > > >>
> > > > >> > > > -                    PCEJ (BSEL, _SUN)
> > > > >>
> > > > >> > > > -                }
> > > > >>
> > > > >> > > > -            }
> > > > >>
> > > > >> > > > -
> > > > >>
> > > > >> > > > -            Device (SC8)
> > > > >>
> > > > >> > > > -            {
> > > > >>
> > > > >> > > > -                Name (_SUN, 0x19)  // _SUN: Slot User Number
> > > > >>
> > > > >> > > > -                Name (_ADR, 0x00190000)  // _ADR: Address
> > > > >>
> > > > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > > >>
> > > > >> > > > -                {
> > > > >>
> > > > >> > > > -                    PCEJ (BSEL, _SUN)
> > > > >>
> > > > >> > > > -                }
> > > > >>
> > > > >> > > > -            }
> > > > >>
> > > > >> > > > -
> > > > >>
> > > > >> > > > -            Device (SD0)
> > > > >>
> > > > >> > > > -            {
> > > > >>
> > > > >> > > > -                Name (_SUN, 0x1A)  // _SUN: Slot User Number
> > > > >>
> > > > >> > > > -                Name (_ADR, 0x001A0000)  // _ADR: Address
> > > > >>
> > > > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > > >>
> > > > >> > > > -                {
> > > > >>
> > > > >> > > > -                    PCEJ (BSEL, _SUN)
> > > > >>
> > > > >> > > > -                }
> > > > >>
> > > > >> > > > -            }
> > > > >>
> > > > >> > > > -
> > > > >>
> > > > >> > > > -            Device (SD8)
> > > > >>
> > > > >> > > > -            {
> > > > >>
> > > > >> > > > -                Name (_SUN, 0x1B)  // _SUN: Slot User Number
> > > > >>
> > > > >> > > > -                Name (_ADR, 0x001B0000)  // _ADR: Address
> > > > >>
> > > > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > > >>
> > > > >> > > > -                {
> > > > >>
> > > > >> > > > -                    PCEJ (BSEL, _SUN)
> > > > >>
> > > > >> > > > -                }
> > > > >>
> > > > >> > > > -            }
> > > > >>
> > > > >> > > > -
> > > > >>
> > > > >> > > > -            Device (SE0)
> > > > >>
> > > > >> > > > -            {
> > > > >>
> > > > >> > > > -                Name (_SUN, 0x1C)  // _SUN: Slot User Number
> > > > >>
> > > > >> > > > -                Name (_ADR, 0x001C0000)  // _ADR: Address
> > > > >>
> > > > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > > >>
> > > > >> > > > -                {
> > > > >>
> > > > >> > > > -                    PCEJ (BSEL, _SUN)
> > > > >>
> > > > >> > > > -                }
> > > > >>
> > > > >> > > > -            }
> > > > >>
> > > > >> > > > -
> > > > >>
> > > > >> > > > -            Device (SE8)
> > > > >>
> > > > >> > > > -            {
> > > > >>
> > > > >> > > > -                Name (_SUN, 0x1D)  // _SUN: Slot User Number
> > > > >>
> > > > >> > > > -                Name (_ADR, 0x001D0000)  // _ADR: Address
> > > > >>
> > > > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > > >>
> > > > >> > > > -                {
> > > > >>
> > > > >> > > > -                    PCEJ (BSEL, _SUN)
> > > > >>
> > > > >> > > > -                }
> > > > >>
> > > > >> > > > -            }
> > > > >>
> > > > >> > > > -
> > > > >>
> > > > >> > > > -            Device (SF0)
> > > > >>
> > > > >> > > > -            {
> > > > >>
> > > > >> > > > -                Name (_SUN, 0x1E)  // _SUN: Slot User Number
> > > > >>
> > > > >> > > > -                Name (_ADR, 0x001E0000)  // _ADR: Address
> > > > >>
> > > > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > > >>
> > > > >> > > > -                {
> > > > >>
> > > > >> > > > -                    PCEJ (BSEL, _SUN)
> > > > >>
> > > > >> > > > -                }
> > > > >>
> > > > >> > > > -            }
> > > > >>
> > > > >> > > > -
> > > > >>
> > > > >> > > > -            Device (SF8)
> > > > >>
> > > > >> > > > -            {
> > > > >>
> > > > >> > > > -                Name (_SUN, 0x1F)  // _SUN: Slot User Number
> > > > >>
> > > > >> > > > -                Name (_ADR, 0x001F0000)  // _ADR: Address
> > > > >>
> > > > >> > > > -                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
> > > > >>
> > > > >> > > > -                {
> > > > >>
> > > > >> > > > -                    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)
> > > > >>
> > > > >> > > > -            }
> > > > >>
> > > > >> > > >          }
> > > > >>
> > > > >> > > >      }
> > > > >>
> > > > >> > > >  }
> > > > >>
> > > > >> > > >
> > > > >>
> > > > >>
> > > > >>
> >
Michael S. Tsirkin Sept. 29, 2020, 10:55 a.m. UTC | #15
On Tue, Sep 29, 2020 at 04:11:45PM +0530, Ani Sinha wrote:
> On Tue, Sep 29, 2020 at 4:07 PM Michael S. Tsirkin <mst@redhat.com> wrote:
> >
> > On Tue, Sep 29, 2020 at 04:02:07PM +0530, Ani Sinha wrote:
> > > On Tue, Sep 29, 2020 at 4:00 PM Ani Sinha <ani@anisinha.ca> wrote:
> > > >
> > > > In your pull request the following patch is completely screwed up:
> > > >
> > > > commit cda2006eded0ed91974e1d9e7f9f288e65812a3e
> > > > Author: Ani Sinha <ani@anisinha.ca>
> > > > Date:   Tue Sep 29 03:22:52 2020 -0400
> > > >
> > > >     tests/acpi: update golden master DSDT binary table blobs for q35
> > > >
> > > >
> > > > This is not my patch. It has all sorts of changes which does not
> > > > belong there. Can you please check?
> > >
> > > See https://patchew.org/QEMU/20200929071948.281157-1-mst@redhat.com/20200929071948.281157-46-mst@redhat.com/
> >
> >
> > I had to regenerate the binary, yes. That's par for the course.
> > But it looks like I added disasssembled files. Will fix up and drop,
> > thanks for noticing this.

OK I pushed out a fixed variant. Pls take a look.

> I think DSDT.hbridge is wrong. The checksum looks weird:
> 
> 
> + *     Length           0x00000B89 (2953)
>   *     Revision         0x01 **** 32-bit table (V1), no 64-bit math support
> - *     Checksum         0x05

What is weird about it?

> 
> This file should be introduced just by one patch. my patch.

I just re-run rebuild-expected-aml, no changes.

I have this:
commit 5e3a486211f02d9ecb18939ca21087515ec81883
Author: Ani Sinha <ani@anisinha.ca>
Date:   Fri Sep 18 14:11:05 2020 +0530

    tests/acpi: unit test for 'acpi-pci-hotplug-with-bridge-support' bridge flag
    
    This change adds a new unit test for the global flag
    'acpi-pci-hotplug-with-bridge-support' which is available for cold plugged pci
    bridges in i440fx. The flag can be used to turn off ACPI based hotplug support
    on all pci bridges.


Here is the full DSDT header, attached:

/*
 * Intel ACPI Component Architecture
 * AML/ASL+ Disassembler version 20190509 (64-bit version)
 * Copyright (c) 2000 - 2019 Intel Corporation
 *
 * Disassembling to symbolic ASL+ operators
 *
 * Disassembly of tests/data/acpi/pc/DSDT.hpbridge, Tue Sep 29 06:51:03 2020
 *
 * Original Table Header:
 *     Signature        "DSDT"
 *     Length           0x0000139D (5021)
 *     Revision         0x01 **** 32-bit table (V1), no 64-bit math support
 *     Checksum         0x05
 *     OEM ID           "BOCHS "
 *     OEM Table ID     "BXPCDSDT"
 *     OEM Revision     0x00000001 (1)
 *     Compiler ID      "BXPC"
 *     Compiler Version 0x00000001 (1)
 */
DefinitionBlock ("", "DSDT", 1, "BOCHS ", "BXPCDSDT", 0x00000001)
Michael S. Tsirkin Sept. 29, 2020, 10:57 a.m. UTC | #16
On Tue, Sep 29, 2020 at 04:20:15PM +0530, Ani Sinha wrote:
>  as
> 
> On Tue, Sep 29, 2020 at 4:11 PM Ani Sinha <ani@anisinha.ca> wrote:
> >
> > On Tue, Sep 29, 2020 at 4:07 PM Michael S. Tsirkin <mst@redhat.com> wrote:
> > >
> > > On Tue, Sep 29, 2020 at 04:02:07PM +0530, Ani Sinha wrote:
> > > > On Tue, Sep 29, 2020 at 4:00 PM Ani Sinha <ani@anisinha.ca> wrote:
> > > > >
> > > > > In your pull request the following patch is completely screwed up:
> > > > >
> > > > > commit cda2006eded0ed91974e1d9e7f9f288e65812a3e
> > > > > Author: Ani Sinha <ani@anisinha.ca>
> > > > > Date:   Tue Sep 29 03:22:52 2020 -0400
> > > > >
> > > > >     tests/acpi: update golden master DSDT binary table blobs for q35
> > > > >
> > > > >
> > > > > This is not my patch. It has all sorts of changes which does not
> > > > > belong there. Can you please check?
> > > >
> > > > See https://patchew.org/QEMU/20200929071948.281157-1-mst@redhat.com/20200929071948.281157-46-mst@redhat.com/
> > >
> > >
> > > I had to regenerate the binary, yes. That's par for the course.
> > > But it looks like I added disasssembled files. Will fix up and drop,
> > > thanks for noticing this.
> 
> It's probably worthwhile to regenerate DSDT.hpbrroot as well and then
> do the diff and compare.

They are all regenerated by tests/data/acpi/rebuild-expected-aml.sh

What is important is to check the changes and not trust them blindly.

Do you see anything unexpected? It is easy to run

tests/data/acpi/disassemle-aml.sh -o <output directory>

on multiple versions and see what is going on.
Care to do this?
Ani Sinha Sept. 29, 2020, 11:05 a.m. UTC | #17
On Tue, Sep 29, 2020 at 4:25 PM Michael S. Tsirkin <mst@redhat.com> wrote:
>
> On Tue, Sep 29, 2020 at 04:11:45PM +0530, Ani Sinha wrote:
> > On Tue, Sep 29, 2020 at 4:07 PM Michael S. Tsirkin <mst@redhat.com> wrote:
> > >
> > > On Tue, Sep 29, 2020 at 04:02:07PM +0530, Ani Sinha wrote:
> > > > On Tue, Sep 29, 2020 at 4:00 PM Ani Sinha <ani@anisinha.ca> wrote:
> > > > >
> > > > > In your pull request the following patch is completely screwed up:
> > > > >
> > > > > commit cda2006eded0ed91974e1d9e7f9f288e65812a3e
> > > > > Author: Ani Sinha <ani@anisinha.ca>
> > > > > Date:   Tue Sep 29 03:22:52 2020 -0400
> > > > >
> > > > >     tests/acpi: update golden master DSDT binary table blobs for q35
> > > > >
> > > > >
> > > > > This is not my patch. It has all sorts of changes which does not
> > > > > belong there. Can you please check?
> > > >
> > > > See https://patchew.org/QEMU/20200929071948.281157-1-mst@redhat.com/20200929071948.281157-46-mst@redhat.com/
> > >
> > >
> > > I had to regenerate the binary, yes. That's par for the course.
> > > But it looks like I added disasssembled files. Will fix up and drop,
> > > thanks for noticing this.
>
> OK I pushed out a fixed variant. Pls take a look.

OK I am not used to this workflow. How am I supposed to get it? Which tag?


>
> > I think DSDT.hbridge is wrong. The checksum looks weird:
> >
> >
> > + *     Length           0x00000B89 (2953)
> >   *     Revision         0x01 **** 32-bit table (V1), no 64-bit math support
> > - *     Checksum         0x05
>
> What is weird about it?
>
> >
> > This file should be introduced just by one patch. my patch.
>
> I just re-run rebuild-expected-aml, no changes.
>
> I have this:
> commit 5e3a486211f02d9ecb18939ca21087515ec81883
> Author: Ani Sinha <ani@anisinha.ca>
> Date:   Fri Sep 18 14:11:05 2020 +0530
>
>     tests/acpi: unit test for 'acpi-pci-hotplug-with-bridge-support' bridge flag
>
>     This change adds a new unit test for the global flag
>     'acpi-pci-hotplug-with-bridge-support' which is available for cold plugged pci
>     bridges in i440fx. The flag can be used to turn off ACPI based hotplug support
>     on all pci bridges.
>
>
> Here is the full DSDT header, attached:
>
> /*
>  * Intel ACPI Component Architecture
>  * AML/ASL+ Disassembler version 20190509 (64-bit version)
>  * Copyright (c) 2000 - 2019 Intel Corporation
>  *
>  * Disassembling to symbolic ASL+ operators
>  *
>  * Disassembly of tests/data/acpi/pc/DSDT.hpbridge, Tue Sep 29 06:51:03 2020
>  *
>  * Original Table Header:
>  *     Signature        "DSDT"
>  *     Length           0x0000139D (5021)
>  *     Revision         0x01 **** 32-bit table (V1), no 64-bit math support
>  *     Checksum         0x05
>  *     OEM ID           "BOCHS "
>  *     OEM Table ID     "BXPCDSDT"
>  *     OEM Revision     0x00000001 (1)
>  *     Compiler ID      "BXPC"
>  *     Compiler Version 0x00000001 (1)
>  */
> DefinitionBlock ("", "DSDT", 1, "BOCHS ", "BXPCDSDT", 0x00000001)
>
> --
> MST
>
Ani Sinha Sept. 29, 2020, 11:10 a.m. UTC | #18
On Tue, Sep 29, 2020 at 4:28 PM Michael S. Tsirkin <mst@redhat.com> wrote:
>
> On Tue, Sep 29, 2020 at 04:20:15PM +0530, Ani Sinha wrote:
> >  as
> >
> > On Tue, Sep 29, 2020 at 4:11 PM Ani Sinha <ani@anisinha.ca> wrote:
> > >
> > > On Tue, Sep 29, 2020 at 4:07 PM Michael S. Tsirkin <mst@redhat.com> wrote:
> > > >
> > > > On Tue, Sep 29, 2020 at 04:02:07PM +0530, Ani Sinha wrote:
> > > > > On Tue, Sep 29, 2020 at 4:00 PM Ani Sinha <ani@anisinha.ca> wrote:
> > > > > >
> > > > > > In your pull request the following patch is completely screwed up:
> > > > > >
> > > > > > commit cda2006eded0ed91974e1d9e7f9f288e65812a3e
> > > > > > Author: Ani Sinha <ani@anisinha.ca>
> > > > > > Date:   Tue Sep 29 03:22:52 2020 -0400
> > > > > >
> > > > > >     tests/acpi: update golden master DSDT binary table blobs for q35
> > > > > >
> > > > > >
> > > > > > This is not my patch. It has all sorts of changes which does not
> > > > > > belong there. Can you please check?
> > > > >
> > > > > See https://patchew.org/QEMU/20200929071948.281157-1-mst@redhat.com/20200929071948.281157-46-mst@redhat.com/
> > > >
> > > >
> > > > I had to regenerate the binary, yes. That's par for the course.
> > > > But it looks like I added disasssembled files. Will fix up and drop,
> > > > thanks for noticing this.
> >
> > It's probably worthwhile to regenerate DSDT.hpbrroot as well and then
> > do the diff and compare.
>
> They are all regenerated by tests/data/acpi/rebuild-expected-aml.sh
>
> What is important is to check the changes and not trust them blindly.

Yes what I meant was if you are regenerating the source blob with
which you are diff-ing, you should generate the destination blob as
well so that we can compare apples to apples.

>
> Do you see anything unexpected? It is easy to run
>
> tests/data/acpi/disassemle-aml.sh -o <output directory>
>
> on multiple versions and see what is going on.
> Care to do this?
>
>
> --
> MST
>
Michael S. Tsirkin Sept. 29, 2020, 11:14 a.m. UTC | #19
On Tue, Sep 29, 2020 at 04:35:50PM +0530, Ani Sinha wrote:
> On Tue, Sep 29, 2020 at 4:25 PM Michael S. Tsirkin <mst@redhat.com> wrote:
> >
> > On Tue, Sep 29, 2020 at 04:11:45PM +0530, Ani Sinha wrote:
> > > On Tue, Sep 29, 2020 at 4:07 PM Michael S. Tsirkin <mst@redhat.com> wrote:
> > > >
> > > > On Tue, Sep 29, 2020 at 04:02:07PM +0530, Ani Sinha wrote:
> > > > > On Tue, Sep 29, 2020 at 4:00 PM Ani Sinha <ani@anisinha.ca> wrote:
> > > > > >
> > > > > > In your pull request the following patch is completely screwed up:
> > > > > >
> > > > > > commit cda2006eded0ed91974e1d9e7f9f288e65812a3e
> > > > > > Author: Ani Sinha <ani@anisinha.ca>
> > > > > > Date:   Tue Sep 29 03:22:52 2020 -0400
> > > > > >
> > > > > >     tests/acpi: update golden master DSDT binary table blobs for q35
> > > > > >
> > > > > >
> > > > > > This is not my patch. It has all sorts of changes which does not
> > > > > > belong there. Can you please check?
> > > > >
> > > > > See https://patchew.org/QEMU/20200929071948.281157-1-mst@redhat.com/20200929071948.281157-46-mst@redhat.com/
> > > >
> > > >
> > > > I had to regenerate the binary, yes. That's par for the course.
> > > > But it looks like I added disasssembled files. Will fix up and drop,
> > > > thanks for noticing this.
> >
> > OK I pushed out a fixed variant. Pls take a look.
> 
> OK I am not used to this workflow. How am I supposed to get it? Which tag?

New for_upstream tag - I just sent in a pull request.

> 
> >
> > > I think DSDT.hbridge is wrong. The checksum looks weird:
> > >
> > >
> > > + *     Length           0x00000B89 (2953)
> > >   *     Revision         0x01 **** 32-bit table (V1), no 64-bit math support
> > > - *     Checksum         0x05
> >
> > What is weird about it?
> >
> > >
> > > This file should be introduced just by one patch. my patch.
> >
> > I just re-run rebuild-expected-aml, no changes.
> >
> > I have this:
> > commit 5e3a486211f02d9ecb18939ca21087515ec81883
> > Author: Ani Sinha <ani@anisinha.ca>
> > Date:   Fri Sep 18 14:11:05 2020 +0530
> >
> >     tests/acpi: unit test for 'acpi-pci-hotplug-with-bridge-support' bridge flag
> >
> >     This change adds a new unit test for the global flag
> >     'acpi-pci-hotplug-with-bridge-support' which is available for cold plugged pci
> >     bridges in i440fx. The flag can be used to turn off ACPI based hotplug support
> >     on all pci bridges.
> >
> >
> > Here is the full DSDT header, attached:
> >
> > /*
> >  * Intel ACPI Component Architecture
> >  * AML/ASL+ Disassembler version 20190509 (64-bit version)
> >  * Copyright (c) 2000 - 2019 Intel Corporation
> >  *
> >  * Disassembling to symbolic ASL+ operators
> >  *
> >  * Disassembly of tests/data/acpi/pc/DSDT.hpbridge, Tue Sep 29 06:51:03 2020
> >  *
> >  * Original Table Header:
> >  *     Signature        "DSDT"
> >  *     Length           0x0000139D (5021)
> >  *     Revision         0x01 **** 32-bit table (V1), no 64-bit math support
> >  *     Checksum         0x05
> >  *     OEM ID           "BOCHS "
> >  *     OEM Table ID     "BXPCDSDT"
> >  *     OEM Revision     0x00000001 (1)
> >  *     Compiler ID      "BXPC"
> >  *     Compiler Version 0x00000001 (1)
> >  */
> > DefinitionBlock ("", "DSDT", 1, "BOCHS ", "BXPCDSDT", 0x00000001)
> >
> > --
> > MST
> >
Ani Sinha Sept. 29, 2020, 11:28 a.m. UTC | #20
On Tue, Sep 29, 2020 at 4:45 PM Michael S. Tsirkin <mst@redhat.com> wrote:
>
> On Tue, Sep 29, 2020 at 04:35:50PM +0530, Ani Sinha wrote:
> > On Tue, Sep 29, 2020 at 4:25 PM Michael S. Tsirkin <mst@redhat.com> wrote:
> > >
> > > On Tue, Sep 29, 2020 at 04:11:45PM +0530, Ani Sinha wrote:
> > > > On Tue, Sep 29, 2020 at 4:07 PM Michael S. Tsirkin <mst@redhat.com> wrote:
> > > > >
> > > > > On Tue, Sep 29, 2020 at 04:02:07PM +0530, Ani Sinha wrote:
> > > > > > On Tue, Sep 29, 2020 at 4:00 PM Ani Sinha <ani@anisinha.ca> wrote:
> > > > > > >
> > > > > > > In your pull request the following patch is completely screwed up:
> > > > > > >
> > > > > > > commit cda2006eded0ed91974e1d9e7f9f288e65812a3e
> > > > > > > Author: Ani Sinha <ani@anisinha.ca>
> > > > > > > Date:   Tue Sep 29 03:22:52 2020 -0400
> > > > > > >
> > > > > > >     tests/acpi: update golden master DSDT binary table blobs for q35
> > > > > > >
> > > > > > >
> > > > > > > This is not my patch. It has all sorts of changes which does not
> > > > > > > belong there. Can you please check?
> > > > > >
> > > > > > See https://patchew.org/QEMU/20200929071948.281157-1-mst@redhat.com/20200929071948.281157-46-mst@redhat.com/
> > > > >
> > > > >
> > > > > I had to regenerate the binary, yes. That's par for the course.
> > > > > But it looks like I added disasssembled files. Will fix up and drop,
> > > > > thanks for noticing this.
> > >
> > > OK I pushed out a fixed variant. Pls take a look.
> >
> > OK I am not used to this workflow. How am I supposed to get it? Which tag?
>
> New for_upstream tag - I just sent in a pull request.

Can you please point me to your tree?

>
> >
> > >
> > > > I think DSDT.hbridge is wrong. The checksum looks weird:
> > > >
> > > >
> > > > + *     Length           0x00000B89 (2953)
> > > >   *     Revision         0x01 **** 32-bit table (V1), no 64-bit math support
> > > > - *     Checksum         0x05
> > >
> > > What is weird about it?
> > >
> > > >
> > > > This file should be introduced just by one patch. my patch.
> > >
> > > I just re-run rebuild-expected-aml, no changes.
> > >
> > > I have this:
> > > commit 5e3a486211f02d9ecb18939ca21087515ec81883
> > > Author: Ani Sinha <ani@anisinha.ca>
> > > Date:   Fri Sep 18 14:11:05 2020 +0530
> > >
> > >     tests/acpi: unit test for 'acpi-pci-hotplug-with-bridge-support' bridge flag
> > >
> > >     This change adds a new unit test for the global flag
> > >     'acpi-pci-hotplug-with-bridge-support' which is available for cold plugged pci
> > >     bridges in i440fx. The flag can be used to turn off ACPI based hotplug support
> > >     on all pci bridges.
> > >
> > >
> > > Here is the full DSDT header, attached:
> > >
> > > /*
> > >  * Intel ACPI Component Architecture
> > >  * AML/ASL+ Disassembler version 20190509 (64-bit version)
> > >  * Copyright (c) 2000 - 2019 Intel Corporation
> > >  *
> > >  * Disassembling to symbolic ASL+ operators
> > >  *
> > >  * Disassembly of tests/data/acpi/pc/DSDT.hpbridge, Tue Sep 29 06:51:03 2020
> > >  *
> > >  * Original Table Header:
> > >  *     Signature        "DSDT"
> > >  *     Length           0x0000139D (5021)
> > >  *     Revision         0x01 **** 32-bit table (V1), no 64-bit math support
> > >  *     Checksum         0x05
> > >  *     OEM ID           "BOCHS "
> > >  *     OEM Table ID     "BXPCDSDT"
> > >  *     OEM Revision     0x00000001 (1)
> > >  *     Compiler ID      "BXPC"
> > >  *     Compiler Version 0x00000001 (1)
> > >  */
> > > DefinitionBlock ("", "DSDT", 1, "BOCHS ", "BXPCDSDT", 0x00000001)
> > >
> > > --
> > > MST
> > >
>
Michael S. Tsirkin Sept. 29, 2020, 11:35 a.m. UTC | #21
On Tue, Sep 29, 2020 at 04:58:03PM +0530, Ani Sinha wrote:
> On Tue, Sep 29, 2020 at 4:45 PM Michael S. Tsirkin <mst@redhat.com> wrote:
> >
> > On Tue, Sep 29, 2020 at 04:35:50PM +0530, Ani Sinha wrote:
> > > On Tue, Sep 29, 2020 at 4:25 PM Michael S. Tsirkin <mst@redhat.com> wrote:
> > > >
> > > > On Tue, Sep 29, 2020 at 04:11:45PM +0530, Ani Sinha wrote:
> > > > > On Tue, Sep 29, 2020 at 4:07 PM Michael S. Tsirkin <mst@redhat.com> wrote:
> > > > > >
> > > > > > On Tue, Sep 29, 2020 at 04:02:07PM +0530, Ani Sinha wrote:
> > > > > > > On Tue, Sep 29, 2020 at 4:00 PM Ani Sinha <ani@anisinha.ca> wrote:
> > > > > > > >
> > > > > > > > In your pull request the following patch is completely screwed up:
> > > > > > > >
> > > > > > > > commit cda2006eded0ed91974e1d9e7f9f288e65812a3e
> > > > > > > > Author: Ani Sinha <ani@anisinha.ca>
> > > > > > > > Date:   Tue Sep 29 03:22:52 2020 -0400
> > > > > > > >
> > > > > > > >     tests/acpi: update golden master DSDT binary table blobs for q35
> > > > > > > >
> > > > > > > >
> > > > > > > > This is not my patch. It has all sorts of changes which does not
> > > > > > > > belong there. Can you please check?
> > > > > > >
> > > > > > > See https://patchew.org/QEMU/20200929071948.281157-1-mst@redhat.com/20200929071948.281157-46-mst@redhat.com/
> > > > > >
> > > > > >
> > > > > > I had to regenerate the binary, yes. That's par for the course.
> > > > > > But it looks like I added disasssembled files. Will fix up and drop,
> > > > > > thanks for noticing this.
> > > >
> > > > OK I pushed out a fixed variant. Pls take a look.
> > >
> > > OK I am not used to this workflow. How am I supposed to get it? Which tag?
> >
> > New for_upstream tag - I just sent in a pull request.
> 
> Can you please point me to your tree?


  git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git tags/for_upstream



> >
> > >
> > > >
> > > > > I think DSDT.hbridge is wrong. The checksum looks weird:
> > > > >
> > > > >
> > > > > + *     Length           0x00000B89 (2953)
> > > > >   *     Revision         0x01 **** 32-bit table (V1), no 64-bit math support
> > > > > - *     Checksum         0x05
> > > >
> > > > What is weird about it?
> > > >
> > > > >
> > > > > This file should be introduced just by one patch. my patch.
> > > >
> > > > I just re-run rebuild-expected-aml, no changes.
> > > >
> > > > I have this:
> > > > commit 5e3a486211f02d9ecb18939ca21087515ec81883
> > > > Author: Ani Sinha <ani@anisinha.ca>
> > > > Date:   Fri Sep 18 14:11:05 2020 +0530
> > > >
> > > >     tests/acpi: unit test for 'acpi-pci-hotplug-with-bridge-support' bridge flag
> > > >
> > > >     This change adds a new unit test for the global flag
> > > >     'acpi-pci-hotplug-with-bridge-support' which is available for cold plugged pci
> > > >     bridges in i440fx. The flag can be used to turn off ACPI based hotplug support
> > > >     on all pci bridges.
> > > >
> > > >
> > > > Here is the full DSDT header, attached:
> > > >
> > > > /*
> > > >  * Intel ACPI Component Architecture
> > > >  * AML/ASL+ Disassembler version 20190509 (64-bit version)
> > > >  * Copyright (c) 2000 - 2019 Intel Corporation
> > > >  *
> > > >  * Disassembling to symbolic ASL+ operators
> > > >  *
> > > >  * Disassembly of tests/data/acpi/pc/DSDT.hpbridge, Tue Sep 29 06:51:03 2020
> > > >  *
> > > >  * Original Table Header:
> > > >  *     Signature        "DSDT"
> > > >  *     Length           0x0000139D (5021)
> > > >  *     Revision         0x01 **** 32-bit table (V1), no 64-bit math support
> > > >  *     Checksum         0x05
> > > >  *     OEM ID           "BOCHS "
> > > >  *     OEM Table ID     "BXPCDSDT"
> > > >  *     OEM Revision     0x00000001 (1)
> > > >  *     Compiler ID      "BXPC"
> > > >  *     Compiler Version 0x00000001 (1)
> > > >  */
> > > > DefinitionBlock ("", "DSDT", 1, "BOCHS ", "BXPCDSDT", 0x00000001)
> > > >
> > > > --
> > > > MST
> > > >
> >
Ani Sinha Sept. 29, 2020, 12:33 p.m. UTC | #22
On Tue, Sep 29, 2020 at 5:05 PM Michael S. Tsirkin <mst@redhat.com> wrote:
>
> On Tue, Sep 29, 2020 at 04:58:03PM +0530, Ani Sinha wrote:
> > On Tue, Sep 29, 2020 at 4:45 PM Michael S. Tsirkin <mst@redhat.com> wrote:
> > >
> > > On Tue, Sep 29, 2020 at 04:35:50PM +0530, Ani Sinha wrote:
> > > > On Tue, Sep 29, 2020 at 4:25 PM Michael S. Tsirkin <mst@redhat.com> wrote:
> > > > >
> > > > > On Tue, Sep 29, 2020 at 04:11:45PM +0530, Ani Sinha wrote:
> > > > > > On Tue, Sep 29, 2020 at 4:07 PM Michael S. Tsirkin <mst@redhat.com> wrote:
> > > > > > >
> > > > > > > On Tue, Sep 29, 2020 at 04:02:07PM +0530, Ani Sinha wrote:
> > > > > > > > On Tue, Sep 29, 2020 at 4:00 PM Ani Sinha <ani@anisinha.ca> wrote:
> > > > > > > > >
> > > > > > > > > In your pull request the following patch is completely screwed up:
> > > > > > > > >
> > > > > > > > > commit cda2006eded0ed91974e1d9e7f9f288e65812a3e
> > > > > > > > > Author: Ani Sinha <ani@anisinha.ca>
> > > > > > > > > Date:   Tue Sep 29 03:22:52 2020 -0400
> > > > > > > > >
> > > > > > > > >     tests/acpi: update golden master DSDT binary table blobs for q35
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > This is not my patch. It has all sorts of changes which does not
> > > > > > > > > belong there. Can you please check?
> > > > > > > >
> > > > > > > > See https://patchew.org/QEMU/20200929071948.281157-1-mst@redhat.com/20200929071948.281157-46-mst@redhat.com/
> > > > > > >
> > > > > > >
> > > > > > > I had to regenerate the binary, yes. That's par for the course.
> > > > > > > But it looks like I added disasssembled files. Will fix up and drop,
> > > > > > > thanks for noticing this.
> > > > >
> > > > > OK I pushed out a fixed variant. Pls take a look.
> > > >
> > > > OK I am not used to this workflow. How am I supposed to get it? Which tag?
> > >
> > > New for_upstream tag - I just sent in a pull request.
> >
> > Can you please point me to your tree?
>
>
>   git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git tags/for_upstream

I have sent the updated patches based on your pull request tag. I just
had to regenrated the blob for tests/data/acpi/pc/DSDT.hpbrroot.

make && make check-qtest-x86_64 V=1 passes.

The diff looks good.

Can you please send a pull request with these two patches ASAP?

>
>
>
> > >
> > > >
> > > > >
> > > > > > I think DSDT.hbridge is wrong. The checksum looks weird:
> > > > > >
> > > > > >
> > > > > > + *     Length           0x00000B89 (2953)
> > > > > >   *     Revision         0x01 **** 32-bit table (V1), no 64-bit math support
> > > > > > - *     Checksum         0x05
> > > > >
> > > > > What is weird about it?
> > > > >
> > > > > >
> > > > > > This file should be introduced just by one patch. my patch.
> > > > >
> > > > > I just re-run rebuild-expected-aml, no changes.
> > > > >
> > > > > I have this:
> > > > > commit 5e3a486211f02d9ecb18939ca21087515ec81883
> > > > > Author: Ani Sinha <ani@anisinha.ca>
> > > > > Date:   Fri Sep 18 14:11:05 2020 +0530
> > > > >
> > > > >     tests/acpi: unit test for 'acpi-pci-hotplug-with-bridge-support' bridge flag
> > > > >
> > > > >     This change adds a new unit test for the global flag
> > > > >     'acpi-pci-hotplug-with-bridge-support' which is available for cold plugged pci
> > > > >     bridges in i440fx. The flag can be used to turn off ACPI based hotplug support
> > > > >     on all pci bridges.
> > > > >
> > > > >
> > > > > Here is the full DSDT header, attached:
> > > > >
> > > > > /*
> > > > >  * Intel ACPI Component Architecture
> > > > >  * AML/ASL+ Disassembler version 20190509 (64-bit version)
> > > > >  * Copyright (c) 2000 - 2019 Intel Corporation
> > > > >  *
> > > > >  * Disassembling to symbolic ASL+ operators
> > > > >  *
> > > > >  * Disassembly of tests/data/acpi/pc/DSDT.hpbridge, Tue Sep 29 06:51:03 2020
> > > > >  *
> > > > >  * Original Table Header:
> > > > >  *     Signature        "DSDT"
> > > > >  *     Length           0x0000139D (5021)
> > > > >  *     Revision         0x01 **** 32-bit table (V1), no 64-bit math support
> > > > >  *     Checksum         0x05
> > > > >  *     OEM ID           "BOCHS "
> > > > >  *     OEM Table ID     "BXPCDSDT"
> > > > >  *     OEM Revision     0x00000001 (1)
> > > > >  *     Compiler ID      "BXPC"
> > > > >  *     Compiler Version 0x00000001 (1)
> > > > >  */
> > > > > DefinitionBlock ("", "DSDT", 1, "BOCHS ", "BXPCDSDT", 0x00000001)
> > > > >
> > > > > --
> > > > > MST
> > > > >
> > >
>
Michael S. Tsirkin Sept. 30, 2020, 7:36 a.m. UTC | #23
On Tue, Sep 29, 2020 at 06:03:00PM +0530, Ani Sinha wrote:
> On Tue, Sep 29, 2020 at 5:05 PM Michael S. Tsirkin <mst@redhat.com> wrote:
> >
> > On Tue, Sep 29, 2020 at 04:58:03PM +0530, Ani Sinha wrote:
> > > On Tue, Sep 29, 2020 at 4:45 PM Michael S. Tsirkin <mst@redhat.com> wrote:
> > > >
> > > > On Tue, Sep 29, 2020 at 04:35:50PM +0530, Ani Sinha wrote:
> > > > > On Tue, Sep 29, 2020 at 4:25 PM Michael S. Tsirkin <mst@redhat.com> wrote:
> > > > > >
> > > > > > On Tue, Sep 29, 2020 at 04:11:45PM +0530, Ani Sinha wrote:
> > > > > > > On Tue, Sep 29, 2020 at 4:07 PM Michael S. Tsirkin <mst@redhat.com> wrote:
> > > > > > > >
> > > > > > > > On Tue, Sep 29, 2020 at 04:02:07PM +0530, Ani Sinha wrote:
> > > > > > > > > On Tue, Sep 29, 2020 at 4:00 PM Ani Sinha <ani@anisinha.ca> wrote:
> > > > > > > > > >
> > > > > > > > > > In your pull request the following patch is completely screwed up:
> > > > > > > > > >
> > > > > > > > > > commit cda2006eded0ed91974e1d9e7f9f288e65812a3e
> > > > > > > > > > Author: Ani Sinha <ani@anisinha.ca>
> > > > > > > > > > Date:   Tue Sep 29 03:22:52 2020 -0400
> > > > > > > > > >
> > > > > > > > > >     tests/acpi: update golden master DSDT binary table blobs for q35
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > This is not my patch. It has all sorts of changes which does not
> > > > > > > > > > belong there. Can you please check?
> > > > > > > > >
> > > > > > > > > See https://patchew.org/QEMU/20200929071948.281157-1-mst@redhat.com/20200929071948.281157-46-mst@redhat.com/
> > > > > > > >
> > > > > > > >
> > > > > > > > I had to regenerate the binary, yes. That's par for the course.
> > > > > > > > But it looks like I added disasssembled files. Will fix up and drop,
> > > > > > > > thanks for noticing this.
> > > > > >
> > > > > > OK I pushed out a fixed variant. Pls take a look.
> > > > >
> > > > > OK I am not used to this workflow. How am I supposed to get it? Which tag?
> > > >
> > > > New for_upstream tag - I just sent in a pull request.
> > >
> > > Can you please point me to your tree?
> >
> >
> >   git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git tags/for_upstream
> 
> I have sent the updated patches based on your pull request tag. I just
> had to regenrated the blob for tests/data/acpi/pc/DSDT.hpbrroot.
> 
> make && make check-qtest-x86_64 V=1 passes.
> 
> The diff looks good.
> 
> Can you please send a pull request with these two patches ASAP?


Thanks, I will queue them and merge in the next pull request.

> >
> >
> >
> > > >
> > > > >
> > > > > >
> > > > > > > I think DSDT.hbridge is wrong. The checksum looks weird:
> > > > > > >
> > > > > > >
> > > > > > > + *     Length           0x00000B89 (2953)
> > > > > > >   *     Revision         0x01 **** 32-bit table (V1), no 64-bit math support
> > > > > > > - *     Checksum         0x05
> > > > > >
> > > > > > What is weird about it?
> > > > > >
> > > > > > >
> > > > > > > This file should be introduced just by one patch. my patch.
> > > > > >
> > > > > > I just re-run rebuild-expected-aml, no changes.
> > > > > >
> > > > > > I have this:
> > > > > > commit 5e3a486211f02d9ecb18939ca21087515ec81883
> > > > > > Author: Ani Sinha <ani@anisinha.ca>
> > > > > > Date:   Fri Sep 18 14:11:05 2020 +0530
> > > > > >
> > > > > >     tests/acpi: unit test for 'acpi-pci-hotplug-with-bridge-support' bridge flag
> > > > > >
> > > > > >     This change adds a new unit test for the global flag
> > > > > >     'acpi-pci-hotplug-with-bridge-support' which is available for cold plugged pci
> > > > > >     bridges in i440fx. The flag can be used to turn off ACPI based hotplug support
> > > > > >     on all pci bridges.
> > > > > >
> > > > > >
> > > > > > Here is the full DSDT header, attached:
> > > > > >
> > > > > > /*
> > > > > >  * Intel ACPI Component Architecture
> > > > > >  * AML/ASL+ Disassembler version 20190509 (64-bit version)
> > > > > >  * Copyright (c) 2000 - 2019 Intel Corporation
> > > > > >  *
> > > > > >  * Disassembling to symbolic ASL+ operators
> > > > > >  *
> > > > > >  * Disassembly of tests/data/acpi/pc/DSDT.hpbridge, Tue Sep 29 06:51:03 2020
> > > > > >  *
> > > > > >  * Original Table Header:
> > > > > >  *     Signature        "DSDT"
> > > > > >  *     Length           0x0000139D (5021)
> > > > > >  *     Revision         0x01 **** 32-bit table (V1), no 64-bit math support
> > > > > >  *     Checksum         0x05
> > > > > >  *     OEM ID           "BOCHS "
> > > > > >  *     OEM Table ID     "BXPCDSDT"
> > > > > >  *     OEM Revision     0x00000001 (1)
> > > > > >  *     Compiler ID      "BXPC"
> > > > > >  *     Compiler Version 0x00000001 (1)
> > > > > >  */
> > > > > > DefinitionBlock ("", "DSDT", 1, "BOCHS ", "BXPCDSDT", 0x00000001)
> > > > > >
> > > > > > --
> > > > > > MST
> > > > > >
> > > >
> >
Ani Sinha Sept. 30, 2020, 7:39 a.m. UTC | #24
On Wed, Sep 30, 2020 at 1:06 PM Michael S. Tsirkin <mst@redhat.com> wrote:

> On Tue, Sep 29, 2020 at 06:03:00PM +0530, Ani Sinha wrote:
>
> > On Tue, Sep 29, 2020 at 5:05 PM Michael S. Tsirkin <mst@redhat.com>
> wrote:
>
> > >
>
> > > On Tue, Sep 29, 2020 at 04:58:03PM +0530, Ani Sinha wrote:
>
> > > > On Tue, Sep 29, 2020 at 4:45 PM Michael S. Tsirkin <mst@redhat.com>
> wrote:
>
> > > > >
>
> > > > > On Tue, Sep 29, 2020 at 04:35:50PM +0530, Ani Sinha wrote:
>
> > > > > > On Tue, Sep 29, 2020 at 4:25 PM Michael S. Tsirkin <
> mst@redhat.com> wrote:
>
> > > > > > >
>
> > > > > > > On Tue, Sep 29, 2020 at 04:11:45PM +0530, Ani Sinha wrote:
>
> > > > > > > > On Tue, Sep 29, 2020 at 4:07 PM Michael S. Tsirkin <
> mst@redhat.com> wrote:
>
> > > > > > > > >
>
> > > > > > > > > On Tue, Sep 29, 2020 at 04:02:07PM +0530, Ani Sinha wrote:
>
> > > > > > > > > > On Tue, Sep 29, 2020 at 4:00 PM Ani Sinha <
> ani@anisinha.ca> wrote:
>
> > > > > > > > > > >
>
> > > > > > > > > > > In your pull request the following patch is completely
> screwed up:
>
> > > > > > > > > > >
>
> > > > > > > > > > > commit cda2006eded0ed91974e1d9e7f9f288e65812a3e
>
> > > > > > > > > > > Author: Ani Sinha <ani@anisinha.ca>
>
> > > > > > > > > > > Date:   Tue Sep 29 03:22:52 2020 -0400
>
> > > > > > > > > > >
>
> > > > > > > > > > >     tests/acpi: update golden master DSDT binary table
> blobs for q35
>
> > > > > > > > > > >
>
> > > > > > > > > > >
>
> > > > > > > > > > > This is not my patch. It has all sorts of changes
> which does not
>
> > > > > > > > > > > belong there. Can you please check?
>
> > > > > > > > > >
>
> > > > > > > > > > See
> https://patchew.org/QEMU/20200929071948.281157-1-mst@redhat.com/20200929071948.281157-46-mst@redhat.com/
>
> > > > > > > > >
>
> > > > > > > > >
>
> > > > > > > > > I had to regenerate the binary, yes. That's par for the
> course.
>
> > > > > > > > > But it looks like I added disasssembled files. Will fix up
> and drop,
>
> > > > > > > > > thanks for noticing this.
>
> > > > > > >
>
> > > > > > > OK I pushed out a fixed variant. Pls take a look.
>
> > > > > >
>
> > > > > > OK I am not used to this workflow. How am I supposed to get it?
> Which tag?
>
> > > > >
>
> > > > > New for_upstream tag - I just sent in a pull request.
>
> > > >
>
> > > > Can you please point me to your tree?
>
> > >
>
> > >
>
> > >   git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git tags/for_upstream
>
> >
>
> > I have sent the updated patches based on your pull request tag. I just
>
> > had to regenrated the blob for tests/data/acpi/pc/DSDT.hpbrroot.
>
> >
>
> > make && make check-qtest-x86_64 V=1 passes.
>
> >
>
> > The diff looks good.
>
> >
>
> > Can you please send a pull request with these two patches ASAP?
>
>
>
>
>
> Thanks, I will queue them and merge in the next pull request.


I'm willing to get down on my knees begging you to just do one another pull
request for these two patches. Were so close with my entire work merged.

Please let's not wait another week or so.


>
>
>
> > >
>
> > >
>
> > >
>
> > > > >
>
> > > > > >
>
> > > > > > >
>
> > > > > > > > I think DSDT.hbridge is wrong. The checksum looks weird:
>
> > > > > > > >
>
> > > > > > > >
>
> > > > > > > > + *     Length           0x00000B89 (2953)
>
> > > > > > > >   *     Revision         0x01 **** 32-bit table (V1), no
> 64-bit math support
>
> > > > > > > > - *     Checksum         0x05
>
> > > > > > >
>
> > > > > > > What is weird about it?
>
> > > > > > >
>
> > > > > > > >
>
> > > > > > > > This file should be introduced just by one patch. my patch.
>
> > > > > > >
>
> > > > > > > I just re-run rebuild-expected-aml, no changes.
>
> > > > > > >
>
> > > > > > > I have this:
>
> > > > > > > commit 5e3a486211f02d9ecb18939ca21087515ec81883
>
> > > > > > > Author: Ani Sinha <ani@anisinha.ca>
>
> > > > > > > Date:   Fri Sep 18 14:11:05 2020 +0530
>
> > > > > > >
>
> > > > > > >     tests/acpi: unit test for
> 'acpi-pci-hotplug-with-bridge-support' bridge flag
>
> > > > > > >
>
> > > > > > >     This change adds a new unit test for the global flag
>
> > > > > > >     'acpi-pci-hotplug-with-bridge-support' which is available
> for cold plugged pci
>
> > > > > > >     bridges in i440fx. The flag can be used to turn off ACPI
> based hotplug support
>
> > > > > > >     on all pci bridges.
>
> > > > > > >
>
> > > > > > >
>
> > > > > > > Here is the full DSDT header, attached:
>
> > > > > > >
>
> > > > > > > /*
>
> > > > > > >  * Intel ACPI Component Architecture
>
> > > > > > >  * AML/ASL+ Disassembler version 20190509 (64-bit version)
>
> > > > > > >  * Copyright (c) 2000 - 2019 Intel Corporation
>
> > > > > > >  *
>
> > > > > > >  * Disassembling to symbolic ASL+ operators
>
> > > > > > >  *
>
> > > > > > >  * Disassembly of tests/data/acpi/pc/DSDT.hpbridge, Tue Sep 29
> 06:51:03 2020
>
> > > > > > >  *
>
> > > > > > >  * Original Table Header:
>
> > > > > > >  *     Signature        "DSDT"
>
> > > > > > >  *     Length           0x0000139D (5021)
>
> > > > > > >  *     Revision         0x01 **** 32-bit table (V1), no 64-bit
> math support
>
> > > > > > >  *     Checksum         0x05
>
> > > > > > >  *     OEM ID           "BOCHS "
>
> > > > > > >  *     OEM Table ID     "BXPCDSDT"
>
> > > > > > >  *     OEM Revision     0x00000001 (1)
>
> > > > > > >  *     Compiler ID      "BXPC"
>
> > > > > > >  *     Compiler Version 0x00000001 (1)
>
> > > > > > >  */
>
> > > > > > > DefinitionBlock ("", "DSDT", 1, "BOCHS ", "BXPCDSDT",
> 0x00000001)
>
> > > > > > >
>
> > > > > > > --
>
> > > > > > > MST
>
> > > > > > >
>
> > > > >
>
> > >
>
>
>
>
Michael S. Tsirkin Sept. 30, 2020, 7:43 a.m. UTC | #25
On Wed, Sep 30, 2020 at 01:09:09PM +0530, Ani Sinha wrote:
> 
> 
> On Wed, Sep 30, 2020 at 1:06 PM Michael S. Tsirkin <mst@redhat.com> wrote:
> 
>     On Tue, Sep 29, 2020 at 06:03:00PM +0530, Ani Sinha wrote:
> 
>     > On Tue, Sep 29, 2020 at 5:05 PM Michael S. Tsirkin <mst@redhat.com>
>     wrote:
> 
>     > >
> 
>     > > On Tue, Sep 29, 2020 at 04:58:03PM +0530, Ani Sinha wrote:
> 
>     > > > On Tue, Sep 29, 2020 at 4:45 PM Michael S. Tsirkin <mst@redhat.com>
>     wrote:
> 
>     > > > >
> 
>     > > > > On Tue, Sep 29, 2020 at 04:35:50PM +0530, Ani Sinha wrote:
> 
>     > > > > > On Tue, Sep 29, 2020 at 4:25 PM Michael S. Tsirkin <
>     mst@redhat.com> wrote:
> 
>     > > > > > >
> 
>     > > > > > > On Tue, Sep 29, 2020 at 04:11:45PM +0530, Ani Sinha wrote:
> 
>     > > > > > > > On Tue, Sep 29, 2020 at 4:07 PM Michael S. Tsirkin <
>     mst@redhat.com> wrote:
> 
>     > > > > > > > >
> 
>     > > > > > > > > On Tue, Sep 29, 2020 at 04:02:07PM +0530, Ani Sinha wrote:
> 
>     > > > > > > > > > On Tue, Sep 29, 2020 at 4:00 PM Ani Sinha <
>     ani@anisinha.ca> wrote:
> 
>     > > > > > > > > > >
> 
>     > > > > > > > > > > In your pull request the following patch is completely
>     screwed up:
> 
>     > > > > > > > > > >
> 
>     > > > > > > > > > > commit cda2006eded0ed91974e1d9e7f9f288e65812a3e
> 
>     > > > > > > > > > > Author: Ani Sinha <ani@anisinha.ca>
> 
>     > > > > > > > > > > Date:   Tue Sep 29 03:22:52 2020 -0400
> 
>     > > > > > > > > > >
> 
>     > > > > > > > > > >     tests/acpi: update golden master DSDT binary table
>     blobs for q35
> 
>     > > > > > > > > > >
> 
>     > > > > > > > > > >
> 
>     > > > > > > > > > > This is not my patch. It has all sorts of changes which
>     does not
> 
>     > > > > > > > > > > belong there. Can you please check?
> 
>     > > > > > > > > >
> 
>     > > > > > > > > > See https://patchew.org/QEMU/
>     20200929071948.281157-1-mst@redhat.com/
>     20200929071948.281157-46-mst@redhat.com/
> 
>     > > > > > > > >
> 
>     > > > > > > > >
> 
>     > > > > > > > > I had to regenerate the binary, yes. That's par for the
>     course.
> 
>     > > > > > > > > But it looks like I added disasssembled files. Will fix up
>     and drop,
> 
>     > > > > > > > > thanks for noticing this.
> 
>     > > > > > >
> 
>     > > > > > > OK I pushed out a fixed variant. Pls take a look.
> 
>     > > > > >
> 
>     > > > > > OK I am not used to this workflow. How am I supposed to get it?
>     Which tag?
> 
>     > > > >
> 
>     > > > > New for_upstream tag - I just sent in a pull request.
> 
>     > > >
> 
>     > > > Can you please point me to your tree?
> 
>     > >
> 
>     > >
> 
>     > >   git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git tags/for_upstream
> 
>     >
> 
>     > I have sent the updated patches based on your pull request tag. I just
> 
>     > had to regenrated the blob for tests/data/acpi/pc/DSDT.hpbrroot.
> 
>     >
> 
>     > make && make check-qtest-x86_64 V=1 passes.
> 
>     >
> 
>     > The diff looks good.
> 
>     >
> 
>     > Can you please send a pull request with these two patches ASAP?
> 
> 
> 
> 
> 
>     Thanks, I will queue them and merge in the next pull request.
> 
> 
> I'm willing to get down on my knees begging you to just do one another pull
> request for these two patches. Were so close with my entire work merged.
> 
> Please let's not wait another week or so. 


OK it's not too much work but ... could you please add justification
about why adding this one unit test is needed so urgently?
That motivation would be quite helpful for the pull request.


> 
> 
> 
> 
> 
>     > >
> 
>     > >
> 
>     > >
> 
>     > > > >
> 
>     > > > > >
> 
>     > > > > > >
> 
>     > > > > > > > I think DSDT.hbridge is wrong. The checksum looks weird:
> 
>     > > > > > > >
> 
>     > > > > > > >
> 
>     > > > > > > > + *     Length           0x00000B89 (2953)
> 
>     > > > > > > >   *     Revision         0x01 **** 32-bit table (V1), no
>     64-bit math support
> 
>     > > > > > > > - *     Checksum         0x05
> 
>     > > > > > >
> 
>     > > > > > > What is weird about it?
> 
>     > > > > > >
> 
>     > > > > > > >
> 
>     > > > > > > > This file should be introduced just by one patch. my patch.
> 
>     > > > > > >
> 
>     > > > > > > I just re-run rebuild-expected-aml, no changes.
> 
>     > > > > > >
> 
>     > > > > > > I have this:
> 
>     > > > > > > commit 5e3a486211f02d9ecb18939ca21087515ec81883
> 
>     > > > > > > Author: Ani Sinha <ani@anisinha.ca>
> 
>     > > > > > > Date:   Fri Sep 18 14:11:05 2020 +0530
> 
>     > > > > > >
> 
>     > > > > > >     tests/acpi: unit test for
>     'acpi-pci-hotplug-with-bridge-support' bridge flag
> 
>     > > > > > >
> 
>     > > > > > >     This change adds a new unit test for the global flag
> 
>     > > > > > >     'acpi-pci-hotplug-with-bridge-support' which is available
>     for cold plugged pci
> 
>     > > > > > >     bridges in i440fx. The flag can be used to turn off ACPI
>     based hotplug support
> 
>     > > > > > >     on all pci bridges.
> 
>     > > > > > >
> 
>     > > > > > >
> 
>     > > > > > > Here is the full DSDT header, attached:
> 
>     > > > > > >
> 
>     > > > > > > /*
> 
>     > > > > > >  * Intel ACPI Component Architecture
> 
>     > > > > > >  * AML/ASL+ Disassembler version 20190509 (64-bit version)
> 
>     > > > > > >  * Copyright (c) 2000 - 2019 Intel Corporation
> 
>     > > > > > >  *
> 
>     > > > > > >  * Disassembling to symbolic ASL+ operators
> 
>     > > > > > >  *
> 
>     > > > > > >  * Disassembly of tests/data/acpi/pc/DSDT.hpbridge, Tue Sep 29
>     06:51:03 2020
> 
>     > > > > > >  *
> 
>     > > > > > >  * Original Table Header:
> 
>     > > > > > >  *     Signature        "DSDT"
> 
>     > > > > > >  *     Length           0x0000139D (5021)
> 
>     > > > > > >  *     Revision         0x01 **** 32-bit table (V1), no 64-bit
>     math support
> 
>     > > > > > >  *     Checksum         0x05
> 
>     > > > > > >  *     OEM ID           "BOCHS "
> 
>     > > > > > >  *     OEM Table ID     "BXPCDSDT"
> 
>     > > > > > >  *     OEM Revision     0x00000001 (1)
> 
>     > > > > > >  *     Compiler ID      "BXPC"
> 
>     > > > > > >  *     Compiler Version 0x00000001 (1)
> 
>     > > > > > >  */
> 
>     > > > > > > DefinitionBlock ("", "DSDT", 1, "BOCHS ", "BXPCDSDT",
>     0x00000001)
> 
>     > > > > > >
> 
>     > > > > > > --
> 
>     > > > > > > MST
> 
>     > > > > > >
> 
>     > > > >
> 
>     > >
> 
> 
> 
>
Ani Sinha Sept. 30, 2020, 7:47 a.m. UTC | #26
On Wed, Sep 30, 2020 at 1:14 PM Michael S. Tsirkin <mst@redhat.com> wrote:

> On Wed, Sep 30, 2020 at 01:09:09PM +0530, Ani Sinha wrote:
>
> >
>
> >
>
> > On Wed, Sep 30, 2020 at 1:06 PM Michael S. Tsirkin <mst@redhat.com>
> wrote:
>
> >
>
> >     On Tue, Sep 29, 2020 at 06:03:00PM +0530, Ani Sinha wrote:
>
> >
>
> >     > On Tue, Sep 29, 2020 at 5:05 PM Michael S. Tsirkin <mst@redhat.com
> >
>
> >     wrote:
>
> >
>
> >     > >
>
> >
>
> >     > > On Tue, Sep 29, 2020 at 04:58:03PM +0530, Ani Sinha wrote:
>
> >
>
> >     > > > On Tue, Sep 29, 2020 at 4:45 PM Michael S. Tsirkin <
> mst@redhat.com>
>
> >     wrote:
>
> >
>
> >     > > > >
>
> >
>
> >     > > > > On Tue, Sep 29, 2020 at 04:35:50PM +0530, Ani Sinha wrote:
>
> >
>
> >     > > > > > On Tue, Sep 29, 2020 at 4:25 PM Michael S. Tsirkin <
>
> >     mst@redhat.com> wrote:
>
> >
>
> >     > > > > > >
>
> >
>
> >     > > > > > > On Tue, Sep 29, 2020 at 04:11:45PM +0530, Ani Sinha
> wrote:
>
> >
>
> >     > > > > > > > On Tue, Sep 29, 2020 at 4:07 PM Michael S. Tsirkin <
>
> >     mst@redhat.com> wrote:
>
> >
>
> >     > > > > > > > >
>
> >
>
> >     > > > > > > > > On Tue, Sep 29, 2020 at 04:02:07PM +0530, Ani Sinha
> wrote:
>
> >
>
> >     > > > > > > > > > On Tue, Sep 29, 2020 at 4:00 PM Ani Sinha <
>
> >     ani@anisinha.ca> wrote:
>
> >
>
> >     > > > > > > > > > >
>
> >
>
> >     > > > > > > > > > > In your pull request the following patch is
> completely
>
> >     screwed up:
>
> >
>
> >     > > > > > > > > > >
>
> >
>
> >     > > > > > > > > > > commit cda2006eded0ed91974e1d9e7f9f288e65812a3e
>
> >
>
> >     > > > > > > > > > > Author: Ani Sinha <ani@anisinha.ca>
>
> >
>
> >     > > > > > > > > > > Date:   Tue Sep 29 03:22:52 2020 -0400
>
> >
>
> >     > > > > > > > > > >
>
> >
>
> >     > > > > > > > > > >     tests/acpi: update golden master DSDT binary
> table
>
> >     blobs for q35
>
> >
>
> >     > > > > > > > > > >
>
> >
>
> >     > > > > > > > > > >
>
> >
>
> >     > > > > > > > > > > This is not my patch. It has all sorts of
> changes which
>
> >     does not
>
> >
>
> >     > > > > > > > > > > belong there. Can you please check?
>
> >
>
> >     > > > > > > > > >
>
> >
>
> >     > > > > > > > > > See https://patchew.org/QEMU/
>
> >     20200929071948.281157-1-mst@redhat.com/
>
> >     20200929071948.281157-46-mst@redhat.com/
>
> >
>
> >     > > > > > > > >
>
> >
>
> >     > > > > > > > >
>
> >
>
> >     > > > > > > > > I had to regenerate the binary, yes. That's par for
> the
>
> >     course.
>
> >
>
> >     > > > > > > > > But it looks like I added disasssembled files. Will
> fix up
>
> >     and drop,
>
> >
>
> >     > > > > > > > > thanks for noticing this.
>
> >
>
> >     > > > > > >
>
> >
>
> >     > > > > > > OK I pushed out a fixed variant. Pls take a look.
>
> >
>
> >     > > > > >
>
> >
>
> >     > > > > > OK I am not used to this workflow. How am I supposed to
> get it?
>
> >     Which tag?
>
> >
>
> >     > > > >
>
> >
>
> >     > > > > New for_upstream tag - I just sent in a pull request.
>
> >
>
> >     > > >
>
> >
>
> >     > > > Can you please point me to your tree?
>
> >
>
> >     > >
>
> >
>
> >     > >
>
> >
>
> >     > >   git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git
> tags/for_upstream
>
> >
>
> >     >
>
> >
>
> >     > I have sent the updated patches based on your pull request tag. I
> just
>
> >
>
> >     > had to regenrated the blob for tests/data/acpi/pc/DSDT.hpbrroot.
>
> >
>
> >     >
>
> >
>
> >     > make && make check-qtest-x86_64 V=1 passes.
>
> >
>
> >     >
>
> >
>
> >     > The diff looks good.
>
> >
>
> >     >
>
> >
>
> >     > Can you please send a pull request with these two patches ASAP?
>
> >
>
> >
>
> >
>
> >
>
> >
>
> >     Thanks, I will queue them and merge in the next pull request.
>
> >
>
> >
>
> > I'm willing to get down on my knees begging you to just do one another
> pull
>
> > request for these two patches. Were so close with my entire work merged.
>
> >
>
> > Please let's not wait another week or so.
>
>
>
>
>
> OK it's not too much work but ... could you please add justification
>
> about why adding this one unit test is needed so urgently?
>
> That motivation would be quite helpful for the pull request.


A patch without unit test doesn't complete the patch work. A unit test
makes sure that the change would not get broken by other changes that come
in later. Typically all code changes are accompanied by unit test in the
same patch. Hence since the main work has already been merged, the unit
test should merge ASAP so that no breakage can happen in between.

Plus this completes an entire series of work which I've been working for a
while. I really would love to see it all merged cleanly and fully completed.


>
>
>
>
>
> >
>
> >
>
> >
>
> >
>
> >
>
> >     > >
>
> >
>
> >     > >
>
> >
>
> >     > >
>
> >
>
> >     > > > >
>
> >
>
> >     > > > > >
>
> >
>
> >     > > > > > >
>
> >
>
> >     > > > > > > > I think DSDT.hbridge is wrong. The checksum looks
> weird:
>
> >
>
> >     > > > > > > >
>
> >
>
> >     > > > > > > >
>
> >
>
> >     > > > > > > > + *     Length           0x00000B89 (2953)
>
> >
>
> >     > > > > > > >   *     Revision         0x01 **** 32-bit table (V1),
> no
>
> >     64-bit math support
>
> >
>
> >     > > > > > > > - *     Checksum         0x05
>
> >
>
> >     > > > > > >
>
> >
>
> >     > > > > > > What is weird about it?
>
> >
>
> >     > > > > > >
>
> >
>
> >     > > > > > > >
>
> >
>
> >     > > > > > > > This file should be introduced just by one patch. my
> patch.
>
> >
>
> >     > > > > > >
>
> >
>
> >     > > > > > > I just re-run rebuild-expected-aml, no changes.
>
> >
>
> >     > > > > > >
>
> >
>
> >     > > > > > > I have this:
>
> >
>
> >     > > > > > > commit 5e3a486211f02d9ecb18939ca21087515ec81883
>
> >
>
> >     > > > > > > Author: Ani Sinha <ani@anisinha.ca>
>
> >
>
> >     > > > > > > Date:   Fri Sep 18 14:11:05 2020 +0530
>
> >
>
> >     > > > > > >
>
> >
>
> >     > > > > > >     tests/acpi: unit test for
>
> >     'acpi-pci-hotplug-with-bridge-support' bridge flag
>
> >
>
> >     > > > > > >
>
> >
>
> >     > > > > > >     This change adds a new unit test for the global flag
>
> >
>
> >     > > > > > >     'acpi-pci-hotplug-with-bridge-support' which is
> available
>
> >     for cold plugged pci
>
> >
>
> >     > > > > > >     bridges in i440fx. The flag can be used to turn off
> ACPI
>
> >     based hotplug support
>
> >
>
> >     > > > > > >     on all pci bridges.
>
> >
>
> >     > > > > > >
>
> >
>
> >     > > > > > >
>
> >
>
> >     > > > > > > Here is the full DSDT header, attached:
>
> >
>
> >     > > > > > >
>
> >
>
> >     > > > > > > /*
>
> >
>
> >     > > > > > >  * Intel ACPI Component Architecture
>
> >
>
> >     > > > > > >  * AML/ASL+ Disassembler version 20190509 (64-bit
> version)
>
> >
>
> >     > > > > > >  * Copyright (c) 2000 - 2019 Intel Corporation
>
> >
>
> >     > > > > > >  *
>
> >
>
> >     > > > > > >  * Disassembling to symbolic ASL+ operators
>
> >
>
> >     > > > > > >  *
>
> >
>
> >     > > > > > >  * Disassembly of tests/data/acpi/pc/DSDT.hpbridge, Tue
> Sep 29
>
> >     06:51:03 2020
>
> >
>
> >     > > > > > >  *
>
> >
>
> >     > > > > > >  * Original Table Header:
>
> >
>
> >     > > > > > >  *     Signature        "DSDT"
>
> >
>
> >     > > > > > >  *     Length           0x0000139D (5021)
>
> >
>
> >     > > > > > >  *     Revision         0x01 **** 32-bit table (V1), no
> 64-bit
>
> >     math support
>
> >
>
> >     > > > > > >  *     Checksum         0x05
>
> >
>
> >     > > > > > >  *     OEM ID           "BOCHS "
>
> >
>
> >     > > > > > >  *     OEM Table ID     "BXPCDSDT"
>
> >
>
> >     > > > > > >  *     OEM Revision     0x00000001 (1)
>
> >
>
> >     > > > > > >  *     Compiler ID      "BXPC"
>
> >
>
> >     > > > > > >  *     Compiler Version 0x00000001 (1)
>
> >
>
> >     > > > > > >  */
>
> >
>
> >     > > > > > > DefinitionBlock ("", "DSDT", 1, "BOCHS ", "BXPCDSDT",
>
> >     0x00000001)
>
> >
>
> >     > > > > > >
>
> >
>
> >     > > > > > > --
>
> >
>
> >     > > > > > > MST
>
> >
>
> >     > > > > > >
>
> >
>
> >     > > > >
>
> >
>
> >     > >
>
> >
>
> >
>
> >
>
> >
>
>
>
>
Michael S. Tsirkin Sept. 30, 2020, 8:04 a.m. UTC | #27
On Wed, Sep 30, 2020 at 01:17:53PM +0530, Ani Sinha wrote:
> 
> 
> On Wed, Sep 30, 2020 at 1:14 PM Michael S. Tsirkin <mst@redhat.com> wrote:
> 
>     On Wed, Sep 30, 2020 at 01:09:09PM +0530, Ani Sinha wrote:
> 
>     >
> 
>     >
> 
>     > On Wed, Sep 30, 2020 at 1:06 PM Michael S. Tsirkin <mst@redhat.com>
>     wrote:
> 
>     >
> 
>     >     On Tue, Sep 29, 2020 at 06:03:00PM +0530, Ani Sinha wrote:
> 
>     >
> 
>     >     > On Tue, Sep 29, 2020 at 5:05 PM Michael S. Tsirkin <mst@redhat.com>
> 
>     >     wrote:
> 
>     >
> 
>     >     > >
> 
>     >
> 
>     >     > > On Tue, Sep 29, 2020 at 04:58:03PM +0530, Ani Sinha wrote:
> 
>     >
> 
>     >     > > > On Tue, Sep 29, 2020 at 4:45 PM Michael S. Tsirkin <
>     mst@redhat.com>
> 
>     >     wrote:
> 
>     >
> 
>     >     > > > >
> 
>     >
> 
>     >     > > > > On Tue, Sep 29, 2020 at 04:35:50PM +0530, Ani Sinha wrote:
> 
>     >
> 
>     >     > > > > > On Tue, Sep 29, 2020 at 4:25 PM Michael S. Tsirkin <
> 
>     >     mst@redhat.com> wrote:
> 
>     >
> 
>     >     > > > > > >
> 
>     >
> 
>     >     > > > > > > On Tue, Sep 29, 2020 at 04:11:45PM +0530, Ani Sinha
>     wrote:
> 
>     >
> 
>     >     > > > > > > > On Tue, Sep 29, 2020 at 4:07 PM Michael S. Tsirkin <
> 
>     >     mst@redhat.com> wrote:
> 
>     >
> 
>     >     > > > > > > > >
> 
>     >
> 
>     >     > > > > > > > > On Tue, Sep 29, 2020 at 04:02:07PM +0530, Ani Sinha
>     wrote:
> 
>     >
> 
>     >     > > > > > > > > > On Tue, Sep 29, 2020 at 4:00 PM Ani Sinha <
> 
>     >     ani@anisinha.ca> wrote:
> 
>     >
> 
>     >     > > > > > > > > > >
> 
>     >
> 
>     >     > > > > > > > > > > In your pull request the following patch is
>     completely
> 
>     >     screwed up:
> 
>     >
> 
>     >     > > > > > > > > > >
> 
>     >
> 
>     >     > > > > > > > > > > commit cda2006eded0ed91974e1d9e7f9f288e65812a3e
> 
>     >
> 
>     >     > > > > > > > > > > Author: Ani Sinha <ani@anisinha.ca>
> 
>     >
> 
>     >     > > > > > > > > > > Date:   Tue Sep 29 03:22:52 2020 -0400
> 
>     >
> 
>     >     > > > > > > > > > >
> 
>     >
> 
>     >     > > > > > > > > > >     tests/acpi: update golden master DSDT binary
>     table
> 
>     >     blobs for q35
> 
>     >
> 
>     >     > > > > > > > > > >
> 
>     >
> 
>     >     > > > > > > > > > >
> 
>     >
> 
>     >     > > > > > > > > > > This is not my patch. It has all sorts of changes
>     which
> 
>     >     does not
> 
>     >
> 
>     >     > > > > > > > > > > belong there. Can you please check?
> 
>     >
> 
>     >     > > > > > > > > >
> 
>     >
> 
>     >     > > > > > > > > > See https://patchew.org/QEMU/
> 
>     >     20200929071948.281157-1-mst@redhat.com/
> 
>     >     20200929071948.281157-46-mst@redhat.com/
> 
>     >
> 
>     >     > > > > > > > >
> 
>     >
> 
>     >     > > > > > > > >
> 
>     >
> 
>     >     > > > > > > > > I had to regenerate the binary, yes. That's par for
>     the
> 
>     >     course.
> 
>     >
> 
>     >     > > > > > > > > But it looks like I added disasssembled files. Will
>     fix up
> 
>     >     and drop,
> 
>     >
> 
>     >     > > > > > > > > thanks for noticing this.
> 
>     >
> 
>     >     > > > > > >
> 
>     >
> 
>     >     > > > > > > OK I pushed out a fixed variant. Pls take a look.
> 
>     >
> 
>     >     > > > > >
> 
>     >
> 
>     >     > > > > > OK I am not used to this workflow. How am I supposed to get
>     it?
> 
>     >     Which tag?
> 
>     >
> 
>     >     > > > >
> 
>     >
> 
>     >     > > > > New for_upstream tag - I just sent in a pull request.
> 
>     >
> 
>     >     > > >
> 
>     >
> 
>     >     > > > Can you please point me to your tree?
> 
>     >
> 
>     >     > >
> 
>     >
> 
>     >     > >
> 
>     >
> 
>     >     > >   git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git tags/
>     for_upstream
> 
>     >
> 
>     >     >
> 
>     >
> 
>     >     > I have sent the updated patches based on your pull request tag. I
>     just
> 
>     >
> 
>     >     > had to regenrated the blob for tests/data/acpi/pc/DSDT.hpbrroot.
> 
>     >
> 
>     >     >
> 
>     >
> 
>     >     > make && make check-qtest-x86_64 V=1 passes.
> 
>     >
> 
>     >     >
> 
>     >
> 
>     >     > The diff looks good.
> 
>     >
> 
>     >     >
> 
>     >
> 
>     >     > Can you please send a pull request with these two patches ASAP?
> 
>     >
> 
>     >
> 
>     >
> 
>     >
> 
>     >
> 
>     >     Thanks, I will queue them and merge in the next pull request.
> 
>     >
> 
>     >
> 
>     > I'm willing to get down on my knees begging you to just do one another
>     pull
> 
>     > request for these two patches. Were so close with my entire work merged.
> 
>     >
> 
>     > Please let's not wait another week or so. 
> 
> 
> 
> 
> 
>     OK it's not too much work but ... could you please add justification
> 
>     about why adding this one unit test is needed so urgently?
> 
>     That motivation would be quite helpful for the pull request.
> 
> 
> A patch without unit test doesn't complete the patch work. A unit test makes
> sure that the change would not get broken by other changes that come in later.
> Typically all code changes are accompanied by unit test in the same patch.
> Hence since the main work has already been merged, the unit test should merge
> ASAP so that no breakage can happen in between.
> 
> Plus this completes an entire series of work which I've been working for a
> while. I really would love to see it all merged cleanly and fully completed.
> 

Absolutely, thanks for the great work!
I am not sure that's a good justification to rushing a pull request
though ... are you waiting to get paid and it hinges on the test, or are
under a deadline, or something like this? It's okay to say so if so.

> 
> 
> 
> 
> 
> 
>     >
> 
>     >
> 
>     >
> 
>     >
> 
>     >
> 
>     >     > >
> 
>     >
> 
>     >     > >
> 
>     >
> 
>     >     > >
> 
>     >
> 
>     >     > > > >
> 
>     >
> 
>     >     > > > > >
> 
>     >
> 
>     >     > > > > > >
> 
>     >
> 
>     >     > > > > > > > I think DSDT.hbridge is wrong. The checksum looks
>     weird:
> 
>     >
> 
>     >     > > > > > > >
> 
>     >
> 
>     >     > > > > > > >
> 
>     >
> 
>     >     > > > > > > > + *     Length           0x00000B89 (2953)
> 
>     >
> 
>     >     > > > > > > >   *     Revision         0x01 **** 32-bit table (V1),
>     no
> 
>     >     64-bit math support
> 
>     >
> 
>     >     > > > > > > > - *     Checksum         0x05
> 
>     >
> 
>     >     > > > > > >
> 
>     >
> 
>     >     > > > > > > What is weird about it?
> 
>     >
> 
>     >     > > > > > >
> 
>     >
> 
>     >     > > > > > > >
> 
>     >
> 
>     >     > > > > > > > This file should be introduced just by one patch. my
>     patch.
> 
>     >
> 
>     >     > > > > > >
> 
>     >
> 
>     >     > > > > > > I just re-run rebuild-expected-aml, no changes.
> 
>     >
> 
>     >     > > > > > >
> 
>     >
> 
>     >     > > > > > > I have this:
> 
>     >
> 
>     >     > > > > > > commit 5e3a486211f02d9ecb18939ca21087515ec81883
> 
>     >
> 
>     >     > > > > > > Author: Ani Sinha <ani@anisinha.ca>
> 
>     >
> 
>     >     > > > > > > Date:   Fri Sep 18 14:11:05 2020 +0530
> 
>     >
> 
>     >     > > > > > >
> 
>     >
> 
>     >     > > > > > >     tests/acpi: unit test for
> 
>     >     'acpi-pci-hotplug-with-bridge-support' bridge flag
> 
>     >
> 
>     >     > > > > > >
> 
>     >
> 
>     >     > > > > > >     This change adds a new unit test for the global flag
> 
>     >
> 
>     >     > > > > > >     'acpi-pci-hotplug-with-bridge-support' which is
>     available
> 
>     >     for cold plugged pci
> 
>     >
> 
>     >     > > > > > >     bridges in i440fx. The flag can be used to turn off
>     ACPI
> 
>     >     based hotplug support
> 
>     >
> 
>     >     > > > > > >     on all pci bridges.
> 
>     >
> 
>     >     > > > > > >
> 
>     >
> 
>     >     > > > > > >
> 
>     >
> 
>     >     > > > > > > Here is the full DSDT header, attached:
> 
>     >
> 
>     >     > > > > > >
> 
>     >
> 
>     >     > > > > > > /*
> 
>     >
> 
>     >     > > > > > >  * Intel ACPI Component Architecture
> 
>     >
> 
>     >     > > > > > >  * AML/ASL+ Disassembler version 20190509 (64-bit
>     version)
> 
>     >
> 
>     >     > > > > > >  * Copyright (c) 2000 - 2019 Intel Corporation
> 
>     >
> 
>     >     > > > > > >  *
> 
>     >
> 
>     >     > > > > > >  * Disassembling to symbolic ASL+ operators
> 
>     >
> 
>     >     > > > > > >  *
> 
>     >
> 
>     >     > > > > > >  * Disassembly of tests/data/acpi/pc/DSDT.hpbridge, Tue
>     Sep 29
> 
>     >     06:51:03 2020
> 
>     >
> 
>     >     > > > > > >  *
> 
>     >
> 
>     >     > > > > > >  * Original Table Header:
> 
>     >
> 
>     >     > > > > > >  *     Signature        "DSDT"
> 
>     >
> 
>     >     > > > > > >  *     Length           0x0000139D (5021)
> 
>     >
> 
>     >     > > > > > >  *     Revision         0x01 **** 32-bit table (V1), no
>     64-bit
> 
>     >     math support
> 
>     >
> 
>     >     > > > > > >  *     Checksum         0x05
> 
>     >
> 
>     >     > > > > > >  *     OEM ID           "BOCHS "
> 
>     >
> 
>     >     > > > > > >  *     OEM Table ID     "BXPCDSDT"
> 
>     >
> 
>     >     > > > > > >  *     OEM Revision     0x00000001 (1)
> 
>     >
> 
>     >     > > > > > >  *     Compiler ID      "BXPC"
> 
>     >
> 
>     >     > > > > > >  *     Compiler Version 0x00000001 (1)
> 
>     >
> 
>     >     > > > > > >  */
> 
>     >
> 
>     >     > > > > > > DefinitionBlock ("", "DSDT", 1, "BOCHS ", "BXPCDSDT",
> 
>     >     0x00000001)
> 
>     >
> 
>     >     > > > > > >
> 
>     >
> 
>     >     > > > > > > --
> 
>     >
> 
>     >     > > > > > > MST
> 
>     >
> 
>     >     > > > > > >
> 
>     >
> 
>     >     > > > >
> 
>     >
> 
>     >     > >
> 
>     >
> 
>     >
> 
>     >
> 
>     >
> 
> 
> 
>
Ani Sinha Sept. 30, 2020, 8:07 a.m. UTC | #28
On Wed, Sep 30, 2020 at 1:34 PM Michael S. Tsirkin <mst@redhat.com> wrote:
>
> On Wed, Sep 30, 2020 at 01:17:53PM +0530, Ani Sinha wrote:
> >
> >
> > On Wed, Sep 30, 2020 at 1:14 PM Michael S. Tsirkin <mst@redhat.com> wrote:
> >
> >     On Wed, Sep 30, 2020 at 01:09:09PM +0530, Ani Sinha wrote:
> >
> >     >
> >
> >     >
> >
> >     > On Wed, Sep 30, 2020 at 1:06 PM Michael S. Tsirkin <mst@redhat.com>
> >     wrote:
> >
> >     >
> >
> >     >     On Tue, Sep 29, 2020 at 06:03:00PM +0530, Ani Sinha wrote:
> >
> >     >
> >
> >     >     > On Tue, Sep 29, 2020 at 5:05 PM Michael S. Tsirkin <mst@redhat.com>
> >
> >     >     wrote:
> >
> >     >
> >
> >     >     > >
> >
> >     >
> >
> >     >     > > On Tue, Sep 29, 2020 at 04:58:03PM +0530, Ani Sinha wrote:
> >
> >     >
> >
> >     >     > > > On Tue, Sep 29, 2020 at 4:45 PM Michael S. Tsirkin <
> >     mst@redhat.com>
> >
> >     >     wrote:
> >
> >     >
> >
> >     >     > > > >
> >
> >     >
> >
> >     >     > > > > On Tue, Sep 29, 2020 at 04:35:50PM +0530, Ani Sinha wrote:
> >
> >     >
> >
> >     >     > > > > > On Tue, Sep 29, 2020 at 4:25 PM Michael S. Tsirkin <
> >
> >     >     mst@redhat.com> wrote:
> >
> >     >
> >
> >     >     > > > > > >
> >
> >     >
> >
> >     >     > > > > > > On Tue, Sep 29, 2020 at 04:11:45PM +0530, Ani Sinha
> >     wrote:
> >
> >     >
> >
> >     >     > > > > > > > On Tue, Sep 29, 2020 at 4:07 PM Michael S. Tsirkin <
> >
> >     >     mst@redhat.com> wrote:
> >
> >     >
> >
> >     >     > > > > > > > >
> >
> >     >
> >
> >     >     > > > > > > > > On Tue, Sep 29, 2020 at 04:02:07PM +0530, Ani Sinha
> >     wrote:
> >
> >     >
> >
> >     >     > > > > > > > > > On Tue, Sep 29, 2020 at 4:00 PM Ani Sinha <
> >
> >     >     ani@anisinha.ca> wrote:
> >
> >     >
> >
> >     >     > > > > > > > > > >
> >
> >     >
> >
> >     >     > > > > > > > > > > In your pull request the following patch is
> >     completely
> >
> >     >     screwed up:
> >
> >     >
> >
> >     >     > > > > > > > > > >
> >
> >     >
> >
> >     >     > > > > > > > > > > commit cda2006eded0ed91974e1d9e7f9f288e65812a3e
> >
> >     >
> >
> >     >     > > > > > > > > > > Author: Ani Sinha <ani@anisinha.ca>
> >
> >     >
> >
> >     >     > > > > > > > > > > Date:   Tue Sep 29 03:22:52 2020 -0400
> >
> >     >
> >
> >     >     > > > > > > > > > >
> >
> >     >
> >
> >     >     > > > > > > > > > >     tests/acpi: update golden master DSDT binary
> >     table
> >
> >     >     blobs for q35
> >
> >     >
> >
> >     >     > > > > > > > > > >
> >
> >     >
> >
> >     >     > > > > > > > > > >
> >
> >     >
> >
> >     >     > > > > > > > > > > This is not my patch. It has all sorts of changes
> >     which
> >
> >     >     does not
> >
> >     >
> >
> >     >     > > > > > > > > > > belong there. Can you please check?
> >
> >     >
> >
> >     >     > > > > > > > > >
> >
> >     >
> >
> >     >     > > > > > > > > > See https://patchew.org/QEMU/
> >
> >     >     20200929071948.281157-1-mst@redhat.com/
> >
> >     >     20200929071948.281157-46-mst@redhat.com/
> >
> >     >
> >
> >     >     > > > > > > > >
> >
> >     >
> >
> >     >     > > > > > > > >
> >
> >     >
> >
> >     >     > > > > > > > > I had to regenerate the binary, yes. That's par for
> >     the
> >
> >     >     course.
> >
> >     >
> >
> >     >     > > > > > > > > But it looks like I added disasssembled files. Will
> >     fix up
> >
> >     >     and drop,
> >
> >     >
> >
> >     >     > > > > > > > > thanks for noticing this.
> >
> >     >
> >
> >     >     > > > > > >
> >
> >     >
> >
> >     >     > > > > > > OK I pushed out a fixed variant. Pls take a look.
> >
> >     >
> >
> >     >     > > > > >
> >
> >     >
> >
> >     >     > > > > > OK I am not used to this workflow. How am I supposed to get
> >     it?
> >
> >     >     Which tag?
> >
> >     >
> >
> >     >     > > > >
> >
> >     >
> >
> >     >     > > > > New for_upstream tag - I just sent in a pull request.
> >
> >     >
> >
> >     >     > > >
> >
> >     >
> >
> >     >     > > > Can you please point me to your tree?
> >
> >     >
> >
> >     >     > >
> >
> >     >
> >
> >     >     > >
> >
> >     >
> >
> >     >     > >   git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git tags/
> >     for_upstream
> >
> >     >
> >
> >     >     >
> >
> >     >
> >
> >     >     > I have sent the updated patches based on your pull request tag. I
> >     just
> >
> >     >
> >
> >     >     > had to regenrated the blob for tests/data/acpi/pc/DSDT.hpbrroot.
> >
> >     >
> >
> >     >     >
> >
> >     >
> >
> >     >     > make && make check-qtest-x86_64 V=1 passes.
> >
> >     >
> >
> >     >     >
> >
> >     >
> >
> >     >     > The diff looks good.
> >
> >     >
> >
> >     >     >
> >
> >     >
> >
> >     >     > Can you please send a pull request with these two patches ASAP?
> >
> >     >
> >
> >     >
> >
> >     >
> >
> >     >
> >
> >     >
> >
> >     >     Thanks, I will queue them and merge in the next pull request.
> >
> >     >
> >
> >     >
> >
> >     > I'm willing to get down on my knees begging you to just do one another
> >     pull
> >
> >     > request for these two patches. Were so close with my entire work merged.
> >
> >     >
> >
> >     > Please let's not wait another week or so.
> >
> >
> >
> >
> >
> >     OK it's not too much work but ... could you please add justification
> >
> >     about why adding this one unit test is needed so urgently?
> >
> >     That motivation would be quite helpful for the pull request.
> >
> >
> > A patch without unit test doesn't complete the patch work. A unit test makes
> > sure that the change would not get broken by other changes that come in later.
> > Typically all code changes are accompanied by unit test in the same patch.
> > Hence since the main work has already been merged, the unit test should merge
> > ASAP so that no breakage can happen in between.
> >
> > Plus this completes an entire series of work which I've been working for a
> > while. I really would love to see it all merged cleanly and fully completed.
> >
>
> Absolutely, thanks for the great work!
> I am not sure that's a good justification to rushing a pull request
> though ... are you waiting to get paid and it hinges on the test, or are
> under a deadline, or something like this? It's okay to say so if so.

Yes I am under a deadline too. Unfortunately can't disclose more details.

>
> >
> >
> >
> >
> >
> >
> >     >
> >
> >     >
> >
> >     >
> >
> >     >
> >
> >     >
> >
> >     >     > >
> >
> >     >
> >
> >     >     > >
> >
> >     >
> >
> >     >     > >
> >
> >     >
> >
> >     >     > > > >
> >
> >     >
> >
> >     >     > > > > >
> >
> >     >
> >
> >     >     > > > > > >
> >
> >     >
> >
> >     >     > > > > > > > I think DSDT.hbridge is wrong. The checksum looks
> >     weird:
> >
> >     >
> >
> >     >     > > > > > > >
> >
> >     >
> >
> >     >     > > > > > > >
> >
> >     >
> >
> >     >     > > > > > > > + *     Length           0x00000B89 (2953)
> >
> >     >
> >
> >     >     > > > > > > >   *     Revision         0x01 **** 32-bit table (V1),
> >     no
> >
> >     >     64-bit math support
> >
> >     >
> >
> >     >     > > > > > > > - *     Checksum         0x05
> >
> >     >
> >
> >     >     > > > > > >
> >
> >     >
> >
> >     >     > > > > > > What is weird about it?
> >
> >     >
> >
> >     >     > > > > > >
> >
> >     >
> >
> >     >     > > > > > > >
> >
> >     >
> >
> >     >     > > > > > > > This file should be introduced just by one patch. my
> >     patch.
> >
> >     >
> >
> >     >     > > > > > >
> >
> >     >
> >
> >     >     > > > > > > I just re-run rebuild-expected-aml, no changes.
> >
> >     >
> >
> >     >     > > > > > >
> >
> >     >
> >
> >     >     > > > > > > I have this:
> >
> >     >
> >
> >     >     > > > > > > commit 5e3a486211f02d9ecb18939ca21087515ec81883
> >
> >     >
> >
> >     >     > > > > > > Author: Ani Sinha <ani@anisinha.ca>
> >
> >     >
> >
> >     >     > > > > > > Date:   Fri Sep 18 14:11:05 2020 +0530
> >
> >     >
> >
> >     >     > > > > > >
> >
> >     >
> >
> >     >     > > > > > >     tests/acpi: unit test for
> >
> >     >     'acpi-pci-hotplug-with-bridge-support' bridge flag
> >
> >     >
> >
> >     >     > > > > > >
> >
> >     >
> >
> >     >     > > > > > >     This change adds a new unit test for the global flag
> >
> >     >
> >
> >     >     > > > > > >     'acpi-pci-hotplug-with-bridge-support' which is
> >     available
> >
> >     >     for cold plugged pci
> >
> >     >
> >
> >     >     > > > > > >     bridges in i440fx. The flag can be used to turn off
> >     ACPI
> >
> >     >     based hotplug support
> >
> >     >
> >
> >     >     > > > > > >     on all pci bridges.
> >
> >     >
> >
> >     >     > > > > > >
> >
> >     >
> >
> >     >     > > > > > >
> >
> >     >
> >
> >     >     > > > > > > Here is the full DSDT header, attached:
> >
> >     >
> >
> >     >     > > > > > >
> >
> >     >
> >
> >     >     > > > > > > /*
> >
> >     >
> >
> >     >     > > > > > >  * Intel ACPI Component Architecture
> >
> >     >
> >
> >     >     > > > > > >  * AML/ASL+ Disassembler version 20190509 (64-bit
> >     version)
> >
> >     >
> >
> >     >     > > > > > >  * Copyright (c) 2000 - 2019 Intel Corporation
> >
> >     >
> >
> >     >     > > > > > >  *
> >
> >     >
> >
> >     >     > > > > > >  * Disassembling to symbolic ASL+ operators
> >
> >     >
> >
> >     >     > > > > > >  *
> >
> >     >
> >
> >     >     > > > > > >  * Disassembly of tests/data/acpi/pc/DSDT.hpbridge, Tue
> >     Sep 29
> >
> >     >     06:51:03 2020
> >
> >     >
> >
> >     >     > > > > > >  *
> >
> >     >
> >
> >     >     > > > > > >  * Original Table Header:
> >
> >     >
> >
> >     >     > > > > > >  *     Signature        "DSDT"
> >
> >     >
> >
> >     >     > > > > > >  *     Length           0x0000139D (5021)
> >
> >     >
> >
> >     >     > > > > > >  *     Revision         0x01 **** 32-bit table (V1), no
> >     64-bit
> >
> >     >     math support
> >
> >     >
> >
> >     >     > > > > > >  *     Checksum         0x05
> >
> >     >
> >
> >     >     > > > > > >  *     OEM ID           "BOCHS "
> >
> >     >
> >
> >     >     > > > > > >  *     OEM Table ID     "BXPCDSDT"
> >
> >     >
> >
> >     >     > > > > > >  *     OEM Revision     0x00000001 (1)
> >
> >     >
> >
> >     >     > > > > > >  *     Compiler ID      "BXPC"
> >
> >     >
> >
> >     >     > > > > > >  *     Compiler Version 0x00000001 (1)
> >
> >     >
> >
> >     >     > > > > > >  */
> >
> >     >
> >
> >     >     > > > > > > DefinitionBlock ("", "DSDT", 1, "BOCHS ", "BXPCDSDT",
> >
> >     >     0x00000001)
> >
> >     >
> >
> >     >     > > > > > >
> >
> >     >
> >
> >     >     > > > > > > --
> >
> >     >
> >
> >     >     > > > > > > MST
> >
> >     >
> >
> >     >     > > > > > >
> >
> >     >
> >
> >     >     > > > >
> >
> >     >
> >
> >     >     > >
> >
> >     >
> >
> >     >
> >
> >     >
> >
> >     >
> >
> >
> >
> >
>
Ani Sinha Sept. 30, 2020, 9:30 a.m. UTC | #29
On Wed, Sep 30, 2020 at 1:37 PM Ani Sinha <ani@anisinha.ca> wrote:

> On Wed, Sep 30, 2020 at 1:34 PM Michael S. Tsirkin <mst@redhat.com> wrote:
>
> >
>
> > On Wed, Sep 30, 2020 at 01:17:53PM +0530, Ani Sinha wrote:
>
> > >
>
> > >
>
> > > On Wed, Sep 30, 2020 at 1:14 PM Michael S. Tsirkin <mst@redhat.com>
> wrote:
>
> > >
>
> > >     On Wed, Sep 30, 2020 at 01:09:09PM +0530, Ani Sinha wrote:
>
> > >
>
> > >     >
>
> > >
>
> > >     >
>
> > >
>
> > >     > On Wed, Sep 30, 2020 at 1:06 PM Michael S. Tsirkin <
> mst@redhat.com>
>
> > >     wrote:
>
> > >
>
> > >     >
>
> > >
>
> > >     >     On Tue, Sep 29, 2020 at 06:03:00PM +0530, Ani Sinha wrote:
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > On Tue, Sep 29, 2020 at 5:05 PM Michael S. Tsirkin <
> mst@redhat.com>
>
> > >
>
> > >     >     wrote:
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > >
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > On Tue, Sep 29, 2020 at 04:58:03PM +0530, Ani Sinha
> wrote:
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > On Tue, Sep 29, 2020 at 4:45 PM Michael S. Tsirkin <
>
> > >     mst@redhat.com>
>
> > >
>
> > >     >     wrote:
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > >
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > On Tue, Sep 29, 2020 at 04:35:50PM +0530, Ani Sinha
> wrote:
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > On Tue, Sep 29, 2020 at 4:25 PM Michael S. Tsirkin
> <
>
> > >
>
> > >     >     mst@redhat.com> wrote:
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > >
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > > On Tue, Sep 29, 2020 at 04:11:45PM +0530, Ani
> Sinha
>
> > >     wrote:
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > > > On Tue, Sep 29, 2020 at 4:07 PM Michael S.
> Tsirkin <
>
> > >
>
> > >     >     mst@redhat.com> wrote:
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > > > >
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > > > > On Tue, Sep 29, 2020 at 04:02:07PM +0530,
> Ani Sinha
>
> > >     wrote:
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > > > > > On Tue, Sep 29, 2020 at 4:00 PM Ani Sinha <
>
> > >
>
> > >     >     ani@anisinha.ca> wrote:
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > > > > > >
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > > > > > > In your pull request the following patch
> is
>
> > >     completely
>
> > >
>
> > >     >     screwed up:
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > > > > > >
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > > > > > > commit
> cda2006eded0ed91974e1d9e7f9f288e65812a3e
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > > > > > > Author: Ani Sinha <ani@anisinha.ca>
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > > > > > > Date:   Tue Sep 29 03:22:52 2020 -0400
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > > > > > >
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > > > > > >     tests/acpi: update golden master
> DSDT binary
>
> > >     table
>
> > >
>
> > >     >     blobs for q35
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > > > > > >
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > > > > > >
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > > > > > > This is not my patch. It has all sorts
> of changes
>
> > >     which
>
> > >
>
> > >     >     does not
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > > > > > > belong there. Can you please check?
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > > > > >
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > > > > > See https://patchew.org/QEMU/
>
> > >
>
> > >     >     20200929071948.281157-1-mst@redhat.com/
>
> > >
>
> > >     >     20200929071948.281157-46-mst@redhat.com/
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > > > >
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > > > >
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > > > > I had to regenerate the binary, yes. That's
> par for
>
> > >     the
>
> > >
>
> > >     >     course.
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > > > > But it looks like I added disasssembled
> files. Will
>
> > >     fix up
>
> > >
>
> > >     >     and drop,
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > > > > thanks for noticing this.
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > >
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > > OK I pushed out a fixed variant. Pls take a look.
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > >
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > OK I am not used to this workflow. How am I
> supposed to get
>
> > >     it?
>
> > >
>
> > >     >     Which tag?
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > >
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > New for_upstream tag - I just sent in a pull request.
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > >
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > Can you please point me to your tree?
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > >
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > >
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > >   git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git
> tags/
>
> > >     for_upstream
>
> > >
>
> > >     >
>
> > >
>
> > >     >     >
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > I have sent the updated patches based on your pull request
> tag. I
>
> > >     just
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > had to regenrated the blob for
> tests/data/acpi/pc/DSDT.hpbrroot.
>
> > >
>
> > >     >
>
> > >
>
> > >     >     >
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > make && make check-qtest-x86_64 V=1 passes.
>
> > >
>
> > >     >
>
> > >
>
> > >     >     >
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > The diff looks good.
>
> > >
>
> > >     >
>
> > >
>
> > >     >     >
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > Can you please send a pull request with these two patches
> ASAP?
>
> > >
>
> > >     >
>
> > >
>
> > >     >
>
> > >
>
> > >     >
>
> > >
>
> > >     >
>
> > >
>
> > >     >
>
> > >
>
> > >     >     Thanks, I will queue them and merge in the next pull request.
>
> > >
>
> > >     >
>
> > >
>
> > >     >
>
> > >
>
> > >     > I'm willing to get down on my knees begging you to just do one
> another
>
> > >     pull
>
> > >
>
> > >     > request for these two patches. Were so close with my entire work
> merged.
>
> > >
>
> > >     >
>
> > >
>
> > >     > Please let's not wait another week or so.
>
> > >
>
> > >
>
> > >
>
> > >
>
> > >
>
> > >     OK it's not too much work but ... could you please add
> justification
>
> > >
>
> > >     about why adding this one unit test is needed so urgently?
>
> > >
>
> > >     That motivation would be quite helpful for the pull request.
>
> > >
>
> > >
>
> > > A patch without unit test doesn't complete the patch work. A unit test
> makes
>
> > > sure that the change would not get broken by other changes that come
> in later.
>
> > > Typically all code changes are accompanied by unit test in the same
> patch.
>
> > > Hence since the main work has already been merged, the unit test
> should merge
>
> > > ASAP so that no breakage can happen in between.
>
> > >
>
> > > Plus this completes an entire series of work which I've been working
> for a
>
> > > while. I really would love to see it all merged cleanly and fully
> completed.
>
> > >
>
> >
>
> > Absolutely, thanks for the great work!
>
> > I am not sure that's a good justification to rushing a pull request
>
> > though ... are you waiting to get paid and it hinges on the test, or are
>
> > under a deadline, or something like this? It's okay to say so if so.
>
>
>
> Yes I am under a deadline too. Unfortunately can't disclose more details.


Thanks Michael. Very much appreciate your help here.


>
>
>
> >
>
> > >
>
> > >
>
> > >
>
> > >
>
> > >
>
> > >
>
> > >     >
>
> > >
>
> > >     >
>
> > >
>
> > >     >
>
> > >
>
> > >     >
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > >
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > >
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > >
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > >
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > >
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > >
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > > > I think DSDT.hbridge is wrong. The checksum
> looks
>
> > >     weird:
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > > >
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > > >
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > > > + *     Length           0x00000B89 (2953)
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > > >   *     Revision         0x01 **** 32-bit
> table (V1),
>
> > >     no
>
> > >
>
> > >     >     64-bit math support
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > > > - *     Checksum         0x05
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > >
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > > What is weird about it?
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > >
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > > >
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > > > This file should be introduced just by one
> patch. my
>
> > >     patch.
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > >
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > > I just re-run rebuild-expected-aml, no changes.
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > >
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > > I have this:
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > > commit 5e3a486211f02d9ecb18939ca21087515ec81883
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > > Author: Ani Sinha <ani@anisinha.ca>
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > > Date:   Fri Sep 18 14:11:05 2020 +0530
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > >
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > >     tests/acpi: unit test for
>
> > >
>
> > >     >     'acpi-pci-hotplug-with-bridge-support' bridge flag
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > >
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > >     This change adds a new unit test for the
> global flag
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > >     'acpi-pci-hotplug-with-bridge-support' which
> is
>
> > >     available
>
> > >
>
> > >     >     for cold plugged pci
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > >     bridges in i440fx. The flag can be used to
> turn off
>
> > >     ACPI
>
> > >
>
> > >     >     based hotplug support
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > >     on all pci bridges.
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > >
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > >
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > > Here is the full DSDT header, attached:
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > >
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > > /*
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > >  * Intel ACPI Component Architecture
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > >  * AML/ASL+ Disassembler version 20190509 (64-bit
>
> > >     version)
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > >  * Copyright (c) 2000 - 2019 Intel Corporation
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > >  *
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > >  * Disassembling to symbolic ASL+ operators
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > >  *
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > >  * Disassembly of
> tests/data/acpi/pc/DSDT.hpbridge, Tue
>
> > >     Sep 29
>
> > >
>
> > >     >     06:51:03 2020
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > >  *
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > >  * Original Table Header:
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > >  *     Signature        "DSDT"
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > >  *     Length           0x0000139D (5021)
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > >  *     Revision         0x01 **** 32-bit table
> (V1), no
>
> > >     64-bit
>
> > >
>
> > >     >     math support
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > >  *     Checksum         0x05
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > >  *     OEM ID           "BOCHS "
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > >  *     OEM Table ID     "BXPCDSDT"
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > >  *     OEM Revision     0x00000001 (1)
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > >  *     Compiler ID      "BXPC"
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > >  *     Compiler Version 0x00000001 (1)
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > >  */
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > > DefinitionBlock ("", "DSDT", 1, "BOCHS ",
> "BXPCDSDT",
>
> > >
>
> > >     >     0x00000001)
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > >
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > > --
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > > MST
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > >
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > >
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > >
>
> > >
>
> > >     >
>
> > >
>
> > >     >
>
> > >
>
> > >     >
>
> > >
>
> > >     >
>
> > >
>
> > >
>
> > >
>
> > >
>
> >
>
>
Michael S. Tsirkin Sept. 30, 2020, 3:28 p.m. UTC | #30
On Wed, Sep 30, 2020 at 03:00:56PM +0530, Ani Sinha wrote:
> 
>     > >     > Please let's not wait another week or so.
> 
>     > >
> 
>     > >
> 
>     > >
> 
>     > >
> 
>     > >
> 
>     > >     OK it's not too much work but ... could you please add
>     justification
> 
>     > >
> 
>     > >     about why adding this one unit test is needed so urgently?
> 
>     > >
> 
>     > >     That motivation would be quite helpful for the pull request.
> 
>     > >
> 
>     > >
> 
>     > > A patch without unit test doesn't complete the patch work. A unit test
>     makes
> 
>     > > sure that the change would not get broken by other changes that come in
>     later.
> 
>     > > Typically all code changes are accompanied by unit test in the same
>     patch.
> 
>     > > Hence since the main work has already been merged, the unit test should
>     merge
> 
>     > > ASAP so that no breakage can happen in between.
> 
>     > >
> 
>     > > Plus this completes an entire series of work which I've been working
>     for a
> 
>     > > while. I really would love to see it all merged cleanly and fully
>     completed.
> 
>     > >
> 
>     >
> 
>     > Absolutely, thanks for the great work!
> 
>     > I am not sure that's a good justification to rushing a pull request
> 
>     > though ... are you waiting to get paid and it hinges on the test, or are
> 
>     > under a deadline, or something like this? It's okay to say so if so.
> 
> 
> 
>     Yes I am under a deadline too. Unfortunately can't disclose more details.
> 
> 
> Thanks Michael. Very much appreciate your help here.
> 

OK Peter merged this. Hope this helps.
Let's not make this a pattern please.
Ani Sinha Sept. 30, 2020, 3:45 p.m. UTC | #31
On Wed, Sep 30, 2020 at 8:59 PM Michael S. Tsirkin <mst@redhat.com> wrote:
>
> On Wed, Sep 30, 2020 at 03:00:56PM +0530, Ani Sinha wrote:
> >
> >     > >     > Please let's not wait another week or so.
> >
> >     > >
> >
> >     > >
> >
> >     > >
> >
> >     > >
> >
> >     > >
> >
> >     > >     OK it's not too much work but ... could you please add
> >     justification
> >
> >     > >
> >
> >     > >     about why adding this one unit test is needed so urgently?
> >
> >     > >
> >
> >     > >     That motivation would be quite helpful for the pull request.
> >
> >     > >
> >
> >     > >
> >
> >     > > A patch without unit test doesn't complete the patch work. A unit test
> >     makes
> >
> >     > > sure that the change would not get broken by other changes that come in
> >     later.
> >
> >     > > Typically all code changes are accompanied by unit test in the same
> >     patch.
> >
> >     > > Hence since the main work has already been merged, the unit test should
> >     merge
> >
> >     > > ASAP so that no breakage can happen in between.
> >
> >     > >
> >
> >     > > Plus this completes an entire series of work which I've been working
> >     for a
> >
> >     > > while. I really would love to see it all merged cleanly and fully
> >     completed.
> >
> >     > >
> >
> >     >
> >
> >     > Absolutely, thanks for the great work!
> >
> >     > I am not sure that's a good justification to rushing a pull request
> >
> >     > though ... are you waiting to get paid and it hinges on the test, or are
> >
> >     > under a deadline, or something like this? It's okay to say so if so.
> >
> >
> >
> >     Yes I am under a deadline too. Unfortunately can't disclose more details.
> >
> >
> > Thanks Michael. Very much appreciate your help here.
> >
>
> OK Peter merged this. Hope this helps.
> Let's not make this a pattern please.

No this is a one time thing. Thanks to you and Peter for making an exception.

>
> --
> MST
>
diff mbox series

Patch

diff --git a/tests/data/acpi/pc/DSDT.hpbrroot b/tests/data/acpi/pc/DSDT.hpbrroot
new file mode 100644
index 0000000000000000000000000000000000000000..14518bb843059a0db1d216543f632d5a00c1a695
GIT binary patch
literal 2953
zcmb7GUvJY^6hAk1igTSbPV23RzC;B!4JL3BhLH9`Vy8*gBz5DIZE__$ZO{Tj!U8Js
zM`&q~pzww=rakN-RC(`5*ggUufqez0L7&LZv71oRR02zJ?mhS1^ZT7Y_xc!?QGY4}
zu$|npUbK?ApG@6A83O<s)4x&@*T8NYxq`#wkjU&U*&pL8C#l~Wxzz&uqvihYx_6$q
ztl`1>j`Cu?;XT@R*MXEa*FDZ@pe#66&apf5re4w{r&uzg*;ibUoUBm;$yqHKpj4zl
zCodJve0`|IP>Gi9cG0X?APVs6y$qtgrO<r#O1^3&&6?pP)r*c*&w@u1*CSEmzRMN2
z7k%D!q3g<nK_7b4&$|uytr3NP{tNe^&*PG#*Q`W>Pd|>J$7mcxfP0{Pb&l8&UAuFl
zWMv(nE5b9RVqVbn5O=w#ROikMLq*cEI~SI61}X<G3dkN=4PlP+FAB^B7Z@wBCN%MX
zA%tjl=Tv2Rb+ju!`_V3mhZjI0t*o?Y=%e@@!^jc&d49aW-Ux355DV;`@J;}>a2d{s
zzTwnj*~|{(yl9kWk_zxJU*;O)yFA2C<8Ow~^8vrX-|{$@BxljcC+4_H6>#tg;l%Ew
z%Vs?_bWaR&$3CK~@K}M}748a>w9xiBr1j;>XipfmF`*Oo><N1UNDGR;=X9;Ej{+j^
zd+M9^zyl^N0K+U*G3hx+S>lu^)!>d<tAjTaYP%jZc5;yy4c_+dH+Trvy$81%>%axr
z=qcR|REl7t%he?Vn!Quq4c1F^8(bWTEoi=sjb>R?N_01PXe7z)ON5a`ho<-N-a1zR
zOAWT00N#TJ;%zq>c+G9M0h^7!Yj2%8FA!U*7OEp=)>bqLUnzQ}>6MYx+0u$tXT8V+
z-fm%;M*3V<FP2vHS_BnpT4I{ZPp2T_=ja|hBN-3lyVR3kw9w}kjr%0FJLO~OCe}bu
zl2I&qI#3eE%1V66XP-_(L<nPYIsWiQ!0@Ya|19;11kqCyj#0AUA&q(4m&B>`05$ZQ
zKc91~n#G>A0v34wY9*5IqvyuZG5ep4o;rY@^3hYs?;v_gos6EcI~DR>A4BJ%&wx)K
zfKU7I=`r~95%B4Kcw-zMFNII`K63y*<HKjh;4??SXY9_hh~8V{@L~WzEFrr0Fy)aT
z<ydD^ezH|Lh%r$`5oK2?`^U}h=zQ(NwP)7yBM3g_7gtO-SChq?cf1>$za(#6y?t}@
z*2dM_U^Cq;FYTY@80Q5ByRgfmc(q|sVZF<+%cJ(zNt$FKshjyK(@Ry0>9xugrssdq
z7>K%FF(i9yhLi-|%9oR<X=Lk3HR_bACCLL4qVs3h{5u@E1pH!I-7INZN+Slr7bvVI
z^!nn@p&swH;IXc0+BLN}r6YR8KDl;Y9A53@BXJ)Lyw<oF!8~w#C%WSc#NOj^*Z%s@
zN_na8s+BN#^m#yR+!R`vXkRT(>y}=Xj&g&!J6XBwGNkUoxKWI7uOJ?B$j=0ZYg`?J
z&%8s-P}^hf%O$Z_JZ#F(=VVh{IBW~m(bi-~D-nI!sz;A<bYi{^kwuTaYZLtPcxYTo
zs@KPb7=nrH>_?ZVs_=;6g9VC}CH1Mkum&sHdP3$BNYqr|>a>G?$m9&Pu3cB>v3v_=
z-pOleOpxDYP$^SZ6_r-}bG={G+C@+b@u1*?9*a7I%bfqY9fJ_IE%*%Rg^kBvbT7&z
zl(VQnqIbBw7ah%G`1Jz#_sJYUuuflw!GOLD^n}1)8FmNKVDQ)bVCC<(&(40>6Uazy
zFc|zgR1c)krhn>abP*j1I+~bSHMJ}{5?mo9KX7*hEruL)JpSGBdiV7%6R`>SW(~Jk
z8E0lnWQc>~3(kxrVq=3X3(mfy6#`Vg{}3R%b8hiReKCmPO1`p+SxS>Oc54Swl&}(}
z8%imL*Zf}NayV!TWlPh7rV!mYW2N>d7|Rf-XeVVr-yfuhgA5JqPTWde3O1sy0RICI
C_`Dwg

literal 0
HcmV?d00001

diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios-tables-test-allowed-diff.h
index dea61d94f1..dfb8523c8b 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.hpbrroot",