All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v10 00/13]  i440fx/acpi: addition of feature and bug fixes.
@ 2020-09-18  8:40 Ani Sinha
  2020-09-18  8:40 ` [PATCH v10 01/13] tests/acpi: mark addition of table DSDT.roothp for unit testing root pci hotplug Ani Sinha
                   ` (13 more replies)
  0 siblings, 14 replies; 48+ messages in thread
From: Ani Sinha @ 2020-09-18  8:40 UTC (permalink / raw)
  To: mst, qemu-devel
  Cc: Eduardo Habkost, jusual, Philippe Mathieu-Daudé,
	Aleksandar Markovic, Paolo Bonzini, Ani Sinha, Igor Mammedov,
	Aurelien Jarno, Richard Henderson

Final patch series with all the patches reviewed or ack'd and marked as such.
Thanks Julia and Igor for the reviews. Hope this series gets pulled in soon.

--Ani

Ani Sinha (13):
  tests/acpi: mark addition of table DSDT.roothp for unit testing root
    pci hotplug
  tests/acpi: add new unit test to test hotplug off/on feature on the
    root pci bus
  tests/acpi: add a new ACPI table in order to test root pci hotplug
    on/off
  Fix a gap where acpi_pcihp_find_hotplug_bus() returns a
    non-hotpluggable bus
  i440fx/acpi: do not add hotplug related amls for cold plugged bridges
  tests/acpi: list added acpi table binary file for pci bridge hotplug
    test
  tests/acpi: unit test for 'acpi-pci-hotplug-with-bridge-support'
    bridge flag
  tests/acpi: add newly added acpi DSDT table blob for pci bridge
    hotplug flag
  Add ACPI DSDT tables for q35 that are being updated by the next patch
  piix4: don't reserve hw resources when hotplug is off globally
  tests/acpi: update golden master DSDT binary table blobs for q35
  tests/acpi: unit test exercising global pci hotplug off for i440fx
  tests/acpi: add DSDT.hpbrroot DSDT table blob to test global i440fx
    hotplug

 hw/acpi/pcihp.c                   |  15 +++++++++
 hw/acpi/piix4.c                   |   6 ++--
 hw/i386/acpi-build.c              |  37 ++++++++++++++--------
 tests/data/acpi/pc/DSDT.hpbridge  | Bin 0 -> 4895 bytes
 tests/data/acpi/pc/DSDT.hpbrroot  | Bin 0 -> 2953 bytes
 tests/data/acpi/pc/DSDT.roothp    | Bin 0 -> 5130 bytes
 tests/data/acpi/q35/DSDT          | Bin 7678 -> 7670 bytes
 tests/data/acpi/q35/DSDT.acpihmat | Bin 9002 -> 8994 bytes
 tests/data/acpi/q35/DSDT.bridge   | Bin 7695 -> 7688 bytes
 tests/data/acpi/q35/DSDT.cphp     | Bin 8141 -> 8133 bytes
 tests/data/acpi/q35/DSDT.dimmpxm  | Bin 9331 -> 9323 bytes
 tests/data/acpi/q35/DSDT.ipmibt   | Bin 7753 -> 7745 bytes
 tests/data/acpi/q35/DSDT.memhp    | Bin 9037 -> 9029 bytes
 tests/data/acpi/q35/DSDT.mmio64   | Bin 8808 -> 8801 bytes
 tests/data/acpi/q35/DSDT.numamem  | Bin 7684 -> 7676 bytes
 tests/data/acpi/q35/DSDT.tis      | Bin 8283 -> 8276 bytes
 tests/qtest/bios-tables-test.c    |  49 ++++++++++++++++++++++++++++++
 17 files changed, 92 insertions(+), 15 deletions(-)
 create mode 100644 tests/data/acpi/pc/DSDT.hpbridge
 create mode 100644 tests/data/acpi/pc/DSDT.hpbrroot
 create mode 100644 tests/data/acpi/pc/DSDT.roothp

-- 
2.17.1



^ permalink raw reply	[flat|nested] 48+ messages in thread

* [PATCH v10 01/13] tests/acpi: mark addition of table DSDT.roothp for unit testing root pci hotplug
  2020-09-18  8:40 [PATCH v10 00/13] i440fx/acpi: addition of feature and bug fixes Ani Sinha
@ 2020-09-18  8:40 ` Ani Sinha
  2020-09-18  8:41 ` [PATCH v10 02/13] tests/acpi: add new unit test to test hotplug off/on feature on the root pci bus Ani Sinha
                   ` (12 subsequent siblings)
  13 siblings, 0 replies; 48+ messages in thread
From: Ani Sinha @ 2020-09-18  8:40 UTC (permalink / raw)
  To: mst, qemu-devel
  Cc: Eduardo Habkost, jusual, Philippe Mathieu-Daudé,
	Aleksandar Markovic, Paolo Bonzini, Ani Sinha, Igor Mammedov,
	Aurelien Jarno, Richard Henderson

A new binary acpi table tests/data/acpi/pc/DSDT.roothp is added in order to
unit test the feature flag that can disable/enable root pci bus hotplug on
i440fx. This feature was added with the commit:
3d7e78aa7777f0 ("Introduce a new flag for i440fx to disable PCI hotplug on
the root bus")

This change documents the fact that this new file addition was made as a part
of the unit test change.

Signed-off-by: Ani Sinha <ani@anisinha.ca>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
---
 tests/qtest/bios-tables-test-allowed-diff.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios-tables-test-allowed-diff.h
index dfb8523c8b..ac864fc982 100644
--- a/tests/qtest/bios-tables-test-allowed-diff.h
+++ b/tests/qtest/bios-tables-test-allowed-diff.h
@@ -1 +1,2 @@
 /* List of comma-separated changed AML files to ignore */
+"tests/data/acpi/pc/DSDT.roothp",
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 48+ messages in thread

* [PATCH v10 02/13] tests/acpi: add new unit test to test hotplug off/on feature on the root pci bus
  2020-09-18  8:40 [PATCH v10 00/13] i440fx/acpi: addition of feature and bug fixes Ani Sinha
  2020-09-18  8:40 ` [PATCH v10 01/13] tests/acpi: mark addition of table DSDT.roothp for unit testing root pci hotplug Ani Sinha
@ 2020-09-18  8:41 ` Ani Sinha
  2020-09-18  8:41 ` [PATCH v10 03/13] tests/acpi: add a new ACPI table in order to test root pci hotplug on/off Ani Sinha
                   ` (11 subsequent siblings)
  13 siblings, 0 replies; 48+ messages in thread
From: Ani Sinha @ 2020-09-18  8:41 UTC (permalink / raw)
  To: mst, qemu-devel
  Cc: Laurent Vivier, Thomas Huth, Eduardo Habkost, jusual,
	Philippe Mathieu-Daudé,
	Aleksandar Markovic, Paolo Bonzini, Ani Sinha, Igor Mammedov,
	Aurelien Jarno, Richard Henderson

Ability to turn hotplug off on the pci root bus for i440fx was added in commit:
3d7e78aa7777f0 ("Introduce a new flag for i440fx to disable PCI hotplug on the
root bus")

This change adds a unit test in order to test this feature.

Signed-off-by: Ani Sinha <ani@anisinha.ca>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
---
 tests/qtest/bios-tables-test.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/tests/qtest/bios-tables-test.c b/tests/qtest/bios-tables-test.c
index 504b810af5..ad157ef05d 100644
--- a/tests/qtest/bios-tables-test.c
+++ b/tests/qtest/bios-tables-test.c
@@ -740,6 +740,20 @@ static void test_acpi_piix4_tcg_bridge(void)
     free_test_data(&data);
 }
 
+static void test_acpi_piix4_no_root_hotplug(void)
+{
+    test_data data;
+
+    memset(&data, 0, sizeof(data));
+    data.machine = MACHINE_PC;
+    data.variant = ".roothp";
+    data.required_struct_types = base_required_struct_types;
+    data.required_struct_types_len = ARRAY_SIZE(base_required_struct_types);
+    test_acpi_one("-global PIIX4_PM.acpi-root-pci-hotplug=off "
+                  "-device pci-bridge,chassis_nr=1", &data);
+    free_test_data(&data);
+}
+
 static void test_acpi_q35_tcg(void)
 {
     test_data data;
@@ -1144,6 +1158,8 @@ int main(int argc, char *argv[])
         qtest_add_func("acpi/q35/tpm-tis", test_acpi_q35_tcg_tpm_tis);
         qtest_add_func("acpi/piix4", test_acpi_piix4_tcg);
         qtest_add_func("acpi/piix4/bridge", test_acpi_piix4_tcg_bridge);
+        qtest_add_func("acpi/piix4/pci-hotplug/no_root_hotplug",
+                       test_acpi_piix4_no_root_hotplug);
         qtest_add_func("acpi/q35", test_acpi_q35_tcg);
         qtest_add_func("acpi/q35/bridge", test_acpi_q35_tcg_bridge);
         qtest_add_func("acpi/q35/mmio64", test_acpi_q35_tcg_mmio64);
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 48+ messages in thread

* [PATCH v10 03/13] tests/acpi: add a new ACPI table in order to test root pci hotplug on/off
  2020-09-18  8:40 [PATCH v10 00/13] i440fx/acpi: addition of feature and bug fixes Ani Sinha
  2020-09-18  8:40 ` [PATCH v10 01/13] tests/acpi: mark addition of table DSDT.roothp for unit testing root pci hotplug Ani Sinha
  2020-09-18  8:41 ` [PATCH v10 02/13] tests/acpi: add new unit test to test hotplug off/on feature on the root pci bus Ani Sinha
@ 2020-09-18  8:41 ` Ani Sinha
  2020-09-18  8:41 ` [PATCH v10 04/13] Fix a gap where acpi_pcihp_find_hotplug_bus() returns a non-hotpluggable bus Ani Sinha
                   ` (10 subsequent siblings)
  13 siblings, 0 replies; 48+ messages in thread
From: Ani Sinha @ 2020-09-18  8:41 UTC (permalink / raw)
  To: mst, qemu-devel
  Cc: Eduardo Habkost, jusual, Philippe Mathieu-Daudé,
	Aleksandar Markovic, Paolo Bonzini, Ani Sinha, Igor Mammedov,
	Aurelien Jarno, Richard Henderson

A new binary ACPI table tests/data/acpi/pc/DSDT.roothp is added in order
to unit test hotplug on/off capability on the root pci bus for i440fx.
The diff between the table DSDT.bridge and DSDT.roothp is listed below:

@@ -1,30 +1,30 @@
 /*
  * Intel ACPI Component Architecture
  * AML/ASL+ Disassembler version 20180105 (64-bit version)
  * Copyright (c) 2000 - 2018 Intel Corporation
  *
  * Disassembling to symbolic ASL+ operators
  *
- * Disassembly of tests/data/acpi/pc/DSDT.bridge, Fri Sep 11 22:51:04 2020
+ * Disassembly of /tmp/aml-UGIHQ0, Fri Sep 11 22:51:04 2020
  *
  * Original Table Header:
  *     Signature        "DSDT"
- *     Length           0x00001A89 (6793)
+ *     Length           0x0000140A (5130)
  *     Revision         0x01 **** 32-bit table (V1), no 64-bit math support
- *     Checksum         0x09
+ *     Checksum         0xE6
  *     OEM ID           "BOCHS "
  *     OEM Table ID     "BXPCDSDT"
  *     OEM Revision     0x00000001 (1)
  *     Compiler ID      "BXPC"
  *     Compiler Version 0x00000001 (1)
  */
 DefinitionBlock ("", "DSDT", 1, "BOCHS ", "BXPCDSDT", 0x00000001)
 {
     Scope (\)
     {
         OperationRegion (DBG, SystemIO, 0x0402, One)
         Field (DBG, ByteAcc, NoLock, Preserve)
         {
             DBGB,   8
         }

@@ -831,61 +831,60 @@
             Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
             {
                 IO (Decode16,
                     0x0510,             // Range Minimum
                     0x0510,             // Range Maximum
                     0x01,               // Alignment
                     0x0C,               // Length
                     )
             })
         }
     }

     Scope (\_SB)
     {
         Scope (PCI0)
         {
-            Name (BSEL, Zero)
             Device (S00)
             {
                 Name (_ADR, Zero)  // _ADR: Address
             }

             Device (S10)
             {
                 Name (_ADR, 0x00020000)  // _ADR: Address
                 Method (_S1D, 0, NotSerialized)  // _S1D: S1 Device State
                 {
                     Return (Zero)
                 }

                 Method (_S2D, 0, NotSerialized)  // _S2D: S2 Device State
                 {
                     Return (Zero)
                 }

                 Method (_S3D, 0, NotSerialized)  // _S3D: S3 Device State
                 {
                     Return (Zero)
                 }
             }

             Device (S18)
             {
                 Name (_ADR, 0x00030000)  // _ADR: Address
-                Name (BSEL, One)
+                Name (BSEL, Zero)
                 Device (S00)
                 {
                     Name (_SUN, Zero)  // _SUN: Slot User Number
                     Name (_ADR, Zero)  // _ADR: Address
                     Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device
                     {
                         PCEJ (BSEL, _SUN)
                     }
                 }

                 Device (S08)
                 {
                     Name (_SUN, One)  // _SUN: Slot User Number
                     Name (_ADR, 0x00010000)  // _ADR: Address
                     Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device
                     {
@@ -1345,456 +1344,30 @@
                         Notify (SE8, Arg1)
                     }

                     If ((Arg0 & 0x40000000))
                     {
                         Notify (SF0, Arg1)
                     }

                     If ((Arg0 & 0x80000000))
                     {
                         Notify (SF8, Arg1)
                     }
                 }

                 Method (PCNT, 0, NotSerialized)
                 {
-                    BNUM = One
+                    BNUM = Zero
                     DVNT (PCIU, One)
                     DVNT (PCID, 0x03)
                 }
             }

-            Device (S20)
-            {
-                Name (_SUN, 0x04)  // _SUN: Slot User Number
-                Name (_ADR, 0x00040000)  // _ADR: Address
-                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device
-                {
-                    PCEJ (BSEL, _SUN)
-                }
-            }
-
-            Device (S28)
-            {
-                Name (_SUN, 0x05)  // _SUN: Slot User Number
-                Name (_ADR, 0x00050000)  // _ADR: Address
-                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device
-                {
-                    PCEJ (BSEL, _SUN)
-                }
-            }
-
-            Device (S30)
-            {
-                Name (_SUN, 0x06)  // _SUN: Slot User Number
-                Name (_ADR, 0x00060000)  // _ADR: Address
-                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device
-                {
-                    PCEJ (BSEL, _SUN)
-                }
-            }
-
-            Device (S38)
-            {
-                Name (_SUN, 0x07)  // _SUN: Slot User Number
-                Name (_ADR, 0x00070000)  // _ADR: Address
-                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device
-                {
-                    PCEJ (BSEL, _SUN)
-                }
-            }
-
-            Device (S40)
-            {
-                Name (_SUN, 0x08)  // _SUN: Slot User Number
-                Name (_ADR, 0x00080000)  // _ADR: Address
-                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device
-                {
-                    PCEJ (BSEL, _SUN)
-                }
-            }
-
-            Device (S48)
-            {
-                Name (_SUN, 0x09)  // _SUN: Slot User Number
-                Name (_ADR, 0x00090000)  // _ADR: Address
-                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device
-                {
-                    PCEJ (BSEL, _SUN)
-                }
-            }
-
-            Device (S50)
-            {
-                Name (_SUN, 0x0A)  // _SUN: Slot User Number
-                Name (_ADR, 0x000A0000)  // _ADR: Address
-                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device
-                {
-                    PCEJ (BSEL, _SUN)
-                }
-            }
-
-            Device (S58)
-            {
-                Name (_SUN, 0x0B)  // _SUN: Slot User Number
-                Name (_ADR, 0x000B0000)  // _ADR: Address
-                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device
-                {
-                    PCEJ (BSEL, _SUN)
-                }
-            }
-
-            Device (S60)
-            {
-                Name (_SUN, 0x0C)  // _SUN: Slot User Number
-                Name (_ADR, 0x000C0000)  // _ADR: Address
-                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device
-                {
-                    PCEJ (BSEL, _SUN)
-                }
-            }
-
-            Device (S68)
-            {
-                Name (_SUN, 0x0D)  // _SUN: Slot User Number
-                Name (_ADR, 0x000D0000)  // _ADR: Address
-                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device
-                {
-                    PCEJ (BSEL, _SUN)
-                }
-            }
-
-            Device (S70)
-            {
-                Name (_SUN, 0x0E)  // _SUN: Slot User Number
-                Name (_ADR, 0x000E0000)  // _ADR: Address
-                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device
-                {
-                    PCEJ (BSEL, _SUN)
-                }
-            }
-
-            Device (S78)
-            {
-                Name (_SUN, 0x0F)  // _SUN: Slot User Number
-                Name (_ADR, 0x000F0000)  // _ADR: Address
-                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device
-                {
-                    PCEJ (BSEL, _SUN)
-                }
-            }
-
-            Device (S80)
-            {
-                Name (_SUN, 0x10)  // _SUN: Slot User Number
-                Name (_ADR, 0x00100000)  // _ADR: Address
-                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device
-                {
-                    PCEJ (BSEL, _SUN)
-                }
-            }
-
-            Device (S88)
-            {
-                Name (_SUN, 0x11)  // _SUN: Slot User Number
-                Name (_ADR, 0x00110000)  // _ADR: Address
-                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device
-                {
-                    PCEJ (BSEL, _SUN)
-                }
-            }
-
-            Device (S90)
-            {
-                Name (_SUN, 0x12)  // _SUN: Slot User Number
-                Name (_ADR, 0x00120000)  // _ADR: Address
-                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device
-                {
-                    PCEJ (BSEL, _SUN)
-                }
-            }
-
-            Device (S98)
-            {
-                Name (_SUN, 0x13)  // _SUN: Slot User Number
-                Name (_ADR, 0x00130000)  // _ADR: Address
-                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device
-                {
-                    PCEJ (BSEL, _SUN)
-                }
-            }
-
-            Device (SA0)
-            {
-                Name (_SUN, 0x14)  // _SUN: Slot User Number
-                Name (_ADR, 0x00140000)  // _ADR: Address
-                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device
-                {
-                    PCEJ (BSEL, _SUN)
-                }
-            }
-
-            Device (SA8)
-            {
-                Name (_SUN, 0x15)  // _SUN: Slot User Number
-                Name (_ADR, 0x00150000)  // _ADR: Address
-                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device
-                {
-                    PCEJ (BSEL, _SUN)
-                }
-            }
-
-            Device (SB0)
-            {
-                Name (_SUN, 0x16)  // _SUN: Slot User Number
-                Name (_ADR, 0x00160000)  // _ADR: Address
-                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device
-                {
-                    PCEJ (BSEL, _SUN)
-                }
-            }
-
-            Device (SB8)
-            {
-                Name (_SUN, 0x17)  // _SUN: Slot User Number
-                Name (_ADR, 0x00170000)  // _ADR: Address
-                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device
-                {
-                    PCEJ (BSEL, _SUN)
-                }
-            }
-
-            Device (SC0)
-            {
-                Name (_SUN, 0x18)  // _SUN: Slot User Number
-                Name (_ADR, 0x00180000)  // _ADR: Address
-                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device
-                {
-                    PCEJ (BSEL, _SUN)
-                }
-            }
-
-            Device (SC8)
-            {
-                Name (_SUN, 0x19)  // _SUN: Slot User Number
-                Name (_ADR, 0x00190000)  // _ADR: Address
-                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device
-                {
-                    PCEJ (BSEL, _SUN)
-                }
-            }
-
-            Device (SD0)
-            {
-                Name (_SUN, 0x1A)  // _SUN: Slot User Number
-                Name (_ADR, 0x001A0000)  // _ADR: Address
-                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device
-                {
-                    PCEJ (BSEL, _SUN)
-                }
-            }
-
-            Device (SD8)
-            {
-                Name (_SUN, 0x1B)  // _SUN: Slot User Number
-                Name (_ADR, 0x001B0000)  // _ADR: Address
-                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device
-                {
-                    PCEJ (BSEL, _SUN)
-                }
-            }
-
-            Device (SE0)
-            {
-                Name (_SUN, 0x1C)  // _SUN: Slot User Number
-                Name (_ADR, 0x001C0000)  // _ADR: Address
-                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device
-                {
-                    PCEJ (BSEL, _SUN)
-                }
-            }
-
-            Device (SE8)
-            {
-                Name (_SUN, 0x1D)  // _SUN: Slot User Number
-                Name (_ADR, 0x001D0000)  // _ADR: Address
-                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device
-                {
-                    PCEJ (BSEL, _SUN)
-                }
-            }
-
-            Device (SF0)
-            {
-                Name (_SUN, 0x1E)  // _SUN: Slot User Number
-                Name (_ADR, 0x001E0000)  // _ADR: Address
-                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device
-                {
-                    PCEJ (BSEL, _SUN)
-                }
-            }
-
-            Device (SF8)
-            {
-                Name (_SUN, 0x1F)  // _SUN: Slot User Number
-                Name (_ADR, 0x001F0000)  // _ADR: Address
-                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device
-                {
-                    PCEJ (BSEL, _SUN)
-                }
-            }
-
-            Method (DVNT, 2, NotSerialized)
-            {
-                If ((Arg0 & 0x10))
-                {
-                    Notify (S20, Arg1)
-                }
-
-                If ((Arg0 & 0x20))
-                {
-                    Notify (S28, Arg1)
-                }
-
-                If ((Arg0 & 0x40))
-                {
-                    Notify (S30, Arg1)
-                }
-
-                If ((Arg0 & 0x80))
-                {
-                    Notify (S38, Arg1)
-                }
-
-                If ((Arg0 & 0x0100))
-                {
-                    Notify (S40, Arg1)
-                }
-
-                If ((Arg0 & 0x0200))
-                {
-                    Notify (S48, Arg1)
-                }
-
-                If ((Arg0 & 0x0400))
-                {
-                    Notify (S50, Arg1)
-                }
-
-                If ((Arg0 & 0x0800))
-                {
-                    Notify (S58, Arg1)
-                }
-
-                If ((Arg0 & 0x1000))
-                {
-                    Notify (S60, Arg1)
-                }
-
-                If ((Arg0 & 0x2000))
-                {
-                    Notify (S68, Arg1)
-                }
-
-                If ((Arg0 & 0x4000))
-                {
-                    Notify (S70, Arg1)
-                }
-
-                If ((Arg0 & 0x8000))
-                {
-                    Notify (S78, Arg1)
-                }
-
-                If ((Arg0 & 0x00010000))
-                {
-                    Notify (S80, Arg1)
-                }
-
-                If ((Arg0 & 0x00020000))
-                {
-                    Notify (S88, Arg1)
-                }
-
-                If ((Arg0 & 0x00040000))
-                {
-                    Notify (S90, Arg1)
-                }
-
-                If ((Arg0 & 0x00080000))
-                {
-                    Notify (S98, Arg1)
-                }
-
-                If ((Arg0 & 0x00100000))
-                {
-                    Notify (SA0, Arg1)
-                }
-
-                If ((Arg0 & 0x00200000))
-                {
-                    Notify (SA8, Arg1)
-                }
-
-                If ((Arg0 & 0x00400000))
-                {
-                    Notify (SB0, Arg1)
-                }
-
-                If ((Arg0 & 0x00800000))
-                {
-                    Notify (SB8, Arg1)
-                }
-
-                If ((Arg0 & 0x01000000))
-                {
-                    Notify (SC0, Arg1)
-                }
-
-                If ((Arg0 & 0x02000000))
-                {
-                    Notify (SC8, Arg1)
-                }
-
-                If ((Arg0 & 0x04000000))
-                {
-                    Notify (SD0, Arg1)
-                }
-
-                If ((Arg0 & 0x08000000))
-                {
-                    Notify (SD8, Arg1)
-                }
-
-                If ((Arg0 & 0x10000000))
-                {
-                    Notify (SE0, Arg1)
-                }
-
-                If ((Arg0 & 0x20000000))
-                {
-                    Notify (SE8, Arg1)
-                }
-
-                If ((Arg0 & 0x40000000))
-                {
-                    Notify (SF0, Arg1)
-                }
-
-                If ((Arg0 & 0x80000000))
-                {
-                    Notify (SF8, Arg1)
-                }
-            }
-
             Method (PCNT, 0, NotSerialized)
             {
-                BNUM = Zero
-                DVNT (PCIU, One)
-                DVNT (PCID, 0x03)
                 ^S18.PCNT ()
             }
         }
     }
 }

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

diff --git a/tests/data/acpi/pc/DSDT.roothp b/tests/data/acpi/pc/DSDT.roothp
new file mode 100644
index 0000000000000000000000000000000000000000..886a5e6952f6f034bdd80d44d43de5975a1a4b0f
GIT binary patch
literal 5130
zcmb7IQEwZ^5uPQF@^O!pj?&q3tT-lQyJ?cbCMj8Q&=-++6iG{@&OFL(aYFAXDJT^L
z$iaz=C`wS80Tjn?f$E|UeP9eeTR)-w3Hb@>OMgI$#(D}nbH}A<iU%YFc-ooy?wgt2
z+1V8h%V=;7fc>Yish6#E;rFI)ppF3mjp?sik+#8Z8-<d?l!(Oa$BIA3M?uzpV-&VZ
z?C&l2Z?5~vS1xOMu=8Afw$t>!eB$l^fgbI6oYO#EbgY77cNR>&l98Qq#Yp78<5Ahk
z8+DMKt%?C^RSqykxoj320>ltRX1iTB8&yaEeD{+AlKogEdG0~6W~9x!;iR<{$7<xk
zBaQ2ks`;7ARkxe?=GcW}SLyeA(4GF~xCwu4Cg9)yi}j$#XJkjOTd5SEK8j<;NDdOf
z0jR&aMbS{WcIQgP$~%6n=$>IH=5j`laF<JJZT@yt010Jxme&ggf`b&J7(GTM++5}t
zOUwlq7%Q<o*u%ez5%gwvZd5n7hHuTxz4DgKV~d~?Dle}Y`f&a(;LK6*3;c44{Sf^j
z3Q~!^jJ}KlTU>>=C7(FEwqfSQJg*s**|Z8g#y5F}@e>~5H}N~m7kHn4$baNBT$Y_R
zqnMiK8dbpPCxU|A$!(a8tVmA^){earuF8`o_G$Ffs4OqG{TOokW_9>Z4AHot6W%$E
zo<>1lRQ-2u)*Je8LX<(KKD7rPFnJLeu2NY(Tc)<DTMeeb3oc`Ikf7u8ZKd&Hr0up<
zyoXgRzu;Iq3JH24Q@n?ULakb7iW(S5&<nM#YT9On4SgN7o2Fj87qPFC)bD#OGI|GW
zALw=aO;Yzjtzq>Q9Ce*j#b^e1%z6X7*+|><p!vKIf7aw}@3SV4z>atLu(<;~3cFqP
zco#u&thkNZx&eFL8^^n>n>ucCX{fef@7v^1$|ERsyvrj)O<|yk4mCRLd0!mta22rT
z;mIC=ci2RKPxcsidr#aZJZkn_`|*w2QHqwzmI|7g_4^qaA6a_j=&>YgbCvrztKIk^
zZ?|y2#Cu%PRx0=PdK>}uOlq1dUr#~YFO~y%N;)3HXQit=YhlhU8uv(TcQ!6ynplj%
z-bmoyqn$0|Tv@40eD3RMh(}{sWgNc>eh)yK@i%pkf}rrUlw(vZ_=3i~?Q3Re4*(+c
zx-ZW=R^4JxTR{}q2<jEm54;z~yki;uZ133-?^)k_7ULWBp4BFM&)S_T<*tu;=aFCF
zJ~!e%=ey61xzB~T&kfug<L<FL{p{?QM%*v??w7{gFNL^YvOAj+W^awVmjd^qgs1`I
zlE;H3$2yzx7h6+;Ii^riMXRfB_}k6y=zROE|C;sU&;_6Jiz}&{Tj}ygpLicW`cwMh
z`yYSw=;7}BAA`+wb7OtbRFa&R7@WWfOJI-1qVl`Q2~XIMual66v~Ct_Os~`|rq`<v
z7&e3q14-Ab2DX}60!4MJxRFMrk#D56gj1<iWDiJ*$-lGhcPWe|h%cGf%}OSd%}@lv
zQ5e%wdSmSmkuE=O!I7THWcIc46!x%u+`hhjTM}ms<w&tpCmL6yGY{PEmE&;(Mep$$
z*M9SyWn;bPYSkEJ^vfKvaVlh($gh>BbxW_wVQDb;d0sho8HVn`I4RC>w<MiQ$X^MZ
zu5ma{KJ(5+hG>tu->ysD@_8zMJttG~=y@)LBiH0at8snPY9zuEow#1-g2jxz{Rw$_
zJTk5&=m+CUoPvqb*<aqJs=_UXA1qL;EV)PZg*8~sH&P0hL8jXcTBjY%L!o4#wf}*(
zfaO~<i%v0<!v*rMJ5<WFs_LdhCVyiOsyed*+Ixu20!_s5augh&BMMWm`H{YYP<1WX
zD|9dgx0_YY|M4UV5xjcgr%w;OJe?*^6HG=uOGHWa63wTHp`65n58%IF%>x8>I#l|7
zI#lQr0pB8SIC8)L&z}OzzkYoB&e=PGj$r+M|1Sa_XrWDi=~kvoI0eD2ENRxvOdh8o
z=su($X*<C+NeS}u+s^kV-=8pvNbX5y*{lZ>`6>xc#e^1io(o>U3#Q?v=&fyZZ!I~q
zQxe0NalGuz$`W4m@Ct|09kNjH>Tk~`+wR<2`<=cP1aQAt-NItY5gKo=qY<kyHAan6
zt$e=iUwQJM(^}ab#mZ!YOEPBjwv`<SxGoXUkSA+E&mZK(V2K9U9{+4*?*?xo7;k_D
zY-Fgv5fEBiH4KCPPtax^YP@tGBZz|*yYp)+LoeePk8(sI1)Gd~D~Jh^bnFID3~drA
zLI<RS|55zFLZCUylvwdN3s|Kv)|_CC31}<~x+GZfAPZQhLZO27f`DEKgDwkJyyge2
zawt@=#sxGU2E8L#xq$Les9?pK3Ib5VpeuqkA)tv+s9;SBXfh1?u3()O(CJX9V8x4S
z5bI1B^sZo41yl`%3f7c>roy1_3D#KwoehNwR{Ym7h;=Runis6ND+8z&3Kgsu1@vMV
zv>;e73FxIzs9>EJ(D^W^E?6%M=;ctTV0}$MUkig8g7u1kUI~Q?)&&7w2!j>{>+1sg
zdMH$|UKP-*VbC?f`i6kM5egNo*97$1B&b%qYCNblB3<RM#o&m#?0z?K*uv8Rg}Vbm
zLIHbtV3A1>78M2Td4VNOg0QTjfPE{lv`HXK^01{~Pd>7+`3xlTv^=ztD{LVH8~M63
zw2?Dx1Opp+TN&EO9d74=jr_e!wwc40e+ZzA+fvAQ^r3ua#{=-l!VM<uc=tj1%&wA*
zTSeH@zI<k1B^ire*xSB*X7@A3@)dSG1&=I!#7<dbAr9@7w=rU;%(0|~_B6>O_EnUz
qIEMB%$!OQE(aj2fBcUHEXrb|V-eQA+!J``fG=la&-l7$y;r{_Geabxm

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 ac864fc982..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.roothp",
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 48+ messages in thread

* [PATCH v10 04/13] Fix a gap where acpi_pcihp_find_hotplug_bus() returns a non-hotpluggable bus
  2020-09-18  8:40 [PATCH v10 00/13] i440fx/acpi: addition of feature and bug fixes Ani Sinha
                   ` (2 preceding siblings ...)
  2020-09-18  8:41 ` [PATCH v10 03/13] tests/acpi: add a new ACPI table in order to test root pci hotplug on/off Ani Sinha
@ 2020-09-18  8:41 ` Ani Sinha
  2020-09-18  8:41 ` [PATCH v10 05/13] i440fx/acpi: do not add hotplug related amls for cold plugged bridges Ani Sinha
                   ` (9 subsequent siblings)
  13 siblings, 0 replies; 48+ messages in thread
From: Ani Sinha @ 2020-09-18  8:41 UTC (permalink / raw)
  To: mst, qemu-devel
  Cc: Eduardo Habkost, jusual, Philippe Mathieu-Daudé,
	Aleksandar Markovic, Paolo Bonzini, Ani Sinha, Igor Mammedov,
	Aurelien Jarno, Richard Henderson

When ACPI hotplug for the root bus is disabled, the bsel property for that
bus is not set. Please see the following commit:

3d7e78aa7777f ("Introduce a new flag for i440fx to disable PCI hotplug on the
root bus").

As a result, when acpi_pcihp_find_hotplug_bus() is called
with bsel set to 0, it may return the root bus. This can cause devices
attached to the root bus to get hot-unplugged if the user issues the following
set of commmands:

outl 0xae10 0
outl 0xae08 your_slot

Thanks to Julia for pointing this out here:
https://www.mail-archive.com/qemu-devel@nongnu.org/msg734548.html

In this patch, we fix the issue in this function by checking if the bus which
is returned by the function is actually hotpluggable. If not, we simply return
NULL. This avoids the scenario where we were returning a non-hotpluggable bus.

Signed-off-by: Ani Sinha <ani@anisinha.ca>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
---
 hw/acpi/pcihp.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/hw/acpi/pcihp.c b/hw/acpi/pcihp.c
index 39b1f74442..32ae8b2c0a 100644
--- a/hw/acpi/pcihp.c
+++ b/hw/acpi/pcihp.c
@@ -147,6 +147,21 @@ static PCIBus *acpi_pcihp_find_hotplug_bus(AcpiPciHpState *s, int bsel)
     if (!bsel && !find.bus) {
         find.bus = s->root;
     }
+
+    /*
+     * Check if find.bus is actually hotpluggable. If bsel is set to
+     * NULL for example on the root bus in order to make it
+     * non-hotpluggable, find.bus will match the root bus when bsel
+     * is 0. See acpi_pcihp_test_hotplug_bus() above. Since the
+     * bus is not hotpluggable however, we should not select the bus.
+     * Instead, we should set find.bus to NULL in that case. In the check
+     * below, we generalize this case for all buses, not just the root bus.
+     * The callers of this function check for a null return value and
+     * handle them appropriately.
+     */
+    if (find.bus && !qbus_is_hotpluggable(BUS(find.bus))) {
+        find.bus = NULL;
+    }
     return find.bus;
 }
 
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 48+ messages in thread

* [PATCH v10 05/13] i440fx/acpi: do not add hotplug related amls for cold plugged bridges
  2020-09-18  8:40 [PATCH v10 00/13] i440fx/acpi: addition of feature and bug fixes Ani Sinha
                   ` (3 preceding siblings ...)
  2020-09-18  8:41 ` [PATCH v10 04/13] Fix a gap where acpi_pcihp_find_hotplug_bus() returns a non-hotpluggable bus Ani Sinha
@ 2020-09-18  8:41 ` Ani Sinha
  2020-09-18  8:41 ` [PATCH v10 06/13] tests/acpi: list added acpi table binary file for pci bridge hotplug test Ani Sinha
                   ` (8 subsequent siblings)
  13 siblings, 0 replies; 48+ messages in thread
From: Ani Sinha @ 2020-09-18  8:41 UTC (permalink / raw)
  To: mst, qemu-devel
  Cc: Eduardo Habkost, jusual, Philippe Mathieu-Daudé,
	Aleksandar Markovic, Paolo Bonzini, Ani Sinha, Igor Mammedov,
	Aurelien Jarno, Richard Henderson

Cold plugged bridges are not hot unpluggable, even when their hotplug
property (acpi-pci-hotplug-with-bridge-support) is turned off. Please see
the function acpi_pcihp_pc_no_hotplug(). However, with
the current implementaton, Windows would try to hot-unplug a pci bridge when
it's hotplug switch is off. This is regardless of whether there are devices
attached to the bridge. This is because we add ACPI code like _EJ0 etc for the
pci slot where the bridge is cold plugged.

In this fix, we identify a cold plugged bridge and for cold plugged bridges,
we do not add the appropriate ACPI methods that are used by the OS
to identify a hot-pluggable/unpluggable pci device. After this change, Windows
does not detect the cold plugged pci bridge as ejectable.

As a result of the patch, the following are the changes to the DSDT ACPI
table:

@@ -858,38 +858,33 @@
                     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 (_SUN, 0x03)  // _SUN: Slot User Number
                 Name (_ADR, 0x00030000)  // _ADR: Address
-                Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device
-                {
-                    PCEJ (BSEL, _SUN)
-                }
             }

             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
@@ -1148,37 +1143,32 @@
                     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 & 0x08))
-                {
-                    Notify (S18, Arg1)
-                }
-
                 If ((Arg0 & 0x10))
                 {
                     Notify (S20, Arg1)
                 }

                 If ((Arg0 & 0x20))
                 {
                     Notify (S28, Arg1)
                 }

                 If ((Arg0 & 0x40))
                 {
                     Notify (S30, Arg1)
                 }

                 If ((Arg0 & 0x80))

While at it, I have also updated a stale comment.

Signed-off-by: Ani Sinha <ani@anisinha.ca>
Suggested-by: Julia Suvorova <jusual@redhat.com>
Reviewed-by: Julia Suvorova <jusual@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
---
 hw/i386/acpi-build.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c
index 7a5a8b3521..e079b686f5 100644
--- a/hw/i386/acpi-build.c
+++ b/hw/i386/acpi-build.c
@@ -359,6 +359,7 @@ static void build_append_pci_bus_devices(Aml *parent_scope, PCIBus *bus,
         int slot = PCI_SLOT(i);
         bool hotplug_enabled_dev;
         bool bridge_in_acpi;
+        bool cold_plugged_bridge;
 
         if (!pdev) {
             if (bsel) { /* add hotplug slots for non present devices */
@@ -380,15 +381,14 @@ static void build_append_pci_bus_devices(Aml *parent_scope, PCIBus *bus,
         pc = PCI_DEVICE_GET_CLASS(pdev);
         dc = DEVICE_GET_CLASS(pdev);
 
-        /* When hotplug for bridges is enabled, bridges are
-         * described in ACPI separately (see build_pci_bus_end).
-         * In this case they aren't themselves hot-pluggable.
+        /*
+         * Cold plugged bridges aren't themselves hot-pluggable.
          * Hotplugged bridges *are* hot-pluggable.
          */
-        bridge_in_acpi = pc->is_bridge && pcihp_bridge_en &&
-            !DEVICE(pdev)->hotplugged;
+        cold_plugged_bridge = pc->is_bridge && !DEVICE(pdev)->hotplugged;
+        bridge_in_acpi =  cold_plugged_bridge && pcihp_bridge_en;
 
-        hotplug_enabled_dev = bsel && dc->hotpluggable && !bridge_in_acpi;
+        hotplug_enabled_dev = bsel && dc->hotpluggable && !cold_plugged_bridge;
 
         if (pc->class_id == PCI_CLASS_BRIDGE_ISA) {
             continue;
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 48+ messages in thread

* [PATCH v10 06/13] tests/acpi: list added acpi table binary file for pci bridge hotplug test
  2020-09-18  8:40 [PATCH v10 00/13] i440fx/acpi: addition of feature and bug fixes Ani Sinha
                   ` (4 preceding siblings ...)
  2020-09-18  8:41 ` [PATCH v10 05/13] i440fx/acpi: do not add hotplug related amls for cold plugged bridges Ani Sinha
@ 2020-09-18  8:41 ` Ani Sinha
  2020-09-18  8:41 ` [PATCH v10 07/13] tests/acpi: unit test for 'acpi-pci-hotplug-with-bridge-support' bridge flag Ani Sinha
                   ` (7 subsequent siblings)
  13 siblings, 0 replies; 48+ messages in thread
From: Ani Sinha @ 2020-09-18  8:41 UTC (permalink / raw)
  To: mst, qemu-devel
  Cc: Eduardo Habkost, jusual, Philippe Mathieu-Daudé,
	Aleksandar Markovic, Paolo Bonzini, Ani Sinha, Igor Mammedov,
	Aurelien Jarno, Richard Henderson

The file 'tests/data/acpi/pc/DSDT.hpbridge' is a newly added acpi table file
for testing the pci bridge option 'acpi-pci-hotplug-with-bridge-support' under
i440fx. This change documents this fact.

Signed-off-by: Ani Sinha <ani@anisinha.ca>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
---
 tests/qtest/bios-tables-test-allowed-diff.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios-tables-test-allowed-diff.h
index dfb8523c8b..96a9237355 100644
--- a/tests/qtest/bios-tables-test-allowed-diff.h
+++ b/tests/qtest/bios-tables-test-allowed-diff.h
@@ -1 +1,2 @@
 /* List of comma-separated changed AML files to ignore */
+"tests/data/acpi/pc/DSDT.hpbridge",
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 48+ messages in thread

* [PATCH v10 07/13] tests/acpi: unit test for 'acpi-pci-hotplug-with-bridge-support' bridge flag
  2020-09-18  8:40 [PATCH v10 00/13] i440fx/acpi: addition of feature and bug fixes Ani Sinha
                   ` (5 preceding siblings ...)
  2020-09-18  8:41 ` [PATCH v10 06/13] tests/acpi: list added acpi table binary file for pci bridge hotplug test Ani Sinha
@ 2020-09-18  8:41 ` Ani Sinha
  2020-09-18  8:41 ` [PATCH v10 08/13] tests/acpi: add newly added acpi DSDT table blob for pci bridge hotplug flag Ani Sinha
                   ` (6 subsequent siblings)
  13 siblings, 0 replies; 48+ messages in thread
From: Ani Sinha @ 2020-09-18  8:41 UTC (permalink / raw)
  To: mst, qemu-devel
  Cc: Laurent Vivier, Thomas Huth, Eduardo Habkost, jusual,
	Philippe Mathieu-Daudé,
	Aleksandar Markovic, Paolo Bonzini, Ani Sinha, Igor Mammedov,
	Aurelien Jarno, Richard Henderson

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.

Signed-off-by: Ani Sinha <ani@anisinha.ca>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
---
 tests/qtest/bios-tables-test.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/tests/qtest/bios-tables-test.c b/tests/qtest/bios-tables-test.c
index ad157ef05d..c970556795 100644
--- a/tests/qtest/bios-tables-test.c
+++ b/tests/qtest/bios-tables-test.c
@@ -754,6 +754,20 @@ static void test_acpi_piix4_no_root_hotplug(void)
     free_test_data(&data);
 }
 
+static void test_acpi_piix4_no_bridge_hotplug(void)
+{
+    test_data data;
+
+    memset(&data, 0, sizeof(data));
+    data.machine = MACHINE_PC;
+    data.variant = ".hpbridge";
+    data.required_struct_types = base_required_struct_types;
+    data.required_struct_types_len = ARRAY_SIZE(base_required_struct_types);
+    test_acpi_one("-global PIIX4_PM.acpi-pci-hotplug-with-bridge-support=off "
+                  "-device pci-bridge,chassis_nr=1", &data);
+    free_test_data(&data);
+}
+
 static void test_acpi_q35_tcg(void)
 {
     test_data data;
@@ -1160,6 +1174,8 @@ int main(int argc, char *argv[])
         qtest_add_func("acpi/piix4/bridge", test_acpi_piix4_tcg_bridge);
         qtest_add_func("acpi/piix4/pci-hotplug/no_root_hotplug",
                        test_acpi_piix4_no_root_hotplug);
+        qtest_add_func("acpi/piix4/pci-hotplug/no_bridge_hotplug",
+                       test_acpi_piix4_no_bridge_hotplug);
         qtest_add_func("acpi/q35", test_acpi_q35_tcg);
         qtest_add_func("acpi/q35/bridge", test_acpi_q35_tcg_bridge);
         qtest_add_func("acpi/q35/mmio64", test_acpi_q35_tcg_mmio64);
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 48+ messages in thread

* [PATCH v10 08/13] tests/acpi: add newly added acpi DSDT table blob for pci bridge hotplug flag
  2020-09-18  8:40 [PATCH v10 00/13] i440fx/acpi: addition of feature and bug fixes Ani Sinha
                   ` (6 preceding siblings ...)
  2020-09-18  8:41 ` [PATCH v10 07/13] tests/acpi: unit test for 'acpi-pci-hotplug-with-bridge-support' bridge flag Ani Sinha
@ 2020-09-18  8:41 ` Ani Sinha
  2020-09-18  8:41 ` [PATCH v10 09/13] Add ACPI DSDT tables for q35 that are being updated by the next patch Ani Sinha
                   ` (5 subsequent siblings)
  13 siblings, 0 replies; 48+ messages in thread
From: Ani Sinha @ 2020-09-18  8:41 UTC (permalink / raw)
  To: mst, qemu-devel
  Cc: Eduardo Habkost, jusual, Philippe Mathieu-Daudé,
	Aleksandar Markovic, Paolo Bonzini, Ani Sinha, Igor Mammedov,
	Aurelien Jarno, Richard Henderson

This patch adds a binary blob corresponding to the DSDT acpi table. It is used
to unit test the flag 'acpi-pci-hotplug-with-bridge-support' used with pci
bridges.

This change also clears the file tests/qtest/bios-tables-test-allowed-diff.h
so that future changes which affect the table can be caught.

The following is the diff between files tests/data/acpi/pc/DSDT.bridge and
tests/data/acpi/pc/DSDT.hpbridge after disassembly :

@@ -1,30 +1,30 @@
 /*
  * Intel ACPI Component Architecture
  * AML/ASL+ Disassembler version 20180105 (64-bit version)
  * Copyright (c) 2000 - 2018 Intel Corporation
  *
  * Disassembling to symbolic ASL+ operators
  *
- * Disassembly of tests/data/acpi/pc/DSDT.bridge, Fri Sep 11 23:21:34 2020
+ * Disassembly of /tmp/aml-7UURQ0, Fri Sep 11 23:21:34 2020
  *
  * Original Table Header:
  *     Signature        "DSDT"
- *     Length           0x00001A89 (6793)
+ *     Length           0x0000131F (4895)
  *     Revision         0x01 **** 32-bit table (V1), no 64-bit math support
- *     Checksum         0x09
+ *     Checksum         0xF9
  *     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
         }

@@ -859,522 +859,32 @@
                 }

                 Method (_S2D, 0, NotSerialized)  // _S2D: S2 Device State
                 {
                     Return (Zero)
                 }

                 Method (_S3D, 0, NotSerialized)  // _S3D: S3 Device State
                 {
                     Return (Zero)
                 }
             }

             Device (S18)
             {
                 Name (_ADR, 0x00030000)  // _ADR: Address
-                Name (BSEL, One)
-                Device (S00)
-                {
-                    Name (_SUN, Zero)  // _SUN: Slot User Number
-                    Name (_ADR, Zero)  // _ADR: Address
-                    Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device
-                    {
-                        PCEJ (BSEL, _SUN)
-                    }
-                }
-
-                Device (S08)
-                {
-                    Name (_SUN, One)  // _SUN: Slot User Number
-                    Name (_ADR, 0x00010000)  // _ADR: Address
-                    Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device
-                    {
-                        PCEJ (BSEL, _SUN)
-                    }
-                }
-
-                Device (S10)
-                {
-                    Name (_SUN, 0x02)  // _SUN: Slot User Number
-                    Name (_ADR, 0x00020000)  // _ADR: Address
-                    Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device
-                    {
-                        PCEJ (BSEL, _SUN)
-                    }
-                }
-
-                Device (S18)
-                {
-                    Name (_SUN, 0x03)  // _SUN: Slot User Number
-                    Name (_ADR, 0x00030000)  // _ADR: Address
-                    Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device
-                    {
-                        PCEJ (BSEL, _SUN)
-                    }
-                }
-
-                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 & One))
-                    {
-                        Notify (S00, Arg1)
-                    }
-
-                    If ((Arg0 & 0x02))
-                    {
-                        Notify (S08, Arg1)
-                    }
-
-                    If ((Arg0 & 0x04))
-                    {
-                        Notify (S10, Arg1)
-                    }
-
-                    If ((Arg0 & 0x08))
-                    {
-                        Notify (S18, Arg1)
-                    }
-
-                    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 = One
-                    DVNT (PCIU, One)
-                    DVNT (PCID, 0x03)
-                }
             }

             Device (S20)
             {
                 Name (_SUN, 0x04)  // _SUN: Slot User Number
                 Name (_ADR, 0x00040000)  // _ADR: Address
                 Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device
                 {
                     PCEJ (BSEL, _SUN)
                 }
             }

             Device (S28)
             {
                 Name (_SUN, 0x05)  // _SUN: Slot User Number
                 Name (_ADR, 0x00050000)  // _ADR: Address
@@ -1779,22 +1289,21 @@
                 If ((Arg0 & 0x40000000))
                 {
                     Notify (SF0, Arg1)
                 }

                 If ((Arg0 & 0x80000000))
                 {
                     Notify (SF8, Arg1)
                 }
             }

             Method (PCNT, 0, NotSerialized)
             {
                 BNUM = Zero
                 DVNT (PCIU, One)
                 DVNT (PCID, 0x03)
-                ^S18.PCNT ()
             }
         }
     }
 }

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

diff --git a/tests/data/acpi/pc/DSDT.hpbridge b/tests/data/acpi/pc/DSDT.hpbridge
new file mode 100644
index 0000000000000000000000000000000000000000..b0751398541bdf88ce405be9742aeba0b375dbc3
GIT binary patch
literal 4895
zcmb7IQE%Hu5}p+)hgwNCWixSVw~gQ=SF}AelAO9J?!^)*ONuR-5#`(+Xn>UM;^d-5
ziL?Rg8pSCp;HG&ibUEC^J*a`6<Dby`3H=GZztF=qzL)A|NUf~MBG3vj#hLl`o0;9&
z*_92;Xk1$WVE-#@>t!ol_>-v{sAB*?@AR!!<Xy1aMxo@ectmFQqqzT$kAkB8-YD#p
z*gsnC-(B~!uU*#kVDFjwbg$`s_1N750zKUGIHwnN#jy&G-B~vEN=9+Y6(f=VflG>$
zH|n4`I~4=esuEy|O4%$n1c)Js%yzqMHmZ;S_~Dm0$o3<Z<c0ginvpi^hLhIT9IKHB
zk2J1Fs^%9iSKVIX+pY^;H$E8jp*Q<&w+Vl1Cg9)yjrO6>=M+b;Td5SEJ&9q)NDeZ<
z5vad=hoYfy?aorg$~%6n=$>IH=Ix9g;Vzfe+Ttxq010JxZf_P01P3Wf7(GTM++5|C
zOUwlq7%Q;@IKc0f2zs+SH>%q^qfv7UFO5=obOlsG<&_OXAI;w-oH+`9nO`ljpQN88
zkW1`^^g;r*vJP*_K5=$q%gl>;-Y_cjX%%>sZ}SY}r#!-M;@>=9<^%o_|C!HmMR7Ka
zVrr3VQ~~3k2nu#5w`Df6B0V`+JN8nzDo>W!=hEkrqO7$27;^e{bu=c5Xk5@KW6q>A
z36vGpA9J(b&_@#zA7<)Pd*A_6R)FCum6h{lYMZ*%U~zcP6|4>tbX>ljG(L>9-L{H%
zv5J-F9BU^|f?miJ@1mhltJYau4Gbjch1yOvZL`9bz6sh*Q!n0)*w;xK47?T@y(4xA
zG~9lJ)O}EESbYUY-Q-j;n!z2j-T-et(sn&)J}bnYHhJ6oqRAt$=N&(2?g5uzzo&Nh
z5fsCU+p29EaL~Ka-Dka2x5?#^+Jb}ck|QaPpj3CCM@E{$P$P{rIvjXk9_?`zu;$_M
z0f2YhM1PMD7<dPd-6lM2_FenYjaw2$OJz$1&CL3}jDn9WJ#zF|RkVf5J)G5E?3lM(
zxL;y@9@o|?_w;%U0rgC3mdC%DftX(`NAQGnJc`dsFaETJIk)J&PinifbqUkNVhr|1
z0{0&6Yz61aN?qX#-^@Zxiei;<{EOq?5omM%rtVV^6rPrHjEV(c(mQYanmO77fC#<r
z%ZrXxx7d?b5Ct}ZdWG~u?}Z8PScbpadv?rw*7u&p_{P0wwdvlocBe|Y>l5C2<Ttp_
zjk(YH?sF6Fb0O|?L-)p{d+biXI{Vcz_p849)d}~jA?{c0&bEx%Ta)hPz`ZCTYQVVU
zv0%xu&Sw0@*5bh&Q>dt-)m69r?Phm$zI)z(&3bX<g3tKHmDJ6hborCdypJCKCH>%o
zPd|D1VE=<p!DhO-wK;4mNzO|QPT`a#u*YIi`Ca6cC+tVpNytN5H;Xl<S85j1>(%=V
z8$yPGtm{<+Tg^OyB;6`*r4ec58)+@!RB9E)15#r0Z}0kD3S$Z4OXhX6lF4K<6hUwl
zMzxgQ*!Xj#$Ga^!(KDIMp;n&39+r>U*LQEp;*6mjDR$~alWKJ4f!kZ^P8ukBkI%XG
z8y75Fn|)WSMk%A;=7>#FA;VODtvst+dQAySgSpT0@vh4-bPpy;afW*(`9ebeO5k)&
z!g2DMcOf!Fd(8cAQ|^^7Qu*sSor+5rxe$(A(-W=6^lht=2upP8dR+(>GxiRr<mK_m
zq?Vu`PAYK<rbcIfb%&}7w-|n~K(VrvKGhf2U^U-J#km3s-EPo2>tG&nN(NeoA8N~3
zz9qBh6f-$oApg2UrA(`;Zp&oyH}<fqGi#u|kJv2GM2s#+!SOk!F!h=r=}QPz*Mhx5
z2UBpnS?BzpkCPC=s~3I-^uWv0S>i0g6x6eXM5-5PK1+<`Bp!SK|M_|mAh6S+G8oXI
zLZ1lu7IDK-27~W^2`vBm`N`YoV*(w)27|$01w7C~o4)B*rpq`5!L2N5*33*Ery%G)
zq#tWL!8Iu!<mI=WA5VWgWipZ6mCdqQ4<_<u5}b-DE$ku}Jcs8@!%NYdyXf9pb>?Se
zhB4#&ZD(GQ@uG)UIF#Nc3k9$K;e4{~&N~}_)Hi|v?iH&$SS&e0<Lz}kVl}EpsZpx6
zk9Ykm&&J38S{1PSU>b2NlL@ZMD7<B5hXSrn1T<vJ8qoJ&a^hu`UhK}CmAw-TM6860
zH?15EwsvY9&k6jUfO;9Ud54-W-O0!!nSCgYC1_MYqhZih!HOqDz&aBO6|9#8^imk~
zwqV8kbHJ*ELIrC~Kx1LhcLggKP#y{uthiV~0P!&BnqW-`Xd)CUSd#*p41>NWSZ4)v
zHWVsY@dg;gIu{1LBUn`dRYReIH6@^_FzEY&bzVT{L!p8df0G5VE`&kzf)xurfNG&o
z!FpLhFNZ-3g7u1kUI~Q?)<pqb41?-|^{Rkg4TTEUR|NExFsLC|mjrYv6e?Jk1#~$K
zS`@6W3h1k$P{I0|fW8(6-4Lv=3+U^iP{DdlK(9@MYMV>O{aPc^OB}cG$JYrputQ%+
zlW=D!tfPQUD6q6iAWQPN701)}#KKN8lp-XJY%)sN4~8~{q>+uB;jSLq$lKb;M(%KL
z4sGP`J+jRmx3Hn&@o-|{9uqPi5GbG9@t8QVaJL9M-Vjhex2q&$-3xo#m(T6%Bx3~&
zd)t@K?S95si^7hl#EGSk*(qzRs*#=YHpc9fIo8L>o+f$BzK$}k^vK>O8SUCNx_{t*
S66ohVtr{L;J8bx3aOwYF+mJl~

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 96a9237355..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.hpbridge",
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 48+ messages in thread

* [PATCH v10 09/13] Add ACPI DSDT tables for q35 that are being updated by the next patch
  2020-09-18  8:40 [PATCH v10 00/13] i440fx/acpi: addition of feature and bug fixes Ani Sinha
                   ` (7 preceding siblings ...)
  2020-09-18  8:41 ` [PATCH v10 08/13] tests/acpi: add newly added acpi DSDT table blob for pci bridge hotplug flag Ani Sinha
@ 2020-09-18  8:41 ` Ani Sinha
  2020-09-18  8:41 ` [PATCH v10 10/13] piix4: don't reserve hw resources when hotplug is off globally Ani Sinha
                   ` (4 subsequent siblings)
  13 siblings, 0 replies; 48+ messages in thread
From: Ani Sinha @ 2020-09-18  8:41 UTC (permalink / raw)
  To: mst, qemu-devel
  Cc: Eduardo Habkost, jusual, Philippe Mathieu-Daudé,
	Aleksandar Markovic, Paolo Bonzini, Ani Sinha, Igor Mammedov,
	Aurelien Jarno, Richard Henderson

The following patch 7b7d8ff077 ("piix4: don't reserve hw resources when
hotplug is off globally") modifies certain ACPI tables for q35 machines.
This patch adds those table names to tests/qtest/bios-tables-test-allowed-diff.h
so that unit tests continues to pass and bisection is not broken.

Signed-off-by: Ani Sinha <ani@anisinha.ca>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
---
 tests/qtest/bios-tables-test-allowed-diff.h | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios-tables-test-allowed-diff.h
index dfb8523c8b..631703142c 100644
--- a/tests/qtest/bios-tables-test-allowed-diff.h
+++ b/tests/qtest/bios-tables-test-allowed-diff.h
@@ -1 +1,11 @@
 /* List of comma-separated changed AML files to ignore */
+"tests/data/acpi/q35/DSDT",
+"tests/data/acpi/q35/DSDT.acpihmat",
+"tests/data/acpi/q35/DSDT.bridge",
+"tests/data/acpi/q35/DSDT.cphp",
+"tests/data/acpi/q35/DSDT.dimmpxm",
+"tests/data/acpi/q35/DSDT.ipmibt",
+"tests/data/acpi/q35/DSDT.memhp",
+"tests/data/acpi/q35/DSDT.mmio64",
+"tests/data/acpi/q35/DSDT.numamem",
+"tests/data/acpi/q35/DSDT.tis",
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 48+ messages in thread

* [PATCH v10 10/13] piix4: don't reserve hw resources when hotplug is off globally
  2020-09-18  8:40 [PATCH v10 00/13] i440fx/acpi: addition of feature and bug fixes Ani Sinha
                   ` (8 preceding siblings ...)
  2020-09-18  8:41 ` [PATCH v10 09/13] Add ACPI DSDT tables for q35 that are being updated by the next patch Ani Sinha
@ 2020-09-18  8:41 ` Ani Sinha
  2020-09-18  8:41 ` [PATCH v10 11/13] tests/acpi: update golden master DSDT binary table blobs for q35 Ani Sinha
                   ` (3 subsequent siblings)
  13 siblings, 0 replies; 48+ messages in thread
From: Ani Sinha @ 2020-09-18  8:41 UTC (permalink / raw)
  To: mst, qemu-devel
  Cc: Eduardo Habkost, jusual, Philippe Mathieu-Daudé,
	Aleksandar Markovic, Paolo Bonzini, Ani Sinha, Igor Mammedov,
	Aurelien Jarno, Richard Henderson

When acpi hotplug is turned off for both root pci bus as well as for pci
bridges, we should not generate the related ACPI code for DSDT table or
initialize related hw ports or reserve hw resources. This change makes
sure all those operations are turned off in the case ACPI pci hotplug is
off globally.

In this change, we also make sure ACPI code for the PCNT method are only
added when bsel is enabled for the corresponding pci bus or bridge hotplug
is turned on.

As q35 machines do not use bsel for it's pci buses at this point in time, this
change affects DSDT acpi table for q35 machines as well. Therefore, we will
also need to commit the updated golden master DSDT table acpi binary blobs as
well. Following is the list of blobs which needs updating:

 tests/data/acpi/q35/DSDT
 tests/data/acpi/q35/DSDT.acpihmat
 tests/data/acpi/q35/DSDT.bridge
 tests/data/acpi/q35/DSDT.cphp
 tests/data/acpi/q35/DSDT.dimmpxm
 tests/data/acpi/q35/DSDT.ipmibt
 tests/data/acpi/q35/DSDT.memhp
 tests/data/acpi/q35/DSDT.mmio64
 tests/data/acpi/q35/DSDT.numamem
 tests/data/acpi/q35/DSDT.tis

These tables are updated in the following commit. Without the updated table
blobs, the unit tests would fail with this patch.

Signed-off-by: Ani Sinha <ani@anisinha.ca>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
---
 hw/acpi/piix4.c      |  6 ++++--
 hw/i386/acpi-build.c | 25 ++++++++++++++++++-------
 2 files changed, 22 insertions(+), 9 deletions(-)

diff --git a/hw/acpi/piix4.c b/hw/acpi/piix4.c
index e6163bb6ce..b70b1f98af 100644
--- a/hw/acpi/piix4.c
+++ b/hw/acpi/piix4.c
@@ -596,8 +596,10 @@ static void piix4_acpi_system_hot_add_init(MemoryRegion *parent,
                           "acpi-gpe0", GPE_LEN);
     memory_region_add_subregion(parent, GPE_BASE, &s->io_gpe);
 
-    acpi_pcihp_init(OBJECT(s), &s->acpi_pci_hotplug, bus, parent,
-                    s->use_acpi_hotplug_bridge);
+    if (s->use_acpi_hotplug_bridge || s->use_acpi_root_pci_hotplug) {
+        acpi_pcihp_init(OBJECT(s), &s->acpi_pci_hotplug, bus, parent,
+                        s->use_acpi_hotplug_bridge);
+    }
 
     s->cpu_hotplug_legacy = true;
     object_property_add_bool(OBJECT(s), "cpu-hotplug-legacy",
diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c
index e079b686f5..e41bb0992b 100644
--- a/hw/i386/acpi-build.c
+++ b/hw/i386/acpi-build.c
@@ -95,6 +95,7 @@ typedef struct AcpiPmInfo {
     bool s3_disabled;
     bool s4_disabled;
     bool pcihp_bridge_en;
+    bool pcihp_root_en;
     uint8_t s4_val;
     AcpiFadtData fadt;
     uint16_t cpu_hp_io_base;
@@ -245,6 +246,9 @@ static void acpi_get_pm_info(MachineState *machine, AcpiPmInfo *pm)
     pm->pcihp_bridge_en =
         object_property_get_bool(obj, "acpi-pci-hotplug-with-bridge-support",
                                  NULL);
+    pm->pcihp_root_en =
+        object_property_get_bool(obj, "acpi-root-pci-hotplug",
+                                 NULL);
 }
 
 static void acpi_get_misc_info(AcpiMiscInfo *info)
@@ -450,10 +454,12 @@ static void build_append_pci_bus_devices(Aml *parent_scope, PCIBus *bus,
     }
 
     /* Append PCNT method to notify about events on local and child buses.
-     * Add unconditionally for root since DSDT expects it.
+     * Add this method for root bus only when hotplug is enabled since DSDT
+     * expects it.
      */
-    method = aml_method("PCNT", 0, AML_NOTSERIALIZED);
-
+    if (bsel || pcihp_bridge_en) {
+        method = aml_method("PCNT", 0, AML_NOTSERIALIZED);
+    }
     /* If bus supports hotplug select it and notify about local events */
     if (bsel) {
         uint64_t bsel_val = qnum_get_uint(qobject_to(QNum, bsel));
@@ -479,7 +485,10 @@ static void build_append_pci_bus_devices(Aml *parent_scope, PCIBus *bus,
             aml_append(method, aml_name("^S%.02X.PCNT", devfn));
         }
     }
-    aml_append(parent_scope, method);
+
+    if (bsel || pcihp_bridge_en) {
+        aml_append(parent_scope, method);
+    }
     qobject_unref(bsel);
 }
 
@@ -1504,7 +1513,9 @@ build_dsdt(GArray *table_data, BIOSLinker *linker,
         build_hpet_aml(dsdt);
         build_piix4_isa_bridge(dsdt);
         build_isa_devices_aml(dsdt);
-        build_piix4_pci_hotplug(dsdt);
+        if (pm->pcihp_bridge_en || pm->pcihp_root_en) {
+            build_piix4_pci_hotplug(dsdt);
+        }
         build_piix4_pci0_int(dsdt);
     } else {
         sb_scope = aml_scope("_SB");
@@ -1546,7 +1557,7 @@ build_dsdt(GArray *table_data, BIOSLinker *linker,
     {
         aml_append(scope, aml_name_decl("_HID", aml_string("ACPI0006")));
 
-        if (misc->is_piix4) {
+        if (misc->is_piix4 && (pm->pcihp_bridge_en || pm->pcihp_root_en)) {
             method = aml_method("_E01", 0, AML_NOTSERIALIZED);
             aml_append(method,
                 aml_acquire(aml_name("\\_SB.PCI0.BLCK"), 0xFFFF));
@@ -1698,7 +1709,7 @@ build_dsdt(GArray *table_data, BIOSLinker *linker,
     crs_range_set_free(&crs_range_set);
 
     /* reserve PCIHP resources */
-    if (pm->pcihp_io_len) {
+    if (pm->pcihp_io_len && (pm->pcihp_bridge_en || pm->pcihp_root_en)) {
         dev = aml_device("PHPR");
         aml_append(dev, aml_name_decl("_HID", aml_string("PNP0A06")));
         aml_append(dev,
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 48+ messages in thread

* [PATCH v10 11/13] tests/acpi: update golden master DSDT binary table blobs for q35
  2020-09-18  8:40 [PATCH v10 00/13] i440fx/acpi: addition of feature and bug fixes Ani Sinha
                   ` (9 preceding siblings ...)
  2020-09-18  8:41 ` [PATCH v10 10/13] piix4: don't reserve hw resources when hotplug is off globally Ani Sinha
@ 2020-09-18  8:41 ` Ani Sinha
  2020-09-18  8:41 ` [PATCH v10 12/13] tests/acpi: unit test exercising global pci hotplug off for i440fx Ani Sinha
                   ` (2 subsequent siblings)
  13 siblings, 0 replies; 48+ messages in thread
From: Ani Sinha @ 2020-09-18  8:41 UTC (permalink / raw)
  To: mst, qemu-devel
  Cc: Eduardo Habkost, jusual, Philippe Mathieu-Daudé,
	Aleksandar Markovic, Paolo Bonzini, Ani Sinha, Igor Mammedov,
	Aurelien Jarno, Richard Henderson

In the change d7f82561fe ("piix4: don't reserve hw resources when
hotplug is off globally"), we make changes to the ACPI DSDT tables
such that some ACPI code are not generated when bsel is absent. Since
as of this point in time, in q35 machines, we do not use bsel for pci
buses, we need to update the DSDT table blobs.
This patch updates the DSDT golden master tables for q35 machines.
At the same time, we clear bios-tables-test-allowed-diff.h for future
changes which update tables.

Following is a typical diff between the q35 acpi DSDT table blobs:

@@ -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/q35/DSDT, Tue Sep 15 18:52:47 2020
+ * Disassembly of /tmp/aml-3O0DR0, Tue Sep 15 18:52:47 2020
  *
  * Original Table Header:
  *     Signature        "DSDT"
- *     Length           0x00001DFE (7678)
+ *     Length           0x00001DF6 (7670)
  *     Revision         0x01 **** 32-bit table (V1), no 64-bit math support
- *     Checksum         0xAC
+ *     Checksum         0x17
  *     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
         }

@@ -3113,24 +3113,20 @@
                 Name (_ADR, 0x00010000)  // _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)
                 }
             }
-
-            Method (PCNT, 0, NotSerialized)
-            {
-            }
         }
     }
 }

Signed-off-by: Ani Sinha <ani@anisinha.ca>
Acked-by: Igor Mammedov <imammedo@redhat.com>
---
 tests/data/acpi/q35/DSDT                    | Bin 7678 -> 7670 bytes
 tests/data/acpi/q35/DSDT.acpihmat           | Bin 9002 -> 8994 bytes
 tests/data/acpi/q35/DSDT.bridge             | Bin 7695 -> 7688 bytes
 tests/data/acpi/q35/DSDT.cphp               | Bin 8141 -> 8133 bytes
 tests/data/acpi/q35/DSDT.dimmpxm            | Bin 9331 -> 9323 bytes
 tests/data/acpi/q35/DSDT.ipmibt             | Bin 7753 -> 7745 bytes
 tests/data/acpi/q35/DSDT.memhp              | Bin 9037 -> 9029 bytes
 tests/data/acpi/q35/DSDT.mmio64             | Bin 8808 -> 8801 bytes
 tests/data/acpi/q35/DSDT.numamem            | Bin 7684 -> 7676 bytes
 tests/data/acpi/q35/DSDT.tis                | Bin 8283 -> 8276 bytes
 tests/qtest/bios-tables-test-allowed-diff.h |  10 ----------
 11 files changed, 10 deletions(-)

diff --git a/tests/data/acpi/q35/DSDT b/tests/data/acpi/q35/DSDT
index bba8884073a27427b88ac0d733c9c87330a59366..4fad91b72e279b744b0528fd687c862d3a3d5cfa 100644
GIT binary patch
delta 33
pcmexo{mq)oCD<k8n=AtZqxeRyWwM-ZEHUxHPVoYElXuD50sy=Q3Pb<^

delta 42
ycmexn{m+`qCD<k8pDY6d<C=|J%VfFySYqOXo#F-DSSIh3wPhD!3vl)eVE_Owj0{Tv

diff --git a/tests/data/acpi/q35/DSDT.acpihmat b/tests/data/acpi/q35/DSDT.acpihmat
index 9cac92418b5fcc2767dc74603d599642b59623fe..e4df7d1ca89578dd81be3539c8f83f073bb8db25 100644
GIT binary patch
delta 33
pcmZ4Gw#bdkCD<iINtuCx@ySN6OG=z>EHUxHPVoYElb<Qs0syHh3KIYT

delta 42
xcmZ4Fw#tpmCD<iIOPPUzv2r8VB_%FDmYDcpr+5K3mdQ_*Y}rNF0-XIq7y$jZ3mO0b

diff --git a/tests/data/acpi/q35/DSDT.bridge b/tests/data/acpi/q35/DSDT.bridge
index f08b7245f59aad491fcaa60e2bab1085c369ea1c..065399174575442201cc09ffa4939ddf90ac81b4 100644
GIT binary patch
delta 33
ocmeCT>9FB)33dtLkYiwAT)&ZPnJlLVYfOBwQ@nt~<ejqq0G06xDgXcg

delta 41
wcmeCM>9^r>33dtLmt$aH^xnv|OqSE1H6}jTDPF*R@=jTQb`iD!XTJ~z0NaZSF#rGn

diff --git a/tests/data/acpi/q35/DSDT.cphp b/tests/data/acpi/q35/DSDT.cphp
index 57d859cef9fa16a8f125c4b338611c8472699f38..8d2395e3cb4383b30e3840caed0d09ccad0c7323 100644
GIT binary patch
delta 33
ocmX?Wf7G7KCD<k8s5}D$<AjY|rShC^EHUxHPVoYElRM>Y0kO^r)&Kwi

delta 42
xcmX?Vf7YJMCD<k8tULn)qv}SkQh6>vmYDcpr+5K3mdPFRw(KHo0nUCQ3;+bB3f%wz

diff --git a/tests/data/acpi/q35/DSDT.dimmpxm b/tests/data/acpi/q35/DSDT.dimmpxm
index 9d5bd5744e2ba2e0f6126c3aba0bb36af865e499..df7422051c6feadeaa3b6733ad7efa67c339b49d 100644
GIT binary patch
delta 33
ocmezD@!EsSCD<h-TZMsvF>)i9v<jyiOH6#QQ@nuPWPKG|0ILxQ{r~^~

delta 42
xcmaFu@!5mRCD<jTScQRs@!du)X%#L%mYDcpr+5K3mdSc5w(KHo0nUCQ3;+_P3k3iG

diff --git a/tests/data/acpi/q35/DSDT.ipmibt b/tests/data/acpi/q35/DSDT.ipmibt
index 5cd11de6a8fe47324e5f922823a22746882f19f5..c4ce5cc0ede822ea82656d078d7a8b7eee4a7516 100644
GIT binary patch
delta 33
ocmX?UbI^v%CD<jzQI3Iu(Q6~uM_EocmYDcpr+5Lo$*gj=0Hl8i@&Et;

delta 42
xcmX?TbJB*(CD<jzQ;vaw@%~1xkFs2TEHUxHPVoY6ER$K}Y}rNF0-XIq7yt{`3i$v4

diff --git a/tests/data/acpi/q35/DSDT.memhp b/tests/data/acpi/q35/DSDT.memhp
index 05a7a73ec43130d5c3018bb462fd84981bfb151c..84614ffc1452358053b4c2be4b2edcb4d56a9ae6 100644
GIT binary patch
delta 33
ocmX@>cGQi_CD<jzRhfZ-kz*s*S0zq2mYDcpr+5Lo$(+iz0Hk>c=Kufz

delta 42
xcmX@=cGiu{CD<jzSDAr<aqdR0uS#5gEHUxHPVoY6ER#8uZP`WG0-XIq7yt`p3hn>^

diff --git a/tests/data/acpi/q35/DSDT.mmio64 b/tests/data/acpi/q35/DSDT.mmio64
index efd3f1188f2b55da1514212d4be081a61c2a96e9..d8dd702b69cc24a6b58b8eaa79ea02439a2a7dd9 100644
GIT binary patch
delta 33
ocmaFi^3a9LCD<h-QHg<paqmX1|B9R*tTFMyPVoW`lZBN00lUBo5&!@I

delta 41
wcmaFp^1_A7CD<h-Ly3WbF>)i<e??Az)|mKUr+5MP$wEs0>>_Ld&VC^b00^lI82|tP

diff --git a/tests/data/acpi/q35/DSDT.numamem b/tests/data/acpi/q35/DSDT.numamem
index 1978b55f1255402bf9bade0b91150b5cb49789a4..f36d22063a6eed4fb107ffd0e10477a2d6d7a983 100644
GIT binary patch
delta 33
pcmZp%`D4xH66_N4N0xzs@!&?THL{#;EHUxHPVoYElMl$+0sy+k3XK2&

delta 42
xcmexk-D1P#66_MfBFDhM7`l;bjVzZROH6#QQ@ns1%jEsCw(KHo0nUCQ3;^@W3X}i<

diff --git a/tests/data/acpi/q35/DSDT.tis b/tests/data/acpi/q35/DSDT.tis
index 638de3872673d17b1958497d0e62c83653de1602..203030a61a92c204bb93c43fe79e546471ae2985 100644
GIT binary patch
delta 38
ucmccZaK(YkCD<h-M1g^U@x?~2O|qOGnlbUgPVoW`laI>UZRU~-WC8&31`DbH

delta 45
zcmccOaNB{)CD<h-T7iLqv1KFICRt8@&6xOLr+5MP$wy`F*hJU@oc%&JGsy)p0RTF+
B45<JB

diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios-tables-test-allowed-diff.h
index 631703142c..dfb8523c8b 100644
--- a/tests/qtest/bios-tables-test-allowed-diff.h
+++ b/tests/qtest/bios-tables-test-allowed-diff.h
@@ -1,11 +1 @@
 /* List of comma-separated changed AML files to ignore */
-"tests/data/acpi/q35/DSDT",
-"tests/data/acpi/q35/DSDT.acpihmat",
-"tests/data/acpi/q35/DSDT.bridge",
-"tests/data/acpi/q35/DSDT.cphp",
-"tests/data/acpi/q35/DSDT.dimmpxm",
-"tests/data/acpi/q35/DSDT.ipmibt",
-"tests/data/acpi/q35/DSDT.memhp",
-"tests/data/acpi/q35/DSDT.mmio64",
-"tests/data/acpi/q35/DSDT.numamem",
-"tests/data/acpi/q35/DSDT.tis",
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 48+ messages in thread

* [PATCH v10 12/13] tests/acpi: unit test exercising global pci hotplug off for i440fx
  2020-09-18  8:40 [PATCH v10 00/13] i440fx/acpi: addition of feature and bug fixes Ani Sinha
                   ` (10 preceding siblings ...)
  2020-09-18  8:41 ` [PATCH v10 11/13] tests/acpi: update golden master DSDT binary table blobs for q35 Ani Sinha
@ 2020-09-18  8:41 ` Ani Sinha
  2020-09-18  8:41 ` [PATCH v10 13/13] tests/acpi: add DSDT.hpbrroot DSDT table blob to test global i440fx hotplug Ani Sinha
  2020-09-18  9:55 ` [PATCH v10 00/13] i440fx/acpi: addition of feature and bug fixes Philippe Mathieu-Daudé
  13 siblings, 0 replies; 48+ messages in thread
From: Ani Sinha @ 2020-09-18  8:41 UTC (permalink / raw)
  To: mst, qemu-devel
  Cc: Laurent Vivier, Thomas Huth, Eduardo Habkost, jusual,
	Philippe Mathieu-Daudé,
	Aleksandar Markovic, Paolo Bonzini, Ani Sinha, Igor Mammedov,
	Aurelien Jarno, Richard Henderson

This change adds a unit test to exercise the case when hotplug is disabled
both for pci root bus and the pci bridges by passing the following two
switches to qemu:

  -global PIIX4_PM.acpi-root-pci-hotplug=off
  -global PIIX4_PM.acpi-pci-hotplug-with-bridge-support=off

bios-tables-test-allowed-diff.h documents the fact that a new DSDT acpi gold
master binary blob we need to be added to test this. We will do the actual
addition in the next patch in the series.

Signed-off-by: Ani Sinha <ani@anisinha.ca>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
---
 tests/qtest/bios-tables-test-allowed-diff.h |  1 +
 tests/qtest/bios-tables-test.c              | 17 +++++++++++++++++
 2 files changed, 18 insertions(+)

diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios-tables-test-allowed-diff.h
index dfb8523c8b..dea61d94f1 100644
--- a/tests/qtest/bios-tables-test-allowed-diff.h
+++ b/tests/qtest/bios-tables-test-allowed-diff.h
@@ -1 +1,2 @@
 /* List of comma-separated changed AML files to ignore */
+"tests/data/acpi/pc/DSDT.hpbrroot",
diff --git a/tests/qtest/bios-tables-test.c b/tests/qtest/bios-tables-test.c
index c970556795..3f7f1a8107 100644
--- a/tests/qtest/bios-tables-test.c
+++ b/tests/qtest/bios-tables-test.c
@@ -768,6 +768,21 @@ static void test_acpi_piix4_no_bridge_hotplug(void)
     free_test_data(&data);
 }
 
+static void test_acpi_piix4_no_acpi_pci_hotplug(void)
+{
+    test_data data;
+
+    memset(&data, 0, sizeof(data));
+    data.machine = MACHINE_PC;
+    data.variant = ".hpbrroot";
+    data.required_struct_types = base_required_struct_types;
+    data.required_struct_types_len = ARRAY_SIZE(base_required_struct_types);
+    test_acpi_one("-global PIIX4_PM.acpi-root-pci-hotplug=off "
+                  "-global PIIX4_PM.acpi-pci-hotplug-with-bridge-support=off "
+                  "-device pci-bridge,chassis_nr=1", &data);
+    free_test_data(&data);
+}
+
 static void test_acpi_q35_tcg(void)
 {
     test_data data;
@@ -1176,6 +1191,8 @@ int main(int argc, char *argv[])
                        test_acpi_piix4_no_root_hotplug);
         qtest_add_func("acpi/piix4/pci-hotplug/no_bridge_hotplug",
                        test_acpi_piix4_no_bridge_hotplug);
+        qtest_add_func("acpi/piix4/pci-hotplug/off",
+                       test_acpi_piix4_no_acpi_pci_hotplug);
         qtest_add_func("acpi/q35", test_acpi_q35_tcg);
         qtest_add_func("acpi/q35/bridge", test_acpi_q35_tcg_bridge);
         qtest_add_func("acpi/q35/mmio64", test_acpi_q35_tcg_mmio64);
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 48+ messages in thread

* [PATCH v10 13/13] tests/acpi: add DSDT.hpbrroot DSDT table blob to test global i440fx hotplug
  2020-09-18  8:40 [PATCH v10 00/13] i440fx/acpi: addition of feature and bug fixes Ani Sinha
                   ` (11 preceding siblings ...)
  2020-09-18  8:41 ` [PATCH v10 12/13] tests/acpi: unit test exercising global pci hotplug off for i440fx Ani Sinha
@ 2020-09-18  8:41 ` Ani Sinha
  2020-09-29  7:11   ` Michael S. Tsirkin
  2020-09-18  9:55 ` [PATCH v10 00/13] i440fx/acpi: addition of feature and bug fixes Philippe Mathieu-Daudé
  13 siblings, 1 reply; 48+ messages in thread
From: Ani Sinha @ 2020-09-18  8:41 UTC (permalink / raw)
  To: mst, qemu-devel
  Cc: Eduardo Habkost, jusual, Philippe Mathieu-Daudé,
	Aleksandar Markovic, Paolo Bonzini, Ani Sinha, Igor Mammedov,
	Aurelien Jarno, Richard Henderson

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

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",
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 48+ messages in thread

* Re: [PATCH v10 00/13] i440fx/acpi: addition of feature and bug fixes.
  2020-09-18  8:40 [PATCH v10 00/13] i440fx/acpi: addition of feature and bug fixes Ani Sinha
                   ` (12 preceding siblings ...)
  2020-09-18  8:41 ` [PATCH v10 13/13] tests/acpi: add DSDT.hpbrroot DSDT table blob to test global i440fx hotplug Ani Sinha
@ 2020-09-18  9:55 ` Philippe Mathieu-Daudé
  2020-09-18 13:12   ` Ani Sinha
  2020-09-18 14:51   ` Michael S. Tsirkin
  13 siblings, 2 replies; 48+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-09-18  9:55 UTC (permalink / raw)
  To: Ani Sinha, mst, qemu-devel
  Cc: Eduardo Habkost, jusual, Aleksandar Markovic, Igor Mammedov,
	Paolo Bonzini, Aurelien Jarno, Richard Henderson

On 9/18/20 10:40 AM, Ani Sinha wrote:
> Final patch series with all the patches reviewed or ack'd and marked as such.
> Thanks Julia and Igor for the reviews. Hope this series gets pulled in soon.

FYI there is no need to collect tags on the final version.
Tools already do that for you, see:
https://patchew.org/QEMU/20200918072325.9933-1-ani@anisinha.ca/

The maintainer can import the patches with the proper Message-Id /
Reviewed-by / Acked-by / Tested-by tags added using:
https://patchew.org/QEMU/20200918072325.9933-1-ani@anisinha.ca/mbox

Regards,

Phil.



^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v10 00/13] i440fx/acpi: addition of feature and bug fixes.
  2020-09-18  9:55 ` [PATCH v10 00/13] i440fx/acpi: addition of feature and bug fixes Philippe Mathieu-Daudé
@ 2020-09-18 13:12   ` Ani Sinha
  2020-09-18 14:51   ` Michael S. Tsirkin
  1 sibling, 0 replies; 48+ messages in thread
From: Ani Sinha @ 2020-09-18 13:12 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Eduardo Habkost, Michael S. Tsirkin, Julia Suvorova,
	QEMU Developers, Aleksandar Markovic, Igor Mammedov,
	Paolo Bonzini, Aurelien Jarno, Richard Henderson

On Fri, Sep 18, 2020 at 3:26 PM Philippe Mathieu-Daudé
<philmd@redhat.com> wrote:
>
> On 9/18/20 10:40 AM, Ani Sinha wrote:
> > Final patch series with all the patches reviewed or ack'd and marked as such.
> > Thanks Julia and Igor for the reviews. Hope this series gets pulled in soon.
>
> FYI there is no need to collect tags on the final version.
> Tools already do that for you, see:
> https://patchew.org/QEMU/20200918072325.9933-1-ani@anisinha.ca/
>
> The maintainer can import the patches with the proper Message-Id /
> Reviewed-by / Acked-by / Tested-by tags added using:
> https://patchew.org/QEMU/20200918072325.9933-1-ani@anisinha.ca/mbox

Interesting!

>
> Regards,
>
> Phil.
>


^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v10 00/13] i440fx/acpi: addition of feature and bug fixes.
  2020-09-18  9:55 ` [PATCH v10 00/13] i440fx/acpi: addition of feature and bug fixes Philippe Mathieu-Daudé
  2020-09-18 13:12   ` Ani Sinha
@ 2020-09-18 14:51   ` Michael S. Tsirkin
  1 sibling, 0 replies; 48+ messages in thread
From: Michael S. Tsirkin @ 2020-09-18 14:51 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Eduardo Habkost, jusual, qemu-devel, Aleksandar Markovic,
	Igor Mammedov, Ani Sinha, Paolo Bonzini, Aurelien Jarno,
	Richard Henderson

On Fri, Sep 18, 2020 at 11:55:54AM +0200, Philippe Mathieu-Daudé wrote:
> On 9/18/20 10:40 AM, Ani Sinha wrote:
> > Final patch series with all the patches reviewed or ack'd and marked as such.
> > Thanks Julia and Igor for the reviews. Hope this series gets pulled in soon.
> 
> FYI there is no need to collect tags on the final version.

Right but if a new version is posted then yes you want to
include tags.

> Tools already do that for you, see:
> https://patchew.org/QEMU/20200918072325.9933-1-ani@anisinha.ca/
> 
> The maintainer can import the patches with the proper Message-Id /
> Reviewed-by / Acked-by / Tested-by tags added using:
> https://patchew.org/QEMU/20200918072325.9933-1-ani@anisinha.ca/mbox
> 
> Regards,
> 
> Phil.



^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v10 13/13] tests/acpi: add DSDT.hpbrroot DSDT table blob to test global i440fx hotplug
  2020-09-18  8:41 ` [PATCH v10 13/13] tests/acpi: add DSDT.hpbrroot DSDT table blob to test global i440fx hotplug Ani Sinha
@ 2020-09-29  7:11   ` Michael S. Tsirkin
  2020-09-29  7:23     ` Ani Sinha
  0 siblings, 1 reply; 48+ messages in thread
From: Michael S. Tsirkin @ 2020-09-29  7:11 UTC (permalink / raw)
  To: Ani Sinha
  Cc: Eduardo Habkost, jusual, qemu-devel, Philippe Mathieu-Daudé,
	Aleksandar Markovic, Paolo Bonzini, Igor Mammedov,
	Aurelien Jarno, Richard Henderson

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>
> ---



^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v10 13/13] tests/acpi: add DSDT.hpbrroot DSDT table blob to test global i440fx hotplug
  2020-09-29  7:11   ` Michael S. Tsirkin
@ 2020-09-29  7:23     ` Ani Sinha
  2020-09-29  7:26       ` Michael S. Tsirkin
  0 siblings, 1 reply; 48+ messages in thread
From: Ani Sinha @ 2020-09-29  7:23 UTC (permalink / raw)
  To: Michael S. Tsirkin
  Cc: Eduardo Habkost, Julia Suvorova, QEMU Developers,
	Philippe Mathieu-Daudé,
	Aleksandar Markovic, Paolo Bonzini, Igor Mammedov,
	Aurelien Jarno, Richard Henderson

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>
> > ---
>


^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v10 13/13] tests/acpi: add DSDT.hpbrroot DSDT table blob to test global i440fx hotplug
  2020-09-29  7:23     ` Ani Sinha
@ 2020-09-29  7:26       ` Michael S. Tsirkin
  2020-09-29  8:23         ` Ani Sinha
  0 siblings, 1 reply; 48+ messages in thread
From: Michael S. Tsirkin @ 2020-09-29  7:26 UTC (permalink / raw)
  To: Ani Sinha
  Cc: Eduardo Habkost, Julia Suvorova, QEMU Developers,
	Philippe Mathieu-Daudé,
	Aleksandar Markovic, Paolo Bonzini, Igor Mammedov,
	Aurelien Jarno, Richard Henderson

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)
-            }
         }
     }
 }



^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v10 13/13] tests/acpi: add DSDT.hpbrroot DSDT table blob to test global i440fx hotplug
  2020-09-29  7:26       ` Michael S. Tsirkin
@ 2020-09-29  8:23         ` Ani Sinha
  2020-09-29  8:51           ` Ani Sinha
  0 siblings, 1 reply; 48+ messages in thread
From: Ani Sinha @ 2020-09-29  8:23 UTC (permalink / raw)
  To: Michael S. Tsirkin
  Cc: Eduardo Habkost, Julia Suvorova, QEMU Developers,
	Philippe Mathieu-Daudé,
	Aleksandar Markovic, Paolo Bonzini, Igor Mammedov,
	Aurelien Jarno, Richard Henderson

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)
> -            }
>          }
>      }
>  }
>


^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v10 13/13] tests/acpi: add DSDT.hpbrroot DSDT table blob to test global i440fx hotplug
  2020-09-29  8:23         ` Ani Sinha
@ 2020-09-29  8:51           ` Ani Sinha
  2020-09-29  9:37             ` Ani Sinha
  2020-09-29  9:42             ` Michael S. Tsirkin
  0 siblings, 2 replies; 48+ messages in thread
From: Ani Sinha @ 2020-09-29  8:51 UTC (permalink / raw)
  To: Michael S. Tsirkin
  Cc: Eduardo Habkost, Julia Suvorova, QEMU Developers,
	Philippe Mathieu-Daudé,
	Aleksandar Markovic, Paolo Bonzini, Igor Mammedov,
	Aurelien Jarno, Richard Henderson

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)
> > -            }
> >          }
> >      }
> >  }
> >


^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v10 13/13] tests/acpi: add DSDT.hpbrroot DSDT table blob to test global i440fx hotplug
  2020-09-29  8:51           ` Ani Sinha
@ 2020-09-29  9:37             ` Ani Sinha
  2020-09-29  9:42             ` Michael S. Tsirkin
  1 sibling, 0 replies; 48+ messages in thread
From: Ani Sinha @ 2020-09-29  9:37 UTC (permalink / raw)
  To: Michael S. Tsirkin
  Cc: Eduardo Habkost, Julia Suvorova, Philippe Mathieu-Daudé,
	QEMU Developers, Aleksandar Markovic, Paolo Bonzini,
	Igor Mammedov, Aurelien Jarno, Richard Henderson

[-- Attachment #1: Type: text/plain, Size: 56768 bytes --]

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)
>
> > > -            }
>
> > >          }
>
> > >      }
>
> > >  }
>
> > >
>
>

[-- Attachment #2: Type: text/html, Size: 84682 bytes --]

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v10 13/13] tests/acpi: add DSDT.hpbrroot DSDT table blob to test global i440fx hotplug
  2020-09-29  8:51           ` Ani Sinha
  2020-09-29  9:37             ` Ani Sinha
@ 2020-09-29  9:42             ` Michael S. Tsirkin
  2020-09-29  9:50               ` Ani Sinha
  1 sibling, 1 reply; 48+ messages in thread
From: Michael S. Tsirkin @ 2020-09-29  9:42 UTC (permalink / raw)
  To: Ani Sinha
  Cc: Eduardo Habkost, Julia Suvorova, QEMU Developers,
	Philippe Mathieu-Daudé,
	Aleksandar Markovic, Paolo Bonzini, Igor Mammedov,
	Aurelien Jarno, Richard Henderson

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)
> > > -            }
> > >          }
> > >      }
> > >  }
> > >



^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v10 13/13] tests/acpi: add DSDT.hpbrroot DSDT table blob to test global i440fx hotplug
  2020-09-29  9:42             ` Michael S. Tsirkin
@ 2020-09-29  9:50               ` Ani Sinha
  2020-09-29 10:30                 ` Ani Sinha
  0 siblings, 1 reply; 48+ messages in thread
From: Ani Sinha @ 2020-09-29  9:50 UTC (permalink / raw)
  To: Michael S. Tsirkin
  Cc: Eduardo Habkost, Julia Suvorova, Philippe Mathieu-Daudé,
	QEMU Developers, Aleksandar Markovic, Paolo Bonzini,
	Igor Mammedov, Aurelien Jarno, Richard Henderson

[-- Attachment #1: Type: text/plain, Size: 59606 bytes --]

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)
>
> > > > -            }
>
> > > >          }
>
> > > >      }
>
> > > >  }
>
> > > >
>
>
>
>

[-- Attachment #2: Type: text/html, Size: 91803 bytes --]

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v10 13/13] tests/acpi: add DSDT.hpbrroot DSDT table blob to test global i440fx hotplug
  2020-09-29  9:50               ` Ani Sinha
@ 2020-09-29 10:30                 ` Ani Sinha
  2020-09-29 10:32                   ` Ani Sinha
  0 siblings, 1 reply; 48+ messages in thread
From: Ani Sinha @ 2020-09-29 10:30 UTC (permalink / raw)
  To: Michael S. Tsirkin
  Cc: Eduardo Habkost, Julia Suvorova, Philippe Mathieu-Daudé,
	QEMU Developers, Aleksandar Markovic, Paolo Bonzini,
	Igor Mammedov, Aurelien Jarno, Richard Henderson

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)
>>
>> > > > -            }
>>
>> > > >          }
>>
>> > > >      }
>>
>> > > >  }
>>
>> > > >
>>
>>
>>


^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v10 13/13] tests/acpi: add DSDT.hpbrroot DSDT table blob to test global i440fx hotplug
  2020-09-29 10:30                 ` Ani Sinha
@ 2020-09-29 10:32                   ` Ani Sinha
  2020-09-29 10:36                     ` Ani Sinha
  2020-09-29 10:37                     ` Michael S. Tsirkin
  0 siblings, 2 replies; 48+ messages in thread
From: Ani Sinha @ 2020-09-29 10:32 UTC (permalink / raw)
  To: Michael S. Tsirkin
  Cc: Eduardo Habkost, Julia Suvorova, Philippe Mathieu-Daudé,
	QEMU Developers, Aleksandar Markovic, Paolo Bonzini,
	Igor Mammedov, Aurelien Jarno, Richard Henderson

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)
> >>
> >> > > > -            }
> >>
> >> > > >          }
> >>
> >> > > >      }
> >>
> >> > > >  }
> >>
> >> > > >
> >>
> >>
> >>


^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v10 13/13] tests/acpi: add DSDT.hpbrroot DSDT table blob to test global i440fx hotplug
  2020-09-29 10:32                   ` Ani Sinha
@ 2020-09-29 10:36                     ` Ani Sinha
  2020-09-29 10:37                     ` Michael S. Tsirkin
  1 sibling, 0 replies; 48+ messages in thread
From: Ani Sinha @ 2020-09-29 10:36 UTC (permalink / raw)
  To: Michael S. Tsirkin
  Cc: Eduardo Habkost, Julia Suvorova, Philippe Mathieu-Daudé,
	QEMU Developers, Aleksandar Markovic, Paolo Bonzini,
	Igor Mammedov, Aurelien Jarno, Richard Henderson

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)
> > >>
> > >> > > > -            }
> > >>
> > >> > > >          }
> > >>
> > >> > > >      }
> > >>
> > >> > > >  }
> > >>
> > >> > > >
> > >>
> > >>
> > >>


^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v10 13/13] tests/acpi: add DSDT.hpbrroot DSDT table blob to test global i440fx hotplug
  2020-09-29 10:32                   ` Ani Sinha
  2020-09-29 10:36                     ` Ani Sinha
@ 2020-09-29 10:37                     ` Michael S. Tsirkin
  2020-09-29 10:41                       ` Ani Sinha
  1 sibling, 1 reply; 48+ messages in thread
From: Michael S. Tsirkin @ 2020-09-29 10:37 UTC (permalink / raw)
  To: Ani Sinha
  Cc: Eduardo Habkost, Julia Suvorova, Philippe Mathieu-Daudé,
	QEMU Developers, Aleksandar Markovic, Paolo Bonzini,
	Igor Mammedov, Aurelien Jarno, Richard Henderson

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)
> > >>
> > >> > > > -            }
> > >>
> > >> > > >          }
> > >>
> > >> > > >      }
> > >>
> > >> > > >  }
> > >>
> > >> > > >
> > >>
> > >>
> > >>



^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v10 13/13] tests/acpi: add DSDT.hpbrroot DSDT table blob to test global i440fx hotplug
  2020-09-29 10:37                     ` Michael S. Tsirkin
@ 2020-09-29 10:41                       ` Ani Sinha
  2020-09-29 10:50                         ` Ani Sinha
  2020-09-29 10:55                         ` Michael S. Tsirkin
  0 siblings, 2 replies; 48+ messages in thread
From: Ani Sinha @ 2020-09-29 10:41 UTC (permalink / raw)
  To: Michael S. Tsirkin
  Cc: Eduardo Habkost, Julia Suvorova, Philippe Mathieu-Daudé,
	QEMU Developers, Aleksandar Markovic, Paolo Bonzini,
	Igor Mammedov, Aurelien Jarno, Richard Henderson

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)
> > > >>
> > > >> > > > -            }
> > > >>
> > > >> > > >          }
> > > >>
> > > >> > > >      }
> > > >>
> > > >> > > >  }
> > > >>
> > > >> > > >
> > > >>
> > > >>
> > > >>
>


^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v10 13/13] tests/acpi: add DSDT.hpbrroot DSDT table blob to test global i440fx hotplug
  2020-09-29 10:41                       ` Ani Sinha
@ 2020-09-29 10:50                         ` Ani Sinha
  2020-09-29 10:57                           ` Michael S. Tsirkin
  2020-09-29 10:55                         ` Michael S. Tsirkin
  1 sibling, 1 reply; 48+ messages in thread
From: Ani Sinha @ 2020-09-29 10:50 UTC (permalink / raw)
  To: Michael S. Tsirkin
  Cc: Eduardo Habkost, Julia Suvorova, Philippe Mathieu-Daudé,
	QEMU Developers, Aleksandar Markovic, Paolo Bonzini,
	Igor Mammedov, Aurelien Jarno, Richard Henderson

 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)
> > > > >>
> > > > >> > > > -            }
> > > > >>
> > > > >> > > >          }
> > > > >>
> > > > >> > > >      }
> > > > >>
> > > > >> > > >  }
> > > > >>
> > > > >> > > >
> > > > >>
> > > > >>
> > > > >>
> >


^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v10 13/13] tests/acpi: add DSDT.hpbrroot DSDT table blob to test global i440fx hotplug
  2020-09-29 10:41                       ` Ani Sinha
  2020-09-29 10:50                         ` Ani Sinha
@ 2020-09-29 10:55                         ` Michael S. Tsirkin
  2020-09-29 11:05                           ` Ani Sinha
  1 sibling, 1 reply; 48+ messages in thread
From: Michael S. Tsirkin @ 2020-09-29 10:55 UTC (permalink / raw)
  To: Ani Sinha
  Cc: Eduardo Habkost, Julia Suvorova, Philippe Mathieu-Daudé,
	QEMU Developers, Aleksandar Markovic, Paolo Bonzini,
	Igor Mammedov, Aurelien Jarno, Richard Henderson

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)

-- 
MST



^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v10 13/13] tests/acpi: add DSDT.hpbrroot DSDT table blob to test global i440fx hotplug
  2020-09-29 10:50                         ` Ani Sinha
@ 2020-09-29 10:57                           ` Michael S. Tsirkin
  2020-09-29 11:10                             ` Ani Sinha
  0 siblings, 1 reply; 48+ messages in thread
From: Michael S. Tsirkin @ 2020-09-29 10:57 UTC (permalink / raw)
  To: Ani Sinha
  Cc: Eduardo Habkost, Julia Suvorova, Philippe Mathieu-Daudé,
	QEMU Developers, Aleksandar Markovic, Paolo Bonzini,
	Igor Mammedov, Aurelien Jarno, Richard Henderson

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?


-- 
MST



^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v10 13/13] tests/acpi: add DSDT.hpbrroot DSDT table blob to test global i440fx hotplug
  2020-09-29 10:55                         ` Michael S. Tsirkin
@ 2020-09-29 11:05                           ` Ani Sinha
  2020-09-29 11:14                             ` Michael S. Tsirkin
  0 siblings, 1 reply; 48+ messages in thread
From: Ani Sinha @ 2020-09-29 11:05 UTC (permalink / raw)
  To: Michael S. Tsirkin
  Cc: Eduardo Habkost, Julia Suvorova, Philippe Mathieu-Daudé,
	QEMU Developers, Aleksandar Markovic, Paolo Bonzini,
	Igor Mammedov, Aurelien Jarno, Richard Henderson

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
>


^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v10 13/13] tests/acpi: add DSDT.hpbrroot DSDT table blob to test global i440fx hotplug
  2020-09-29 10:57                           ` Michael S. Tsirkin
@ 2020-09-29 11:10                             ` Ani Sinha
  0 siblings, 0 replies; 48+ messages in thread
From: Ani Sinha @ 2020-09-29 11:10 UTC (permalink / raw)
  To: Michael S. Tsirkin
  Cc: Eduardo Habkost, Julia Suvorova, Philippe Mathieu-Daudé,
	QEMU Developers, Aleksandar Markovic, Paolo Bonzini,
	Igor Mammedov, Aurelien Jarno, Richard Henderson

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
>


^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v10 13/13] tests/acpi: add DSDT.hpbrroot DSDT table blob to test global i440fx hotplug
  2020-09-29 11:05                           ` Ani Sinha
@ 2020-09-29 11:14                             ` Michael S. Tsirkin
  2020-09-29 11:28                               ` Ani Sinha
  0 siblings, 1 reply; 48+ messages in thread
From: Michael S. Tsirkin @ 2020-09-29 11:14 UTC (permalink / raw)
  To: Ani Sinha
  Cc: Eduardo Habkost, Julia Suvorova, Philippe Mathieu-Daudé,
	QEMU Developers, Aleksandar Markovic, Paolo Bonzini,
	Igor Mammedov, Aurelien Jarno, Richard Henderson

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
> >



^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v10 13/13] tests/acpi: add DSDT.hpbrroot DSDT table blob to test global i440fx hotplug
  2020-09-29 11:14                             ` Michael S. Tsirkin
@ 2020-09-29 11:28                               ` Ani Sinha
  2020-09-29 11:35                                 ` Michael S. Tsirkin
  0 siblings, 1 reply; 48+ messages in thread
From: Ani Sinha @ 2020-09-29 11:28 UTC (permalink / raw)
  To: Michael S. Tsirkin
  Cc: Eduardo Habkost, Julia Suvorova, Philippe Mathieu-Daudé,
	QEMU Developers, Aleksandar Markovic, Paolo Bonzini,
	Igor Mammedov, Aurelien Jarno, Richard Henderson

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
> > >
>


^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v10 13/13] tests/acpi: add DSDT.hpbrroot DSDT table blob to test global i440fx hotplug
  2020-09-29 11:28                               ` Ani Sinha
@ 2020-09-29 11:35                                 ` Michael S. Tsirkin
  2020-09-29 12:33                                   ` Ani Sinha
  0 siblings, 1 reply; 48+ messages in thread
From: Michael S. Tsirkin @ 2020-09-29 11:35 UTC (permalink / raw)
  To: Ani Sinha
  Cc: Eduardo Habkost, Julia Suvorova, Philippe Mathieu-Daudé,
	QEMU Developers, Aleksandar Markovic, Paolo Bonzini,
	Igor Mammedov, Aurelien Jarno, Richard Henderson

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
> > > >
> >



^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v10 13/13] tests/acpi: add DSDT.hpbrroot DSDT table blob to test global i440fx hotplug
  2020-09-29 11:35                                 ` Michael S. Tsirkin
@ 2020-09-29 12:33                                   ` Ani Sinha
  2020-09-30  7:36                                     ` Michael S. Tsirkin
  0 siblings, 1 reply; 48+ messages in thread
From: Ani Sinha @ 2020-09-29 12:33 UTC (permalink / raw)
  To: Michael S. Tsirkin
  Cc: Eduardo Habkost, Julia Suvorova, Philippe Mathieu-Daudé,
	QEMU Developers, Aleksandar Markovic, Paolo Bonzini,
	Igor Mammedov, Aurelien Jarno, Richard Henderson

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
> > > > >
> > >
>


^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v10 13/13] tests/acpi: add DSDT.hpbrroot DSDT table blob to test global i440fx hotplug
  2020-09-29 12:33                                   ` Ani Sinha
@ 2020-09-30  7:36                                     ` Michael S. Tsirkin
  2020-09-30  7:39                                       ` Ani Sinha
  0 siblings, 1 reply; 48+ messages in thread
From: Michael S. Tsirkin @ 2020-09-30  7:36 UTC (permalink / raw)
  To: Ani Sinha
  Cc: Eduardo Habkost, Julia Suvorova, Philippe Mathieu-Daudé,
	QEMU Developers, Aleksandar Markovic, Paolo Bonzini,
	Igor Mammedov, Aurelien Jarno, Richard Henderson

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
> > > > > >
> > > >
> >



^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v10 13/13] tests/acpi: add DSDT.hpbrroot DSDT table blob to test global i440fx hotplug
  2020-09-30  7:36                                     ` Michael S. Tsirkin
@ 2020-09-30  7:39                                       ` Ani Sinha
  2020-09-30  7:43                                         ` Michael S. Tsirkin
  0 siblings, 1 reply; 48+ messages in thread
From: Ani Sinha @ 2020-09-30  7:39 UTC (permalink / raw)
  To: Michael S. Tsirkin
  Cc: Eduardo Habkost, Julia Suvorova, Philippe Mathieu-Daudé,
	QEMU Developers, Aleksandar Markovic, Paolo Bonzini,
	Igor Mammedov, Aurelien Jarno, Richard Henderson

[-- Attachment #1: Type: text/plain, Size: 5583 bytes --]

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
>
> > > > > > >
>
> > > > >
>
> > >
>
>
>
>

[-- Attachment #2: Type: text/html, Size: 9402 bytes --]

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v10 13/13] tests/acpi: add DSDT.hpbrroot DSDT table blob to test global i440fx hotplug
  2020-09-30  7:39                                       ` Ani Sinha
@ 2020-09-30  7:43                                         ` Michael S. Tsirkin
  2020-09-30  7:47                                           ` Ani Sinha
  0 siblings, 1 reply; 48+ messages in thread
From: Michael S. Tsirkin @ 2020-09-30  7:43 UTC (permalink / raw)
  To: Ani Sinha
  Cc: Eduardo Habkost, Julia Suvorova, Philippe Mathieu-Daudé,
	QEMU Developers, Aleksandar Markovic, Paolo Bonzini,
	Igor Mammedov, Aurelien Jarno, Richard Henderson

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
> 
>     > > > > > >
> 
>     > > > >
> 
>     > >
> 
> 
> 
> 



^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v10 13/13] tests/acpi: add DSDT.hpbrroot DSDT table blob to test global i440fx hotplug
  2020-09-30  7:43                                         ` Michael S. Tsirkin
@ 2020-09-30  7:47                                           ` Ani Sinha
  2020-09-30  8:04                                             ` Michael S. Tsirkin
  0 siblings, 1 reply; 48+ messages in thread
From: Ani Sinha @ 2020-09-30  7:47 UTC (permalink / raw)
  To: Michael S. Tsirkin
  Cc: Eduardo Habkost, Julia Suvorova, Philippe Mathieu-Daudé,
	QEMU Developers, Aleksandar Markovic, Paolo Bonzini,
	Igor Mammedov, Aurelien Jarno, Richard Henderson

[-- Attachment #1: Type: text/plain, Size: 8163 bytes --]

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
>
> >
>
> >     > > > > > >
>
> >
>
> >     > > > >
>
> >
>
> >     > >
>
> >
>
> >
>
> >
>
> >
>
>
>
>

[-- Attachment #2: Type: text/html, Size: 14000 bytes --]

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v10 13/13] tests/acpi: add DSDT.hpbrroot DSDT table blob to test global i440fx hotplug
  2020-09-30  7:47                                           ` Ani Sinha
@ 2020-09-30  8:04                                             ` Michael S. Tsirkin
  2020-09-30  8:07                                               ` Ani Sinha
  0 siblings, 1 reply; 48+ messages in thread
From: Michael S. Tsirkin @ 2020-09-30  8:04 UTC (permalink / raw)
  To: Ani Sinha
  Cc: Eduardo Habkost, Julia Suvorova, Philippe Mathieu-Daudé,
	QEMU Developers, Aleksandar Markovic, Paolo Bonzini,
	Igor Mammedov, Aurelien Jarno, Richard Henderson

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
> 
>     >
> 
>     >     > > > > > >
> 
>     >
> 
>     >     > > > >
> 
>     >
> 
>     >     > >
> 
>     >
> 
>     >
> 
>     >
> 
>     >
> 
> 
> 
> 



^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v10 13/13] tests/acpi: add DSDT.hpbrroot DSDT table blob to test global i440fx hotplug
  2020-09-30  8:04                                             ` Michael S. Tsirkin
@ 2020-09-30  8:07                                               ` Ani Sinha
  2020-09-30  9:30                                                 ` Ani Sinha
  0 siblings, 1 reply; 48+ messages in thread
From: Ani Sinha @ 2020-09-30  8:07 UTC (permalink / raw)
  To: Michael S. Tsirkin
  Cc: Eduardo Habkost, Julia Suvorova, Philippe Mathieu-Daudé,
	QEMU Developers, Aleksandar Markovic, Paolo Bonzini,
	Igor Mammedov, Aurelien Jarno, Richard Henderson

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
> >
> >     >
> >
> >     >     > > > > > >
> >
> >     >
> >
> >     >     > > > >
> >
> >     >
> >
> >     >     > >
> >
> >     >
> >
> >     >
> >
> >     >
> >
> >     >
> >
> >
> >
> >
>


^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v10 13/13] tests/acpi: add DSDT.hpbrroot DSDT table blob to test global i440fx hotplug
  2020-09-30  8:07                                               ` Ani Sinha
@ 2020-09-30  9:30                                                 ` Ani Sinha
  2020-09-30 15:28                                                   ` Michael S. Tsirkin
  0 siblings, 1 reply; 48+ messages in thread
From: Ani Sinha @ 2020-09-30  9:30 UTC (permalink / raw)
  To: Michael S. Tsirkin
  Cc: Eduardo Habkost, Julia Suvorova, Philippe Mathieu-Daudé,
	QEMU Developers, Aleksandar Markovic, Paolo Bonzini,
	Igor Mammedov, Aurelien Jarno, Richard Henderson

[-- Attachment #1: Type: text/plain, Size: 13723 bytes --]

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
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > > > >
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > > > >
>
> > >
>
> > >     >
>
> > >
>
> > >     >     > >
>
> > >
>
> > >     >
>
> > >
>
> > >     >
>
> > >
>
> > >     >
>
> > >
>
> > >     >
>
> > >
>
> > >
>
> > >
>
> > >
>
> >
>
>

[-- Attachment #2: Type: text/html, Size: 25005 bytes --]

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v10 13/13] tests/acpi: add DSDT.hpbrroot DSDT table blob to test global i440fx hotplug
  2020-09-30  9:30                                                 ` Ani Sinha
@ 2020-09-30 15:28                                                   ` Michael S. Tsirkin
  2020-09-30 15:45                                                     ` Ani Sinha
  0 siblings, 1 reply; 48+ messages in thread
From: Michael S. Tsirkin @ 2020-09-30 15:28 UTC (permalink / raw)
  To: Ani Sinha
  Cc: Eduardo Habkost, Julia Suvorova, Philippe Mathieu-Daudé,
	QEMU Developers, Aleksandar Markovic, Paolo Bonzini,
	Igor Mammedov, Aurelien Jarno, Richard Henderson

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.

-- 
MST



^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v10 13/13] tests/acpi: add DSDT.hpbrroot DSDT table blob to test global i440fx hotplug
  2020-09-30 15:28                                                   ` Michael S. Tsirkin
@ 2020-09-30 15:45                                                     ` Ani Sinha
  0 siblings, 0 replies; 48+ messages in thread
From: Ani Sinha @ 2020-09-30 15:45 UTC (permalink / raw)
  To: Michael S. Tsirkin
  Cc: Eduardo Habkost, Julia Suvorova, Philippe Mathieu-Daudé,
	QEMU Developers, Aleksandar Markovic, Paolo Bonzini,
	Igor Mammedov, Aurelien Jarno, Richard Henderson

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
>


^ permalink raw reply	[flat|nested] 48+ messages in thread

end of thread, other threads:[~2020-09-30 15:46 UTC | newest]

Thread overview: 48+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-18  8:40 [PATCH v10 00/13] i440fx/acpi: addition of feature and bug fixes Ani Sinha
2020-09-18  8:40 ` [PATCH v10 01/13] tests/acpi: mark addition of table DSDT.roothp for unit testing root pci hotplug Ani Sinha
2020-09-18  8:41 ` [PATCH v10 02/13] tests/acpi: add new unit test to test hotplug off/on feature on the root pci bus Ani Sinha
2020-09-18  8:41 ` [PATCH v10 03/13] tests/acpi: add a new ACPI table in order to test root pci hotplug on/off Ani Sinha
2020-09-18  8:41 ` [PATCH v10 04/13] Fix a gap where acpi_pcihp_find_hotplug_bus() returns a non-hotpluggable bus Ani Sinha
2020-09-18  8:41 ` [PATCH v10 05/13] i440fx/acpi: do not add hotplug related amls for cold plugged bridges Ani Sinha
2020-09-18  8:41 ` [PATCH v10 06/13] tests/acpi: list added acpi table binary file for pci bridge hotplug test Ani Sinha
2020-09-18  8:41 ` [PATCH v10 07/13] tests/acpi: unit test for 'acpi-pci-hotplug-with-bridge-support' bridge flag Ani Sinha
2020-09-18  8:41 ` [PATCH v10 08/13] tests/acpi: add newly added acpi DSDT table blob for pci bridge hotplug flag Ani Sinha
2020-09-18  8:41 ` [PATCH v10 09/13] Add ACPI DSDT tables for q35 that are being updated by the next patch Ani Sinha
2020-09-18  8:41 ` [PATCH v10 10/13] piix4: don't reserve hw resources when hotplug is off globally Ani Sinha
2020-09-18  8:41 ` [PATCH v10 11/13] tests/acpi: update golden master DSDT binary table blobs for q35 Ani Sinha
2020-09-18  8:41 ` [PATCH v10 12/13] tests/acpi: unit test exercising global pci hotplug off for i440fx Ani Sinha
2020-09-18  8:41 ` [PATCH v10 13/13] tests/acpi: add DSDT.hpbrroot DSDT table blob to test global i440fx hotplug Ani Sinha
2020-09-29  7:11   ` Michael S. Tsirkin
2020-09-29  7:23     ` Ani Sinha
2020-09-29  7:26       ` Michael S. Tsirkin
2020-09-29  8:23         ` Ani Sinha
2020-09-29  8:51           ` Ani Sinha
2020-09-29  9:37             ` Ani Sinha
2020-09-29  9:42             ` Michael S. Tsirkin
2020-09-29  9:50               ` Ani Sinha
2020-09-29 10:30                 ` Ani Sinha
2020-09-29 10:32                   ` Ani Sinha
2020-09-29 10:36                     ` Ani Sinha
2020-09-29 10:37                     ` Michael S. Tsirkin
2020-09-29 10:41                       ` Ani Sinha
2020-09-29 10:50                         ` Ani Sinha
2020-09-29 10:57                           ` Michael S. Tsirkin
2020-09-29 11:10                             ` Ani Sinha
2020-09-29 10:55                         ` Michael S. Tsirkin
2020-09-29 11:05                           ` Ani Sinha
2020-09-29 11:14                             ` Michael S. Tsirkin
2020-09-29 11:28                               ` Ani Sinha
2020-09-29 11:35                                 ` Michael S. Tsirkin
2020-09-29 12:33                                   ` Ani Sinha
2020-09-30  7:36                                     ` Michael S. Tsirkin
2020-09-30  7:39                                       ` Ani Sinha
2020-09-30  7:43                                         ` Michael S. Tsirkin
2020-09-30  7:47                                           ` Ani Sinha
2020-09-30  8:04                                             ` Michael S. Tsirkin
2020-09-30  8:07                                               ` Ani Sinha
2020-09-30  9:30                                                 ` Ani Sinha
2020-09-30 15:28                                                   ` Michael S. Tsirkin
2020-09-30 15:45                                                     ` Ani Sinha
2020-09-18  9:55 ` [PATCH v10 00/13] i440fx/acpi: addition of feature and bug fixes Philippe Mathieu-Daudé
2020-09-18 13:12   ` Ani Sinha
2020-09-18 14:51   ` Michael S. Tsirkin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.