From f142e4ede72853aaa7d306bc79b099caed45769b Mon Sep 17 00:00:00 2001 From: "Michael S. Tsirkin" Date: Tue, 29 Sep 2020 07:07:45 -0400 Subject: [PATCH] tests/acpi: drop unnecessary files The last pull added a ton of useless files by mistake. Drop them all. Fixes: 0ed93f4c05896 ("update golden master DSDT binary table blobs for q35") Signed-off-by: Michael S. Tsirkin --- tests/.vhost-user-test.c.swo | Bin 16384 -> 0 bytes tests/Makefile.include.orig | 1012 ----- tests/Makefile.orig | 569 --- tests/bios-tables-test.c.orig | 925 ----- tests/data/acpi/diff-aml.sh | 0 tests/data/acpi/disassemle-aml.py | 21 - tests/data/acpi/microvm/APIC.dsl | 56 - tests/data/acpi/microvm/DSDT.dsl | 121 - tests/data/acpi/microvm/FACP.dsl | 196 - tests/data/acpi/pc/APIC.acpihmat.dsl | 112 - tests/data/acpi/pc/APIC.bridge | Bin 120 -> 0 bytes tests/data/acpi/pc/APIC.bridge.dsl | 104 - tests/data/acpi/pc/APIC.cphp.dsl | 146 - tests/data/acpi/pc/APIC.dimmpxm.dsl | 129 - tests/data/acpi/pc/APIC.dsl | 104 - tests/data/acpi/pc/APIC.hpbridge | Bin 120 -> 0 bytes tests/data/acpi/pc/APIC.ipmikcs | Bin 120 -> 0 bytes tests/data/acpi/pc/APIC.ipmikcs.dsl | 104 - tests/data/acpi/pc/APIC.memhp | Bin 120 -> 0 bytes tests/data/acpi/pc/APIC.memhp.dsl | 104 - tests/data/acpi/pc/APIC.numamem | Bin 120 -> 0 bytes tests/data/acpi/pc/APIC.numamem.dsl | 104 - tests/data/acpi/pc/APIC.roothp | Bin 120 -> 0 bytes tests/data/acpi/pc/DSDT.acpihmat.dsl | 1619 -------- tests/data/acpi/pc/DSDT.bridge.dsl | 1800 --------- tests/data/acpi/pc/DSDT.cphp.dsl | 1466 ------- tests/data/acpi/pc/DSDT.dimmpxm.dsl | 1719 -------- tests/data/acpi/pc/DSDT.dsl | 1407 ------- tests/data/acpi/pc/DSDT.ipmikcs.dsl | 1337 ------- tests/data/acpi/pc/DSDT.memhp.dsl | 1625 -------- tests/data/acpi/pc/DSDT.numamem.dsl | 1321 ------ tests/data/acpi/pc/FACP.acpihmat | Bin 116 -> 0 bytes tests/data/acpi/pc/FACP.acpihmat.dsl | 99 - tests/data/acpi/pc/FACP.bridge | Bin 116 -> 0 bytes tests/data/acpi/pc/FACP.bridge.dsl | 99 - tests/data/acpi/pc/FACP.cphp | Bin 116 -> 0 bytes tests/data/acpi/pc/FACP.cphp.dsl | 99 - tests/data/acpi/pc/FACP.dimmpxm | Bin 116 -> 0 bytes tests/data/acpi/pc/FACP.dimmpxm.dsl | 99 - tests/data/acpi/pc/FACP.dsl | 99 - tests/data/acpi/pc/FACP.hpbridge | Bin 116 -> 0 bytes tests/data/acpi/pc/FACP.ipmikcs | Bin 116 -> 0 bytes tests/data/acpi/pc/FACP.ipmikcs.dsl | 99 - tests/data/acpi/pc/FACP.memhp | Bin 116 -> 0 bytes tests/data/acpi/pc/FACP.memhp.dsl | 99 - tests/data/acpi/pc/FACP.numamem | Bin 116 -> 0 bytes tests/data/acpi/pc/FACP.numamem.dsl | 99 - tests/data/acpi/pc/FACP.roothp | Bin 116 -> 0 bytes tests/data/acpi/pc/FACS.acpihmat | Bin 64 -> 0 bytes tests/data/acpi/pc/FACS.acpihmat.dsl | 32 - tests/data/acpi/pc/FACS.bridge | Bin 64 -> 0 bytes tests/data/acpi/pc/FACS.bridge.dsl | 32 - tests/data/acpi/pc/FACS.cphp | Bin 64 -> 0 bytes tests/data/acpi/pc/FACS.cphp.dsl | 32 - tests/data/acpi/pc/FACS.dimmpxm | Bin 64 -> 0 bytes tests/data/acpi/pc/FACS.dimmpxm.dsl | 32 - tests/data/acpi/pc/FACS.dsl | 32 - tests/data/acpi/pc/FACS.hpbridge | Bin 64 -> 0 bytes tests/data/acpi/pc/FACS.ipmikcs | Bin 64 -> 0 bytes tests/data/acpi/pc/FACS.ipmikcs.dsl | 32 - tests/data/acpi/pc/FACS.memhp | Bin 64 -> 0 bytes tests/data/acpi/pc/FACS.memhp.dsl | 32 - tests/data/acpi/pc/FACS.numamem | Bin 64 -> 0 bytes tests/data/acpi/pc/FACS.numamem.dsl | 32 - tests/data/acpi/pc/FACS.roothp | Bin 64 -> 0 bytes tests/data/acpi/pc/HMAT.acpihmat.dsl | 132 - tests/data/acpi/pc/HMAT.dsl | 132 - tests/data/acpi/pc/HPET.acpihmat | Bin 56 -> 0 bytes tests/data/acpi/pc/HPET.acpihmat.dsl | 43 - tests/data/acpi/pc/HPET.bridge | Bin 56 -> 0 bytes tests/data/acpi/pc/HPET.bridge.dsl | 43 - tests/data/acpi/pc/HPET.cphp | Bin 56 -> 0 bytes tests/data/acpi/pc/HPET.cphp.dsl | 43 - tests/data/acpi/pc/HPET.dimmpxm | Bin 56 -> 0 bytes tests/data/acpi/pc/HPET.dimmpxm.dsl | 43 - tests/data/acpi/pc/HPET.dsl | 43 - tests/data/acpi/pc/HPET.hpbridge | Bin 56 -> 0 bytes tests/data/acpi/pc/HPET.ipmikcs | Bin 56 -> 0 bytes tests/data/acpi/pc/HPET.ipmikcs.dsl | 43 - tests/data/acpi/pc/HPET.memhp | Bin 56 -> 0 bytes tests/data/acpi/pc/HPET.memhp.dsl | 43 - tests/data/acpi/pc/HPET.numamem | Bin 56 -> 0 bytes tests/data/acpi/pc/HPET.numamem.dsl | 43 - tests/data/acpi/pc/HPET.roothp | Bin 56 -> 0 bytes tests/data/acpi/pc/NFIT.dimmpxm.dsl | 115 - tests/data/acpi/pc/NFIT.dsl | 115 - tests/data/acpi/pc/SLIT.cphp.dsl | 31 - tests/data/acpi/pc/SLIT.dsl | 31 - tests/data/acpi/pc/SLIT.memhp.dsl | 31 - tests/data/acpi/pc/SRAT.acpihmat.dsl | 137 - tests/data/acpi/pc/SRAT.cphp.dsl | 168 - tests/data/acpi/pc/SRAT.dimmpxm.dsl | 194 - tests/data/acpi/pc/SRAT.dsl | 108 - tests/data/acpi/pc/SRAT.memhp.dsl | 125 - tests/data/acpi/pc/SRAT.numamem.dsl | 108 - tests/data/acpi/pc/SSDT.dsl | 205 - tests/data/acpi/pc/WAET.acpihmat | Bin 40 -> 0 bytes tests/data/acpi/pc/WAET.acpihmat.dsl | 31 - tests/data/acpi/pc/WAET.bridge | Bin 40 -> 0 bytes tests/data/acpi/pc/WAET.bridge.dsl | 31 - tests/data/acpi/pc/WAET.cphp | Bin 40 -> 0 bytes tests/data/acpi/pc/WAET.cphp.dsl | 31 - tests/data/acpi/pc/WAET.dimmpxm | Bin 40 -> 0 bytes tests/data/acpi/pc/WAET.dimmpxm.dsl | 31 - tests/data/acpi/pc/WAET.dsl | 31 - tests/data/acpi/pc/WAET.hpbridge | Bin 40 -> 0 bytes tests/data/acpi/pc/WAET.ipmikcs | Bin 40 -> 0 bytes tests/data/acpi/pc/WAET.ipmikcs.dsl | 31 - tests/data/acpi/pc/WAET.memhp | Bin 40 -> 0 bytes tests/data/acpi/pc/WAET.memhp.dsl | 31 - tests/data/acpi/pc/WAET.numamem | Bin 40 -> 0 bytes tests/data/acpi/pc/WAET.numamem.dsl | 31 - tests/data/acpi/pc/WAET.roothp | Bin 40 -> 0 bytes tests/data/acpi/q35/APIC.acpihmat.dsl | 112 - tests/data/acpi/q35/APIC.bridge | Bin 120 -> 0 bytes tests/data/acpi/q35/APIC.bridge.dsl | 104 - tests/data/acpi/q35/APIC.cphp.dsl | 146 - tests/data/acpi/q35/APIC.dimmpxm.dsl | 129 - tests/data/acpi/q35/APIC.dsl | 104 - tests/data/acpi/q35/APIC.ipmibt | Bin 120 -> 0 bytes tests/data/acpi/q35/APIC.ipmibt.dsl | 104 - tests/data/acpi/q35/APIC.memhp | Bin 120 -> 0 bytes tests/data/acpi/q35/APIC.memhp.dsl | 104 - tests/data/acpi/q35/APIC.mmio64 | Bin 120 -> 0 bytes tests/data/acpi/q35/APIC.mmio64.dsl | 104 - tests/data/acpi/q35/APIC.numamem | Bin 120 -> 0 bytes tests/data/acpi/q35/APIC.numamem.dsl | 104 - tests/data/acpi/q35/APIC.tis | Bin 120 -> 0 bytes tests/data/acpi/q35/APIC.tis.dsl | 104 - tests/data/acpi/q35/DSDT.acpihmat.dsl | 3436 ---------------- tests/data/acpi/q35/DSDT.bridge.dsl | 3141 --------------- tests/data/acpi/q35/DSDT.cphp.dsl | 3283 --------------- tests/data/acpi/q35/DSDT.dimmpxm.dsl | 3535 ----------------- tests/data/acpi/q35/DSDT.dsl | 3351 ---------------- tests/data/acpi/q35/DSDT.ipmibt.dsl | 3156 --------------- tests/data/acpi/q35/DSDT.memhp.dsl | 3442 ---------------- tests/data/acpi/q35/DSDT.mmio64.dsl | 3377 ---------------- tests/data/acpi/q35/DSDT.numamem.dsl | 3138 --------------- tests/data/acpi/q35/DSDT.tis.dsl | 3321 ---------------- tests/data/acpi/q35/FACP.acpihmat | Bin 244 -> 0 bytes tests/data/acpi/q35/FACP.acpihmat.dsl | 179 - tests/data/acpi/q35/FACP.bridge | Bin 244 -> 0 bytes tests/data/acpi/q35/FACP.bridge.dsl | 179 - tests/data/acpi/q35/FACP.cphp | Bin 244 -> 0 bytes tests/data/acpi/q35/FACP.cphp.dsl | 179 - tests/data/acpi/q35/FACP.dimmpxm | Bin 244 -> 0 bytes tests/data/acpi/q35/FACP.dimmpxm.dsl | 179 - tests/data/acpi/q35/FACP.dsl | 179 - tests/data/acpi/q35/FACP.ipmibt | Bin 244 -> 0 bytes tests/data/acpi/q35/FACP.ipmibt.dsl | 179 - tests/data/acpi/q35/FACP.memhp | Bin 244 -> 0 bytes tests/data/acpi/q35/FACP.memhp.dsl | 179 - tests/data/acpi/q35/FACP.mmio64 | Bin 244 -> 0 bytes tests/data/acpi/q35/FACP.mmio64.dsl | 179 - tests/data/acpi/q35/FACP.numamem | Bin 244 -> 0 bytes tests/data/acpi/q35/FACP.numamem.dsl | 179 - tests/data/acpi/q35/FACP.tis | Bin 244 -> 0 bytes tests/data/acpi/q35/FACP.tis.dsl | 179 - tests/data/acpi/q35/FACS.acpihmat | Bin 64 -> 0 bytes tests/data/acpi/q35/FACS.acpihmat.dsl | 32 - tests/data/acpi/q35/FACS.bridge | Bin 64 -> 0 bytes tests/data/acpi/q35/FACS.bridge.dsl | 32 - tests/data/acpi/q35/FACS.cphp | Bin 64 -> 0 bytes tests/data/acpi/q35/FACS.cphp.dsl | 32 - tests/data/acpi/q35/FACS.dimmpxm | Bin 64 -> 0 bytes tests/data/acpi/q35/FACS.dimmpxm.dsl | 32 - tests/data/acpi/q35/FACS.dsl | 32 - tests/data/acpi/q35/FACS.ipmibt | Bin 64 -> 0 bytes tests/data/acpi/q35/FACS.ipmibt.dsl | 32 - tests/data/acpi/q35/FACS.memhp | Bin 64 -> 0 bytes tests/data/acpi/q35/FACS.memhp.dsl | 32 - tests/data/acpi/q35/FACS.mmio64 | Bin 64 -> 0 bytes tests/data/acpi/q35/FACS.mmio64.dsl | 32 - tests/data/acpi/q35/FACS.numamem | Bin 64 -> 0 bytes tests/data/acpi/q35/FACS.numamem.dsl | 32 - tests/data/acpi/q35/FACS.tis | Bin 64 -> 0 bytes tests/data/acpi/q35/FACS.tis.dsl | 32 - tests/data/acpi/q35/HMAT.acpihmat.dsl | 132 - tests/data/acpi/q35/HMAT.dsl | 132 - tests/data/acpi/q35/HPET.acpihmat | Bin 56 -> 0 bytes tests/data/acpi/q35/HPET.acpihmat.dsl | 43 - tests/data/acpi/q35/HPET.bridge | Bin 56 -> 0 bytes tests/data/acpi/q35/HPET.bridge.dsl | 43 - tests/data/acpi/q35/HPET.cphp | Bin 56 -> 0 bytes tests/data/acpi/q35/HPET.cphp.dsl | 43 - tests/data/acpi/q35/HPET.dimmpxm | Bin 56 -> 0 bytes tests/data/acpi/q35/HPET.dimmpxm.dsl | 43 - tests/data/acpi/q35/HPET.dsl | 43 - tests/data/acpi/q35/HPET.ipmibt | Bin 56 -> 0 bytes tests/data/acpi/q35/HPET.ipmibt.dsl | 43 - tests/data/acpi/q35/HPET.memhp | Bin 56 -> 0 bytes tests/data/acpi/q35/HPET.memhp.dsl | 43 - tests/data/acpi/q35/HPET.mmio64 | Bin 56 -> 0 bytes tests/data/acpi/q35/HPET.mmio64.dsl | 43 - tests/data/acpi/q35/HPET.numamem | Bin 56 -> 0 bytes tests/data/acpi/q35/HPET.numamem.dsl | 43 - tests/data/acpi/q35/HPET.tis | Bin 56 -> 0 bytes tests/data/acpi/q35/HPET.tis.dsl | 43 - tests/data/acpi/q35/MCFG.acpihmat | Bin 60 -> 0 bytes tests/data/acpi/q35/MCFG.acpihmat.dsl | 36 - tests/data/acpi/q35/MCFG.bridge | Bin 60 -> 0 bytes tests/data/acpi/q35/MCFG.bridge.dsl | 36 - tests/data/acpi/q35/MCFG.cphp | Bin 60 -> 0 bytes tests/data/acpi/q35/MCFG.cphp.dsl | 36 - tests/data/acpi/q35/MCFG.dimmpxm | Bin 60 -> 0 bytes tests/data/acpi/q35/MCFG.dimmpxm.dsl | 36 - tests/data/acpi/q35/MCFG.dsl | 36 - tests/data/acpi/q35/MCFG.ipmibt | Bin 60 -> 0 bytes tests/data/acpi/q35/MCFG.ipmibt.dsl | 36 - tests/data/acpi/q35/MCFG.memhp | Bin 60 -> 0 bytes tests/data/acpi/q35/MCFG.memhp.dsl | 36 - tests/data/acpi/q35/MCFG.mmio64 | Bin 60 -> 0 bytes tests/data/acpi/q35/MCFG.mmio64.dsl | 36 - tests/data/acpi/q35/MCFG.numamem | Bin 60 -> 0 bytes tests/data/acpi/q35/MCFG.numamem.dsl | 36 - tests/data/acpi/q35/MCFG.tis | Bin 60 -> 0 bytes tests/data/acpi/q35/MCFG.tis.dsl | 36 - tests/data/acpi/q35/NFIT.dimmpxm.dsl | 115 - tests/data/acpi/q35/NFIT.dsl | 115 - tests/data/acpi/q35/SLIT.cphp.dsl | 31 - tests/data/acpi/q35/SLIT.dsl | 31 - tests/data/acpi/q35/SLIT.memhp.dsl | 31 - tests/data/acpi/q35/SRAT.acpihmat.dsl | 137 - tests/data/acpi/q35/SRAT.cphp.dsl | 168 - tests/data/acpi/q35/SRAT.dimmpxm.dsl | 194 - tests/data/acpi/q35/SRAT.dsl | 108 - tests/data/acpi/q35/SRAT.memhp.dsl | 125 - tests/data/acpi/q35/SRAT.mmio64.dsl | 108 - tests/data/acpi/q35/SRAT.numamem.dsl | 108 - tests/data/acpi/q35/SSDT.dsl | 205 - tests/data/acpi/q35/TPM2.dsl | 38 - tests/data/acpi/q35/TPM2.tis.dsl | 38 - tests/data/acpi/q35/WAET.acpihmat | Bin 40 -> 0 bytes tests/data/acpi/q35/WAET.acpihmat.dsl | 31 - tests/data/acpi/q35/WAET.bridge | Bin 40 -> 0 bytes tests/data/acpi/q35/WAET.bridge.dsl | 31 - tests/data/acpi/q35/WAET.cphp | Bin 40 -> 0 bytes tests/data/acpi/q35/WAET.cphp.dsl | 31 - tests/data/acpi/q35/WAET.dimmpxm | Bin 40 -> 0 bytes tests/data/acpi/q35/WAET.dimmpxm.dsl | 31 - tests/data/acpi/q35/WAET.dsl | 31 - tests/data/acpi/q35/WAET.ipmibt | Bin 40 -> 0 bytes tests/data/acpi/q35/WAET.ipmibt.dsl | 31 - tests/data/acpi/q35/WAET.memhp | Bin 40 -> 0 bytes tests/data/acpi/q35/WAET.memhp.dsl | 31 - tests/data/acpi/q35/WAET.mmio64 | Bin 40 -> 0 bytes tests/data/acpi/q35/WAET.mmio64.dsl | 31 - tests/data/acpi/q35/WAET.numamem | Bin 40 -> 0 bytes tests/data/acpi/q35/WAET.numamem.dsl | 31 - tests/data/acpi/q35/WAET.tis | Bin 40 -> 0 bytes tests/data/acpi/q35/WAET.tis.dsl | 31 - tests/data/acpi/virt/APIC.dsl | 78 - tests/data/acpi/virt/APIC.memhp.dsl | 78 - tests/data/acpi/virt/APIC.numamem.dsl | 78 - tests/data/acpi/virt/DSDT.dsl | 1906 --------- tests/data/acpi/virt/DSDT.memhp.dsl | 2215 ----------- tests/data/acpi/virt/DSDT.numamem.dsl | 1906 --------- tests/data/acpi/virt/FACP.dsl | 196 - tests/data/acpi/virt/FACP.memhp.dsl | 196 - tests/data/acpi/virt/FACP.numamem.dsl | 196 - tests/data/acpi/virt/GTDT.dsl | 61 - tests/data/acpi/virt/GTDT.memhp.dsl | 61 - tests/data/acpi/virt/GTDT.numamem.dsl | 61 - tests/data/acpi/virt/MCFG.dsl | 36 - tests/data/acpi/virt/MCFG.memhp.dsl | 36 - tests/data/acpi/virt/MCFG.numamem.dsl | 36 - tests/data/acpi/virt/NFIT.dsl | 103 - tests/data/acpi/virt/NFIT.memhp.dsl | 103 - tests/data/acpi/virt/SLIT.dsl | 31 - tests/data/acpi/virt/SLIT.memhp.dsl | 31 - tests/data/acpi/virt/SPCR.dsl | 57 - tests/data/acpi/virt/SPCR.memhp.dsl | 57 - tests/data/acpi/virt/SPCR.numamem.dsl | 57 - tests/data/acpi/virt/SRAT.dsl | 57 - tests/data/acpi/virt/SRAT.memhp.dsl | 107 - tests/data/acpi/virt/SRAT.numamem.dsl | 57 - tests/data/acpi/virt/SSDT.dsl | 205 - .../bios-tables-test.x86_64.iso.raw | Bin 425984 -> 0 bytes tests/libqtest.c.orig | 1106 ------ tests/qemu-iotests/core.12067 | Bin 22716416 -> 0 bytes .../bios-tables-test-allowed-diff.h.orig | 18 - .../qtest/bios-tables-test-allowed-diff.h.rej | 9 - tests/qtest/bios-tables-test.c.orig | 1200 ------ tests/qtest/bios-tables-test.c.rej | 22 - tests/test-qapi-event.c | 198 - tests/test-qmp-introspect.c | 58 - tests/test-qmp-marshal.c | 383 -- tests/vhost-user-bridge | Bin 83120 -> 0 bytes tests/vhost-user-bridge.c.orig | 1432 ------- tests/vhost-user-test.c.orig | 364 -- 290 files changed, 71489 deletions(-) delete mode 100644 tests/.vhost-user-test.c.swo delete mode 100644 tests/Makefile.include.orig delete mode 100644 tests/Makefile.orig delete mode 100644 tests/bios-tables-test.c.orig delete mode 100644 tests/data/acpi/diff-aml.sh delete mode 100644 tests/data/acpi/disassemle-aml.py delete mode 100644 tests/data/acpi/microvm/APIC.dsl delete mode 100644 tests/data/acpi/microvm/DSDT.dsl delete mode 100644 tests/data/acpi/microvm/FACP.dsl delete mode 100644 tests/data/acpi/pc/APIC.acpihmat.dsl delete mode 100644 tests/data/acpi/pc/APIC.bridge delete mode 100644 tests/data/acpi/pc/APIC.bridge.dsl delete mode 100644 tests/data/acpi/pc/APIC.cphp.dsl delete mode 100644 tests/data/acpi/pc/APIC.dimmpxm.dsl delete mode 100644 tests/data/acpi/pc/APIC.dsl delete mode 100644 tests/data/acpi/pc/APIC.hpbridge delete mode 100644 tests/data/acpi/pc/APIC.ipmikcs delete mode 100644 tests/data/acpi/pc/APIC.ipmikcs.dsl delete mode 100644 tests/data/acpi/pc/APIC.memhp delete mode 100644 tests/data/acpi/pc/APIC.memhp.dsl delete mode 100644 tests/data/acpi/pc/APIC.numamem delete mode 100644 tests/data/acpi/pc/APIC.numamem.dsl delete mode 100644 tests/data/acpi/pc/APIC.roothp delete mode 100644 tests/data/acpi/pc/DSDT.acpihmat.dsl delete mode 100644 tests/data/acpi/pc/DSDT.bridge.dsl delete mode 100644 tests/data/acpi/pc/DSDT.cphp.dsl delete mode 100644 tests/data/acpi/pc/DSDT.dimmpxm.dsl delete mode 100644 tests/data/acpi/pc/DSDT.dsl delete mode 100644 tests/data/acpi/pc/DSDT.ipmikcs.dsl delete mode 100644 tests/data/acpi/pc/DSDT.memhp.dsl delete mode 100644 tests/data/acpi/pc/DSDT.numamem.dsl delete mode 100644 tests/data/acpi/pc/FACP.acpihmat delete mode 100644 tests/data/acpi/pc/FACP.acpihmat.dsl delete mode 100644 tests/data/acpi/pc/FACP.bridge delete mode 100644 tests/data/acpi/pc/FACP.bridge.dsl delete mode 100644 tests/data/acpi/pc/FACP.cphp delete mode 100644 tests/data/acpi/pc/FACP.cphp.dsl delete mode 100644 tests/data/acpi/pc/FACP.dimmpxm delete mode 100644 tests/data/acpi/pc/FACP.dimmpxm.dsl delete mode 100644 tests/data/acpi/pc/FACP.dsl delete mode 100644 tests/data/acpi/pc/FACP.hpbridge delete mode 100644 tests/data/acpi/pc/FACP.ipmikcs delete mode 100644 tests/data/acpi/pc/FACP.ipmikcs.dsl delete mode 100644 tests/data/acpi/pc/FACP.memhp delete mode 100644 tests/data/acpi/pc/FACP.memhp.dsl delete mode 100644 tests/data/acpi/pc/FACP.numamem delete mode 100644 tests/data/acpi/pc/FACP.numamem.dsl delete mode 100644 tests/data/acpi/pc/FACP.roothp delete mode 100644 tests/data/acpi/pc/FACS.acpihmat delete mode 100644 tests/data/acpi/pc/FACS.acpihmat.dsl delete mode 100644 tests/data/acpi/pc/FACS.bridge delete mode 100644 tests/data/acpi/pc/FACS.bridge.dsl delete mode 100644 tests/data/acpi/pc/FACS.cphp delete mode 100644 tests/data/acpi/pc/FACS.cphp.dsl delete mode 100644 tests/data/acpi/pc/FACS.dimmpxm delete mode 100644 tests/data/acpi/pc/FACS.dimmpxm.dsl delete mode 100644 tests/data/acpi/pc/FACS.dsl delete mode 100644 tests/data/acpi/pc/FACS.hpbridge delete mode 100644 tests/data/acpi/pc/FACS.ipmikcs delete mode 100644 tests/data/acpi/pc/FACS.ipmikcs.dsl delete mode 100644 tests/data/acpi/pc/FACS.memhp delete mode 100644 tests/data/acpi/pc/FACS.memhp.dsl delete mode 100644 tests/data/acpi/pc/FACS.numamem delete mode 100644 tests/data/acpi/pc/FACS.numamem.dsl delete mode 100644 tests/data/acpi/pc/FACS.roothp delete mode 100644 tests/data/acpi/pc/HMAT.acpihmat.dsl delete mode 100644 tests/data/acpi/pc/HMAT.dsl delete mode 100644 tests/data/acpi/pc/HPET.acpihmat delete mode 100644 tests/data/acpi/pc/HPET.acpihmat.dsl delete mode 100644 tests/data/acpi/pc/HPET.bridge delete mode 100644 tests/data/acpi/pc/HPET.bridge.dsl delete mode 100644 tests/data/acpi/pc/HPET.cphp delete mode 100644 tests/data/acpi/pc/HPET.cphp.dsl delete mode 100644 tests/data/acpi/pc/HPET.dimmpxm delete mode 100644 tests/data/acpi/pc/HPET.dimmpxm.dsl delete mode 100644 tests/data/acpi/pc/HPET.dsl delete mode 100644 tests/data/acpi/pc/HPET.hpbridge delete mode 100644 tests/data/acpi/pc/HPET.ipmikcs delete mode 100644 tests/data/acpi/pc/HPET.ipmikcs.dsl delete mode 100644 tests/data/acpi/pc/HPET.memhp delete mode 100644 tests/data/acpi/pc/HPET.memhp.dsl delete mode 100644 tests/data/acpi/pc/HPET.numamem delete mode 100644 tests/data/acpi/pc/HPET.numamem.dsl delete mode 100644 tests/data/acpi/pc/HPET.roothp delete mode 100644 tests/data/acpi/pc/NFIT.dimmpxm.dsl delete mode 100644 tests/data/acpi/pc/NFIT.dsl delete mode 100644 tests/data/acpi/pc/SLIT.cphp.dsl delete mode 100644 tests/data/acpi/pc/SLIT.dsl delete mode 100644 tests/data/acpi/pc/SLIT.memhp.dsl delete mode 100644 tests/data/acpi/pc/SRAT.acpihmat.dsl delete mode 100644 tests/data/acpi/pc/SRAT.cphp.dsl delete mode 100644 tests/data/acpi/pc/SRAT.dimmpxm.dsl delete mode 100644 tests/data/acpi/pc/SRAT.dsl delete mode 100644 tests/data/acpi/pc/SRAT.memhp.dsl delete mode 100644 tests/data/acpi/pc/SRAT.numamem.dsl delete mode 100644 tests/data/acpi/pc/SSDT.dsl delete mode 100644 tests/data/acpi/pc/WAET.acpihmat delete mode 100644 tests/data/acpi/pc/WAET.acpihmat.dsl delete mode 100644 tests/data/acpi/pc/WAET.bridge delete mode 100644 tests/data/acpi/pc/WAET.bridge.dsl delete mode 100644 tests/data/acpi/pc/WAET.cphp delete mode 100644 tests/data/acpi/pc/WAET.cphp.dsl delete mode 100644 tests/data/acpi/pc/WAET.dimmpxm delete mode 100644 tests/data/acpi/pc/WAET.dimmpxm.dsl delete mode 100644 tests/data/acpi/pc/WAET.dsl delete mode 100644 tests/data/acpi/pc/WAET.hpbridge delete mode 100644 tests/data/acpi/pc/WAET.ipmikcs delete mode 100644 tests/data/acpi/pc/WAET.ipmikcs.dsl delete mode 100644 tests/data/acpi/pc/WAET.memhp delete mode 100644 tests/data/acpi/pc/WAET.memhp.dsl delete mode 100644 tests/data/acpi/pc/WAET.numamem delete mode 100644 tests/data/acpi/pc/WAET.numamem.dsl delete mode 100644 tests/data/acpi/pc/WAET.roothp delete mode 100644 tests/data/acpi/q35/APIC.acpihmat.dsl delete mode 100644 tests/data/acpi/q35/APIC.bridge delete mode 100644 tests/data/acpi/q35/APIC.bridge.dsl delete mode 100644 tests/data/acpi/q35/APIC.cphp.dsl delete mode 100644 tests/data/acpi/q35/APIC.dimmpxm.dsl delete mode 100644 tests/data/acpi/q35/APIC.dsl delete mode 100644 tests/data/acpi/q35/APIC.ipmibt delete mode 100644 tests/data/acpi/q35/APIC.ipmibt.dsl delete mode 100644 tests/data/acpi/q35/APIC.memhp delete mode 100644 tests/data/acpi/q35/APIC.memhp.dsl delete mode 100644 tests/data/acpi/q35/APIC.mmio64 delete mode 100644 tests/data/acpi/q35/APIC.mmio64.dsl delete mode 100644 tests/data/acpi/q35/APIC.numamem delete mode 100644 tests/data/acpi/q35/APIC.numamem.dsl delete mode 100644 tests/data/acpi/q35/APIC.tis delete mode 100644 tests/data/acpi/q35/APIC.tis.dsl delete mode 100644 tests/data/acpi/q35/DSDT.acpihmat.dsl delete mode 100644 tests/data/acpi/q35/DSDT.bridge.dsl delete mode 100644 tests/data/acpi/q35/DSDT.cphp.dsl delete mode 100644 tests/data/acpi/q35/DSDT.dimmpxm.dsl delete mode 100644 tests/data/acpi/q35/DSDT.dsl delete mode 100644 tests/data/acpi/q35/DSDT.ipmibt.dsl delete mode 100644 tests/data/acpi/q35/DSDT.memhp.dsl delete mode 100644 tests/data/acpi/q35/DSDT.mmio64.dsl delete mode 100644 tests/data/acpi/q35/DSDT.numamem.dsl delete mode 100644 tests/data/acpi/q35/DSDT.tis.dsl delete mode 100644 tests/data/acpi/q35/FACP.acpihmat delete mode 100644 tests/data/acpi/q35/FACP.acpihmat.dsl delete mode 100644 tests/data/acpi/q35/FACP.bridge delete mode 100644 tests/data/acpi/q35/FACP.bridge.dsl delete mode 100644 tests/data/acpi/q35/FACP.cphp delete mode 100644 tests/data/acpi/q35/FACP.cphp.dsl delete mode 100644 tests/data/acpi/q35/FACP.dimmpxm delete mode 100644 tests/data/acpi/q35/FACP.dimmpxm.dsl delete mode 100644 tests/data/acpi/q35/FACP.dsl delete mode 100644 tests/data/acpi/q35/FACP.ipmibt delete mode 100644 tests/data/acpi/q35/FACP.ipmibt.dsl delete mode 100644 tests/data/acpi/q35/FACP.memhp delete mode 100644 tests/data/acpi/q35/FACP.memhp.dsl delete mode 100644 tests/data/acpi/q35/FACP.mmio64 delete mode 100644 tests/data/acpi/q35/FACP.mmio64.dsl delete mode 100644 tests/data/acpi/q35/FACP.numamem delete mode 100644 tests/data/acpi/q35/FACP.numamem.dsl delete mode 100644 tests/data/acpi/q35/FACP.tis delete mode 100644 tests/data/acpi/q35/FACP.tis.dsl delete mode 100644 tests/data/acpi/q35/FACS.acpihmat delete mode 100644 tests/data/acpi/q35/FACS.acpihmat.dsl delete mode 100644 tests/data/acpi/q35/FACS.bridge delete mode 100644 tests/data/acpi/q35/FACS.bridge.dsl delete mode 100644 tests/data/acpi/q35/FACS.cphp delete mode 100644 tests/data/acpi/q35/FACS.cphp.dsl delete mode 100644 tests/data/acpi/q35/FACS.dimmpxm delete mode 100644 tests/data/acpi/q35/FACS.dimmpxm.dsl delete mode 100644 tests/data/acpi/q35/FACS.dsl delete mode 100644 tests/data/acpi/q35/FACS.ipmibt delete mode 100644 tests/data/acpi/q35/FACS.ipmibt.dsl delete mode 100644 tests/data/acpi/q35/FACS.memhp delete mode 100644 tests/data/acpi/q35/FACS.memhp.dsl delete mode 100644 tests/data/acpi/q35/FACS.mmio64 delete mode 100644 tests/data/acpi/q35/FACS.mmio64.dsl delete mode 100644 tests/data/acpi/q35/FACS.numamem delete mode 100644 tests/data/acpi/q35/FACS.numamem.dsl delete mode 100644 tests/data/acpi/q35/FACS.tis delete mode 100644 tests/data/acpi/q35/FACS.tis.dsl delete mode 100644 tests/data/acpi/q35/HMAT.acpihmat.dsl delete mode 100644 tests/data/acpi/q35/HMAT.dsl delete mode 100644 tests/data/acpi/q35/HPET.acpihmat delete mode 100644 tests/data/acpi/q35/HPET.acpihmat.dsl delete mode 100644 tests/data/acpi/q35/HPET.bridge delete mode 100644 tests/data/acpi/q35/HPET.bridge.dsl delete mode 100644 tests/data/acpi/q35/HPET.cphp delete mode 100644 tests/data/acpi/q35/HPET.cphp.dsl delete mode 100644 tests/data/acpi/q35/HPET.dimmpxm delete mode 100644 tests/data/acpi/q35/HPET.dimmpxm.dsl delete mode 100644 tests/data/acpi/q35/HPET.dsl delete mode 100644 tests/data/acpi/q35/HPET.ipmibt delete mode 100644 tests/data/acpi/q35/HPET.ipmibt.dsl delete mode 100644 tests/data/acpi/q35/HPET.memhp delete mode 100644 tests/data/acpi/q35/HPET.memhp.dsl delete mode 100644 tests/data/acpi/q35/HPET.mmio64 delete mode 100644 tests/data/acpi/q35/HPET.mmio64.dsl delete mode 100644 tests/data/acpi/q35/HPET.numamem delete mode 100644 tests/data/acpi/q35/HPET.numamem.dsl delete mode 100644 tests/data/acpi/q35/HPET.tis delete mode 100644 tests/data/acpi/q35/HPET.tis.dsl delete mode 100644 tests/data/acpi/q35/MCFG.acpihmat delete mode 100644 tests/data/acpi/q35/MCFG.acpihmat.dsl delete mode 100644 tests/data/acpi/q35/MCFG.bridge delete mode 100644 tests/data/acpi/q35/MCFG.bridge.dsl delete mode 100644 tests/data/acpi/q35/MCFG.cphp delete mode 100644 tests/data/acpi/q35/MCFG.cphp.dsl delete mode 100644 tests/data/acpi/q35/MCFG.dimmpxm delete mode 100644 tests/data/acpi/q35/MCFG.dimmpxm.dsl delete mode 100644 tests/data/acpi/q35/MCFG.dsl delete mode 100644 tests/data/acpi/q35/MCFG.ipmibt delete mode 100644 tests/data/acpi/q35/MCFG.ipmibt.dsl delete mode 100644 tests/data/acpi/q35/MCFG.memhp delete mode 100644 tests/data/acpi/q35/MCFG.memhp.dsl delete mode 100644 tests/data/acpi/q35/MCFG.mmio64 delete mode 100644 tests/data/acpi/q35/MCFG.mmio64.dsl delete mode 100644 tests/data/acpi/q35/MCFG.numamem delete mode 100644 tests/data/acpi/q35/MCFG.numamem.dsl delete mode 100644 tests/data/acpi/q35/MCFG.tis delete mode 100644 tests/data/acpi/q35/MCFG.tis.dsl delete mode 100644 tests/data/acpi/q35/NFIT.dimmpxm.dsl delete mode 100644 tests/data/acpi/q35/NFIT.dsl delete mode 100644 tests/data/acpi/q35/SLIT.cphp.dsl delete mode 100644 tests/data/acpi/q35/SLIT.dsl delete mode 100644 tests/data/acpi/q35/SLIT.memhp.dsl delete mode 100644 tests/data/acpi/q35/SRAT.acpihmat.dsl delete mode 100644 tests/data/acpi/q35/SRAT.cphp.dsl delete mode 100644 tests/data/acpi/q35/SRAT.dimmpxm.dsl delete mode 100644 tests/data/acpi/q35/SRAT.dsl delete mode 100644 tests/data/acpi/q35/SRAT.memhp.dsl delete mode 100644 tests/data/acpi/q35/SRAT.mmio64.dsl delete mode 100644 tests/data/acpi/q35/SRAT.numamem.dsl delete mode 100644 tests/data/acpi/q35/SSDT.dsl delete mode 100644 tests/data/acpi/q35/TPM2.dsl delete mode 100644 tests/data/acpi/q35/TPM2.tis.dsl delete mode 100644 tests/data/acpi/q35/WAET.acpihmat delete mode 100644 tests/data/acpi/q35/WAET.acpihmat.dsl delete mode 100644 tests/data/acpi/q35/WAET.bridge delete mode 100644 tests/data/acpi/q35/WAET.bridge.dsl delete mode 100644 tests/data/acpi/q35/WAET.cphp delete mode 100644 tests/data/acpi/q35/WAET.cphp.dsl delete mode 100644 tests/data/acpi/q35/WAET.dimmpxm delete mode 100644 tests/data/acpi/q35/WAET.dimmpxm.dsl delete mode 100644 tests/data/acpi/q35/WAET.dsl delete mode 100644 tests/data/acpi/q35/WAET.ipmibt delete mode 100644 tests/data/acpi/q35/WAET.ipmibt.dsl delete mode 100644 tests/data/acpi/q35/WAET.memhp delete mode 100644 tests/data/acpi/q35/WAET.memhp.dsl delete mode 100644 tests/data/acpi/q35/WAET.mmio64 delete mode 100644 tests/data/acpi/q35/WAET.mmio64.dsl delete mode 100644 tests/data/acpi/q35/WAET.numamem delete mode 100644 tests/data/acpi/q35/WAET.numamem.dsl delete mode 100644 tests/data/acpi/q35/WAET.tis delete mode 100644 tests/data/acpi/q35/WAET.tis.dsl delete mode 100644 tests/data/acpi/virt/APIC.dsl delete mode 100644 tests/data/acpi/virt/APIC.memhp.dsl delete mode 100644 tests/data/acpi/virt/APIC.numamem.dsl delete mode 100644 tests/data/acpi/virt/DSDT.dsl delete mode 100644 tests/data/acpi/virt/DSDT.memhp.dsl delete mode 100644 tests/data/acpi/virt/DSDT.numamem.dsl delete mode 100644 tests/data/acpi/virt/FACP.dsl delete mode 100644 tests/data/acpi/virt/FACP.memhp.dsl delete mode 100644 tests/data/acpi/virt/FACP.numamem.dsl delete mode 100644 tests/data/acpi/virt/GTDT.dsl delete mode 100644 tests/data/acpi/virt/GTDT.memhp.dsl delete mode 100644 tests/data/acpi/virt/GTDT.numamem.dsl delete mode 100644 tests/data/acpi/virt/MCFG.dsl delete mode 100644 tests/data/acpi/virt/MCFG.memhp.dsl delete mode 100644 tests/data/acpi/virt/MCFG.numamem.dsl delete mode 100644 tests/data/acpi/virt/NFIT.dsl delete mode 100644 tests/data/acpi/virt/NFIT.memhp.dsl delete mode 100644 tests/data/acpi/virt/SLIT.dsl delete mode 100644 tests/data/acpi/virt/SLIT.memhp.dsl delete mode 100644 tests/data/acpi/virt/SPCR.dsl delete mode 100644 tests/data/acpi/virt/SPCR.memhp.dsl delete mode 100644 tests/data/acpi/virt/SPCR.numamem.dsl delete mode 100644 tests/data/acpi/virt/SRAT.dsl delete mode 100644 tests/data/acpi/virt/SRAT.memhp.dsl delete mode 100644 tests/data/acpi/virt/SRAT.numamem.dsl delete mode 100644 tests/data/acpi/virt/SSDT.dsl delete mode 100644 tests/data/uefi-boot-images/bios-tables-test.x86_64.iso.raw delete mode 100644 tests/libqtest.c.orig delete mode 100644 tests/qemu-iotests/core.12067 delete mode 100644 tests/qtest/bios-tables-test-allowed-diff.h.orig delete mode 100644 tests/qtest/bios-tables-test-allowed-diff.h.rej delete mode 100644 tests/qtest/bios-tables-test.c.orig delete mode 100644 tests/qtest/bios-tables-test.c.rej delete mode 100644 tests/test-qapi-event.c delete mode 100644 tests/test-qmp-introspect.c delete mode 100644 tests/test-qmp-marshal.c delete mode 100755 tests/vhost-user-bridge delete mode 100644 tests/vhost-user-bridge.c.orig delete mode 100644 tests/vhost-user-test.c.orig diff --git a/tests/.vhost-user-test.c.swo b/tests/.vhost-user-test.c.swo deleted file mode 100644 index 5545d2bef350c4c4197c70c9789465cfee8f84ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16384 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 - -tests/qapi-schema/doc-good.test.texi: $(SRC_PATH)/tests/qapi-schema/doc-good.json $(qapi-py) - $(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi-gen.py \ - -o tests/qapi-schema -p "doc-good-" $<, \ - "GEN","$@") - @mv tests/qapi-schema/doc-good-qapi-doc.texi $@ - @rm -f tests/qapi-schema/doc-good-qapi-*.[ch] tests/qapi-schema/doc-good-qmp-*.[ch] - -tests/test-string-output-visitor$(EXESUF): tests/test-string-output-visitor.o $(test-qapi-obj-y) -tests/test-string-input-visitor$(EXESUF): tests/test-string-input-visitor.o $(test-qapi-obj-y) -tests/test-qmp-event$(EXESUF): tests/test-qmp-event.o $(test-qapi-obj-y) -tests/test-qobject-output-visitor$(EXESUF): tests/test-qobject-output-visitor.o $(test-qapi-obj-y) -tests/test-clone-visitor$(EXESUF): tests/test-clone-visitor.o $(test-qapi-obj-y) -tests/test-qobject-input-visitor$(EXESUF): tests/test-qobject-input-visitor.o $(test-qapi-obj-y) -tests/test-qmp-cmds$(EXESUF): tests/test-qmp-cmds.o tests/test-qapi-commands.o $(test-qapi-obj-y) -tests/test-visitor-serialization$(EXESUF): tests/test-visitor-serialization.o $(test-qapi-obj-y) -tests/test-opts-visitor$(EXESUF): tests/test-opts-visitor.o $(test-qapi-obj-y) - -tests/test-shift128$(EXESUF): tests/test-shift128.o $(test-util-obj-y) -tests/test-mul64$(EXESUF): tests/test-mul64.o $(test-util-obj-y) -tests/test-bitops$(EXESUF): tests/test-bitops.o $(test-util-obj-y) -tests/test-bitcnt$(EXESUF): tests/test-bitcnt.o $(test-util-obj-y) -tests/test-crypto-hash$(EXESUF): tests/test-crypto-hash.o $(test-crypto-obj-y) -tests/benchmark-crypto-hash$(EXESUF): tests/benchmark-crypto-hash.o $(test-crypto-obj-y) -tests/test-crypto-hmac$(EXESUF): tests/test-crypto-hmac.o $(test-crypto-obj-y) -tests/benchmark-crypto-hmac$(EXESUF): tests/benchmark-crypto-hmac.o $(test-crypto-obj-y) -tests/test-crypto-cipher$(EXESUF): tests/test-crypto-cipher.o $(test-crypto-obj-y) -tests/benchmark-crypto-cipher$(EXESUF): tests/benchmark-crypto-cipher.o $(test-crypto-obj-y) -tests/test-crypto-secret$(EXESUF): tests/test-crypto-secret.o $(test-crypto-obj-y) -tests/test-crypto-xts$(EXESUF): tests/test-crypto-xts.o $(test-crypto-obj-y) - -tests/crypto-tls-x509-helpers.o-cflags := $(TASN1_CFLAGS) -tests/crypto-tls-x509-helpers.o-libs := $(TASN1_LIBS) -tests/pkix_asn1_tab.o-cflags := $(TASN1_CFLAGS) - -tests/test-crypto-tlscredsx509.o-cflags := $(TASN1_CFLAGS) -tests/test-crypto-tlscredsx509$(EXESUF): tests/test-crypto-tlscredsx509.o \ - tests/crypto-tls-x509-helpers.o tests/pkix_asn1_tab.o $(test-crypto-obj-y) - -tests/test-crypto-tlssession.o-cflags := $(TASN1_CFLAGS) -tests/test-crypto-tlssession$(EXESUF): tests/test-crypto-tlssession.o \ - tests/crypto-tls-x509-helpers.o tests/pkix_asn1_tab.o \ - tests/crypto-tls-psk-helpers.o \ - $(test-crypto-obj-y) -tests/test-util-sockets$(EXESUF): tests/test-util-sockets.o \ - tests/socket-helpers.o $(test-util-obj-y) -tests/test-io-task$(EXESUF): tests/test-io-task.o $(test-io-obj-y) -tests/test-io-channel-socket$(EXESUF): tests/test-io-channel-socket.o \ - tests/io-channel-helpers.o tests/socket-helpers.o $(test-io-obj-y) -tests/tpm-crb-swtpm-test$(EXESUF): tests/tpm-crb-swtpm-test.o tests/tpm-emu.o \ - tests/tpm-util.o tests/tpm-tests.o $(test-io-obj-y) -tests/tpm-crb-test$(EXESUF): tests/tpm-crb-test.o tests/tpm-emu.o $(test-io-obj-y) -tests/tpm-tis-swtpm-test$(EXESUF): tests/tpm-tis-swtpm-test.o tests/tpm-emu.o \ - tests/tpm-util.o tests/tpm-tests.o $(test-io-obj-y) -tests/tpm-tis-test$(EXESUF): tests/tpm-tis-test.o tests/tpm-emu.o $(test-io-obj-y) -tests/test-io-channel-file$(EXESUF): tests/test-io-channel-file.o \ - tests/io-channel-helpers.o $(test-io-obj-y) -tests/test-io-channel-tls$(EXESUF): tests/test-io-channel-tls.o \ - tests/crypto-tls-x509-helpers.o tests/pkix_asn1_tab.o \ - tests/io-channel-helpers.o $(test-io-obj-y) -tests/test-io-channel-command$(EXESUF): tests/test-io-channel-command.o \ - tests/io-channel-helpers.o $(test-io-obj-y) -tests/test-io-channel-buffer$(EXESUF): tests/test-io-channel-buffer.o \ - tests/io-channel-helpers.o $(test-io-obj-y) -tests/test-crypto-pbkdf$(EXESUF): tests/test-crypto-pbkdf.o $(test-crypto-obj-y) -tests/test-crypto-ivgen$(EXESUF): tests/test-crypto-ivgen.o $(test-crypto-obj-y) -tests/test-crypto-afsplit$(EXESUF): tests/test-crypto-afsplit.o $(test-crypto-obj-y) -tests/test-crypto-block$(EXESUF): tests/test-crypto-block.o $(test-crypto-obj-y) - -libqos-obj-y = tests/libqos/pci.o tests/libqos/fw_cfg.o tests/libqos/malloc.o -libqos-obj-y += tests/libqos/i2c.o tests/libqos/libqos.o -libqos-spapr-obj-y = $(libqos-obj-y) tests/libqos/malloc-spapr.o -libqos-spapr-obj-y += tests/libqos/libqos-spapr.o -libqos-spapr-obj-y += tests/libqos/rtas.o -libqos-spapr-obj-y += tests/libqos/pci-spapr.o -libqos-pc-obj-y = $(libqos-obj-y) tests/libqos/pci-pc.o -libqos-pc-obj-y += tests/libqos/malloc-pc.o tests/libqos/libqos-pc.o -libqos-pc-obj-y += tests/libqos/ahci.o -libqos-omap-obj-y = $(libqos-obj-y) tests/libqos/i2c-omap.o -libqos-imx-obj-y = $(libqos-obj-y) tests/libqos/i2c-imx.o -libqos-usb-obj-y = $(libqos-spapr-obj-y) $(libqos-pc-obj-y) tests/libqos/usb.o -libqos-virtio-obj-y = $(libqos-spapr-obj-y) $(libqos-pc-obj-y) tests/libqos/virtio.o tests/libqos/virtio-pci.o tests/libqos/virtio-mmio.o tests/libqos/malloc-generic.o - -tests/qmp-test$(EXESUF): tests/qmp-test.o -tests/qmp-cmd-test$(EXESUF): tests/qmp-cmd-test.o -tests/device-introspect-test$(EXESUF): tests/device-introspect-test.o -tests/rtc-test$(EXESUF): tests/rtc-test.o -tests/m48t59-test$(EXESUF): tests/m48t59-test.o -tests/hexloader-test$(EXESUF): tests/hexloader-test.o -tests/endianness-test$(EXESUF): tests/endianness-test.o -tests/spapr-phb-test$(EXESUF): tests/spapr-phb-test.o $(libqos-obj-y) -tests/prom-env-test$(EXESUF): tests/prom-env-test.o $(libqos-obj-y) -tests/rtas-test$(EXESUF): tests/rtas-test.o $(libqos-spapr-obj-y) -tests/fdc-test$(EXESUF): tests/fdc-test.o -tests/ide-test$(EXESUF): tests/ide-test.o $(libqos-pc-obj-y) -tests/ahci-test$(EXESUF): tests/ahci-test.o $(libqos-pc-obj-y) -tests/ipmi-kcs-test$(EXESUF): tests/ipmi-kcs-test.o -tests/ipmi-bt-test$(EXESUF): tests/ipmi-bt-test.o -tests/hd-geo-test$(EXESUF): tests/hd-geo-test.o -tests/boot-order-test$(EXESUF): tests/boot-order-test.o $(libqos-obj-y) -tests/boot-serial-test$(EXESUF): tests/boot-serial-test.o $(libqos-obj-y) -tests/bios-tables-test$(EXESUF): tests/bios-tables-test.o \ - tests/boot-sector.o tests/acpi-utils.o $(libqos-obj-y) -tests/pxe-test$(EXESUF): tests/pxe-test.o tests/boot-sector.o $(libqos-obj-y) -tests/tmp105-test$(EXESUF): tests/tmp105-test.o $(libqos-omap-obj-y) -tests/pca9552-test$(EXESUF): tests/pca9552-test.o $(libqos-omap-obj-y) -tests/ds1338-test$(EXESUF): tests/ds1338-test.o $(libqos-imx-obj-y) -tests/microbit-test$(EXESUF): tests/microbit-test.o -tests/m25p80-test$(EXESUF): tests/m25p80-test.o -tests/i440fx-test$(EXESUF): tests/i440fx-test.o $(libqos-pc-obj-y) -tests/q35-test$(EXESUF): tests/q35-test.o $(libqos-pc-obj-y) -tests/fw_cfg-test$(EXESUF): tests/fw_cfg-test.o $(libqos-pc-obj-y) -tests/e1000-test$(EXESUF): tests/e1000-test.o -tests/e1000e-test$(EXESUF): tests/e1000e-test.o $(libqos-pc-obj-y) -tests/rtl8139-test$(EXESUF): tests/rtl8139-test.o $(libqos-pc-obj-y) -tests/pcnet-test$(EXESUF): tests/pcnet-test.o -tests/pnv-xscom-test$(EXESUF): tests/pnv-xscom-test.o -tests/eepro100-test$(EXESUF): tests/eepro100-test.o -tests/vmxnet3-test$(EXESUF): tests/vmxnet3-test.o -tests/ne2000-test$(EXESUF): tests/ne2000-test.o -tests/wdt_ib700-test$(EXESUF): tests/wdt_ib700-test.o -tests/tco-test$(EXESUF): tests/tco-test.o $(libqos-pc-obj-y) -tests/virtio-balloon-test$(EXESUF): tests/virtio-balloon-test.o $(libqos-virtio-obj-y) -tests/virtio-blk-test$(EXESUF): tests/virtio-blk-test.o $(libqos-virtio-obj-y) -tests/virtio-ccw-test$(EXESUF): tests/virtio-ccw-test.o -tests/virtio-net-test$(EXESUF): tests/virtio-net-test.o $(libqos-pc-obj-y) $(libqos-virtio-obj-y) -tests/virtio-rng-test$(EXESUF): tests/virtio-rng-test.o $(libqos-pc-obj-y) -tests/virtio-scsi-test$(EXESUF): tests/virtio-scsi-test.o $(libqos-virtio-obj-y) -tests/virtio-9p-test$(EXESUF): tests/virtio-9p-test.o $(libqos-virtio-obj-y) -tests/virtio-serial-test$(EXESUF): tests/virtio-serial-test.o $(libqos-virtio-obj-y) -tests/virtio-console-test$(EXESUF): tests/virtio-console-test.o $(libqos-virtio-obj-y) -tests/tpci200-test$(EXESUF): tests/tpci200-test.o -tests/display-vga-test$(EXESUF): tests/display-vga-test.o -tests/ipoctal232-test$(EXESUF): tests/ipoctal232-test.o -tests/qom-test$(EXESUF): tests/qom-test.o -tests/test-hmp$(EXESUF): tests/test-hmp.o -tests/machine-none-test$(EXESUF): tests/machine-none-test.o -tests/drive_del-test$(EXESUF): tests/drive_del-test.o $(libqos-virtio-obj-y) -tests/qdev-monitor-test$(EXESUF): tests/qdev-monitor-test.o $(libqos-pc-obj-y) -tests/nvme-test$(EXESUF): tests/nvme-test.o $(libqos-pc-obj-y) -tests/pvpanic-test$(EXESUF): tests/pvpanic-test.o -tests/i82801b11-test$(EXESUF): tests/i82801b11-test.o -tests/ac97-test$(EXESUF): tests/ac97-test.o -tests/es1370-test$(EXESUF): tests/es1370-test.o -tests/intel-hda-test$(EXESUF): tests/intel-hda-test.o -tests/ioh3420-test$(EXESUF): tests/ioh3420-test.o -tests/usb-hcd-ohci-test$(EXESUF): tests/usb-hcd-ohci-test.o $(libqos-usb-obj-y) -tests/usb-hcd-uhci-test$(EXESUF): tests/usb-hcd-uhci-test.o $(libqos-usb-obj-y) -tests/usb-hcd-ehci-test$(EXESUF): tests/usb-hcd-ehci-test.o $(libqos-usb-obj-y) -tests/usb-hcd-xhci-test$(EXESUF): tests/usb-hcd-xhci-test.o $(libqos-usb-obj-y) -tests/cpu-plug-test$(EXESUF): tests/cpu-plug-test.o -tests/migration-test$(EXESUF): tests/migration-test.o -tests/vhost-user-test$(EXESUF): tests/vhost-user-test.o $(test-util-obj-y) \ - $(qtest-obj-y) $(test-io-obj-y) $(libqos-virtio-obj-y) $(libqos-pc-obj-y) \ - $(chardev-obj-y) -tests/qemu-iotests/socket_scm_helper$(EXESUF): tests/qemu-iotests/socket_scm_helper.o -tests/test-qemu-opts$(EXESUF): tests/test-qemu-opts.o $(test-util-obj-y) -tests/test-keyval$(EXESUF): tests/test-keyval.o $(test-util-obj-y) $(test-qapi-obj-y) -tests/test-write-threshold$(EXESUF): tests/test-write-threshold.o $(test-block-obj-y) -tests/test-netfilter$(EXESUF): tests/test-netfilter.o $(qtest-obj-y) -tests/test-filter-mirror$(EXESUF): tests/test-filter-mirror.o $(qtest-obj-y) -tests/test-filter-redirector$(EXESUF): tests/test-filter-redirector.o $(qtest-obj-y) -tests/test-x86-cpuid-compat$(EXESUF): tests/test-x86-cpuid-compat.o $(qtest-obj-y) -tests/ivshmem-test$(EXESUF): tests/ivshmem-test.o contrib/ivshmem-server/ivshmem-server.o $(libqos-pc-obj-y) $(libqos-spapr-obj-y) -tests/megasas-test$(EXESUF): tests/megasas-test.o $(libqos-spapr-obj-y) $(libqos-pc-obj-y) -tests/vhost-user-bridge$(EXESUF): tests/vhost-user-bridge.o $(test-util-obj-y) libvhost-user.a -tests/test-uuid$(EXESUF): tests/test-uuid.o $(test-util-obj-y) -tests/test-arm-mptimer$(EXESUF): tests/test-arm-mptimer.o -tests/test-qapi-util$(EXESUF): tests/test-qapi-util.o $(test-util-obj-y) -tests/numa-test$(EXESUF): tests/numa-test.o -tests/vmgenid-test$(EXESUF): tests/vmgenid-test.o tests/boot-sector.o tests/acpi-utils.o -tests/sdhci-test$(EXESUF): tests/sdhci-test.o $(libqos-pc-obj-y) -tests/cdrom-test$(EXESUF): tests/cdrom-test.o tests/boot-sector.o $(libqos-obj-y) - -tests/migration/stress$(EXESUF): tests/migration/stress.o - $(call quiet-command, $(LINKPROG) -static -O3 $(PTHREAD_LIB) -o $@ $< ,"LINK","$(TARGET_DIR)$@") - -INITRD_WORK_DIR=tests/migration/initrd - -tests/migration/initrd-stress.img: tests/migration/stress$(EXESUF) - mkdir -p $(INITRD_WORK_DIR) - cp $< $(INITRD_WORK_DIR)/init - (cd $(INITRD_WORK_DIR) && (find | cpio --quiet -o -H newc | gzip -9)) > $@ - rm $(INITRD_WORK_DIR)/init - rmdir $(INITRD_WORK_DIR) - -ifeq ($(CONFIG_POSIX),y) -LIBS += -lutil -endif - -# QTest rules - -TARGETS=$(patsubst %-softmmu,%, $(filter %-softmmu,$(TARGET_DIRS))) -ifeq ($(CONFIG_POSIX),y) -QTEST_TARGETS = $(TARGETS) -check-qtest-y=$(foreach TARGET,$(TARGETS), $(check-qtest-$(TARGET)-y)) -check-qtest-y += $(check-qtest-generic-y) -else -QTEST_TARGETS = -endif - -qtest-obj-y = tests/libqtest.o $(test-util-obj-y) -$(check-qtest-y): $(qtest-obj-y) - -tests/test-qga$(EXESUF): qemu-ga$(EXESUF) -tests/test-qga$(EXESUF): tests/test-qga.o $(qtest-obj-y) - -SPEED = quick - -# gtester tests, possibly with verbose output -# do_test_tap runs all tests, even if some of them fail, while do_test_human -# stops at the first failure unless -k is given on the command line - -define do_test_human_k - $(quiet-@)rc=0; $(foreach COMMAND, $1, \ - $(call quiet-command-run, \ - export MALLOC_PERTURB_=$${MALLOC_PERTURB_:-$$(( $${RANDOM:-0} % 255 + 1))} $2; \ - $(COMMAND) -m=$(SPEED) -k --tap < /dev/null \ - | ./scripts/tap-driver.pl --test-name="$(notdir $(COMMAND))" $(if $(V),, --show-failures-only) \ - || rc=$$?;, "TEST", "$@: $(COMMAND)")) exit $$rc -endef -define do_test_human_no_k - $(foreach COMMAND, $1, \ - $(call quiet-command, \ - MALLOC_PERTURB_=$${MALLOC_PERTURB_:-$$(( $${RANDOM:-0} % 255 + 1))} $2 \ - $(COMMAND) -m=$(SPEED) -k --tap < /dev/null \ - | ./scripts/tap-driver.pl --test-name="$(notdir $(COMMAND))" $(if $(V),, --show-failures-only), \ - "TEST", "$@: $(COMMAND)") -) -endef -do_test_human = \ - $(if $(findstring k, $(MAKEFLAGS)), $(do_test_human_k), $(do_test_human_no_k)) - -define do_test_tap - $(call quiet-command, \ - { export MALLOC_PERTURB_=$${MALLOC_PERTURB_:-$$(( $${RANDOM:-0} % 255 + 1))} $2; \ - $(foreach COMMAND, $1, \ - $(COMMAND) -m=$(SPEED) -k --tap < /dev/null \ - | sed "s/^[a-z][a-z]* [0-9]* /&$(notdir $(COMMAND)) /" || true; ) } \ - | ./scripts/tap-merge.pl | tee "$@" \ - | ./scripts/tap-driver.pl $(if $(V),, --show-failures-only), \ - "TAP","$@") -endef - -.PHONY: $(patsubst %, check-qtest-%, $(QTEST_TARGETS)) -$(patsubst %, check-qtest-%, $(QTEST_TARGETS)): check-qtest-%: subdir-%-softmmu $(check-qtest-y) - $(call do_test_human,$(check-qtest-$*-y) $(check-qtest-generic-y), \ - QTEST_QEMU_BINARY=$*-softmmu/qemu-system-$* \ - QTEST_QEMU_IMG=qemu-img$(EXESUF)) - -check-unit: $(check-unit-y) - $(call do_test_human, $^) - -check-speed: $(check-speed-y) - $(call do_test_human, $^) - -# gtester tests with TAP output - -$(patsubst %, check-report-qtest-%.tap, $(QTEST_TARGETS)): check-report-qtest-%.tap: $(check-qtest-y) - $(call do_test_tap, $(check-qtest-$*-y) $(check-qtest-generic-y), \ - QTEST_QEMU_BINARY=$*-softmmu/qemu-system-$* \ - QTEST_QEMU_IMG=qemu-img$(EXESUF)) - -check-report-unit.tap: $(check-unit-y) - $(call do_test_tap,$^) - -# Reports and overall runs - -check-report.tap: $(patsubst %,check-report-qtest-%.tap, $(QTEST_TARGETS)) check-report-unit.tap - $(call quiet-command,./scripts/tap-merge.py $^ > $@,"GEN","$@") - -# Per guest TCG tests - -LINUX_USER_TARGETS=$(filter %-linux-user,$(TARGET_DIRS)) -BUILD_TCG_TARGET_RULES=$(patsubst %,build-tcg-tests-%, $(LINUX_USER_TARGETS)) -CLEAN_TCG_TARGET_RULES=$(patsubst %,clean-tcg-tests-%, $(LINUX_USER_TARGETS)) -RUN_TCG_TARGET_RULES=$(patsubst %,run-tcg-tests-%, $(LINUX_USER_TARGETS)) - -ifeq ($(HAVE_USER_DOCKER),y) -# Probe for the Docker Builds needed for each build -$(foreach PROBE_TARGET,$(TARGET_DIRS), \ - $(eval -include $(SRC_PATH)/tests/tcg/Makefile.probe) \ - $(if $(DOCKER_PREREQ), \ - $(eval build-tcg-tests-$(PROBE_TARGET): $(DOCKER_PREREQ)))) -endif - -build-tcg-tests-%: - $(call quiet-command,$(MAKE) $(SUBDIR_MAKEFLAGS) -C $* V="$(V)" \ - SKIP_DOCKER_BUILD=1 TARGET_DIR="$*/" guest-tests, \ - "BUILD", "TCG tests for $*") - -run-tcg-tests-%: % build-tcg-tests-% - $(call quiet-command,$(MAKE) $(SUBDIR_MAKEFLAGS) -C $* V="$(V)" \ - SKIP_DOCKER_BUILD=1 TARGET_DIR="$*/" run-guest-tests, \ - "RUN", "TCG tests for $*") - -clean-tcg-tests-%: - $(call quiet-command,$(MAKE) $(SUBDIR_MAKEFLAGS) -C $* V="$(V)" TARGET_DIR="$*/" clean-guest-tests,) - -.PHONY: build-tcg -build-tcg: $(BUILD_TCG_TARGET_RULES) - -.PHONY: check-tcg -check-tcg: $(RUN_TCG_TARGET_RULES) - -.PHONY: clean-tcg -clean-tcg: $(CLEAN_TCG_TARGET_RULES) - -# Other tests - -QEMU_IOTESTS_HELPERS-$(call land,$(CONFIG_SOFTMMU),$(CONFIG_LINUX)) = tests/qemu-iotests/socket_scm_helper$(EXESUF) - -.PHONY: check-tests/qemu-iotests-quick.sh -check-tests/qemu-iotests-quick.sh: tests/qemu-iotests-quick.sh qemu-img$(EXESUF) qemu-io$(EXESUF) $(QEMU_IOTESTS_HELPERS-y) - $< - -.PHONY: $(patsubst %, check-%, $(check-qapi-schema-y)) -$(patsubst %, check-%, $(check-qapi-schema-y)): check-%.json: $(SRC_PATH)/%.json - $(call quiet-command, PYTHONPATH=$(SRC_PATH)/scripts \ - $(PYTHON) $(SRC_PATH)/tests/qapi-schema/test-qapi.py \ - $^ >$*.test.out 2>$*.test.err; \ - echo $$? >$*.test.exit, \ - "TEST","$*.out") - @# Sanitize error messages (make them independent of build directory) - @perl -p -e 's|\Q$(SRC_PATH)\E/||g' $*.test.err | diff -u $(SRC_PATH)/$*.err - - @diff -u $(SRC_PATH)/$*.out $*.test.out - @diff -u $(SRC_PATH)/$*.exit $*.test.exit - -.PHONY: check-tests/qapi-schema/doc-good.texi -check-tests/qapi-schema/doc-good.texi: tests/qapi-schema/doc-good.test.texi - @diff -u $(SRC_PATH)/tests/qapi-schema/doc-good.texi $< - -.PHONY: check-decodetree -check-decodetree: - $(call quiet-command, \ - cd $(SRC_PATH)/tests/decode && \ - ./check.sh "$(PYTHON)" "$(SRC_PATH)/scripts/decodetree.py", \ - TEST, decodetree.py) - -# Python venv for running tests - -.PHONY: check-venv check-acceptance - -TESTS_VENV_DIR=$(BUILD_DIR)/tests/venv -TESTS_VENV_REQ=$(SRC_PATH)/tests/requirements.txt -TESTS_RESULTS_DIR=$(BUILD_DIR)/tests/results -# Controls the output generated by Avocado when running tests. -# Any number of command separated loggers are accepted. For more -# information please refer to "avocado --help". -AVOCADO_SHOW=none - -PYTHON3 = $(shell $(PYTHON) -c 'import sys; print(1 if sys.version_info >= (3, 0) else 0)') -ifeq ($(PYTHON3), 1) -$(TESTS_VENV_DIR): $(TESTS_VENV_REQ) - $(call quiet-command, \ - $(PYTHON) -m venv --system-site-packages $@, \ - VENV, $@) - $(call quiet-command, \ - $(TESTS_VENV_DIR)/bin/python -m pip -q install -r $(TESTS_VENV_REQ), \ - PIP, $(TESTS_VENV_REQ)) - $(call quiet-command, touch $@) -else -$(TESTS_VENV_DIR): - $(error "venv directory for tests requires Python 3") -endif - -$(TESTS_RESULTS_DIR): - $(call quiet-command, mkdir -p $@, \ - MKDIR, $@) - -check-venv: $(TESTS_VENV_DIR) - -check-acceptance: check-venv $(TESTS_RESULTS_DIR) - $(call quiet-command, \ - $(TESTS_VENV_DIR)/bin/python -m avocado \ - --show=$(AVOCADO_SHOW) run --job-results-dir=$(TESTS_RESULTS_DIR) \ - --failfast=on $(SRC_PATH)/tests/acceptance, \ - "AVOCADO", "tests/acceptance") - -# Consolidated targets - -.PHONY: check-qapi-schema check-qtest check-unit check check-clean -check-qapi-schema: $(patsubst %,check-%, $(check-qapi-schema-y)) check-tests/qapi-schema/doc-good.texi -check-qtest: $(patsubst %,check-qtest-%, $(QTEST_TARGETS)) -check-block: $(patsubst %,check-%, $(check-block-y)) -check: check-qapi-schema check-unit check-qtest check-decodetree -check-clean: - rm -rf $(check-unit-y) tests/*.o $(QEMU_IOTESTS_HELPERS-y) - rm -rf $(sort $(foreach target,$(SYSEMU_TARGET_LIST), $(check-qtest-$(target)-y)) $(check-qtest-generic-y)) - rm -f tests/test-qapi-gen-timestamp - rm -rf $(TESTS_VENV_DIR) $(TESTS_RESULTS_DIR) - -clean: check-clean - -# Build the help program automatically - -all: $(QEMU_IOTESTS_HELPERS-y) - --include $(wildcard tests/*.d) --include $(wildcard tests/libqos/*.d) - -endif diff --git a/tests/Makefile.orig b/tests/Makefile.orig deleted file mode 100644 index e6474ba31b..0000000000 --- a/tests/Makefile.orig +++ /dev/null @@ -1,569 +0,0 @@ -export SRC_PATH - -qapi-py = $(SRC_PATH)/scripts/qapi.py $(SRC_PATH)/scripts/ordereddict.py - -# Get the list of all supported sysemu targets -SYSEMU_TARGET_LIST := $(subst -softmmu.mak,,$(notdir \ - $(wildcard $(SRC_PATH)/default-configs/*-softmmu.mak))) - -check-unit-y = tests/check-qdict$(EXESUF) -gcov-files-check-qdict-y = qobject/qdict.c -check-unit-y += tests/check-qfloat$(EXESUF) -gcov-files-check-qfloat-y = qobject/qfloat.c -check-unit-y += tests/check-qint$(EXESUF) -gcov-files-check-qint-y = qobject/qint.c -check-unit-y += tests/check-qstring$(EXESUF) -gcov-files-check-qstring-y = qobject/qstring.c -check-unit-y += tests/check-qlist$(EXESUF) -gcov-files-check-qlist-y = qobject/qlist.c -check-unit-y += tests/check-qjson$(EXESUF) -gcov-files-check-qjson-y = qobject/qjson.c -check-unit-y += tests/test-qmp-output-visitor$(EXESUF) -gcov-files-test-qmp-output-visitor-y = qapi/qmp-output-visitor.c -check-unit-y += tests/test-qmp-input-visitor$(EXESUF) -gcov-files-test-qmp-input-visitor-y = qapi/qmp-input-visitor.c -check-unit-y += tests/test-qmp-input-strict$(EXESUF) -check-unit-y += tests/test-qmp-commands$(EXESUF) -gcov-files-test-qmp-commands-y = qapi/qmp-dispatch.c -check-unit-y += tests/test-string-input-visitor$(EXESUF) -gcov-files-test-string-input-visitor-y = qapi/string-input-visitor.c -check-unit-y += tests/test-string-output-visitor$(EXESUF) -gcov-files-test-string-output-visitor-y = qapi/string-output-visitor.c -check-unit-y += tests/test-qmp-event$(EXESUF) -gcov-files-test-qmp-event-y += qapi/qmp-event.c -check-unit-y += tests/test-opts-visitor$(EXESUF) -gcov-files-test-opts-visitor-y = qapi/opts-visitor.c -check-unit-y += tests/test-coroutine$(EXESUF) -gcov-files-test-coroutine-y = coroutine-$(CONFIG_COROUTINE_BACKEND).c -check-unit-y += tests/test-visitor-serialization$(EXESUF) -check-unit-y += tests/test-iov$(EXESUF) -gcov-files-test-iov-y = util/iov.c -check-unit-y += tests/test-aio$(EXESUF) -check-unit-$(CONFIG_POSIX) += tests/test-rfifolock$(EXESUF) -check-unit-y += tests/test-throttle$(EXESUF) -gcov-files-test-aio-$(CONFIG_WIN32) = aio-win32.c -gcov-files-test-aio-$(CONFIG_POSIX) = aio-posix.c -check-unit-y += tests/test-thread-pool$(EXESUF) -gcov-files-test-thread-pool-y = thread-pool.c -gcov-files-test-hbitmap-y = util/hbitmap.c -check-unit-y += tests/test-hbitmap$(EXESUF) -check-unit-y += tests/test-x86-cpuid$(EXESUF) -# all code tested by test-x86-cpuid is inside topology.h -gcov-files-test-x86-cpuid-y = -ifeq ($(CONFIG_SOFTMMU),y) -check-unit-y += tests/test-xbzrle$(EXESUF) -gcov-files-test-xbzrle-y = migration/xbzrle.c -check-unit-$(CONFIG_POSIX) += tests/test-vmstate$(EXESUF) -endif -check-unit-y += tests/test-cutils$(EXESUF) -gcov-files-test-cutils-y += util/cutils.c -check-unit-y += tests/test-mul64$(EXESUF) -gcov-files-test-mul64-y = util/host-utils.c -check-unit-y += tests/test-int128$(EXESUF) -# all code tested by test-int128 is inside int128.h -gcov-files-test-int128-y = -check-unit-y += tests/rcutorture$(EXESUF) -gcov-files-rcutorture-y = util/rcu.c -check-unit-y += tests/test-rcu-list$(EXESUF) -gcov-files-test-rcu-list-y = util/rcu.c -check-unit-y += tests/test-bitops$(EXESUF) -check-unit-$(CONFIG_HAS_GLIB_SUBPROCESS_TESTS) += tests/test-qdev-global-props$(EXESUF) -check-unit-y += tests/check-qom-interface$(EXESUF) -gcov-files-check-qom-interface-y = qom/object.c -check-unit-y += tests/check-qom-proplist$(EXESUF) -gcov-files-check-qom-proplist-y = qom/object.c -check-unit-y += tests/test-qemu-opts$(EXESUF) -gcov-files-test-qemu-opts-y = qom/test-qemu-opts.c -check-unit-y += tests/test-write-threshold$(EXESUF) -gcov-files-test-write-threshold-y = block/write-threshold.c -check-unit-$(CONFIG_GNUTLS_HASH) += tests/test-crypto-hash$(EXESUF) -check-unit-y += tests/test-crypto-cipher$(EXESUF) -check-unit-$(CONFIG_GNUTLS) += tests/test-crypto-tlscredsx509$(EXESUF) -check-unit-$(CONFIG_GNUTLS) += tests/test-crypto-tlssession$(EXESUF) - -check-block-$(CONFIG_POSIX) += tests/qemu-iotests-quick.sh - -# All QTests for now are POSIX-only, but the dependencies are -# really in libqtest, not in the testcases themselves. - -gcov-files-ipack-y += hw/ipack/ipack.c -check-qtest-ipack-y += tests/ipoctal232-test$(EXESUF) -gcov-files-ipack-y += hw/char/ipoctal232.c - -check-qtest-virtioserial-y += tests/virtio-console-test$(EXESUF) -gcov-files-virtioserial-y += hw/char/virtio-console.c - -gcov-files-virtio-y += i386-softmmu/hw/virtio/virtio.c -check-qtest-virtio-y += tests/virtio-net-test$(EXESUF) -gcov-files-virtio-y += i386-softmmu/hw/net/virtio-net.c -check-qtest-virtio-y += tests/virtio-balloon-test$(EXESUF) -gcov-files-virtio-y += i386-softmmu/hw/virtio/virtio-balloon.c -check-qtest-virtio-y += tests/virtio-blk-test$(EXESUF) -gcov-files-virtio-y += i386-softmmu/hw/block/virtio-blk.c -check-qtest-virtio-y += tests/virtio-rng-test$(EXESUF) -gcov-files-virtio-y += hw/virtio/virtio-rng.c -check-qtest-virtio-y += tests/virtio-scsi-test$(EXESUF) -gcov-files-virtio-y += i386-softmmu/hw/scsi/virtio-scsi.c -ifeq ($(CONFIG_VIRTIO)$(CONFIG_VIRTFS)$(CONFIG_PCI),yyy) -check-qtest-virtio-y += tests/virtio-9p-test$(EXESUF) -gcov-files-virtio-y += hw/9pfs/virtio-9p.c -gcov-files-virtio-y += i386-softmmu/hw/9pfs/virtio-9p-device.c -endif -check-qtest-virtio-y += tests/virtio-serial-test$(EXESUF) -gcov-files-virtio-y += i386-softmmu/hw/char/virtio-serial-bus.c -check-qtest-virtio-y += $(check-qtest-virtioserial-y) -gcov-files-virtio-y += $(gcov-files-virtioserial-y) - -check-qtest-pci-y += tests/e1000-test$(EXESUF) -gcov-files-pci-y += hw/net/e1000.c -check-qtest-pci-y += tests/rtl8139-test$(EXESUF) -gcov-files-pci-y += hw/net/rtl8139.c -check-qtest-pci-y += tests/pcnet-test$(EXESUF) -gcov-files-pci-y += hw/net/pcnet.c -gcov-files-pci-y += hw/net/pcnet-pci.c -check-qtest-pci-y += tests/eepro100-test$(EXESUF) -gcov-files-pci-y += hw/net/eepro100.c -check-qtest-pci-y += tests/ne2000-test$(EXESUF) -gcov-files-pci-y += hw/net/ne2000.c -check-qtest-pci-y += tests/nvme-test$(EXESUF) -gcov-files-pci-y += hw/block/nvme.c -check-qtest-pci-y += tests/ac97-test$(EXESUF) -gcov-files-pci-y += hw/audio/ac97.c -check-qtest-pci-y += tests/es1370-test$(EXESUF) -gcov-files-pci-y += hw/audio/es1370.c -check-qtest-pci-y += $(check-qtest-virtio-y) -gcov-files-pci-y += $(gcov-files-virtio-y) hw/virtio/virtio-pci.c -check-qtest-pci-y += tests/tpci200-test$(EXESUF) -gcov-files-pci-y += hw/ipack/tpci200.c -check-qtest-pci-y += $(check-qtest-ipack-y) -gcov-files-pci-y += $(gcov-files-ipack-y) -check-qtest-pci-y += tests/display-vga-test$(EXESUF) -gcov-files-pci-y += hw/display/vga.c -gcov-files-pci-y += hw/display/cirrus_vga.c -gcov-files-pci-y += hw/display/vga-pci.c -gcov-files-pci-y += hw/display/virtio-gpu.c -gcov-files-pci-y += hw/display/virtio-gpu-pci.c -gcov-files-pci-$(CONFIG_VIRTIO_VGA) += hw/display/virtio-vga.c -check-qtest-pci-y += tests/intel-hda-test$(EXESUF) -gcov-files-pci-y += hw/audio/intel-hda.c hw/audio/hda-codec.c - -check-qtest-i386-y = tests/endianness-test$(EXESUF) -check-qtest-i386-y += tests/fdc-test$(EXESUF) -gcov-files-i386-y = hw/block/fdc.c -check-qtest-i386-y += tests/ide-test$(EXESUF) -check-qtest-i386-y += tests/ahci-test$(EXESUF) -check-qtest-i386-y += tests/hd-geo-test$(EXESUF) -gcov-files-i386-y += hw/block/hd-geometry.c -check-qtest-i386-y += tests/boot-order-test$(EXESUF) -check-qtest-i386-y += tests/bios-tables-test$(EXESUF) -check-qtest-i386-y += tests/rtc-test$(EXESUF) -check-qtest-i386-y += tests/i440fx-test$(EXESUF) -check-qtest-i386-y += tests/fw_cfg-test$(EXESUF) -check-qtest-i386-y += tests/drive_del-test$(EXESUF) -check-qtest-i386-y += tests/wdt_ib700-test$(EXESUF) -check-qtest-i386-y += tests/tco-test$(EXESUF) -gcov-files-i386-y += hw/watchdog/watchdog.c hw/watchdog/wdt_ib700.c -check-qtest-i386-y += $(check-qtest-pci-y) -gcov-files-i386-y += $(gcov-files-pci-y) -check-qtest-i386-y += tests/vmxnet3-test$(EXESUF) -gcov-files-i386-y += hw/net/vmxnet3.c -gcov-files-i386-y += hw/net/vmxnet_rx_pkt.c -gcov-files-i386-y += hw/net/vmxnet_tx_pkt.c -check-qtest-i386-y += tests/pvpanic-test$(EXESUF) -gcov-files-i386-y += i386-softmmu/hw/misc/pvpanic.c -check-qtest-i386-y += tests/i82801b11-test$(EXESUF) -gcov-files-i386-y += hw/pci-bridge/i82801b11.c -check-qtest-i386-y += tests/ioh3420-test$(EXESUF) -gcov-files-i386-y += hw/pci-bridge/ioh3420.c -check-qtest-i386-y += tests/usb-hcd-ohci-test$(EXESUF) -gcov-files-i386-y += hw/usb/hcd-ohci.c -check-qtest-i386-y += tests/usb-hcd-uhci-test$(EXESUF) -gcov-files-i386-y += hw/usb/hcd-uhci.c -check-qtest-i386-y += tests/usb-hcd-ehci-test$(EXESUF) -gcov-files-i386-y += hw/usb/hcd-ehci.c -gcov-files-i386-y += hw/usb/dev-hid.c -gcov-files-i386-y += hw/usb/dev-storage.c -check-qtest-i386-y += tests/usb-hcd-xhci-test$(EXESUF) -gcov-files-i386-y += hw/usb/hcd-xhci.c -check-qtest-i386-y += tests/pc-cpu-test$(EXESUF) -check-qtest-i386-y += tests/q35-test$(EXESUF) -gcov-files-i386-y += hw/pci-host/q35.c -ifeq ($(CONFIG_VHOST_NET),y) -check-qtest-i386-$(CONFIG_LINUX) += tests/vhost-user-test$(EXESUF) -endif -check-qtest-x86_64-y = $(check-qtest-i386-y) -gcov-files-i386-y += i386-softmmu/hw/timer/mc146818rtc.c -gcov-files-x86_64-y = $(subst i386-softmmu/,x86_64-softmmu/,$(gcov-files-i386-y)) -check-qtest-mips-y = tests/endianness-test$(EXESUF) -check-qtest-mips64-y = tests/endianness-test$(EXESUF) -check-qtest-mips64el-y = tests/endianness-test$(EXESUF) -check-qtest-ppc-y = tests/endianness-test$(EXESUF) -check-qtest-ppc64-y = tests/endianness-test$(EXESUF) -check-qtest-sh4-y = tests/endianness-test$(EXESUF) -check-qtest-sh4eb-y = tests/endianness-test$(EXESUF) -check-qtest-sparc64-y = tests/endianness-test$(EXESUF) -#check-qtest-sparc-y = tests/m48t59-test$(EXESUF) -#check-qtest-sparc64-y += tests/m48t59-test$(EXESUF) -gcov-files-sparc-y += hw/timer/m48t59.c -gcov-files-sparc64-y += hw/timer/m48t59.c -check-qtest-arm-y = tests/tmp105-test$(EXESUF) -check-qtest-arm-y = tests/ds1338-test$(EXESUF) -gcov-files-arm-y += hw/misc/tmp105.c -check-qtest-arm-y += tests/virtio-blk-test$(EXESUF) -gcov-files-arm-y += arm-softmmu/hw/block/virtio-blk.c -check-qtest-ppc-y += tests/boot-order-test$(EXESUF) -check-qtest-ppc64-y += tests/boot-order-test$(EXESUF) -check-qtest-ppc64-y += tests/spapr-phb-test$(EXESUF) -gcov-files-ppc64-y += ppc64-softmmu/hw/ppc/spapr_pci.c -check-qtest-microblazeel-y = $(check-qtest-microblaze-y) -check-qtest-xtensaeb-y = $(check-qtest-xtensa-y) - -# qom-test works for all sysemu architectures: -$(foreach target,$(SYSEMU_TARGET_LIST), \ - $(if $(findstring tests/qom-test$(EXESUF), $(check-qtest-$(target)-y)),, \ - $(eval check-qtest-$(target)-y += tests/qom-test$(EXESUF)))) - -check-qapi-schema-y := $(addprefix tests/qapi-schema/, \ - comments.json empty.json enum-empty.json enum-missing-data.json \ - enum-wrong-data.json enum-int-member.json enum-dict-member.json \ - enum-clash-member.json enum-max-member.json enum-union-clash.json \ - enum-bad-name.json enum-bad-prefix.json \ - funny-char.json indented-expr.json \ - missing-type.json bad-ident.json ident-with-escape.json \ - escape-outside-string.json unknown-escape.json \ - escape-too-short.json escape-too-big.json unicode-str.json \ - double-type.json bad-base.json bad-type-bool.json bad-type-int.json \ - bad-type-dict.json double-data.json unknown-expr-key.json \ - redefined-type.json redefined-command.json redefined-builtin.json \ - redefined-event.json command-int.json bad-data.json event-max.json \ - type-bypass-bad-gen.json \ - args-invalid.json \ - args-array-empty.json args-array-unknown.json args-int.json \ - args-unknown.json args-member-unknown.json args-member-array.json \ - args-member-array-bad.json args-alternate.json args-union.json \ - args-any.json \ - returns-array-bad.json returns-int.json returns-dict.json \ - returns-unknown.json returns-alternate.json returns-whitelist.json \ - missing-colon.json missing-comma-list.json missing-comma-object.json \ - struct-data-invalid.json struct-member-invalid.json \ - nested-struct-data.json non-objects.json \ - qapi-schema-test.json quoted-structural-chars.json \ - leading-comma-list.json leading-comma-object.json \ - trailing-comma-list.json trailing-comma-object.json \ - unclosed-list.json unclosed-object.json unclosed-string.json \ - duplicate-key.json union-invalid-base.json union-bad-branch.json \ - union-optional-branch.json union-unknown.json union-max.json \ - flat-union-optional-discriminator.json flat-union-no-base.json \ - flat-union-invalid-discriminator.json flat-union-inline.json \ - flat-union-invalid-branch-key.json flat-union-reverse-define.json \ - flat-union-string-discriminator.json union-base-no-discriminator.json \ - flat-union-bad-discriminator.json flat-union-bad-base.json \ - flat-union-base-any.json \ - flat-union-array-branch.json flat-union-int-branch.json \ - flat-union-base-union.json flat-union-branch-clash.json \ - alternate-nested.json alternate-unknown.json alternate-clash.json \ - alternate-good.json alternate-base.json alternate-array.json \ - alternate-conflict-string.json alternate-conflict-dict.json \ - include-simple.json include-relpath.json include-format-err.json \ - include-non-file.json include-no-file.json include-before-err.json \ - include-nested-err.json include-self-cycle.json include-cycle.json \ - include-repetition.json event-nest-struct.json event-case.json \ - struct-base-clash.json struct-base-clash-deep.json ) - -GENERATED_HEADERS += tests/test-qapi-types.h tests/test-qapi-visit.h \ - tests/test-qmp-commands.h tests/test-qapi-event.h \ - tests/test-qmp-introspect.h - -test-obj-y = tests/check-qint.o tests/check-qstring.o tests/check-qdict.o \ - tests/check-qlist.o tests/check-qfloat.o tests/check-qjson.o \ - tests/test-coroutine.o tests/test-string-output-visitor.o \ - tests/test-string-input-visitor.o tests/test-qmp-output-visitor.o \ - tests/test-qmp-input-visitor.o tests/test-qmp-input-strict.o \ - tests/test-qmp-commands.o tests/test-visitor-serialization.o \ - tests/test-x86-cpuid.o tests/test-mul64.o tests/test-int128.o \ - tests/test-opts-visitor.o tests/test-qmp-event.o \ - tests/rcutorture.o tests/test-rcu-list.o - -$(test-obj-y): QEMU_INCLUDES += -Itests -QEMU_CFLAGS += -I$(SRC_PATH)/tests - - -# Deps that are common to various different sets of tests below -test-util-obj-y = libqemuutil.a libqemustub.a -test-qom-obj-y = $(qom-obj-y) $(test-util-obj-y) -test-qapi-obj-y = tests/test-qapi-visit.o tests/test-qapi-types.o \ - tests/test-qapi-event.o tests/test-qmp-introspect.o \ - $(test-qom-obj-y) -test-crypto-obj-y = $(crypto-obj-y) $(test-qom-obj-y) -test-block-obj-y = $(block-obj-y) $(test-crypto-obj-y) - -tests/check-qint$(EXESUF): tests/check-qint.o $(test-util-obj-y) -tests/check-qstring$(EXESUF): tests/check-qstring.o $(test-util-obj-y) -tests/check-qdict$(EXESUF): tests/check-qdict.o $(test-util-obj-y) -tests/check-qlist$(EXESUF): tests/check-qlist.o $(test-util-obj-y) -tests/check-qfloat$(EXESUF): tests/check-qfloat.o $(test-util-obj-y) -tests/check-qjson$(EXESUF): tests/check-qjson.o $(test-util-obj-y) -tests/check-qom-interface$(EXESUF): tests/check-qom-interface.o $(test-qom-obj-y) -tests/check-qom-proplist$(EXESUF): tests/check-qom-proplist.o $(test-qom-obj-y) -tests/test-coroutine$(EXESUF): tests/test-coroutine.o $(test-block-obj-y) -tests/test-aio$(EXESUF): tests/test-aio.o $(test-block-obj-y) -tests/test-rfifolock$(EXESUF): tests/test-rfifolock.o $(test-util-obj-y) -tests/test-throttle$(EXESUF): tests/test-throttle.o $(test-block-obj-y) -tests/test-thread-pool$(EXESUF): tests/test-thread-pool.o $(test-block-obj-y) -tests/test-iov$(EXESUF): tests/test-iov.o $(test-util-obj-y) -tests/test-hbitmap$(EXESUF): tests/test-hbitmap.o $(test-util-obj-y) -tests/test-x86-cpuid$(EXESUF): tests/test-x86-cpuid.o -tests/test-xbzrle$(EXESUF): tests/test-xbzrle.o migration/xbzrle.o page_cache.o $(test-util-obj-y) -tests/test-cutils$(EXESUF): tests/test-cutils.o util/cutils.o -tests/test-int128$(EXESUF): tests/test-int128.o -tests/rcutorture$(EXESUF): tests/rcutorture.o $(test-util-obj-y) -tests/test-rcu-list$(EXESUF): tests/test-rcu-list.o $(test-util-obj-y) - -tests/test-qdev-global-props$(EXESUF): tests/test-qdev-global-props.o \ - hw/core/qdev.o hw/core/qdev-properties.o hw/core/hotplug.o\ - hw/core/irq.o \ - hw/core/fw-path-provider.o \ - $(test-qapi-obj-y) -tests/test-vmstate$(EXESUF): tests/test-vmstate.o \ - migration/vmstate.o migration/qemu-file.o migration/qemu-file-buf.o \ - migration/qemu-file-unix.o qjson.o \ - $(test-qom-obj-y) - -tests/test-qapi-types.c tests/test-qapi-types.h :\ -$(SRC_PATH)/tests/qapi-schema/qapi-schema-test.json $(SRC_PATH)/scripts/qapi-types.py $(qapi-py) - $(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi-types.py \ - $(gen-out-type) -o tests -p "test-" $<, \ - " GEN $@") -tests/test-qapi-visit.c tests/test-qapi-visit.h :\ -$(SRC_PATH)/tests/qapi-schema/qapi-schema-test.json $(SRC_PATH)/scripts/qapi-visit.py $(qapi-py) - $(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi-visit.py \ - $(gen-out-type) -o tests -p "test-" $<, \ - " GEN $@") -tests/test-qmp-commands.h tests/test-qmp-marshal.c :\ -$(SRC_PATH)/tests/qapi-schema/qapi-schema-test.json $(SRC_PATH)/scripts/qapi-commands.py $(qapi-py) - $(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi-commands.py \ - $(gen-out-type) -o tests -p "test-" $<, \ - " GEN $@") -tests/test-qapi-event.c tests/test-qapi-event.h :\ -$(SRC_PATH)/tests/qapi-schema/qapi-schema-test.json $(SRC_PATH)/scripts/qapi-event.py $(qapi-py) - $(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi-event.py \ - $(gen-out-type) -o tests -p "test-" $<, \ - " GEN $@") -tests/test-qmp-introspect.c tests/test-qmp-introspect.h :\ -$(SRC_PATH)/tests/qapi-schema/qapi-schema-test.json $(SRC_PATH)/scripts/qapi-introspect.py $(qapi-py) - $(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi-introspect.py \ - $(gen-out-type) -o tests -p "test-" $<, \ - " GEN $@") - -tests/test-string-output-visitor$(EXESUF): tests/test-string-output-visitor.o $(test-qapi-obj-y) -tests/test-string-input-visitor$(EXESUF): tests/test-string-input-visitor.o $(test-qapi-obj-y) -tests/test-qmp-event$(EXESUF): tests/test-qmp-event.o $(test-qapi-obj-y) -tests/test-qmp-output-visitor$(EXESUF): tests/test-qmp-output-visitor.o $(test-qapi-obj-y) -tests/test-qmp-input-visitor$(EXESUF): tests/test-qmp-input-visitor.o $(test-qapi-obj-y) -tests/test-qmp-input-strict$(EXESUF): tests/test-qmp-input-strict.o $(test-qapi-obj-y) -tests/test-qmp-commands$(EXESUF): tests/test-qmp-commands.o tests/test-qmp-marshal.o $(test-qapi-obj-y) -tests/test-visitor-serialization$(EXESUF): tests/test-visitor-serialization.o $(test-qapi-obj-y) -tests/test-opts-visitor$(EXESUF): tests/test-opts-visitor.o $(test-qapi-obj-y) - -tests/test-mul64$(EXESUF): tests/test-mul64.o $(test-util-obj-y) -tests/test-bitops$(EXESUF): tests/test-bitops.o $(test-util-obj-y) -tests/test-crypto-hash$(EXESUF): tests/test-crypto-hash.o $(test-crypto-obj-y) -tests/test-crypto-cipher$(EXESUF): tests/test-crypto-cipher.o $(test-crypto-obj-y) -tests/test-crypto-tlscredsx509$(EXESUF): tests/test-crypto-tlscredsx509.o \ - tests/crypto-tls-x509-helpers.o tests/pkix_asn1_tab.o $(test-crypto-obj-y) -tests/test-crypto-tlssession$(EXESUF): tests/test-crypto-tlssession.o \ - tests/crypto-tls-x509-helpers.o tests/pkix_asn1_tab.o $(test-crypto-obj-y) - -libqos-obj-y = tests/libqos/pci.o tests/libqos/fw_cfg.o tests/libqos/malloc.o -libqos-obj-y += tests/libqos/i2c.o tests/libqos/libqos.o -libqos-pc-obj-y = $(libqos-obj-y) tests/libqos/pci-pc.o -libqos-pc-obj-y += tests/libqos/malloc-pc.o tests/libqos/libqos-pc.o -libqos-pc-obj-y += tests/libqos/ahci.o -libqos-omap-obj-y = $(libqos-obj-y) tests/libqos/i2c-omap.o -libqos-imx-obj-y = $(libqos-obj-y) tests/libqos/i2c-imx.o -libqos-usb-obj-y = $(libqos-pc-obj-y) tests/libqos/usb.o -libqos-virtio-obj-y = $(libqos-pc-obj-y) tests/libqos/virtio.o tests/libqos/virtio-pci.o tests/libqos/virtio-mmio.o tests/libqos/malloc-generic.o - -tests/rtc-test$(EXESUF): tests/rtc-test.o -tests/m48t59-test$(EXESUF): tests/m48t59-test.o -tests/endianness-test$(EXESUF): tests/endianness-test.o -tests/spapr-phb-test$(EXESUF): tests/spapr-phb-test.o $(libqos-obj-y) -tests/fdc-test$(EXESUF): tests/fdc-test.o -tests/ide-test$(EXESUF): tests/ide-test.o $(libqos-pc-obj-y) -tests/ahci-test$(EXESUF): tests/ahci-test.o $(libqos-pc-obj-y) -tests/hd-geo-test$(EXESUF): tests/hd-geo-test.o -tests/boot-order-test$(EXESUF): tests/boot-order-test.o $(libqos-obj-y) -tests/bios-tables-test$(EXESUF): tests/bios-tables-test.o $(libqos-obj-y) -tests/tmp105-test$(EXESUF): tests/tmp105-test.o $(libqos-omap-obj-y) -tests/ds1338-test$(EXESUF): tests/ds1338-test.o $(libqos-imx-obj-y) -tests/i440fx-test$(EXESUF): tests/i440fx-test.o $(libqos-pc-obj-y) -tests/q35-test$(EXESUF): tests/q35-test.o $(libqos-pc-obj-y) -tests/fw_cfg-test$(EXESUF): tests/fw_cfg-test.o $(libqos-pc-obj-y) -tests/e1000-test$(EXESUF): tests/e1000-test.o -tests/rtl8139-test$(EXESUF): tests/rtl8139-test.o $(libqos-pc-obj-y) -tests/pcnet-test$(EXESUF): tests/pcnet-test.o -tests/eepro100-test$(EXESUF): tests/eepro100-test.o -tests/vmxnet3-test$(EXESUF): tests/vmxnet3-test.o -tests/ne2000-test$(EXESUF): tests/ne2000-test.o -tests/wdt_ib700-test$(EXESUF): tests/wdt_ib700-test.o -tests/tco-test$(EXESUF): tests/tco-test.o $(libqos-pc-obj-y) -tests/virtio-balloon-test$(EXESUF): tests/virtio-balloon-test.o -tests/virtio-blk-test$(EXESUF): tests/virtio-blk-test.o $(libqos-virtio-obj-y) -tests/virtio-net-test$(EXESUF): tests/virtio-net-test.o $(libqos-pc-obj-y) $(libqos-virtio-obj-y) -tests/virtio-rng-test$(EXESUF): tests/virtio-rng-test.o $(libqos-pc-obj-y) -tests/virtio-scsi-test$(EXESUF): tests/virtio-scsi-test.o $(libqos-virtio-obj-y) -tests/virtio-9p-test$(EXESUF): tests/virtio-9p-test.o -tests/virtio-serial-test$(EXESUF): tests/virtio-serial-test.o -tests/virtio-console-test$(EXESUF): tests/virtio-console-test.o -tests/tpci200-test$(EXESUF): tests/tpci200-test.o -tests/display-vga-test$(EXESUF): tests/display-vga-test.o -tests/ipoctal232-test$(EXESUF): tests/ipoctal232-test.o -tests/qom-test$(EXESUF): tests/qom-test.o -tests/drive_del-test$(EXESUF): tests/drive_del-test.o $(libqos-pc-obj-y) -tests/qdev-monitor-test$(EXESUF): tests/qdev-monitor-test.o $(libqos-pc-obj-y) -tests/nvme-test$(EXESUF): tests/nvme-test.o -tests/pvpanic-test$(EXESUF): tests/pvpanic-test.o -tests/i82801b11-test$(EXESUF): tests/i82801b11-test.o -tests/ac97-test$(EXESUF): tests/ac97-test.o -tests/es1370-test$(EXESUF): tests/es1370-test.o -tests/intel-hda-test$(EXESUF): tests/intel-hda-test.o -tests/ioh3420-test$(EXESUF): tests/ioh3420-test.o -tests/usb-hcd-ohci-test$(EXESUF): tests/usb-hcd-ohci-test.o $(libqos-usb-obj-y) -tests/usb-hcd-uhci-test$(EXESUF): tests/usb-hcd-uhci-test.o $(libqos-usb-obj-y) -tests/usb-hcd-ehci-test$(EXESUF): tests/usb-hcd-ehci-test.o $(libqos-usb-obj-y) -tests/usb-hcd-xhci-test$(EXESUF): tests/usb-hcd-xhci-test.o $(libqos-usb-obj-y) -tests/pc-cpu-test$(EXESUF): tests/pc-cpu-test.o -tests/vhost-user-test$(EXESUF): tests/vhost-user-test.o qemu-char.o qemu-timer.o $(qtest-obj-y) -tests/qemu-iotests/socket_scm_helper$(EXESUF): tests/qemu-iotests/socket_scm_helper.o -tests/test-qemu-opts$(EXESUF): tests/test-qemu-opts.o $(test-util-obj-y) -tests/test-write-threshold$(EXESUF): tests/test-write-threshold.o $(test-block-obj-y) - -ifeq ($(CONFIG_POSIX),y) -LIBS += -lutil -endif -LIBS += $(TEST_LIBS) -CFLAGS += $(TEST_CFLAGS) - -# QTest rules - -TARGETS=$(patsubst %-softmmu,%, $(filter %-softmmu,$(TARGET_DIRS))) -ifeq ($(CONFIG_POSIX),y) -QTEST_TARGETS=$(foreach TARGET,$(TARGETS), $(if $(check-qtest-$(TARGET)-y), $(TARGET),)) -check-qtest-y=$(foreach TARGET,$(TARGETS), $(check-qtest-$(TARGET)-y)) -endif - -qtest-obj-y = tests/libqtest.o $(test-util-obj-y) -$(check-qtest-y): $(qtest-obj-y) - -.PHONY: check-help -check-help: - @echo "Regression testing targets:" - @echo - @echo " make check Run all tests" - @echo " make check-qtest-TARGET Run qtest tests for given target" - @echo " make check-qtest Run qtest tests" - @echo " make check-unit Run qobject tests" - @echo " make check-qapi-schema Run QAPI schema tests" - @echo " make check-block Run block tests" - @echo " make check-report.html Generates an HTML test report" - @echo " make check-clean Clean the tests" - @echo - @echo "Please note that HTML reports do not regenerate if the unit tests" - @echo "has not changed." - @echo - @echo "The variable SPEED can be set to control the gtester speed setting." - @echo "Default options are -k and (for make V=1) --verbose; they can be" - @echo "changed with variable GTESTER_OPTIONS." - -SPEED = quick -GTESTER_OPTIONS = -k $(if $(V),--verbose,-q) -GCOV_OPTIONS = -n $(if $(V),-f,) - -# gtester tests, possibly with verbose output - -.PHONY: $(patsubst %, check-qtest-%, $(QTEST_TARGETS)) -$(patsubst %, check-qtest-%, $(QTEST_TARGETS)): check-qtest-%: $(check-qtest-y) - $(if $(CONFIG_GCOV),@rm -f *.gcda */*.gcda */*/*.gcda */*/*/*.gcda,) - $(call quiet-command,QTEST_QEMU_BINARY=$*-softmmu/qemu-system-$* \ - QTEST_QEMU_IMG=qemu-img$(EXESUF) \ - MALLOC_PERTURB_=$${MALLOC_PERTURB_:-$$((RANDOM % 255 + 1))} \ - gtester $(GTESTER_OPTIONS) -m=$(SPEED) $(check-qtest-$*-y),"GTESTER $@") - $(if $(CONFIG_GCOV),@for f in $(gcov-files-$*-y); do \ - echo Gcov report for $$f:;\ - $(GCOV) $(GCOV_OPTIONS) $$f -o `dirname $$f`; \ - done,) - -.PHONY: $(patsubst %, check-%, $(check-unit-y)) -$(patsubst %, check-%, $(check-unit-y)): check-%: % - $(if $(CONFIG_GCOV),@rm -f *.gcda */*.gcda */*/*.gcda */*/*/*.gcda,) - $(call quiet-command, \ - MALLOC_PERTURB_=$${MALLOC_PERTURB_:-$$((RANDOM % 255 + 1))} \ - gtester $(GTESTER_OPTIONS) -m=$(SPEED) $*,"GTESTER $*") - $(if $(CONFIG_GCOV),@for f in $(gcov-files-$(subst tests/,,$*)-y); do \ - echo Gcov report for $$f:;\ - $(GCOV) $(GCOV_OPTIONS) $$f -o `dirname $$f`; \ - done,) - -# gtester tests with XML output - -$(patsubst %, check-report-qtest-%.xml, $(QTEST_TARGETS)): check-report-qtest-%.xml: $(check-qtest-y) - $(call quiet-command,QTEST_QEMU_BINARY=$*-softmmu/qemu-system-$* \ - QTEST_QEMU_IMG=qemu-img$(EXESUF) \ - gtester -q $(GTESTER_OPTIONS) -o $@ -m=$(SPEED) $(check-qtest-$*-y),"GTESTER $@") - -check-report-unit.xml: $(check-unit-y) - $(call quiet-command,gtester -q $(GTESTER_OPTIONS) -o $@ -m=$(SPEED) $^, "GTESTER $@") - -# Reports and overall runs - -check-report.xml: $(patsubst %,check-report-qtest-%.xml, $(QTEST_TARGETS)) check-report-unit.xml - $(call quiet-command,$(SRC_PATH)/scripts/gtester-cat $^ > $@, " GEN $@") - -check-report.html: check-report.xml - $(call quiet-command,gtester-report $< > $@, " GEN $@") - - -# Other tests - -QEMU_IOTESTS_HELPERS-$(CONFIG_LINUX) = tests/qemu-iotests/socket_scm_helper$(EXESUF) - -.PHONY: check-tests/qemu-iotests-quick.sh -check-tests/qemu-iotests-quick.sh: tests/qemu-iotests-quick.sh qemu-img$(EXESUF) qemu-io$(EXESUF) $(QEMU_IOTESTS_HELPERS-y) - $< - -.PHONY: check-tests/test-qapi.py -check-tests/test-qapi.py: tests/test-qapi.py - -.PHONY: $(patsubst %, check-%, $(check-qapi-schema-y)) -$(patsubst %, check-%, $(check-qapi-schema-y)): check-%.json: $(SRC_PATH)/%.json - $(call quiet-command, PYTHONPATH=$(SRC_PATH)/scripts \ - $(PYTHON) $(SRC_PATH)/tests/qapi-schema/test-qapi.py \ - $^ >$*.test.out 2>$*.test.err; \ - echo $$? >$*.test.exit, \ - " TEST $*.out") - @diff -q $(SRC_PATH)/$*.out $*.test.out - @# Sanitize error messages (make them independent of build directory) - @perl -p -e 's|\Q$(SRC_PATH)\E/||g' $*.test.err | diff -q $(SRC_PATH)/$*.err - - @diff -q $(SRC_PATH)/$*.exit $*.test.exit - -# Consolidated targets - -.PHONY: check-qapi-schema check-qtest check-unit check check-clean -check-qapi-schema: $(patsubst %,check-%, $(check-qapi-schema-y)) -check-qtest: $(patsubst %,check-qtest-%, $(QTEST_TARGETS)) -check-unit: $(patsubst %,check-%, $(check-unit-y)) -check-block: $(patsubst %,check-%, $(check-block-y)) -check: check-qapi-schema check-unit check-qtest -check-clean: - $(MAKE) -C tests/tcg clean - rm -rf $(check-unit-y) tests/*.o $(QEMU_IOTESTS_HELPERS-y) - rm -rf $(sort $(foreach target,$(SYSEMU_TARGET_LIST), $(check-qtest-$(target)-y))) - -clean: check-clean - -# Build the help program automatically - -all: $(QEMU_IOTESTS_HELPERS-y) - --include $(wildcard tests/*.d) --include $(wildcard tests/libqos/*.d) diff --git a/tests/bios-tables-test.c.orig b/tests/bios-tables-test.c.orig deleted file mode 100644 index d455b2abfc..0000000000 --- a/tests/bios-tables-test.c.orig +++ /dev/null @@ -1,925 +0,0 @@ -/* - * Boot order test cases. - * - * Copyright (c) 2013 Red Hat Inc. - * - * Authors: - * Michael S. Tsirkin , - * - * This work is licensed under the terms of the GNU GPL, version 2 or later. - * See the COPYING file in the top-level directory. - */ - -#include "qemu/osdep.h" -#include -#include "qemu-common.h" -#include "hw/firmware/smbios.h" -#include "qemu/bitmap.h" -#include "acpi-utils.h" -#include "boot-sector.h" - -#define MACHINE_PC "pc" -#define MACHINE_Q35 "q35" - -#define ACPI_REBUILD_EXPECTED_AML "TEST_ACPI_REBUILD_AML" - -typedef struct { - const char *machine; - const char *variant; - uint32_t rsdp_addr; - uint8_t rsdp_table[36 /* ACPI 2.0+ RSDP size */]; - AcpiRsdtDescriptorRev1 rsdt_table; - uint32_t dsdt_addr; - uint32_t facs_addr; - AcpiFacsDescriptorRev1 facs_table; - uint32_t *rsdt_tables_addr; - int rsdt_tables_nr; - GArray *tables; - uint32_t smbios_ep_addr; - struct smbios_21_entry_point smbios_ep_table; - uint8_t *required_struct_types; - int required_struct_types_len; - QTestState *qts; -} test_data; - -static char disk[] = "tests/acpi-test-disk-XXXXXX"; -static const char *data_dir = "tests/data/acpi"; -#ifdef CONFIG_IASL -static const char *iasl = stringify(CONFIG_IASL); -#else -static const char *iasl; -#endif - -static void free_test_data(test_data *data) -{ - AcpiSdtTable *temp; - int i; - - g_free(data->rsdt_tables_addr); - - for (i = 0; i < data->tables->len; ++i) { - temp = &g_array_index(data->tables, AcpiSdtTable, i); - g_free(temp->aml); - if (temp->aml_file && - !temp->tmp_files_retain && - g_strstr_len(temp->aml_file, -1, "aml-")) { - unlink(temp->aml_file); - } - g_free(temp->aml_file); - g_free(temp->asl); - if (temp->asl_file && - !temp->tmp_files_retain) { - unlink(temp->asl_file); - } - g_free(temp->asl_file); - } - - g_array_free(data->tables, true); -} - -static void test_acpi_rsdp_address(test_data *data) -{ - uint32_t off = acpi_find_rsdp_address(data->qts); - g_assert_cmphex(off, <, 0x100000); - data->rsdp_addr = off; -} - -static void test_acpi_rsdp_table(test_data *data) -{ - uint8_t *rsdp_table = data->rsdp_table, revision; - uint32_t addr = data->rsdp_addr; - - acpi_parse_rsdp_table(data->qts, addr, rsdp_table); - revision = rsdp_table[15 /* Revision offset */]; - - switch (revision) { - case 0: /* ACPI 1.0 RSDP */ - /* With rev 1, checksum is only for the first 20 bytes */ - g_assert(!acpi_calc_checksum(rsdp_table, 20)); - break; - case 2: /* ACPI 2.0+ RSDP */ - /* With revision 2, we have 2 checksums */ - g_assert(!acpi_calc_checksum(rsdp_table, 20)); - g_assert(!acpi_calc_checksum(rsdp_table, 36)); - break; - default: - g_assert_not_reached(); - } -} - -static void test_acpi_rsdt_table(test_data *data) -{ - AcpiRsdtDescriptorRev1 *rsdt_table = &data->rsdt_table; - uint32_t addr = acpi_get_rsdt_address(data->rsdp_table); - uint32_t *tables; - int tables_nr; - uint8_t checksum; - uint32_t rsdt_table_length; - - /* read the header */ - ACPI_READ_TABLE_HEADER(data->qts, rsdt_table, addr); - ACPI_ASSERT_CMP(rsdt_table->signature, "RSDT"); - - rsdt_table_length = le32_to_cpu(rsdt_table->length); - - /* compute the table entries in rsdt */ - tables_nr = (rsdt_table_length - sizeof(AcpiRsdtDescriptorRev1)) / - sizeof(uint32_t); - g_assert(tables_nr > 0); - - /* get the addresses of the tables pointed by rsdt */ - tables = g_new0(uint32_t, tables_nr); - ACPI_READ_ARRAY_PTR(data->qts, tables, tables_nr, addr); - - checksum = acpi_calc_checksum((uint8_t *)rsdt_table, rsdt_table_length) + - acpi_calc_checksum((uint8_t *)tables, - tables_nr * sizeof(uint32_t)); - g_assert(!checksum); - - /* SSDT tables after FADT */ - data->rsdt_tables_addr = tables; - data->rsdt_tables_nr = tables_nr; -} - -static void fadt_fetch_facs_and_dsdt_ptrs(test_data *data) -{ - uint32_t addr; - AcpiTableHeader hdr; - - /* FADT table comes first */ - addr = le32_to_cpu(data->rsdt_tables_addr[0]); - ACPI_READ_TABLE_HEADER(data->qts, &hdr, addr); - ACPI_ASSERT_CMP(hdr.signature, "FACP"); - - ACPI_READ_FIELD(data->qts, data->facs_addr, addr); - ACPI_READ_FIELD(data->qts, data->dsdt_addr, addr); -} - -static void sanitize_fadt_ptrs(test_data *data) -{ - /* fixup pointers in FADT */ - int i; - - for (i = 0; i < data->tables->len; i++) { - AcpiSdtTable *sdt = &g_array_index(data->tables, AcpiSdtTable, i); - - if (memcmp(&sdt->header.signature, "FACP", 4)) { - continue; - } - - /* check original FADT checksum before sanitizing table */ - g_assert(!(uint8_t)( - acpi_calc_checksum((uint8_t *)sdt, sizeof(AcpiTableHeader)) + - acpi_calc_checksum((uint8_t *)sdt->aml, sdt->aml_len) - )); - - /* sdt->aml field offset := spec offset - header size */ - memset(sdt->aml + 0, 0, 4); /* sanitize FIRMWARE_CTRL(36) ptr */ - memset(sdt->aml + 4, 0, 4); /* sanitize DSDT(40) ptr */ - if (sdt->header.revision >= 3) { - memset(sdt->aml + 96, 0, 8); /* sanitize X_FIRMWARE_CTRL(132) ptr */ - memset(sdt->aml + 104, 0, 8); /* sanitize X_DSDT(140) ptr */ - } - - /* update checksum */ - sdt->header.checksum = 0; - sdt->header.checksum -= - acpi_calc_checksum((uint8_t *)sdt, sizeof(AcpiTableHeader)) + - acpi_calc_checksum((uint8_t *)sdt->aml, sdt->aml_len); - break; - } -} - -static void test_acpi_facs_table(test_data *data) -{ - AcpiFacsDescriptorRev1 *facs_table = &data->facs_table; - uint32_t addr = le32_to_cpu(data->facs_addr); - - ACPI_READ_FIELD(data->qts, facs_table->signature, addr); - ACPI_READ_FIELD(data->qts, facs_table->length, addr); - ACPI_READ_FIELD(data->qts, facs_table->hardware_signature, addr); - ACPI_READ_FIELD(data->qts, facs_table->firmware_waking_vector, addr); - ACPI_READ_FIELD(data->qts, facs_table->global_lock, addr); - ACPI_READ_FIELD(data->qts, facs_table->flags, addr); - ACPI_READ_ARRAY(data->qts, facs_table->resverved3, addr); - - ACPI_ASSERT_CMP(facs_table->signature, "FACS"); -} - -/** fetch_table - * load ACPI table at @addr into table descriptor @sdt_table - * and check that header checksum matches actual one. - */ -static void fetch_table(QTestState *qts, AcpiSdtTable *sdt_table, uint32_t addr) -{ - uint8_t checksum; - - memset(sdt_table, 0, sizeof(*sdt_table)); - ACPI_READ_TABLE_HEADER(qts, &sdt_table->header, addr); - - sdt_table->aml_len = le32_to_cpu(sdt_table->header.length) - - sizeof(AcpiTableHeader); - sdt_table->aml = g_malloc0(sdt_table->aml_len); - ACPI_READ_ARRAY_PTR(qts, sdt_table->aml, sdt_table->aml_len, addr); - - checksum = acpi_calc_checksum((uint8_t *)sdt_table, - sizeof(AcpiTableHeader)) + - acpi_calc_checksum((uint8_t *)sdt_table->aml, - sdt_table->aml_len); - g_assert(!checksum); -} - -static void test_acpi_dsdt_table(test_data *data) -{ - AcpiSdtTable dsdt_table; - uint32_t addr = le32_to_cpu(data->dsdt_addr); - - fetch_table(data->qts, &dsdt_table, addr); - ACPI_ASSERT_CMP(dsdt_table.header.signature, "DSDT"); - - /* Since DSDT isn't in RSDT, add DSDT to ASL test tables list manually */ - g_array_append_val(data->tables, dsdt_table); -} - -/* Load all tables and add to test list directly RSDT referenced tables */ -static void fetch_rsdt_referenced_tables(test_data *data) -{ - int tables_nr = data->rsdt_tables_nr; - int i; - - for (i = 0; i < tables_nr; i++) { - AcpiSdtTable ssdt_table; - uint32_t addr; - - addr = le32_to_cpu(data->rsdt_tables_addr[i]); - fetch_table(data->qts, &ssdt_table, addr); - - /* Add table to ASL test tables list */ - g_array_append_val(data->tables, ssdt_table); - } -} - -static void dump_aml_files(test_data *data, bool rebuild) -{ - AcpiSdtTable *sdt; - GError *error = NULL; - gchar *aml_file = NULL; - gint fd; - ssize_t ret; - int i; - - for (i = 0; i < data->tables->len; ++i) { - const char *ext = data->variant ? data->variant : ""; - sdt = &g_array_index(data->tables, AcpiSdtTable, i); - g_assert(sdt->aml); - - if (rebuild) { - aml_file = g_strdup_printf("%s/%s/%.4s%s", data_dir, data->machine, - (gchar *)&sdt->header.signature, ext); - fd = g_open(aml_file, O_WRONLY|O_TRUNC|O_CREAT, - S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH); - } else { - fd = g_file_open_tmp("aml-XXXXXX", &sdt->aml_file, &error); - g_assert_no_error(error); - } - g_assert(fd >= 0); - - ret = qemu_write_full(fd, sdt, sizeof(AcpiTableHeader)); - g_assert(ret == sizeof(AcpiTableHeader)); - ret = qemu_write_full(fd, sdt->aml, sdt->aml_len); - g_assert(ret == sdt->aml_len); - - close(fd); - - g_free(aml_file); - } -} - -static bool compare_signature(AcpiSdtTable *sdt, const char *signature) -{ - return !memcmp(&sdt->header.signature, signature, 4); -} - -static bool load_asl(GArray *sdts, AcpiSdtTable *sdt) -{ - AcpiSdtTable *temp; - GError *error = NULL; - GString *command_line = g_string_new(iasl); - gint fd; - gchar *out, *out_err; - gboolean ret; - int i; - - fd = g_file_open_tmp("asl-XXXXXX.dsl", &sdt->asl_file, &error); - g_assert_no_error(error); - close(fd); - - /* build command line */ - g_string_append_printf(command_line, " -p %s ", sdt->asl_file); - if (compare_signature(sdt, "DSDT") || - compare_signature(sdt, "SSDT")) { - for (i = 0; i < sdts->len; ++i) { - temp = &g_array_index(sdts, AcpiSdtTable, i); - if (compare_signature(temp, "DSDT") || - compare_signature(temp, "SSDT")) { - g_string_append_printf(command_line, "-e %s ", temp->aml_file); - } - } - } - g_string_append_printf(command_line, "-d %s", sdt->aml_file); - - /* pass 'out' and 'out_err' in order to be redirected */ - ret = g_spawn_command_line_sync(command_line->str, &out, &out_err, NULL, &error); - g_assert_no_error(error); - if (ret) { - ret = g_file_get_contents(sdt->asl_file, &sdt->asl, - &sdt->asl_len, &error); - g_assert(ret); - g_assert_no_error(error); - ret = (sdt->asl_len > 0); - } - - g_free(out); - g_free(out_err); - g_string_free(command_line, true); - - return !ret; -} - -#define COMMENT_END "*/" -#define DEF_BLOCK "DefinitionBlock (" -#define BLOCK_NAME_END "," - -static GString *normalize_asl(gchar *asl_code) -{ - GString *asl = g_string_new(asl_code); - gchar *comment, *block_name; - - /* strip comments (different generation days) */ - comment = g_strstr_len(asl->str, asl->len, COMMENT_END); - if (comment) { - comment += strlen(COMMENT_END); - while (*comment == '\n') { - comment++; - } - asl = g_string_erase(asl, 0, comment - asl->str); - } - - /* strip def block name (it has file path in it) */ - if (g_str_has_prefix(asl->str, DEF_BLOCK)) { - block_name = g_strstr_len(asl->str, asl->len, BLOCK_NAME_END); - g_assert(block_name); - asl = g_string_erase(asl, 0, - block_name + sizeof(BLOCK_NAME_END) - asl->str); - } - - return asl; -} - -static GArray *load_expected_aml(test_data *data) -{ - int i; - AcpiSdtTable *sdt; - GError *error = NULL; - gboolean ret; - - GArray *exp_tables = g_array_new(false, true, sizeof(AcpiSdtTable)); - if (getenv("V")) { - fputc('\n', stderr); - } - for (i = 0; i < data->tables->len; ++i) { - AcpiSdtTable exp_sdt; - gchar *aml_file = NULL; - const char *ext = data->variant ? data->variant : ""; - - sdt = &g_array_index(data->tables, AcpiSdtTable, i); - - memset(&exp_sdt, 0, sizeof(exp_sdt)); - exp_sdt.header.signature = sdt->header.signature; - -try_again: - aml_file = g_strdup_printf("%s/%s/%.4s%s", data_dir, data->machine, - (gchar *)&sdt->header.signature, ext); - if (getenv("V")) { - fprintf(stderr, "Looking for expected file '%s'\n", aml_file); - } - if (g_file_test(aml_file, G_FILE_TEST_EXISTS)) { - exp_sdt.aml_file = aml_file; - } else if (*ext != '\0') { - /* try fallback to generic (extension less) expected file */ - ext = ""; - g_free(aml_file); - goto try_again; - } - g_assert(exp_sdt.aml_file); - if (getenv("V")) { - fprintf(stderr, "Using expected file '%s'\n", aml_file); - } - ret = g_file_get_contents(aml_file, &exp_sdt.aml, - &exp_sdt.aml_len, &error); - g_assert(ret); - g_assert_no_error(error); - g_assert(exp_sdt.aml); - g_assert(exp_sdt.aml_len); - - g_array_append_val(exp_tables, exp_sdt); - } - - return exp_tables; -} - -/* test the list of tables in @data->tables against reference tables */ -static void test_acpi_asl(test_data *data) -{ - int i; - AcpiSdtTable *sdt, *exp_sdt; - test_data exp_data; - gboolean exp_err, err; - - memset(&exp_data, 0, sizeof(exp_data)); - exp_data.tables = load_expected_aml(data); - dump_aml_files(data, false); - for (i = 0; i < data->tables->len; ++i) { - GString *asl, *exp_asl; - - sdt = &g_array_index(data->tables, AcpiSdtTable, i); - exp_sdt = &g_array_index(exp_data.tables, AcpiSdtTable, i); - - err = load_asl(data->tables, sdt); - asl = normalize_asl(sdt->asl); - - exp_err = load_asl(exp_data.tables, exp_sdt); - exp_asl = normalize_asl(exp_sdt->asl); - - /* TODO: check for warnings */ - g_assert(!err || exp_err); - - if (g_strcmp0(asl->str, exp_asl->str)) { - if (exp_err) { - fprintf(stderr, - "Warning! iasl couldn't parse the expected aml\n"); - } else { - uint32_t signature = cpu_to_le32(exp_sdt->header.signature); - sdt->tmp_files_retain = true; - exp_sdt->tmp_files_retain = true; - fprintf(stderr, - "acpi-test: Warning! %.4s mismatch. " - "Actual [asl:%s, aml:%s], Expected [asl:%s, aml:%s].\n", - (gchar *)&signature, - sdt->asl_file, sdt->aml_file, - exp_sdt->asl_file, exp_sdt->aml_file); - if (getenv("V")) { - const char *diff_cmd = getenv("DIFF"); - if (diff_cmd) { - int ret G_GNUC_UNUSED; - char *diff = g_strdup_printf("%s %s %s", diff_cmd, - exp_sdt->asl_file, sdt->asl_file); - ret = system(diff) ; - g_free(diff); - } else { - fprintf(stderr, "acpi-test: Warning. not showing " - "difference since no diff utility is specified. " - "Set 'DIFF' environment variable to a preferred " - "diff utility and run 'make V=1 check' again to " - "see ASL difference."); - } - } - } - } - g_string_free(asl, true); - g_string_free(exp_asl, true); - } - - free_test_data(&exp_data); -} - -static bool smbios_ep_table_ok(test_data *data) -{ - struct smbios_21_entry_point *ep_table = &data->smbios_ep_table; - uint32_t addr = data->smbios_ep_addr; - - ACPI_READ_ARRAY(data->qts, ep_table->anchor_string, addr); - if (memcmp(ep_table->anchor_string, "_SM_", 4)) { - return false; - } - ACPI_READ_FIELD(data->qts, ep_table->checksum, addr); - ACPI_READ_FIELD(data->qts, ep_table->length, addr); - ACPI_READ_FIELD(data->qts, ep_table->smbios_major_version, addr); - ACPI_READ_FIELD(data->qts, ep_table->smbios_minor_version, addr); - ACPI_READ_FIELD(data->qts, ep_table->max_structure_size, addr); - ACPI_READ_FIELD(data->qts, ep_table->entry_point_revision, addr); - ACPI_READ_ARRAY(data->qts, ep_table->formatted_area, addr); - ACPI_READ_ARRAY(data->qts, ep_table->intermediate_anchor_string, addr); - if (memcmp(ep_table->intermediate_anchor_string, "_DMI_", 5)) { - return false; - } - ACPI_READ_FIELD(data->qts, ep_table->intermediate_checksum, addr); - ACPI_READ_FIELD(data->qts, ep_table->structure_table_length, addr); - if (ep_table->structure_table_length == 0) { - return false; - } - ACPI_READ_FIELD(data->qts, ep_table->structure_table_address, addr); - ACPI_READ_FIELD(data->qts, ep_table->number_of_structures, addr); - if (ep_table->number_of_structures == 0) { - return false; - } - ACPI_READ_FIELD(data->qts, ep_table->smbios_bcd_revision, addr); - if (acpi_calc_checksum((uint8_t *)ep_table, sizeof *ep_table) || - acpi_calc_checksum((uint8_t *)ep_table + 0x10, - sizeof *ep_table - 0x10)) { - return false; - } - return true; -} - -static void test_smbios_entry_point(test_data *data) -{ - uint32_t off; - - /* find smbios entry point structure */ - for (off = 0xf0000; off < 0x100000; off += 0x10) { - uint8_t sig[] = "_SM_"; - int i; - - for (i = 0; i < sizeof sig - 1; ++i) { - sig[i] = qtest_readb(data->qts, off + i); - } - - if (!memcmp(sig, "_SM_", sizeof sig)) { - /* signature match, but is this a valid entry point? */ - data->smbios_ep_addr = off; - if (smbios_ep_table_ok(data)) { - break; - } - } - } - - g_assert_cmphex(off, <, 0x100000); -} - -static inline bool smbios_single_instance(uint8_t type) -{ - switch (type) { - case 0: - case 1: - case 2: - case 3: - case 16: - case 32: - case 127: - return true; - default: - return false; - } -} - -static void test_smbios_structs(test_data *data) -{ - DECLARE_BITMAP(struct_bitmap, SMBIOS_MAX_TYPE+1) = { 0 }; - struct smbios_21_entry_point *ep_table = &data->smbios_ep_table; - uint32_t addr = le32_to_cpu(ep_table->structure_table_address); - int i, len, max_len = 0; - uint8_t type, prv, crt; - - /* walk the smbios tables */ - for (i = 0; i < le16_to_cpu(ep_table->number_of_structures); i++) { - - /* grab type and formatted area length from struct header */ - type = qtest_readb(data->qts, addr); - g_assert_cmpuint(type, <=, SMBIOS_MAX_TYPE); - len = qtest_readb(data->qts, addr + 1); - - /* single-instance structs must not have been encountered before */ - if (smbios_single_instance(type)) { - g_assert(!test_bit(type, struct_bitmap)); - } - set_bit(type, struct_bitmap); - - /* seek to end of unformatted string area of this struct ("\0\0") */ - prv = crt = 1; - while (prv || crt) { - prv = crt; - crt = qtest_readb(data->qts, addr + len); - len++; - } - - /* keep track of max. struct size */ - if (max_len < len) { - max_len = len; - g_assert_cmpuint(max_len, <=, ep_table->max_structure_size); - } - - /* start of next structure */ - addr += len; - } - - /* total table length and max struct size must match entry point values */ - g_assert_cmpuint(le16_to_cpu(ep_table->structure_table_length), ==, - addr - le32_to_cpu(ep_table->structure_table_address)); - g_assert_cmpuint(le16_to_cpu(ep_table->max_structure_size), ==, max_len); - - /* required struct types must all be present */ - for (i = 0; i < data->required_struct_types_len; i++) { - g_assert(test_bit(data->required_struct_types[i], struct_bitmap)); - } -} - -static void test_acpi_one(const char *params, test_data *data) -{ - char *args; - - /* Disable kernel irqchip to be able to override apic irq0. */ - args = g_strdup_printf("-machine %s,accel=%s,kernel-irqchip=off " - "-net none -display none %s " - "-drive id=hd0,if=none,file=%s,format=raw " - "-device ide-hd,drive=hd0 ", - data->machine, "kvm:tcg", - params ? params : "", disk); - - data->qts = qtest_init(args); - - boot_sector_test(data->qts); - - data->tables = g_array_new(false, true, sizeof(AcpiSdtTable)); - test_acpi_rsdp_address(data); - test_acpi_rsdp_table(data); - test_acpi_rsdt_table(data); - fadt_fetch_facs_and_dsdt_ptrs(data); - test_acpi_facs_table(data); - test_acpi_dsdt_table(data); - fetch_rsdt_referenced_tables(data); - - sanitize_fadt_ptrs(data); - - if (iasl) { - if (getenv(ACPI_REBUILD_EXPECTED_AML)) { - dump_aml_files(data, true); - } else { - test_acpi_asl(data); - } - } - - test_smbios_entry_point(data); - test_smbios_structs(data); - - assert(!global_qtest); - qtest_quit(data->qts); - g_free(args); -} - -static uint8_t base_required_struct_types[] = { - 0, 1, 3, 4, 16, 17, 19, 32, 127 -}; - -static void test_acpi_piix4_tcg(void) -{ - test_data data; - - /* Supplying -machine accel argument overrides the default (qtest). - * This is to make guest actually run. - */ - memset(&data, 0, sizeof(data)); - data.machine = MACHINE_PC; - data.required_struct_types = base_required_struct_types; - data.required_struct_types_len = ARRAY_SIZE(base_required_struct_types); - test_acpi_one(NULL, &data); - free_test_data(&data); -} - -static void test_acpi_piix4_tcg_bridge(void) -{ - test_data data; - - memset(&data, 0, sizeof(data)); - data.machine = MACHINE_PC; - data.variant = ".bridge"; - data.required_struct_types = base_required_struct_types; - data.required_struct_types_len = ARRAY_SIZE(base_required_struct_types); - test_acpi_one("-device pci-bridge,chassis_nr=1", &data); - free_test_data(&data); -} - -static void test_acpi_q35_tcg(void) -{ - test_data data; - - memset(&data, 0, sizeof(data)); - data.machine = MACHINE_Q35; - data.required_struct_types = base_required_struct_types; - data.required_struct_types_len = ARRAY_SIZE(base_required_struct_types); - test_acpi_one(NULL, &data); - free_test_data(&data); -} - -static void test_acpi_q35_tcg_bridge(void) -{ - test_data data; - - memset(&data, 0, sizeof(data)); - data.machine = MACHINE_Q35; - data.variant = ".bridge"; - data.required_struct_types = base_required_struct_types; - data.required_struct_types_len = ARRAY_SIZE(base_required_struct_types); - test_acpi_one("-device pci-bridge,chassis_nr=1", - &data); - free_test_data(&data); -} - -static void test_acpi_q35_tcg_mmio64(void) -{ - test_data data = { - .machine = MACHINE_Q35, - .variant = ".mmio64", - .required_struct_types = base_required_struct_types, - .required_struct_types_len = ARRAY_SIZE(base_required_struct_types) - }; - - test_acpi_one("-m 128M,slots=1,maxmem=2G " - "-device pci-testdev,membar=2G", - &data); - free_test_data(&data); -} - -static void test_acpi_piix4_tcg_cphp(void) -{ - test_data data; - - memset(&data, 0, sizeof(data)); - data.machine = MACHINE_PC; - data.variant = ".cphp"; - test_acpi_one("-smp 2,cores=3,sockets=2,maxcpus=6" - " -numa node -numa node" - " -numa dist,src=0,dst=1,val=21", - &data); - free_test_data(&data); -} - -static void test_acpi_q35_tcg_cphp(void) -{ - test_data data; - - memset(&data, 0, sizeof(data)); - data.machine = MACHINE_Q35; - data.variant = ".cphp"; - test_acpi_one(" -smp 2,cores=3,sockets=2,maxcpus=6" - " -numa node -numa node" - " -numa dist,src=0,dst=1,val=21", - &data); - free_test_data(&data); -} - -static uint8_t ipmi_required_struct_types[] = { - 0, 1, 3, 4, 16, 17, 19, 32, 38, 127 -}; - -static void test_acpi_q35_tcg_ipmi(void) -{ - test_data data; - - memset(&data, 0, sizeof(data)); - data.machine = MACHINE_Q35; - data.variant = ".ipmibt"; - data.required_struct_types = ipmi_required_struct_types; - data.required_struct_types_len = ARRAY_SIZE(ipmi_required_struct_types); - test_acpi_one("-device ipmi-bmc-sim,id=bmc0" - " -device isa-ipmi-bt,bmc=bmc0", - &data); - free_test_data(&data); -} - -static void test_acpi_piix4_tcg_ipmi(void) -{ - test_data data; - - /* Supplying -machine accel argument overrides the default (qtest). - * This is to make guest actually run. - */ - memset(&data, 0, sizeof(data)); - data.machine = MACHINE_PC; - data.variant = ".ipmikcs"; - data.required_struct_types = ipmi_required_struct_types; - data.required_struct_types_len = ARRAY_SIZE(ipmi_required_struct_types); - test_acpi_one("-device ipmi-bmc-sim,id=bmc0" - " -device isa-ipmi-kcs,irq=0,bmc=bmc0", - &data); - free_test_data(&data); -} - -static void test_acpi_q35_tcg_memhp(void) -{ - test_data data; - - memset(&data, 0, sizeof(data)); - data.machine = MACHINE_Q35; - data.variant = ".memhp"; - test_acpi_one(" -m 128,slots=3,maxmem=1G" - " -numa node -numa node" - " -numa dist,src=0,dst=1,val=21", - &data); - free_test_data(&data); -} - -static void test_acpi_piix4_tcg_memhp(void) -{ - test_data data; - - memset(&data, 0, sizeof(data)); - data.machine = MACHINE_PC; - data.variant = ".memhp"; - test_acpi_one(" -m 128,slots=3,maxmem=1G" - " -numa node -numa node" - " -numa dist,src=0,dst=1,val=21", - &data); - free_test_data(&data); -} - -static void test_acpi_q35_tcg_numamem(void) -{ - test_data data; - - memset(&data, 0, sizeof(data)); - data.machine = MACHINE_Q35; - data.variant = ".numamem"; - test_acpi_one(" -numa node -numa node,mem=128", &data); - free_test_data(&data); -} - -static void test_acpi_piix4_tcg_numamem(void) -{ - test_data data; - - memset(&data, 0, sizeof(data)); - data.machine = MACHINE_PC; - data.variant = ".numamem"; - test_acpi_one(" -numa node -numa node,mem=128", &data); - free_test_data(&data); -} - -static void test_acpi_tcg_dimm_pxm(const char *machine) -{ - test_data data; - - memset(&data, 0, sizeof(data)); - data.machine = machine; - data.variant = ".dimmpxm"; - test_acpi_one(" -machine nvdimm=on,nvdimm-persistence=cpu" - " -smp 4,sockets=4" - " -m 128M,slots=3,maxmem=1G" - " -numa node,mem=32M,nodeid=0" - " -numa node,mem=32M,nodeid=1" - " -numa node,mem=32M,nodeid=2" - " -numa node,mem=32M,nodeid=3" - " -numa cpu,node-id=0,socket-id=0" - " -numa cpu,node-id=1,socket-id=1" - " -numa cpu,node-id=2,socket-id=2" - " -numa cpu,node-id=3,socket-id=3" - " -object memory-backend-ram,id=ram0,size=128M" - " -object memory-backend-ram,id=nvm0,size=128M" - " -device pc-dimm,id=dimm0,memdev=ram0,node=1" - " -device nvdimm,id=dimm1,memdev=nvm0,node=2", - &data); - free_test_data(&data); -} - -static void test_acpi_q35_tcg_dimm_pxm(void) -{ - test_acpi_tcg_dimm_pxm(MACHINE_Q35); -} - -static void test_acpi_piix4_tcg_dimm_pxm(void) -{ - test_acpi_tcg_dimm_pxm(MACHINE_PC); -} - -int main(int argc, char *argv[]) -{ - const char *arch = qtest_get_arch(); - int ret; - - ret = boot_sector_init(disk); - if(ret) - return ret; - - g_test_init(&argc, &argv, NULL); - - if (strcmp(arch, "i386") == 0 || strcmp(arch, "x86_64") == 0) { - qtest_add_func("acpi/piix4", test_acpi_piix4_tcg); - qtest_add_func("acpi/piix4/bridge", test_acpi_piix4_tcg_bridge); - 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); - qtest_add_func("acpi/piix4/ipmi", test_acpi_piix4_tcg_ipmi); - qtest_add_func("acpi/q35/ipmi", test_acpi_q35_tcg_ipmi); - qtest_add_func("acpi/piix4/cpuhp", test_acpi_piix4_tcg_cphp); - qtest_add_func("acpi/q35/cpuhp", test_acpi_q35_tcg_cphp); - qtest_add_func("acpi/piix4/memhp", test_acpi_piix4_tcg_memhp); - qtest_add_func("acpi/q35/memhp", test_acpi_q35_tcg_memhp); - qtest_add_func("acpi/piix4/numamem", test_acpi_piix4_tcg_numamem); - qtest_add_func("acpi/q35/numamem", test_acpi_q35_tcg_numamem); - qtest_add_func("acpi/piix4/dimmpxm", test_acpi_piix4_tcg_dimm_pxm); - qtest_add_func("acpi/q35/dimmpxm", test_acpi_q35_tcg_dimm_pxm); - } - ret = g_test_run(); - boot_sector_cleanup(disk); - return ret; -} diff --git a/tests/data/acpi/diff-aml.sh b/tests/data/acpi/diff-aml.sh deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/tests/data/acpi/disassemle-aml.py b/tests/data/acpi/disassemle-aml.py deleted file mode 100644 index 0398fada63..0000000000 --- a/tests/data/acpi/disassemle-aml.py +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/python - -import os, re -root = "tests/data/acpi" -for machine in os.listdir(root): - machine_root = os.path.join(root, machine) - if not os.path.isdir(machine_root): - continue - files = os.listdir(machine_root): - for file in files: - if file.endswith(".dsl"): - continue - extension_prefix = "^[^.]*\." - if re.match(extension_prefix, file): - variant = re.sub(extension_prefix, "", file) - - -for dirpath, dirnames, filenames in os.walk("tests/data/acpi"): - for file in files: - if file.endswith(".txt"): - print(os.path.join(root, file)) diff --git a/tests/data/acpi/microvm/APIC.dsl b/tests/data/acpi/microvm/APIC.dsl deleted file mode 100644 index 02f56dce43..0000000000 --- a/tests/data/acpi/microvm/APIC.dsl +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/microvm/APIC, Mon Sep 28 17:24:38 2020 - * - * ACPI Data Table [APIC] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "APIC" [Multiple APIC Description Table (MADT)] -[004h 0004 4] Table Length : 00000046 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : D7 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCAPIC" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Local Apic Address : FEE00000 -[028h 0040 4] Flags (decoded below) : 00000001 - PC-AT Compatibility : 1 - -[02Ch 0044 1] Subtable Type : 00 [Processor Local APIC] -[02Dh 0045 1] Length : 08 -[02Eh 0046 1] Processor ID : 00 -[02Fh 0047 1] Local Apic ID : 00 -[030h 0048 4] Flags (decoded below) : 00000001 - Processor Enabled : 1 - Runtime Online Capable : 0 - -[034h 0052 1] Subtable Type : 01 [I/O APIC] -[035h 0053 1] Length : 0C -[036h 0054 1] I/O Apic ID : 00 -[037h 0055 1] Reserved : 00 -[038h 0056 4] Address : FEC00000 -[03Ch 0060 4] Interrupt : 00000000 - -[040h 0064 1] Subtable Type : 04 [Local APIC NMI] -[041h 0065 1] Length : 06 -[042h 0066 1] Processor ID : FF -[043h 0067 2] Flags (decoded below) : 0000 - Polarity : 0 - Trigger Mode : 0 -[045h 0069 1] Interrupt Input LINT : 01 - -Raw Table Data: Length 70 (0x46) - - 0000: 41 50 49 43 46 00 00 00 01 D7 42 4F 43 48 53 20 // APICF.....BOCHS - 0010: 42 58 50 43 41 50 49 43 01 00 00 00 42 58 50 43 // BXPCAPIC....BXPC - 0020: 01 00 00 00 00 00 E0 FE 01 00 00 00 00 08 00 00 // ................ - 0030: 01 00 00 00 01 0C 00 00 00 00 C0 FE 00 00 00 00 // ................ - 0040: 04 06 FF 00 00 01 // ...... diff --git a/tests/data/acpi/microvm/DSDT.dsl b/tests/data/acpi/microvm/DSDT.dsl deleted file mode 100644 index fd53f08128..0000000000 --- a/tests/data/acpi/microvm/DSDT.dsl +++ /dev/null @@ -1,121 +0,0 @@ -/* - * 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/microvm/DSDT, Mon Sep 28 17:24:38 2020 - * - * Original Table Header: - * Signature "DSDT" - * Length 0x0000016D (365) - * Revision 0x02 - * Checksum 0x62 - * OEM ID "BOCHS " - * OEM Table ID "BXPCDSDT" - * OEM Revision 0x00000001 (1) - * Compiler ID "BXPC" - * Compiler Version 0x00000001 (1) - */ -DefinitionBlock ("", "DSDT", 2, "BOCHS ", "BXPCDSDT", 0x00000001) -{ - Scope (_SB) - { - Device (FWCF) - { - Name (_HID, "QEMU0002") // _HID: Hardware ID - Name (_STA, 0x0B) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0510, // Range Minimum - 0x0510, // Range Maximum - 0x01, // Alignment - 0x0C, // Length - ) - }) - } - - Device (COM1) - { - Name (_HID, EisaId ("PNP0501") /* 16550A-compatible COM Serial Port */) // _HID: Hardware ID - Name (_UID, One) // _UID: Unique ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x03F8, // Range Minimum - 0x03F8, // Range Maximum - 0x00, // Alignment - 0x08, // Length - ) - IRQNoFlags () - {4} - }) - } - - Device (GED) - { - Name (_HID, "ACPI0013" /* Generic Event Device */) // _HID: Hardware ID - Name (_UID, "GED") // _UID: Unique ID - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Edge, ActiveHigh, Exclusive, ,, ) - { - 0x00000009, - } - }) - OperationRegion (EREG, SystemMemory, 0xFEA00000, 0x04) - Field (EREG, DWordAcc, NoLock, WriteAsZeros) - { - ESEL, 32 - } - - Method (_EVT, 1, Serialized) // _EVT: Event - { - Local0 = ESEL /* \_SB_.GED_.ESEL */ - If (((Local0 & 0x02) == 0x02)) - { - Notify (PWRB, 0x80) // Status Change - } - } - } - - Device (PWRB) - { - Name (_HID, "PNP0C0C" /* Power Button Device */) // _HID: Hardware ID - Name (_UID, Zero) // _UID: Unique ID - } - - Device (VR07) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x07) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0xFEB00E00, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000017, - } - }) - } - } - - Scope (\) - { - Name (_S5, Package (0x04) // _S5_: S5 System State - { - 0x05, - Zero, - Zero, - Zero - }) - } -} - diff --git a/tests/data/acpi/microvm/FACP.dsl b/tests/data/acpi/microvm/FACP.dsl deleted file mode 100644 index 4cf780caec..0000000000 --- a/tests/data/acpi/microvm/FACP.dsl +++ /dev/null @@ -1,196 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/microvm/FACP, Mon Sep 28 17:24:38 2020 - * - * ACPI Data Table [FACP] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "FACP" [Fixed ACPI Description Table (FADT)] -[004h 0004 4] Table Length : 0000010C -[008h 0008 1] Revision : 05 -[009h 0009 1] Checksum : 7E -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCFACP" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] FACS Address : 00000000 -[028h 0040 4] DSDT Address : 00000000 -[02Ch 0044 1] Model : 00 -[02Dh 0045 1] PM Profile : 00 [Unspecified] -[02Eh 0046 2] SCI Interrupt : 0000 -[030h 0048 4] SMI Command Port : 00000000 -[034h 0052 1] ACPI Enable Value : 00 -[035h 0053 1] ACPI Disable Value : 00 -[036h 0054 1] S4BIOS Command : 00 -[037h 0055 1] P-State Control : 00 -[038h 0056 4] PM1A Event Block Address : 00000000 -[03Ch 0060 4] PM1B Event Block Address : 00000000 -[040h 0064 4] PM1A Control Block Address : 00000000 -[044h 0068 4] PM1B Control Block Address : 00000000 -[048h 0072 4] PM2 Control Block Address : 00000000 -[04Ch 0076 4] PM Timer Block Address : 00000000 -[050h 0080 4] GPE0 Block Address : 00000000 -[054h 0084 4] GPE1 Block Address : 00000000 -[058h 0088 1] PM1 Event Block Length : 00 -[059h 0089 1] PM1 Control Block Length : 00 -[05Ah 0090 1] PM2 Control Block Length : 00 -[05Bh 0091 1] PM Timer Block Length : 00 -[05Ch 0092 1] GPE0 Block Length : 00 -[05Dh 0093 1] GPE1 Block Length : 00 -[05Eh 0094 1] GPE1 Base Offset : 00 -[05Fh 0095 1] _CST Support : 00 -[060h 0096 2] C2 Latency : 0000 -[062h 0098 2] C3 Latency : 0000 -[064h 0100 2] CPU Cache Size : 0000 -[066h 0102 2] Cache Flush Stride : 0000 -[068h 0104 1] Duty Cycle Offset : 00 -[069h 0105 1] Duty Cycle Width : 00 -[06Ah 0106 1] RTC Day Alarm Index : 00 -[06Bh 0107 1] RTC Month Alarm Index : 00 -[06Ch 0108 1] RTC Century Index : 00 -[06Dh 0109 2] Boot Flags (decoded below) : 0000 - Legacy Devices Supported (V2) : 0 - 8042 Present on ports 60/64 (V2) : 0 - VGA Not Present (V4) : 0 - MSI Not Supported (V4) : 0 - PCIe ASPM Not Supported (V4) : 0 - CMOS RTC Not Present (V5) : 0 -[06Fh 0111 1] Reserved : 00 -[070h 0112 4] Flags (decoded below) : 00100400 - WBINVD instruction is operational (V1) : 0 - WBINVD flushes all caches (V1) : 0 - All CPUs support C1 (V1) : 0 - C2 works on MP system (V1) : 0 - Control Method Power Button (V1) : 0 - Control Method Sleep Button (V1) : 0 - RTC wake not in fixed reg space (V1) : 0 - RTC can wake system from S4 (V1) : 0 - 32-bit PM Timer (V1) : 0 - Docking Supported (V1) : 0 - Reset Register Supported (V2) : 1 - Sealed Case (V3) : 0 - Headless - No Video (V3) : 0 - Use native instr after SLP_TYPx (V3) : 0 - PCIEXP_WAK Bits Supported (V4) : 0 - Use Platform Timer (V4) : 0 - RTC_STS valid on S4 wake (V4) : 0 - Remote Power-on capable (V4) : 0 - Use APIC Cluster Model (V4) : 0 - Use APIC Physical Destination Mode (V4) : 0 - Hardware Reduced (V5) : 1 - Low Power S0 Idle (V5) : 0 - -[074h 0116 12] Reset Register : [Generic Address Structure] -[074h 0116 1] Space ID : 00 [SystemMemory] -[075h 0117 1] Bit Width : 08 -[076h 0118 1] Bit Offset : 00 -[077h 0119 1] Encoded Access Width : 00 [Undefined/Legacy] -[078h 0120 8] Address : 00000000FEA00202 - -[080h 0128 1] Value to cause reset : 42 -[081h 0129 2] ARM Flags (decoded below) : 0000 - PSCI Compliant : 0 - Must use HVC for PSCI : 0 - -[083h 0131 1] FADT Minor Revision : 00 -[084h 0132 8] FACS Address : 0000000000000000 -[08Ch 0140 8] DSDT Address : 0000000000000000 -[094h 0148 12] PM1A Event Block : [Generic Address Structure] -[094h 0148 1] Space ID : 00 [SystemMemory] -[095h 0149 1] Bit Width : 00 -[096h 0150 1] Bit Offset : 00 -[097h 0151 1] Encoded Access Width : 00 [Undefined/Legacy] -[098h 0152 8] Address : 0000000000000000 - -[0A0h 0160 12] PM1B Event Block : [Generic Address Structure] -[0A0h 0160 1] Space ID : 00 [SystemMemory] -[0A1h 0161 1] Bit Width : 00 -[0A2h 0162 1] Bit Offset : 00 -[0A3h 0163 1] Encoded Access Width : 00 [Undefined/Legacy] -[0A4h 0164 8] Address : 0000000000000000 - -[0ACh 0172 12] PM1A Control Block : [Generic Address Structure] -[0ACh 0172 1] Space ID : 00 [SystemMemory] -[0ADh 0173 1] Bit Width : 00 -[0AEh 0174 1] Bit Offset : 00 -[0AFh 0175 1] Encoded Access Width : 00 [Undefined/Legacy] -[0B0h 0176 8] Address : 0000000000000000 - -[0B8h 0184 12] PM1B Control Block : [Generic Address Structure] -[0B8h 0184 1] Space ID : 00 [SystemMemory] -[0B9h 0185 1] Bit Width : 00 -[0BAh 0186 1] Bit Offset : 00 -[0BBh 0187 1] Encoded Access Width : 00 [Undefined/Legacy] -[0BCh 0188 8] Address : 0000000000000000 - -[0C4h 0196 12] PM2 Control Block : [Generic Address Structure] -[0C4h 0196 1] Space ID : 00 [SystemMemory] -[0C5h 0197 1] Bit Width : 00 -[0C6h 0198 1] Bit Offset : 00 -[0C7h 0199 1] Encoded Access Width : 00 [Undefined/Legacy] -[0C8h 0200 8] Address : 0000000000000000 - -[0D0h 0208 12] PM Timer Block : [Generic Address Structure] -[0D0h 0208 1] Space ID : 00 [SystemMemory] -[0D1h 0209 1] Bit Width : 00 -[0D2h 0210 1] Bit Offset : 00 -[0D3h 0211 1] Encoded Access Width : 00 [Undefined/Legacy] -[0D4h 0212 8] Address : 0000000000000000 - -[0DCh 0220 12] GPE0 Block : [Generic Address Structure] -[0DCh 0220 1] Space ID : 00 [SystemMemory] -[0DDh 0221 1] Bit Width : 00 -[0DEh 0222 1] Bit Offset : 00 -[0DFh 0223 1] Encoded Access Width : 00 [Undefined/Legacy] -[0E0h 0224 8] Address : 0000000000000000 - -[0E8h 0232 12] GPE1 Block : [Generic Address Structure] -[0E8h 0232 1] Space ID : 00 [SystemMemory] -[0E9h 0233 1] Bit Width : 00 -[0EAh 0234 1] Bit Offset : 00 -[0EBh 0235 1] Encoded Access Width : 00 [Undefined/Legacy] -[0ECh 0236 8] Address : 0000000000000000 - - -[0F4h 0244 12] Sleep Control Register : [Generic Address Structure] -[0F4h 0244 1] Space ID : 00 [SystemMemory] -[0F5h 0245 1] Bit Width : 08 -[0F6h 0246 1] Bit Offset : 00 -[0F7h 0247 1] Encoded Access Width : 00 [Undefined/Legacy] -[0F8h 0248 8] Address : 00000000FEA00200 - -[100h 0256 12] Sleep Status Register : [Generic Address Structure] -[100h 0256 1] Space ID : 00 [SystemMemory] -[101h 0257 1] Bit Width : 08 -[102h 0258 1] Bit Offset : 00 -[103h 0259 1] Encoded Access Width : 00 [Undefined/Legacy] -[104h 0260 8] Address : 00000000FEA00201 - -/**** ACPI table terminates in the middle of a data structure! (dump table) */ - -Raw Table Data: Length 268 (0x10C) - - 0000: 46 41 43 50 0C 01 00 00 05 7E 42 4F 43 48 53 20 // FACP.....~BOCHS - 0010: 42 58 50 43 46 41 43 50 01 00 00 00 42 58 50 43 // BXPCFACP....BXPC - 0020: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0070: 00 04 10 00 00 08 00 00 02 02 A0 FE 00 00 00 00 // ................ - 0080: 42 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // B............... - 0090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00F0: 00 00 00 00 00 08 00 00 00 02 A0 FE 00 00 00 00 // ................ - 0100: 00 08 00 00 01 02 A0 FE 00 00 00 00 // ............ diff --git a/tests/data/acpi/pc/APIC.acpihmat.dsl b/tests/data/acpi/pc/APIC.acpihmat.dsl deleted file mode 100644 index 15155cac55..0000000000 --- a/tests/data/acpi/pc/APIC.acpihmat.dsl +++ /dev/null @@ -1,112 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/pc/APIC.acpihmat, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [APIC] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "APIC" [Multiple APIC Description Table (MADT)] -[004h 0004 4] Table Length : 00000080 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : DA -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCAPIC" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Local Apic Address : FEE00000 -[028h 0040 4] Flags (decoded below) : 00000001 - PC-AT Compatibility : 1 - -[02Ch 0044 1] Subtable Type : 00 [Processor Local APIC] -[02Dh 0045 1] Length : 08 -[02Eh 0046 1] Processor ID : 00 -[02Fh 0047 1] Local Apic ID : 00 -[030h 0048 4] Flags (decoded below) : 00000001 - Processor Enabled : 1 - Runtime Online Capable : 0 - -[034h 0052 1] Subtable Type : 00 [Processor Local APIC] -[035h 0053 1] Length : 08 -[036h 0054 1] Processor ID : 01 -[037h 0055 1] Local Apic ID : 01 -[038h 0056 4] Flags (decoded below) : 00000001 - Processor Enabled : 1 - Runtime Online Capable : 0 - -[03Ch 0060 1] Subtable Type : 01 [I/O APIC] -[03Dh 0061 1] Length : 0C -[03Eh 0062 1] I/O Apic ID : 00 -[03Fh 0063 1] Reserved : 00 -[040h 0064 4] Address : FEC00000 -[044h 0068 4] Interrupt : 00000000 - -[048h 0072 1] Subtable Type : 02 [Interrupt Source Override] -[049h 0073 1] Length : 0A -[04Ah 0074 1] Bus : 00 -[04Bh 0075 1] Source : 00 -[04Ch 0076 4] Interrupt : 00000002 -[050h 0080 2] Flags (decoded below) : 0000 - Polarity : 0 - Trigger Mode : 0 - -[052h 0082 1] Subtable Type : 02 [Interrupt Source Override] -[053h 0083 1] Length : 0A -[054h 0084 1] Bus : 00 -[055h 0085 1] Source : 05 -[056h 0086 4] Interrupt : 00000005 -[05Ah 0090 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[05Ch 0092 1] Subtable Type : 02 [Interrupt Source Override] -[05Dh 0093 1] Length : 0A -[05Eh 0094 1] Bus : 00 -[05Fh 0095 1] Source : 09 -[060h 0096 4] Interrupt : 00000009 -[064h 0100 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[066h 0102 1] Subtable Type : 02 [Interrupt Source Override] -[067h 0103 1] Length : 0A -[068h 0104 1] Bus : 00 -[069h 0105 1] Source : 0A -[06Ah 0106 4] Interrupt : 0000000A -[06Eh 0110 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[070h 0112 1] Subtable Type : 02 [Interrupt Source Override] -[071h 0113 1] Length : 0A -[072h 0114 1] Bus : 00 -[073h 0115 1] Source : 0B -[074h 0116 4] Interrupt : 0000000B -[078h 0120 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[07Ah 0122 1] Subtable Type : 04 [Local APIC NMI] -[07Bh 0123 1] Length : 06 -[07Ch 0124 1] Processor ID : FF -[07Dh 0125 2] Flags (decoded below) : 0000 - Polarity : 0 - Trigger Mode : 0 -[07Fh 0127 1] Interrupt Input LINT : 01 - -Raw Table Data: Length 128 (0x80) - - 0000: 41 50 49 43 80 00 00 00 01 DA 42 4F 43 48 53 20 // APIC......BOCHS - 0010: 42 58 50 43 41 50 49 43 01 00 00 00 42 58 50 43 // BXPCAPIC....BXPC - 0020: 01 00 00 00 00 00 E0 FE 01 00 00 00 00 08 00 00 // ................ - 0030: 01 00 00 00 00 08 01 01 01 00 00 00 01 0C 00 00 // ................ - 0040: 00 00 C0 FE 00 00 00 00 02 0A 00 00 02 00 00 00 // ................ - 0050: 00 00 02 0A 00 05 05 00 00 00 0D 00 02 0A 00 09 // ................ - 0060: 09 00 00 00 0D 00 02 0A 00 0A 0A 00 00 00 0D 00 // ................ - 0070: 02 0A 00 0B 0B 00 00 00 0D 00 04 06 FF 00 00 01 // ................ diff --git a/tests/data/acpi/pc/APIC.bridge b/tests/data/acpi/pc/APIC.bridge deleted file mode 100644 index 84509e0ae4cabeb5ead3e42a4edfa50abddbc17d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 120 zcmXxa!3}^Q5CzeJh!M~pYz4T;NfIxXVtJNg1Ga!>Nx1C1{A?&WU4VMyp0;C+XGx*t lqyVuLp4vKrRL!#8RjziR+mCh_11utIyPWItzG)agP(M8=4FLcE diff --git a/tests/data/acpi/pc/APIC.bridge.dsl b/tests/data/acpi/pc/APIC.bridge.dsl deleted file mode 100644 index 2828370063..0000000000 --- a/tests/data/acpi/pc/APIC.bridge.dsl +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/pc/APIC.bridge, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [APIC] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "APIC" [Multiple APIC Description Table (MADT)] -[004h 0004 4] Table Length : 00000078 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : ED -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCAPIC" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Local Apic Address : FEE00000 -[028h 0040 4] Flags (decoded below) : 00000001 - PC-AT Compatibility : 1 - -[02Ch 0044 1] Subtable Type : 00 [Processor Local APIC] -[02Dh 0045 1] Length : 08 -[02Eh 0046 1] Processor ID : 00 -[02Fh 0047 1] Local Apic ID : 00 -[030h 0048 4] Flags (decoded below) : 00000001 - Processor Enabled : 1 - Runtime Online Capable : 0 - -[034h 0052 1] Subtable Type : 01 [I/O APIC] -[035h 0053 1] Length : 0C -[036h 0054 1] I/O Apic ID : 00 -[037h 0055 1] Reserved : 00 -[038h 0056 4] Address : FEC00000 -[03Ch 0060 4] Interrupt : 00000000 - -[040h 0064 1] Subtable Type : 02 [Interrupt Source Override] -[041h 0065 1] Length : 0A -[042h 0066 1] Bus : 00 -[043h 0067 1] Source : 00 -[044h 0068 4] Interrupt : 00000002 -[048h 0072 2] Flags (decoded below) : 0000 - Polarity : 0 - Trigger Mode : 0 - -[04Ah 0074 1] Subtable Type : 02 [Interrupt Source Override] -[04Bh 0075 1] Length : 0A -[04Ch 0076 1] Bus : 00 -[04Dh 0077 1] Source : 05 -[04Eh 0078 4] Interrupt : 00000005 -[052h 0082 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[054h 0084 1] Subtable Type : 02 [Interrupt Source Override] -[055h 0085 1] Length : 0A -[056h 0086 1] Bus : 00 -[057h 0087 1] Source : 09 -[058h 0088 4] Interrupt : 00000009 -[05Ch 0092 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[05Eh 0094 1] Subtable Type : 02 [Interrupt Source Override] -[05Fh 0095 1] Length : 0A -[060h 0096 1] Bus : 00 -[061h 0097 1] Source : 0A -[062h 0098 4] Interrupt : 0000000A -[066h 0102 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[068h 0104 1] Subtable Type : 02 [Interrupt Source Override] -[069h 0105 1] Length : 0A -[06Ah 0106 1] Bus : 00 -[06Bh 0107 1] Source : 0B -[06Ch 0108 4] Interrupt : 0000000B -[070h 0112 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[072h 0114 1] Subtable Type : 04 [Local APIC NMI] -[073h 0115 1] Length : 06 -[074h 0116 1] Processor ID : FF -[075h 0117 2] Flags (decoded below) : 0000 - Polarity : 0 - Trigger Mode : 0 -[077h 0119 1] Interrupt Input LINT : 01 - -Raw Table Data: Length 120 (0x78) - - 0000: 41 50 49 43 78 00 00 00 01 ED 42 4F 43 48 53 20 // APICx.....BOCHS - 0010: 42 58 50 43 41 50 49 43 01 00 00 00 42 58 50 43 // BXPCAPIC....BXPC - 0020: 01 00 00 00 00 00 E0 FE 01 00 00 00 00 08 00 00 // ................ - 0030: 01 00 00 00 01 0C 00 00 00 00 C0 FE 00 00 00 00 // ................ - 0040: 02 0A 00 00 02 00 00 00 00 00 02 0A 00 05 05 00 // ................ - 0050: 00 00 0D 00 02 0A 00 09 09 00 00 00 0D 00 02 0A // ................ - 0060: 00 0A 0A 00 00 00 0D 00 02 0A 00 0B 0B 00 00 00 // ................ - 0070: 0D 00 04 06 FF 00 00 01 // ........ diff --git a/tests/data/acpi/pc/APIC.cphp.dsl b/tests/data/acpi/pc/APIC.cphp.dsl deleted file mode 100644 index b4b043229a..0000000000 --- a/tests/data/acpi/pc/APIC.cphp.dsl +++ /dev/null @@ -1,146 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/pc/APIC.cphp, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [APIC] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "APIC" [Multiple APIC Description Table (MADT)] -[004h 0004 4] Table Length : 000000A0 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : 7B -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCAPIC" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Local Apic Address : FEE00000 -[028h 0040 4] Flags (decoded below) : 00000001 - PC-AT Compatibility : 1 - -[02Ch 0044 1] Subtable Type : 00 [Processor Local APIC] -[02Dh 0045 1] Length : 08 -[02Eh 0046 1] Processor ID : 00 -[02Fh 0047 1] Local Apic ID : 00 -[030h 0048 4] Flags (decoded below) : 00000001 - Processor Enabled : 1 - Runtime Online Capable : 0 - -[034h 0052 1] Subtable Type : 00 [Processor Local APIC] -[035h 0053 1] Length : 08 -[036h 0054 1] Processor ID : 01 -[037h 0055 1] Local Apic ID : 01 -[038h 0056 4] Flags (decoded below) : 00000001 - Processor Enabled : 1 - Runtime Online Capable : 0 - -[03Ch 0060 1] Subtable Type : 00 [Processor Local APIC] -[03Dh 0061 1] Length : 08 -[03Eh 0062 1] Processor ID : 02 -[03Fh 0063 1] Local Apic ID : 02 -[040h 0064 4] Flags (decoded below) : 00000000 - Processor Enabled : 0 - Runtime Online Capable : 0 - -[044h 0068 1] Subtable Type : 00 [Processor Local APIC] -[045h 0069 1] Length : 08 -[046h 0070 1] Processor ID : 03 -[047h 0071 1] Local Apic ID : 04 -[048h 0072 4] Flags (decoded below) : 00000000 - Processor Enabled : 0 - Runtime Online Capable : 0 - -[04Ch 0076 1] Subtable Type : 00 [Processor Local APIC] -[04Dh 0077 1] Length : 08 -[04Eh 0078 1] Processor ID : 04 -[04Fh 0079 1] Local Apic ID : 05 -[050h 0080 4] Flags (decoded below) : 00000000 - Processor Enabled : 0 - Runtime Online Capable : 0 - -[054h 0084 1] Subtable Type : 00 [Processor Local APIC] -[055h 0085 1] Length : 08 -[056h 0086 1] Processor ID : 05 -[057h 0087 1] Local Apic ID : 06 -[058h 0088 4] Flags (decoded below) : 00000000 - Processor Enabled : 0 - Runtime Online Capable : 0 - -[05Ch 0092 1] Subtable Type : 01 [I/O APIC] -[05Dh 0093 1] Length : 0C -[05Eh 0094 1] I/O Apic ID : 00 -[05Fh 0095 1] Reserved : 00 -[060h 0096 4] Address : FEC00000 -[064h 0100 4] Interrupt : 00000000 - -[068h 0104 1] Subtable Type : 02 [Interrupt Source Override] -[069h 0105 1] Length : 0A -[06Ah 0106 1] Bus : 00 -[06Bh 0107 1] Source : 00 -[06Ch 0108 4] Interrupt : 00000002 -[070h 0112 2] Flags (decoded below) : 0000 - Polarity : 0 - Trigger Mode : 0 - -[072h 0114 1] Subtable Type : 02 [Interrupt Source Override] -[073h 0115 1] Length : 0A -[074h 0116 1] Bus : 00 -[075h 0117 1] Source : 05 -[076h 0118 4] Interrupt : 00000005 -[07Ah 0122 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[07Ch 0124 1] Subtable Type : 02 [Interrupt Source Override] -[07Dh 0125 1] Length : 0A -[07Eh 0126 1] Bus : 00 -[07Fh 0127 1] Source : 09 -[080h 0128 4] Interrupt : 00000009 -[084h 0132 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[086h 0134 1] Subtable Type : 02 [Interrupt Source Override] -[087h 0135 1] Length : 0A -[088h 0136 1] Bus : 00 -[089h 0137 1] Source : 0A -[08Ah 0138 4] Interrupt : 0000000A -[08Eh 0142 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[090h 0144 1] Subtable Type : 02 [Interrupt Source Override] -[091h 0145 1] Length : 0A -[092h 0146 1] Bus : 00 -[093h 0147 1] Source : 0B -[094h 0148 4] Interrupt : 0000000B -[098h 0152 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[09Ah 0154 1] Subtable Type : 04 [Local APIC NMI] -[09Bh 0155 1] Length : 06 -[09Ch 0156 1] Processor ID : FF -[09Dh 0157 2] Flags (decoded below) : 0000 - Polarity : 0 - Trigger Mode : 0 -[09Fh 0159 1] Interrupt Input LINT : 01 - -Raw Table Data: Length 160 (0xA0) - - 0000: 41 50 49 43 A0 00 00 00 01 7B 42 4F 43 48 53 20 // APIC.....{BOCHS - 0010: 42 58 50 43 41 50 49 43 01 00 00 00 42 58 50 43 // BXPCAPIC....BXPC - 0020: 01 00 00 00 00 00 E0 FE 01 00 00 00 00 08 00 00 // ................ - 0030: 01 00 00 00 00 08 01 01 01 00 00 00 00 08 02 02 // ................ - 0040: 00 00 00 00 00 08 03 04 00 00 00 00 00 08 04 05 // ................ - 0050: 00 00 00 00 00 08 05 06 00 00 00 00 01 0C 00 00 // ................ - 0060: 00 00 C0 FE 00 00 00 00 02 0A 00 00 02 00 00 00 // ................ - 0070: 00 00 02 0A 00 05 05 00 00 00 0D 00 02 0A 00 09 // ................ - 0080: 09 00 00 00 0D 00 02 0A 00 0A 0A 00 00 00 0D 00 // ................ - 0090: 02 0A 00 0B 0B 00 00 00 0D 00 04 06 FF 00 00 01 // ................ diff --git a/tests/data/acpi/pc/APIC.dimmpxm.dsl b/tests/data/acpi/pc/APIC.dimmpxm.dsl deleted file mode 100644 index adabdcc603..0000000000 --- a/tests/data/acpi/pc/APIC.dimmpxm.dsl +++ /dev/null @@ -1,129 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/pc/APIC.dimmpxm, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [APIC] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "APIC" [Multiple APIC Description Table (MADT)] -[004h 0004 4] Table Length : 00000090 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : AE -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCAPIC" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Local Apic Address : FEE00000 -[028h 0040 4] Flags (decoded below) : 00000001 - PC-AT Compatibility : 1 - -[02Ch 0044 1] Subtable Type : 00 [Processor Local APIC] -[02Dh 0045 1] Length : 08 -[02Eh 0046 1] Processor ID : 00 -[02Fh 0047 1] Local Apic ID : 00 -[030h 0048 4] Flags (decoded below) : 00000001 - Processor Enabled : 1 - Runtime Online Capable : 0 - -[034h 0052 1] Subtable Type : 00 [Processor Local APIC] -[035h 0053 1] Length : 08 -[036h 0054 1] Processor ID : 01 -[037h 0055 1] Local Apic ID : 01 -[038h 0056 4] Flags (decoded below) : 00000001 - Processor Enabled : 1 - Runtime Online Capable : 0 - -[03Ch 0060 1] Subtable Type : 00 [Processor Local APIC] -[03Dh 0061 1] Length : 08 -[03Eh 0062 1] Processor ID : 02 -[03Fh 0063 1] Local Apic ID : 02 -[040h 0064 4] Flags (decoded below) : 00000001 - Processor Enabled : 1 - Runtime Online Capable : 0 - -[044h 0068 1] Subtable Type : 00 [Processor Local APIC] -[045h 0069 1] Length : 08 -[046h 0070 1] Processor ID : 03 -[047h 0071 1] Local Apic ID : 03 -[048h 0072 4] Flags (decoded below) : 00000001 - Processor Enabled : 1 - Runtime Online Capable : 0 - -[04Ch 0076 1] Subtable Type : 01 [I/O APIC] -[04Dh 0077 1] Length : 0C -[04Eh 0078 1] I/O Apic ID : 00 -[04Fh 0079 1] Reserved : 00 -[050h 0080 4] Address : FEC00000 -[054h 0084 4] Interrupt : 00000000 - -[058h 0088 1] Subtable Type : 02 [Interrupt Source Override] -[059h 0089 1] Length : 0A -[05Ah 0090 1] Bus : 00 -[05Bh 0091 1] Source : 00 -[05Ch 0092 4] Interrupt : 00000002 -[060h 0096 2] Flags (decoded below) : 0000 - Polarity : 0 - Trigger Mode : 0 - -[062h 0098 1] Subtable Type : 02 [Interrupt Source Override] -[063h 0099 1] Length : 0A -[064h 0100 1] Bus : 00 -[065h 0101 1] Source : 05 -[066h 0102 4] Interrupt : 00000005 -[06Ah 0106 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[06Ch 0108 1] Subtable Type : 02 [Interrupt Source Override] -[06Dh 0109 1] Length : 0A -[06Eh 0110 1] Bus : 00 -[06Fh 0111 1] Source : 09 -[070h 0112 4] Interrupt : 00000009 -[074h 0116 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[076h 0118 1] Subtable Type : 02 [Interrupt Source Override] -[077h 0119 1] Length : 0A -[078h 0120 1] Bus : 00 -[079h 0121 1] Source : 0A -[07Ah 0122 4] Interrupt : 0000000A -[07Eh 0126 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[080h 0128 1] Subtable Type : 02 [Interrupt Source Override] -[081h 0129 1] Length : 0A -[082h 0130 1] Bus : 00 -[083h 0131 1] Source : 0B -[084h 0132 4] Interrupt : 0000000B -[088h 0136 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[08Ah 0138 1] Subtable Type : 04 [Local APIC NMI] -[08Bh 0139 1] Length : 06 -[08Ch 0140 1] Processor ID : FF -[08Dh 0141 2] Flags (decoded below) : 0000 - Polarity : 0 - Trigger Mode : 0 -[08Fh 0143 1] Interrupt Input LINT : 01 - -Raw Table Data: Length 144 (0x90) - - 0000: 41 50 49 43 90 00 00 00 01 AE 42 4F 43 48 53 20 // APIC......BOCHS - 0010: 42 58 50 43 41 50 49 43 01 00 00 00 42 58 50 43 // BXPCAPIC....BXPC - 0020: 01 00 00 00 00 00 E0 FE 01 00 00 00 00 08 00 00 // ................ - 0030: 01 00 00 00 00 08 01 01 01 00 00 00 00 08 02 02 // ................ - 0040: 01 00 00 00 00 08 03 03 01 00 00 00 01 0C 00 00 // ................ - 0050: 00 00 C0 FE 00 00 00 00 02 0A 00 00 02 00 00 00 // ................ - 0060: 00 00 02 0A 00 05 05 00 00 00 0D 00 02 0A 00 09 // ................ - 0070: 09 00 00 00 0D 00 02 0A 00 0A 0A 00 00 00 0D 00 // ................ - 0080: 02 0A 00 0B 0B 00 00 00 0D 00 04 06 FF 00 00 01 // ................ diff --git a/tests/data/acpi/pc/APIC.dsl b/tests/data/acpi/pc/APIC.dsl deleted file mode 100644 index d9516fc1f2..0000000000 --- a/tests/data/acpi/pc/APIC.dsl +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/pc/APIC.roothp, Mon Sep 28 17:24:38 2020 - * - * ACPI Data Table [APIC] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "APIC" [Multiple APIC Description Table (MADT)] -[004h 0004 4] Table Length : 00000078 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : ED -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCAPIC" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Local Apic Address : FEE00000 -[028h 0040 4] Flags (decoded below) : 00000001 - PC-AT Compatibility : 1 - -[02Ch 0044 1] Subtable Type : 00 [Processor Local APIC] -[02Dh 0045 1] Length : 08 -[02Eh 0046 1] Processor ID : 00 -[02Fh 0047 1] Local Apic ID : 00 -[030h 0048 4] Flags (decoded below) : 00000001 - Processor Enabled : 1 - Runtime Online Capable : 0 - -[034h 0052 1] Subtable Type : 01 [I/O APIC] -[035h 0053 1] Length : 0C -[036h 0054 1] I/O Apic ID : 00 -[037h 0055 1] Reserved : 00 -[038h 0056 4] Address : FEC00000 -[03Ch 0060 4] Interrupt : 00000000 - -[040h 0064 1] Subtable Type : 02 [Interrupt Source Override] -[041h 0065 1] Length : 0A -[042h 0066 1] Bus : 00 -[043h 0067 1] Source : 00 -[044h 0068 4] Interrupt : 00000002 -[048h 0072 2] Flags (decoded below) : 0000 - Polarity : 0 - Trigger Mode : 0 - -[04Ah 0074 1] Subtable Type : 02 [Interrupt Source Override] -[04Bh 0075 1] Length : 0A -[04Ch 0076 1] Bus : 00 -[04Dh 0077 1] Source : 05 -[04Eh 0078 4] Interrupt : 00000005 -[052h 0082 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[054h 0084 1] Subtable Type : 02 [Interrupt Source Override] -[055h 0085 1] Length : 0A -[056h 0086 1] Bus : 00 -[057h 0087 1] Source : 09 -[058h 0088 4] Interrupt : 00000009 -[05Ch 0092 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[05Eh 0094 1] Subtable Type : 02 [Interrupt Source Override] -[05Fh 0095 1] Length : 0A -[060h 0096 1] Bus : 00 -[061h 0097 1] Source : 0A -[062h 0098 4] Interrupt : 0000000A -[066h 0102 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[068h 0104 1] Subtable Type : 02 [Interrupt Source Override] -[069h 0105 1] Length : 0A -[06Ah 0106 1] Bus : 00 -[06Bh 0107 1] Source : 0B -[06Ch 0108 4] Interrupt : 0000000B -[070h 0112 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[072h 0114 1] Subtable Type : 04 [Local APIC NMI] -[073h 0115 1] Length : 06 -[074h 0116 1] Processor ID : FF -[075h 0117 2] Flags (decoded below) : 0000 - Polarity : 0 - Trigger Mode : 0 -[077h 0119 1] Interrupt Input LINT : 01 - -Raw Table Data: Length 120 (0x78) - - 0000: 41 50 49 43 78 00 00 00 01 ED 42 4F 43 48 53 20 // APICx.....BOCHS - 0010: 42 58 50 43 41 50 49 43 01 00 00 00 42 58 50 43 // BXPCAPIC....BXPC - 0020: 01 00 00 00 00 00 E0 FE 01 00 00 00 00 08 00 00 // ................ - 0030: 01 00 00 00 01 0C 00 00 00 00 C0 FE 00 00 00 00 // ................ - 0040: 02 0A 00 00 02 00 00 00 00 00 02 0A 00 05 05 00 // ................ - 0050: 00 00 0D 00 02 0A 00 09 09 00 00 00 0D 00 02 0A // ................ - 0060: 00 0A 0A 00 00 00 0D 00 02 0A 00 0B 0B 00 00 00 // ................ - 0070: 0D 00 04 06 FF 00 00 01 // ........ diff --git a/tests/data/acpi/pc/APIC.hpbridge b/tests/data/acpi/pc/APIC.hpbridge deleted file mode 100644 index 84509e0ae4cabeb5ead3e42a4edfa50abddbc17d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 120 zcmXxa!3}^Q5CzeJh!M~pYz4T;NfIxXVtJNg1Ga!>Nx1C1{A?&WU4VMyp0;C+XGx*t lqyVuLp4vKrRL!#8RjziR+mCh_11utIyPWItzG)agP(M8=4FLcE diff --git a/tests/data/acpi/pc/APIC.ipmikcs b/tests/data/acpi/pc/APIC.ipmikcs deleted file mode 100644 index 84509e0ae4cabeb5ead3e42a4edfa50abddbc17d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 120 zcmXxa!3}^Q5CzeJh!M~pYz4T;NfIxXVtJNg1Ga!>Nx1C1{A?&WU4VMyp0;C+XGx*t lqyVuLp4vKrRL!#8RjziR+mCh_11utIyPWItzG)agP(M8=4FLcE diff --git a/tests/data/acpi/pc/APIC.ipmikcs.dsl b/tests/data/acpi/pc/APIC.ipmikcs.dsl deleted file mode 100644 index 28198bed68..0000000000 --- a/tests/data/acpi/pc/APIC.ipmikcs.dsl +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/pc/APIC.ipmikcs, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [APIC] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "APIC" [Multiple APIC Description Table (MADT)] -[004h 0004 4] Table Length : 00000078 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : ED -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCAPIC" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Local Apic Address : FEE00000 -[028h 0040 4] Flags (decoded below) : 00000001 - PC-AT Compatibility : 1 - -[02Ch 0044 1] Subtable Type : 00 [Processor Local APIC] -[02Dh 0045 1] Length : 08 -[02Eh 0046 1] Processor ID : 00 -[02Fh 0047 1] Local Apic ID : 00 -[030h 0048 4] Flags (decoded below) : 00000001 - Processor Enabled : 1 - Runtime Online Capable : 0 - -[034h 0052 1] Subtable Type : 01 [I/O APIC] -[035h 0053 1] Length : 0C -[036h 0054 1] I/O Apic ID : 00 -[037h 0055 1] Reserved : 00 -[038h 0056 4] Address : FEC00000 -[03Ch 0060 4] Interrupt : 00000000 - -[040h 0064 1] Subtable Type : 02 [Interrupt Source Override] -[041h 0065 1] Length : 0A -[042h 0066 1] Bus : 00 -[043h 0067 1] Source : 00 -[044h 0068 4] Interrupt : 00000002 -[048h 0072 2] Flags (decoded below) : 0000 - Polarity : 0 - Trigger Mode : 0 - -[04Ah 0074 1] Subtable Type : 02 [Interrupt Source Override] -[04Bh 0075 1] Length : 0A -[04Ch 0076 1] Bus : 00 -[04Dh 0077 1] Source : 05 -[04Eh 0078 4] Interrupt : 00000005 -[052h 0082 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[054h 0084 1] Subtable Type : 02 [Interrupt Source Override] -[055h 0085 1] Length : 0A -[056h 0086 1] Bus : 00 -[057h 0087 1] Source : 09 -[058h 0088 4] Interrupt : 00000009 -[05Ch 0092 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[05Eh 0094 1] Subtable Type : 02 [Interrupt Source Override] -[05Fh 0095 1] Length : 0A -[060h 0096 1] Bus : 00 -[061h 0097 1] Source : 0A -[062h 0098 4] Interrupt : 0000000A -[066h 0102 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[068h 0104 1] Subtable Type : 02 [Interrupt Source Override] -[069h 0105 1] Length : 0A -[06Ah 0106 1] Bus : 00 -[06Bh 0107 1] Source : 0B -[06Ch 0108 4] Interrupt : 0000000B -[070h 0112 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[072h 0114 1] Subtable Type : 04 [Local APIC NMI] -[073h 0115 1] Length : 06 -[074h 0116 1] Processor ID : FF -[075h 0117 2] Flags (decoded below) : 0000 - Polarity : 0 - Trigger Mode : 0 -[077h 0119 1] Interrupt Input LINT : 01 - -Raw Table Data: Length 120 (0x78) - - 0000: 41 50 49 43 78 00 00 00 01 ED 42 4F 43 48 53 20 // APICx.....BOCHS - 0010: 42 58 50 43 41 50 49 43 01 00 00 00 42 58 50 43 // BXPCAPIC....BXPC - 0020: 01 00 00 00 00 00 E0 FE 01 00 00 00 00 08 00 00 // ................ - 0030: 01 00 00 00 01 0C 00 00 00 00 C0 FE 00 00 00 00 // ................ - 0040: 02 0A 00 00 02 00 00 00 00 00 02 0A 00 05 05 00 // ................ - 0050: 00 00 0D 00 02 0A 00 09 09 00 00 00 0D 00 02 0A // ................ - 0060: 00 0A 0A 00 00 00 0D 00 02 0A 00 0B 0B 00 00 00 // ................ - 0070: 0D 00 04 06 FF 00 00 01 // ........ diff --git a/tests/data/acpi/pc/APIC.memhp b/tests/data/acpi/pc/APIC.memhp deleted file mode 100644 index 84509e0ae4cabeb5ead3e42a4edfa50abddbc17d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 120 zcmXxa!3}^Q5CzeJh!M~pYz4T;NfIxXVtJNg1Ga!>Nx1C1{A?&WU4VMyp0;C+XGx*t lqyVuLp4vKrRL!#8RjziR+mCh_11utIyPWItzG)agP(M8=4FLcE diff --git a/tests/data/acpi/pc/APIC.memhp.dsl b/tests/data/acpi/pc/APIC.memhp.dsl deleted file mode 100644 index b8449c0bde..0000000000 --- a/tests/data/acpi/pc/APIC.memhp.dsl +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/pc/APIC.memhp, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [APIC] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "APIC" [Multiple APIC Description Table (MADT)] -[004h 0004 4] Table Length : 00000078 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : ED -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCAPIC" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Local Apic Address : FEE00000 -[028h 0040 4] Flags (decoded below) : 00000001 - PC-AT Compatibility : 1 - -[02Ch 0044 1] Subtable Type : 00 [Processor Local APIC] -[02Dh 0045 1] Length : 08 -[02Eh 0046 1] Processor ID : 00 -[02Fh 0047 1] Local Apic ID : 00 -[030h 0048 4] Flags (decoded below) : 00000001 - Processor Enabled : 1 - Runtime Online Capable : 0 - -[034h 0052 1] Subtable Type : 01 [I/O APIC] -[035h 0053 1] Length : 0C -[036h 0054 1] I/O Apic ID : 00 -[037h 0055 1] Reserved : 00 -[038h 0056 4] Address : FEC00000 -[03Ch 0060 4] Interrupt : 00000000 - -[040h 0064 1] Subtable Type : 02 [Interrupt Source Override] -[041h 0065 1] Length : 0A -[042h 0066 1] Bus : 00 -[043h 0067 1] Source : 00 -[044h 0068 4] Interrupt : 00000002 -[048h 0072 2] Flags (decoded below) : 0000 - Polarity : 0 - Trigger Mode : 0 - -[04Ah 0074 1] Subtable Type : 02 [Interrupt Source Override] -[04Bh 0075 1] Length : 0A -[04Ch 0076 1] Bus : 00 -[04Dh 0077 1] Source : 05 -[04Eh 0078 4] Interrupt : 00000005 -[052h 0082 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[054h 0084 1] Subtable Type : 02 [Interrupt Source Override] -[055h 0085 1] Length : 0A -[056h 0086 1] Bus : 00 -[057h 0087 1] Source : 09 -[058h 0088 4] Interrupt : 00000009 -[05Ch 0092 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[05Eh 0094 1] Subtable Type : 02 [Interrupt Source Override] -[05Fh 0095 1] Length : 0A -[060h 0096 1] Bus : 00 -[061h 0097 1] Source : 0A -[062h 0098 4] Interrupt : 0000000A -[066h 0102 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[068h 0104 1] Subtable Type : 02 [Interrupt Source Override] -[069h 0105 1] Length : 0A -[06Ah 0106 1] Bus : 00 -[06Bh 0107 1] Source : 0B -[06Ch 0108 4] Interrupt : 0000000B -[070h 0112 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[072h 0114 1] Subtable Type : 04 [Local APIC NMI] -[073h 0115 1] Length : 06 -[074h 0116 1] Processor ID : FF -[075h 0117 2] Flags (decoded below) : 0000 - Polarity : 0 - Trigger Mode : 0 -[077h 0119 1] Interrupt Input LINT : 01 - -Raw Table Data: Length 120 (0x78) - - 0000: 41 50 49 43 78 00 00 00 01 ED 42 4F 43 48 53 20 // APICx.....BOCHS - 0010: 42 58 50 43 41 50 49 43 01 00 00 00 42 58 50 43 // BXPCAPIC....BXPC - 0020: 01 00 00 00 00 00 E0 FE 01 00 00 00 00 08 00 00 // ................ - 0030: 01 00 00 00 01 0C 00 00 00 00 C0 FE 00 00 00 00 // ................ - 0040: 02 0A 00 00 02 00 00 00 00 00 02 0A 00 05 05 00 // ................ - 0050: 00 00 0D 00 02 0A 00 09 09 00 00 00 0D 00 02 0A // ................ - 0060: 00 0A 0A 00 00 00 0D 00 02 0A 00 0B 0B 00 00 00 // ................ - 0070: 0D 00 04 06 FF 00 00 01 // ........ diff --git a/tests/data/acpi/pc/APIC.numamem b/tests/data/acpi/pc/APIC.numamem deleted file mode 100644 index 84509e0ae4cabeb5ead3e42a4edfa50abddbc17d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 120 zcmXxa!3}^Q5CzeJh!M~pYz4T;NfIxXVtJNg1Ga!>Nx1C1{A?&WU4VMyp0;C+XGx*t lqyVuLp4vKrRL!#8RjziR+mCh_11utIyPWItzG)agP(M8=4FLcE diff --git a/tests/data/acpi/pc/APIC.numamem.dsl b/tests/data/acpi/pc/APIC.numamem.dsl deleted file mode 100644 index d75e4283d1..0000000000 --- a/tests/data/acpi/pc/APIC.numamem.dsl +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/pc/APIC.numamem, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [APIC] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "APIC" [Multiple APIC Description Table (MADT)] -[004h 0004 4] Table Length : 00000078 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : ED -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCAPIC" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Local Apic Address : FEE00000 -[028h 0040 4] Flags (decoded below) : 00000001 - PC-AT Compatibility : 1 - -[02Ch 0044 1] Subtable Type : 00 [Processor Local APIC] -[02Dh 0045 1] Length : 08 -[02Eh 0046 1] Processor ID : 00 -[02Fh 0047 1] Local Apic ID : 00 -[030h 0048 4] Flags (decoded below) : 00000001 - Processor Enabled : 1 - Runtime Online Capable : 0 - -[034h 0052 1] Subtable Type : 01 [I/O APIC] -[035h 0053 1] Length : 0C -[036h 0054 1] I/O Apic ID : 00 -[037h 0055 1] Reserved : 00 -[038h 0056 4] Address : FEC00000 -[03Ch 0060 4] Interrupt : 00000000 - -[040h 0064 1] Subtable Type : 02 [Interrupt Source Override] -[041h 0065 1] Length : 0A -[042h 0066 1] Bus : 00 -[043h 0067 1] Source : 00 -[044h 0068 4] Interrupt : 00000002 -[048h 0072 2] Flags (decoded below) : 0000 - Polarity : 0 - Trigger Mode : 0 - -[04Ah 0074 1] Subtable Type : 02 [Interrupt Source Override] -[04Bh 0075 1] Length : 0A -[04Ch 0076 1] Bus : 00 -[04Dh 0077 1] Source : 05 -[04Eh 0078 4] Interrupt : 00000005 -[052h 0082 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[054h 0084 1] Subtable Type : 02 [Interrupt Source Override] -[055h 0085 1] Length : 0A -[056h 0086 1] Bus : 00 -[057h 0087 1] Source : 09 -[058h 0088 4] Interrupt : 00000009 -[05Ch 0092 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[05Eh 0094 1] Subtable Type : 02 [Interrupt Source Override] -[05Fh 0095 1] Length : 0A -[060h 0096 1] Bus : 00 -[061h 0097 1] Source : 0A -[062h 0098 4] Interrupt : 0000000A -[066h 0102 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[068h 0104 1] Subtable Type : 02 [Interrupt Source Override] -[069h 0105 1] Length : 0A -[06Ah 0106 1] Bus : 00 -[06Bh 0107 1] Source : 0B -[06Ch 0108 4] Interrupt : 0000000B -[070h 0112 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[072h 0114 1] Subtable Type : 04 [Local APIC NMI] -[073h 0115 1] Length : 06 -[074h 0116 1] Processor ID : FF -[075h 0117 2] Flags (decoded below) : 0000 - Polarity : 0 - Trigger Mode : 0 -[077h 0119 1] Interrupt Input LINT : 01 - -Raw Table Data: Length 120 (0x78) - - 0000: 41 50 49 43 78 00 00 00 01 ED 42 4F 43 48 53 20 // APICx.....BOCHS - 0010: 42 58 50 43 41 50 49 43 01 00 00 00 42 58 50 43 // BXPCAPIC....BXPC - 0020: 01 00 00 00 00 00 E0 FE 01 00 00 00 00 08 00 00 // ................ - 0030: 01 00 00 00 01 0C 00 00 00 00 C0 FE 00 00 00 00 // ................ - 0040: 02 0A 00 00 02 00 00 00 00 00 02 0A 00 05 05 00 // ................ - 0050: 00 00 0D 00 02 0A 00 09 09 00 00 00 0D 00 02 0A // ................ - 0060: 00 0A 0A 00 00 00 0D 00 02 0A 00 0B 0B 00 00 00 // ................ - 0070: 0D 00 04 06 FF 00 00 01 // ........ diff --git a/tests/data/acpi/pc/APIC.roothp b/tests/data/acpi/pc/APIC.roothp deleted file mode 100644 index 84509e0ae4cabeb5ead3e42a4edfa50abddbc17d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 120 zcmXxa!3}^Q5CzeJh!M~pYz4T;NfIxXVtJNg1Ga!>Nx1C1{A?&WU4VMyp0;C+XGx*t lqyVuLp4vKrRL!#8RjziR+mCh_11utIyPWItzG)agP(M8=4FLcE diff --git a/tests/data/acpi/pc/DSDT.acpihmat.dsl b/tests/data/acpi/pc/DSDT.acpihmat.dsl deleted file mode 100644 index b2a4b1bd7f..0000000000 --- a/tests/data/acpi/pc/DSDT.acpihmat.dsl +++ /dev/null @@ -1,1619 +0,0 @@ -/* - * 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.acpihmat, Tue Aug 4 11:14:15 2020 - * - * Original Table Header: - * Signature "DSDT" - * Length 0x00001872 (6258) - * Revision 0x01 **** 32-bit table (V1), no 64-bit math support - * Checksum 0x8E - * 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 - } - - Method (DBUG, 1, NotSerialized) - { - ToHexString (Arg0, Local0) - ToBuffer (Local0, Local0) - Local1 = (SizeOf (Local0) - One) - Local2 = Zero - While ((Local2 < Local1)) - { - DBGB = DerefOf (Local0 [Local2]) - Local2++ - } - - DBGB = 0x0A - } - } - - Scope (_SB) - { - Device (PCI0) - { - Name (_HID, EisaId ("PNP0A03") /* PCI Bus */) // _HID: Hardware ID - Name (_ADR, Zero) // _ADR: Address - Name (_UID, Zero) // _UID: Unique ID - } - } - - Scope (_SB) - { - Device (HPET) - { - Name (_HID, EisaId ("PNP0103") /* HPET System Timer */) // _HID: Hardware ID - Name (_UID, Zero) // _UID: Unique ID - OperationRegion (HPTM, SystemMemory, 0xFED00000, 0x0400) - Field (HPTM, DWordAcc, Lock, Preserve) - { - VEND, 32, - PRD, 32 - } - - Method (_STA, 0, NotSerialized) // _STA: Status - { - Local0 = VEND /* \_SB_.HPET.VEND */ - Local1 = PRD /* \_SB_.HPET.PRD_ */ - Local0 >>= 0x10 - If (((Local0 == Zero) || (Local0 == 0xFFFF))) - { - Return (Zero) - } - - If (((Local1 == Zero) || (Local1 > 0x05F5E100))) - { - Return (Zero) - } - - Return (0x0F) - } - - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadOnly, - 0xFED00000, // Address Base - 0x00000400, // Address Length - ) - }) - } - } - - Scope (_SB.PCI0) - { - Device (ISA) - { - Name (_ADR, 0x00010000) // _ADR: Address - OperationRegion (P40C, PCI_Config, 0x60, 0x04) - } - } - - Scope (_SB.PCI0.ISA) - { - Device (KBD) - { - Name (_HID, EisaId ("PNP0303") /* IBM Enhanced Keyboard (101/102-key, PS/2 Mouse) */) // _HID: Hardware ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0060, // Range Minimum - 0x0060, // Range Maximum - 0x01, // Alignment - 0x01, // Length - ) - IO (Decode16, - 0x0064, // Range Minimum - 0x0064, // Range Maximum - 0x01, // Alignment - 0x01, // Length - ) - IRQNoFlags () - {1} - }) - } - - Device (MOU) - { - Name (_HID, EisaId ("PNP0F13") /* PS/2 Mouse */) // _HID: Hardware ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IRQNoFlags () - {12} - }) - } - - Device (FDC0) - { - Name (_HID, EisaId ("PNP0700")) // _HID: Hardware ID - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x03F2, // Range Minimum - 0x03F2, // Range Maximum - 0x00, // Alignment - 0x04, // Length - ) - IO (Decode16, - 0x03F7, // Range Minimum - 0x03F7, // Range Maximum - 0x00, // Alignment - 0x01, // Length - ) - IRQNoFlags () - {6} - DMA (Compatibility, NotBusMaster, Transfer8, ) - {2} - }) - Device (FLPA) - { - Name (_ADR, Zero) // _ADR: Address - Name (_FDI, Package (0x10) // _FDI: Floppy Drive Information - { - Zero, - 0x05, - 0x4F, - 0x30, - One, - 0xAF, - 0x02, - 0x25, - 0x02, - 0x12, - 0x1B, - 0xFF, - 0x6C, - 0xF6, - 0x0F, - 0x08 - }) - } - - Name (_FDE, Buffer (0x14) // _FDE: Floppy Disk Enumerate - { - /* 0000 */ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ - /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ - /* 0010 */ 0x02, 0x00, 0x00, 0x00 // .... - }) - } - - Device (LPT1) - { - Name (_HID, EisaId ("PNP0400") /* Standard LPT Parallel Port */) // _HID: Hardware ID - Name (_UID, One) // _UID: Unique ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0378, // Range Minimum - 0x0378, // Range Maximum - 0x08, // Alignment - 0x08, // Length - ) - IRQNoFlags () - {7} - }) - } - - Device (COM1) - { - Name (_HID, EisaId ("PNP0501") /* 16550A-compatible COM Serial Port */) // _HID: Hardware ID - Name (_UID, One) // _UID: Unique ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x03F8, // Range Minimum - 0x03F8, // Range Maximum - 0x00, // Alignment - 0x08, // Length - ) - IRQNoFlags () - {4} - }) - } - - Device (RTC) - { - 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) - { - Zero, - Zero, - LNKD, - Zero - } - } - - If ((Local3 == One)) - { - If ((Local1 == 0x04)) - { - Local4 = Package (0x04) - { - Zero, - Zero, - LNKS, - Zero - } - } - Else - { - Local4 = Package (0x04) - { - Zero, - Zero, - LNKA, - Zero - } - } - } - - If ((Local3 == 0x02)) - { - Local4 = Package (0x04) - { - Zero, - Zero, - LNKB, - Zero - } - } - - If ((Local3 == 0x03)) - { - Local4 = Package (0x04) - { - Zero, - Zero, - LNKC, - Zero - } - } - - Local4 [Zero] = ((Local2 << 0x10) | 0xFFFF) - Local4 [One] = (Local1 & 0x03) - Local0 [Local1] = Local4 - Local1++ - } - - Return (Local0) - } - } - - Field (PCI0.ISA.P40C, ByteAcc, NoLock, Preserve) - { - PRQ0, 8, - PRQ1, 8, - PRQ2, 8, - PRQ3, 8 - } - - Method (IQST, 1, NotSerialized) - { - If ((0x80 & Arg0)) - { - Return (0x09) - } - - Return (0x0B) - } - - Method (IQCR, 1, Serialized) - { - Name (PRR0, ResourceTemplate () - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, _Y00) - { - 0x00000000, - } - }) - CreateDWordField (PRR0, \_SB.IQCR._Y00._INT, PRRI) // _INT: Interrupts - If ((Arg0 < 0x80)) - { - PRRI = Arg0 - } - - Return (PRR0) /* \_SB_.IQCR.PRR0 */ - } - - Device (LNKA) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, Zero) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQ0)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQ0 |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQ0)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQ0 = PRRI /* \_SB_.LNKA._SRS.PRRI */ - } - } - - Device (LNKB) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, One) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQ1)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQ1 |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQ1)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQ1 = PRRI /* \_SB_.LNKB._SRS.PRRI */ - } - } - - Device (LNKC) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x02) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQ2)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQ2 |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQ2)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQ2 = PRRI /* \_SB_.LNKC._SRS.PRRI */ - } - } - - Device (LNKD) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x03) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQ3)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQ3 |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQ3)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQ3 = PRRI /* \_SB_.LNKD._SRS.PRRI */ - } - } - - Device (LNKS) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x04) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000009, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (0x0B) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (_PRS) /* \_SB_.LNKS._PRS */ - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - } - - Scope (_SB) - { - Device (\_SB.PCI0.PRES) - { - Name (_HID, EisaId ("PNP0A06") /* Generic Container Device */) // _HID: Hardware ID - Name (_UID, "CPU Hotplug resources") // _UID: Unique ID - Mutex (CPLK, 0x00) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0xAF00, // Range Minimum - 0xAF00, // Range Maximum - 0x01, // Alignment - 0x0C, // Length - ) - }) - OperationRegion (PRST, SystemIO, 0xAF00, 0x0C) - Field (PRST, ByteAcc, NoLock, WriteAsZeros) - { - Offset (0x04), - CPEN, 1, - CINS, 1, - CRMV, 1, - CEJ0, 1, - Offset (0x05), - CCMD, 8 - } - - Field (PRST, DWordAcc, NoLock, Preserve) - { - CSEL, 32, - Offset (0x08), - CDAT, 32 - } - - Method (_INI, 0, Serialized) // _INI: Initialize - { - CSEL = Zero - } - } - - Device (\_SB.CPUS) - { - Name (_HID, "ACPI0010" /* Processor Container Device */) // _HID: Hardware ID - Name (_CID, EisaId ("PNP0A05") /* Generic Container Device */) // _CID: Compatible ID - Method (CTFY, 2, NotSerialized) - { - If ((Arg0 == Zero)) - { - Notify (C000, Arg1) - } - - If ((Arg0 == One)) - { - Notify (C001, Arg1) - } - } - - Method (CSTA, 1, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - \_SB.PCI0.PRES.CSEL = Arg0 - Local0 = Zero - If ((\_SB.PCI0.PRES.CPEN == One)) - { - Local0 = 0x0F - } - - Release (\_SB.PCI0.PRES.CPLK) - Return (Local0) - } - - Method (CEJ0, 1, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - \_SB.PCI0.PRES.CSEL = Arg0 - \_SB.PCI0.PRES.CEJ0 = One - Release (\_SB.PCI0.PRES.CPLK) - } - - Method (CSCN, 0, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - Local0 = One - While ((Local0 == One)) - { - Local0 = Zero - \_SB.PCI0.PRES.CCMD = Zero - If ((\_SB.PCI0.PRES.CINS == One)) - { - CTFY (\_SB.PCI0.PRES.CDAT, One) - \_SB.PCI0.PRES.CINS = One - Local0 = One - } - ElseIf ((\_SB.PCI0.PRES.CRMV == One)) - { - CTFY (\_SB.PCI0.PRES.CDAT, 0x03) - \_SB.PCI0.PRES.CRMV = One - Local0 = One - } - } - - Release (\_SB.PCI0.PRES.CPLK) - } - - Method (COST, 4, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - \_SB.PCI0.PRES.CSEL = Arg0 - \_SB.PCI0.PRES.CCMD = One - \_SB.PCI0.PRES.CDAT = Arg1 - \_SB.PCI0.PRES.CCMD = 0x02 - \_SB.PCI0.PRES.CDAT = Arg2 - Release (\_SB.PCI0.PRES.CPLK) - } - - Processor (C000, 0x00, 0x00000000, 0x00) - { - Method (_STA, 0, Serialized) // _STA: Status - { - Return (CSTA (Zero)) - } - - Name (_MAT, Buffer (0x08) // _MAT: Multiple APIC Table Entry - { - 0x00, 0x08, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 // ........ - }) - Method (_OST, 3, Serialized) // _OST: OSPM Status Indication - { - COST (Zero, Arg0, Arg1, Arg2) - } - - Name (_PXM, Zero) // _PXM: Device Proximity - } - - Processor (C001, 0x01, 0x00000000, 0x00) - { - Method (_STA, 0, Serialized) // _STA: Status - { - Return (CSTA (One)) - } - - Name (_MAT, Buffer (0x08) // _MAT: Multiple APIC Table Entry - { - 0x00, 0x08, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00 // ........ - }) - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device, x=0-9 - { - CEJ0 (One) - } - - Method (_OST, 3, Serialized) // _OST: OSPM Status Indication - { - COST (One, Arg0, Arg1, Arg2) - } - - Name (_PXM, Zero) // _PXM: Device Proximity - } - } - } - - Method (\_GPE._E02, 0, NotSerialized) // _Exx: Edge-Triggered GPE, xx=0x00-0xFF - { - \_SB.CPUS.CSCN () - } - - Device (\_SB.PCI0.MHPD) - { - Name (_HID, "PNP0A06" /* Generic Container Device */) // _HID: Hardware ID - Name (_UID, "Memory hotplug resources") // _UID: Unique ID - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0A00, // Range Minimum - 0x0A00, // Range Maximum - 0x00, // Alignment - 0x18, // Length - ) - }) - OperationRegion (HPMR, SystemIO, 0x0A00, 0x18) - } - - Device (\_SB.MHPC) - { - Name (_HID, "PNP0A06" /* Generic Container Device */) // _HID: Hardware ID - Name (_UID, "DIMM devices") // _UID: Unique ID - Name (MDNR, 0x02) - Field (\_SB.PCI0.MHPD.HPMR, DWordAcc, NoLock, Preserve) - { - MRBL, 32, - MRBH, 32, - MRLL, 32, - MRLH, 32, - MPX, 32 - } - - Field (\_SB.PCI0.MHPD.HPMR, ByteAcc, NoLock, WriteAsZeros) - { - Offset (0x14), - MES, 1, - MINS, 1, - MRMV, 1, - MEJ, 1 - } - - Field (\_SB.PCI0.MHPD.HPMR, DWordAcc, NoLock, Preserve) - { - MSEL, 32, - MOEV, 32, - MOSC, 32 - } - - Method (_STA, 0, NotSerialized) // _STA: Status - { - If ((MDNR == Zero)) - { - Return (Zero) - } - - Return (0x0B) - } - - Mutex (MLCK, 0x00) - Method (MSCN, 0, NotSerialized) - { - If ((MDNR == Zero)) - { - Return (Zero) - } - - Local0 = Zero - Acquire (MLCK, 0xFFFF) - While ((Local0 < MDNR)) - { - MSEL = Local0 - If ((MINS == One)) - { - MTFY (Local0, One) - MINS = One - } - ElseIf ((MRMV == One)) - { - MTFY (Local0, 0x03) - MRMV = One - } - - Local0 += One - } - - Release (MLCK) - Return (One) - } - - Method (MRST, 1, NotSerialized) - { - Local0 = Zero - Acquire (MLCK, 0xFFFF) - MSEL = ToInteger (Arg0) - If ((MES == One)) - { - Local0 = 0x0F - } - - Release (MLCK) - Return (Local0) - } - - Method (MCRS, 1, Serialized) - { - Acquire (MLCK, 0xFFFF) - MSEL = ToInteger (Arg0) - Name (MR64, ResourceTemplate () - { - QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, - 0x0000000000000000, // Granularity - 0x0000000000000000, // Range Minimum - 0xFFFFFFFFFFFFFFFE, // Range Maximum - 0x0000000000000000, // Translation Offset - 0xFFFFFFFFFFFFFFFF, // Length - ,, _Y01, AddressRangeMemory, TypeStatic) - }) - CreateDWordField (MR64, \_SB.MHPC.MCRS._Y01._MIN, MINL) // _MIN: Minimum Base Address - CreateDWordField (MR64, 0x12, MINH) - CreateDWordField (MR64, \_SB.MHPC.MCRS._Y01._LEN, LENL) // _LEN: Length - CreateDWordField (MR64, 0x2A, LENH) - CreateDWordField (MR64, \_SB.MHPC.MCRS._Y01._MAX, MAXL) // _MAX: Maximum Base Address - CreateDWordField (MR64, 0x1A, MAXH) - MINH = MRBH /* \_SB_.MHPC.MRBH */ - MINL = MRBL /* \_SB_.MHPC.MRBL */ - LENH = MRLH /* \_SB_.MHPC.MRLH */ - LENL = MRLL /* \_SB_.MHPC.MRLL */ - MAXL = (MINL + LENL) /* \_SB_.MHPC.MCRS.LENL */ - MAXH = (MINH + LENH) /* \_SB_.MHPC.MCRS.LENH */ - If ((MAXL < MINL)) - { - MAXH += One - } - - If ((MAXL < One)) - { - MAXH -= One - } - - MAXL -= One - If ((MAXH == Zero)) - { - Name (MR32, ResourceTemplate () - { - DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, - 0x00000000, // Granularity - 0x00000000, // Range Minimum - 0xFFFFFFFE, // Range Maximum - 0x00000000, // Translation Offset - 0xFFFFFFFF, // Length - ,, _Y02, AddressRangeMemory, TypeStatic) - }) - CreateDWordField (MR32, \_SB.MHPC.MCRS._Y02._MIN, MIN) // _MIN: Minimum Base Address - CreateDWordField (MR32, \_SB.MHPC.MCRS._Y02._MAX, MAX) // _MAX: Maximum Base Address - CreateDWordField (MR32, \_SB.MHPC.MCRS._Y02._LEN, LEN) // _LEN: Length - MIN = MINL /* \_SB_.MHPC.MCRS.MINL */ - MAX = MAXL /* \_SB_.MHPC.MCRS.MAXL */ - LEN = LENL /* \_SB_.MHPC.MCRS.LENL */ - Release (MLCK) - Return (MR32) /* \_SB_.MHPC.MCRS.MR32 */ - } - - Release (MLCK) - Return (MR64) /* \_SB_.MHPC.MCRS.MR64 */ - } - - Method (MPXM, 1, NotSerialized) - { - Acquire (MLCK, 0xFFFF) - MSEL = ToInteger (Arg0) - Local0 = MPX /* \_SB_.MHPC.MPX_ */ - Release (MLCK) - Return (Local0) - } - - Method (MOST, 4, NotSerialized) - { - Acquire (MLCK, 0xFFFF) - MSEL = ToInteger (Arg0) - MOEV = Arg1 - MOSC = Arg2 - Release (MLCK) - } - - Method (MEJ0, 2, NotSerialized) - { - Acquire (MLCK, 0xFFFF) - MSEL = ToInteger (Arg0) - MEJ = One - Release (MLCK) - } - - Device (MP00) - { - Name (_UID, "0x00") // _UID: Unique ID - Name (_HID, EisaId ("PNP0C80") /* Memory Device */) // _HID: Hardware ID - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (MCRS (_UID)) - } - - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (MRST (_UID)) - } - - Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity - { - Return (MPXM (_UID)) - } - - Method (_OST, 3, NotSerialized) // _OST: OSPM Status Indication - { - MOST (_UID, Arg0, Arg1, Arg2) - } - - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device, x=0-9 - { - MEJ0 (_UID, Arg0) - } - } - - Device (MP01) - { - Name (_UID, "0x01") // _UID: Unique ID - Name (_HID, EisaId ("PNP0C80") /* Memory Device */) // _HID: Hardware ID - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (MCRS (_UID)) - } - - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (MRST (_UID)) - } - - Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity - { - Return (MPXM (_UID)) - } - - Method (_OST, 3, NotSerialized) // _OST: OSPM Status Indication - { - MOST (_UID, Arg0, Arg1, Arg2) - } - - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device, x=0-9 - { - MEJ0 (_UID, Arg0) - } - } - - Method (MTFY, 2, NotSerialized) - { - If ((Arg0 == Zero)) - { - Notify (MP00, Arg1) - } - - If ((Arg0 == One)) - { - Notify (MP01, Arg1) - } - } - } - - Method (\_GPE._E03, 0, NotSerialized) // _Exx: Edge-Triggered GPE, xx=0x00-0xFF - { - \_SB.MHPC.MSCN () - } - - 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) - { - 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 - 0x01, // Alignment - 0x08, // Length - ) - WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, - 0x0000, // Granularity - 0x0000, // Range Minimum - 0x0CF7, // Range Maximum - 0x0000, // Translation Offset - 0x0CF8, // Length - ,, , TypeStatic, DenseTranslation) - WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, - 0x0000, // Granularity - 0x0D00, // Range Minimum - 0xFFFF, // Range Maximum - 0x0000, // Translation Offset - 0xF300, // Length - ,, , TypeStatic, DenseTranslation) - DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, - 0x00000000, // Granularity - 0x000A0000, // Range Minimum - 0x000BFFFF, // Range Maximum - 0x00000000, // Translation Offset - 0x00020000, // Length - ,, , AddressRangeMemory, TypeStatic) - DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, - 0x00000000, // Granularity - 0x08000000, // Range Minimum - 0xFEBFFFFF, // Range Maximum - 0x00000000, // Translation Offset - 0xF6C00000, // Length - ,, , AddressRangeMemory, TypeStatic) - QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, - 0x0000000000000000, // Granularity - 0x00000001C0000000, // Range Minimum - 0x000000023FFFFFFF, // Range Maximum - 0x0000000000000000, // Translation Offset - 0x0000000080000000, // Length - ,, , AddressRangeMemory, TypeStatic) - }) - 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, - Zero - }) - Name (_S5, Package (0x04) // _S5_: S5 System State - { - Zero, - Zero, - Zero, - Zero - }) - } - - Scope (\_SB.PCI0) - { - Device (FWCF) - { - Name (_HID, "QEMU0002") // _HID: Hardware ID - Name (_STA, 0x0B) // _STA: Status - 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 (_SUN, 0x03) // _SUN: Slot User Number - Name (_ADR, 0x00030000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device, x=0-9 - { - PCEJ (BSEL, _SUN) - } - } - - 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 & 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 = Zero - DVNT (PCIU, One) - DVNT (PCID, 0x03) - } - } - } -} - diff --git a/tests/data/acpi/pc/DSDT.bridge.dsl b/tests/data/acpi/pc/DSDT.bridge.dsl deleted file mode 100644 index 3311b57ecb..0000000000 --- a/tests/data/acpi/pc/DSDT.bridge.dsl +++ /dev/null @@ -1,1800 +0,0 @@ -/* - * 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.bridge, Tue Aug 4 11:14:15 2020 - * - * Original Table Header: - * Signature "DSDT" - * Length 0x00001A89 (6793) - * Revision 0x01 **** 32-bit table (V1), no 64-bit math support - * Checksum 0x09 - * 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 - } - - Method (DBUG, 1, NotSerialized) - { - ToHexString (Arg0, Local0) - ToBuffer (Local0, Local0) - Local1 = (SizeOf (Local0) - One) - Local2 = Zero - While ((Local2 < Local1)) - { - DBGB = DerefOf (Local0 [Local2]) - Local2++ - } - - DBGB = 0x0A - } - } - - Scope (_SB) - { - Device (PCI0) - { - Name (_HID, EisaId ("PNP0A03") /* PCI Bus */) // _HID: Hardware ID - Name (_ADR, Zero) // _ADR: Address - Name (_UID, Zero) // _UID: Unique ID - } - } - - Scope (_SB) - { - Device (HPET) - { - Name (_HID, EisaId ("PNP0103") /* HPET System Timer */) // _HID: Hardware ID - Name (_UID, Zero) // _UID: Unique ID - OperationRegion (HPTM, SystemMemory, 0xFED00000, 0x0400) - Field (HPTM, DWordAcc, Lock, Preserve) - { - VEND, 32, - PRD, 32 - } - - Method (_STA, 0, NotSerialized) // _STA: Status - { - Local0 = VEND /* \_SB_.HPET.VEND */ - Local1 = PRD /* \_SB_.HPET.PRD_ */ - Local0 >>= 0x10 - If (((Local0 == Zero) || (Local0 == 0xFFFF))) - { - Return (Zero) - } - - If (((Local1 == Zero) || (Local1 > 0x05F5E100))) - { - Return (Zero) - } - - Return (0x0F) - } - - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadOnly, - 0xFED00000, // Address Base - 0x00000400, // Address Length - ) - }) - } - } - - Scope (_SB.PCI0) - { - Device (ISA) - { - Name (_ADR, 0x00010000) // _ADR: Address - OperationRegion (P40C, PCI_Config, 0x60, 0x04) - } - } - - Scope (_SB.PCI0.ISA) - { - Device (KBD) - { - Name (_HID, EisaId ("PNP0303") /* IBM Enhanced Keyboard (101/102-key, PS/2 Mouse) */) // _HID: Hardware ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0060, // Range Minimum - 0x0060, // Range Maximum - 0x01, // Alignment - 0x01, // Length - ) - IO (Decode16, - 0x0064, // Range Minimum - 0x0064, // Range Maximum - 0x01, // Alignment - 0x01, // Length - ) - IRQNoFlags () - {1} - }) - } - - Device (MOU) - { - Name (_HID, EisaId ("PNP0F13") /* PS/2 Mouse */) // _HID: Hardware ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IRQNoFlags () - {12} - }) - } - - Device (FDC0) - { - Name (_HID, EisaId ("PNP0700")) // _HID: Hardware ID - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x03F2, // Range Minimum - 0x03F2, // Range Maximum - 0x00, // Alignment - 0x04, // Length - ) - IO (Decode16, - 0x03F7, // Range Minimum - 0x03F7, // Range Maximum - 0x00, // Alignment - 0x01, // Length - ) - IRQNoFlags () - {6} - DMA (Compatibility, NotBusMaster, Transfer8, ) - {2} - }) - Device (FLPA) - { - Name (_ADR, Zero) // _ADR: Address - Name (_FDI, Package (0x10) // _FDI: Floppy Drive Information - { - Zero, - 0x05, - 0x4F, - 0x30, - One, - 0xAF, - 0x02, - 0x25, - 0x02, - 0x12, - 0x1B, - 0xFF, - 0x6C, - 0xF6, - 0x0F, - 0x08 - }) - } - - Name (_FDE, Buffer (0x14) // _FDE: Floppy Disk Enumerate - { - /* 0000 */ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ - /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ - /* 0010 */ 0x02, 0x00, 0x00, 0x00 // .... - }) - } - - Device (LPT1) - { - Name (_HID, EisaId ("PNP0400") /* Standard LPT Parallel Port */) // _HID: Hardware ID - Name (_UID, One) // _UID: Unique ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0378, // Range Minimum - 0x0378, // Range Maximum - 0x08, // Alignment - 0x08, // Length - ) - IRQNoFlags () - {7} - }) - } - - Device (COM1) - { - Name (_HID, EisaId ("PNP0501") /* 16550A-compatible COM Serial Port */) // _HID: Hardware ID - Name (_UID, One) // _UID: Unique ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x03F8, // Range Minimum - 0x03F8, // Range Maximum - 0x00, // Alignment - 0x08, // Length - ) - IRQNoFlags () - {4} - }) - } - - Device (RTC) - { - 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) - { - Zero, - Zero, - LNKD, - Zero - } - } - - If ((Local3 == One)) - { - If ((Local1 == 0x04)) - { - Local4 = Package (0x04) - { - Zero, - Zero, - LNKS, - Zero - } - } - Else - { - Local4 = Package (0x04) - { - Zero, - Zero, - LNKA, - Zero - } - } - } - - If ((Local3 == 0x02)) - { - Local4 = Package (0x04) - { - Zero, - Zero, - LNKB, - Zero - } - } - - If ((Local3 == 0x03)) - { - Local4 = Package (0x04) - { - Zero, - Zero, - LNKC, - Zero - } - } - - Local4 [Zero] = ((Local2 << 0x10) | 0xFFFF) - Local4 [One] = (Local1 & 0x03) - Local0 [Local1] = Local4 - Local1++ - } - - Return (Local0) - } - } - - Field (PCI0.ISA.P40C, ByteAcc, NoLock, Preserve) - { - PRQ0, 8, - PRQ1, 8, - PRQ2, 8, - PRQ3, 8 - } - - Method (IQST, 1, NotSerialized) - { - If ((0x80 & Arg0)) - { - Return (0x09) - } - - Return (0x0B) - } - - Method (IQCR, 1, Serialized) - { - Name (PRR0, ResourceTemplate () - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, _Y00) - { - 0x00000000, - } - }) - CreateDWordField (PRR0, \_SB.IQCR._Y00._INT, PRRI) // _INT: Interrupts - If ((Arg0 < 0x80)) - { - PRRI = Arg0 - } - - Return (PRR0) /* \_SB_.IQCR.PRR0 */ - } - - Device (LNKA) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, Zero) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQ0)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQ0 |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQ0)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQ0 = PRRI /* \_SB_.LNKA._SRS.PRRI */ - } - } - - Device (LNKB) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, One) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQ1)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQ1 |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQ1)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQ1 = PRRI /* \_SB_.LNKB._SRS.PRRI */ - } - } - - Device (LNKC) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x02) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQ2)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQ2 |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQ2)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQ2 = PRRI /* \_SB_.LNKC._SRS.PRRI */ - } - } - - Device (LNKD) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x03) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQ3)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQ3 |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQ3)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQ3 = PRRI /* \_SB_.LNKD._SRS.PRRI */ - } - } - - Device (LNKS) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x04) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000009, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (0x0B) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (_PRS) /* \_SB_.LNKS._PRS */ - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - } - - Scope (_SB) - { - Device (\_SB.PCI0.PRES) - { - Name (_HID, EisaId ("PNP0A06") /* Generic Container Device */) // _HID: Hardware ID - Name (_UID, "CPU Hotplug resources") // _UID: Unique ID - Mutex (CPLK, 0x00) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0xAF00, // Range Minimum - 0xAF00, // Range Maximum - 0x01, // Alignment - 0x0C, // Length - ) - }) - OperationRegion (PRST, SystemIO, 0xAF00, 0x0C) - Field (PRST, ByteAcc, NoLock, WriteAsZeros) - { - Offset (0x04), - CPEN, 1, - CINS, 1, - CRMV, 1, - CEJ0, 1, - Offset (0x05), - CCMD, 8 - } - - Field (PRST, DWordAcc, NoLock, Preserve) - { - CSEL, 32, - Offset (0x08), - CDAT, 32 - } - - Method (_INI, 0, Serialized) // _INI: Initialize - { - CSEL = Zero - } - } - - Device (\_SB.CPUS) - { - Name (_HID, "ACPI0010" /* Processor Container Device */) // _HID: Hardware ID - Name (_CID, EisaId ("PNP0A05") /* Generic Container Device */) // _CID: Compatible ID - Method (CTFY, 2, NotSerialized) - { - If ((Arg0 == Zero)) - { - Notify (C000, Arg1) - } - } - - Method (CSTA, 1, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - \_SB.PCI0.PRES.CSEL = Arg0 - Local0 = Zero - If ((\_SB.PCI0.PRES.CPEN == One)) - { - Local0 = 0x0F - } - - Release (\_SB.PCI0.PRES.CPLK) - Return (Local0) - } - - Method (CEJ0, 1, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - \_SB.PCI0.PRES.CSEL = Arg0 - \_SB.PCI0.PRES.CEJ0 = One - Release (\_SB.PCI0.PRES.CPLK) - } - - Method (CSCN, 0, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - Local0 = One - While ((Local0 == One)) - { - Local0 = Zero - \_SB.PCI0.PRES.CCMD = Zero - If ((\_SB.PCI0.PRES.CINS == One)) - { - CTFY (\_SB.PCI0.PRES.CDAT, One) - \_SB.PCI0.PRES.CINS = One - Local0 = One - } - ElseIf ((\_SB.PCI0.PRES.CRMV == One)) - { - CTFY (\_SB.PCI0.PRES.CDAT, 0x03) - \_SB.PCI0.PRES.CRMV = One - Local0 = One - } - } - - Release (\_SB.PCI0.PRES.CPLK) - } - - Method (COST, 4, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - \_SB.PCI0.PRES.CSEL = Arg0 - \_SB.PCI0.PRES.CCMD = One - \_SB.PCI0.PRES.CDAT = Arg1 - \_SB.PCI0.PRES.CCMD = 0x02 - \_SB.PCI0.PRES.CDAT = Arg2 - Release (\_SB.PCI0.PRES.CPLK) - } - - Processor (C000, 0x00, 0x00000000, 0x00) - { - Method (_STA, 0, Serialized) // _STA: Status - { - Return (CSTA (Zero)) - } - - Name (_MAT, Buffer (0x08) // _MAT: Multiple APIC Table Entry - { - 0x00, 0x08, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 // ........ - }) - Method (_OST, 3, Serialized) // _OST: OSPM Status Indication - { - COST (Zero, Arg0, Arg1, Arg2) - } - } - } - } - - Method (\_GPE._E02, 0, NotSerialized) // _Exx: Edge-Triggered GPE, xx=0x00-0xFF - { - \_SB.CPUS.CSCN () - } - - 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) - { - 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 - 0x01, // Alignment - 0x08, // Length - ) - WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, - 0x0000, // Granularity - 0x0000, // Range Minimum - 0x0CF7, // Range Maximum - 0x0000, // Translation Offset - 0x0CF8, // Length - ,, , TypeStatic, DenseTranslation) - WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, - 0x0000, // Granularity - 0x0D00, // Range Minimum - 0xFFFF, // Range Maximum - 0x0000, // Translation Offset - 0xF300, // Length - ,, , TypeStatic, DenseTranslation) - DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, - 0x00000000, // Granularity - 0x000A0000, // Range Minimum - 0x000BFFFF, // Range Maximum - 0x00000000, // Translation Offset - 0x00020000, // Length - ,, , AddressRangeMemory, TypeStatic) - DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, - 0x00000000, // Granularity - 0x08000000, // Range Minimum - 0xFEBFFFFF, // Range Maximum - 0x00000000, // Translation Offset - 0xF6C00000, // Length - ,, , AddressRangeMemory, TypeStatic) - QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, - 0x0000000000000000, // Granularity - 0x0000000100000000, // Range Minimum - 0x000000017FFFFFFF, // Range Maximum - 0x0000000000000000, // Translation Offset - 0x0000000080000000, // Length - ,, , AddressRangeMemory, TypeStatic) - }) - 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, - Zero - }) - Name (_S5, Package (0x04) // _S5_: S5 System State - { - Zero, - Zero, - Zero, - Zero - }) - } - - Scope (\_SB.PCI0) - { - Device (FWCF) - { - Name (_HID, "QEMU0002") // _HID: Hardware ID - Name (_STA, 0x0B) // _STA: Status - 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) - Device (S00) - { - Name (_SUN, Zero) // _SUN: Slot User Number - Name (_ADR, Zero) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device, x=0-9 - { - PCEJ (BSEL, _SUN) - } - } - - Device (S08) - { - Name (_SUN, One) // _SUN: Slot User Number - Name (_ADR, 0x00010000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device, x=0-9 - { - PCEJ (BSEL, _SUN) - } - } - - Device (S10) - { - Name (_SUN, 0x02) // _SUN: Slot User Number - Name (_ADR, 0x00020000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device, x=0-9 - { - PCEJ (BSEL, _SUN) - } - } - - Device (S18) - { - Name (_SUN, 0x03) // _SUN: Slot User Number - Name (_ADR, 0x00030000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device, x=0-9 - { - PCEJ (BSEL, _SUN) - } - } - - 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 & 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, 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) - ^S18.PCNT () - } - } - } -} - diff --git a/tests/data/acpi/pc/DSDT.cphp.dsl b/tests/data/acpi/pc/DSDT.cphp.dsl deleted file mode 100644 index 22ed37d7dc..0000000000 --- a/tests/data/acpi/pc/DSDT.cphp.dsl +++ /dev/null @@ -1,1466 +0,0 @@ -/* - * 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.cphp, Tue Aug 4 11:14:15 2020 - * - * Original Table Header: - * Signature "DSDT" - * Length 0x00001515 (5397) - * Revision 0x01 **** 32-bit table (V1), no 64-bit math support - * Checksum 0x39 - * 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 - } - - Method (DBUG, 1, NotSerialized) - { - ToHexString (Arg0, Local0) - ToBuffer (Local0, Local0) - Local1 = (SizeOf (Local0) - One) - Local2 = Zero - While ((Local2 < Local1)) - { - DBGB = DerefOf (Local0 [Local2]) - Local2++ - } - - DBGB = 0x0A - } - } - - Scope (_SB) - { - Device (PCI0) - { - Name (_HID, EisaId ("PNP0A03") /* PCI Bus */) // _HID: Hardware ID - Name (_ADR, Zero) // _ADR: Address - Name (_UID, Zero) // _UID: Unique ID - } - } - - Scope (_SB) - { - Device (HPET) - { - Name (_HID, EisaId ("PNP0103") /* HPET System Timer */) // _HID: Hardware ID - Name (_UID, Zero) // _UID: Unique ID - OperationRegion (HPTM, SystemMemory, 0xFED00000, 0x0400) - Field (HPTM, DWordAcc, Lock, Preserve) - { - VEND, 32, - PRD, 32 - } - - Method (_STA, 0, NotSerialized) // _STA: Status - { - Local0 = VEND /* \_SB_.HPET.VEND */ - Local1 = PRD /* \_SB_.HPET.PRD_ */ - Local0 >>= 0x10 - If (((Local0 == Zero) || (Local0 == 0xFFFF))) - { - Return (Zero) - } - - If (((Local1 == Zero) || (Local1 > 0x05F5E100))) - { - Return (Zero) - } - - Return (0x0F) - } - - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadOnly, - 0xFED00000, // Address Base - 0x00000400, // Address Length - ) - }) - } - } - - Scope (_SB.PCI0) - { - Device (ISA) - { - Name (_ADR, 0x00010000) // _ADR: Address - OperationRegion (P40C, PCI_Config, 0x60, 0x04) - } - } - - Scope (_SB.PCI0.ISA) - { - Device (KBD) - { - Name (_HID, EisaId ("PNP0303") /* IBM Enhanced Keyboard (101/102-key, PS/2 Mouse) */) // _HID: Hardware ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0060, // Range Minimum - 0x0060, // Range Maximum - 0x01, // Alignment - 0x01, // Length - ) - IO (Decode16, - 0x0064, // Range Minimum - 0x0064, // Range Maximum - 0x01, // Alignment - 0x01, // Length - ) - IRQNoFlags () - {1} - }) - } - - Device (MOU) - { - Name (_HID, EisaId ("PNP0F13") /* PS/2 Mouse */) // _HID: Hardware ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IRQNoFlags () - {12} - }) - } - - Device (FDC0) - { - Name (_HID, EisaId ("PNP0700")) // _HID: Hardware ID - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x03F2, // Range Minimum - 0x03F2, // Range Maximum - 0x00, // Alignment - 0x04, // Length - ) - IO (Decode16, - 0x03F7, // Range Minimum - 0x03F7, // Range Maximum - 0x00, // Alignment - 0x01, // Length - ) - IRQNoFlags () - {6} - DMA (Compatibility, NotBusMaster, Transfer8, ) - {2} - }) - Device (FLPA) - { - Name (_ADR, Zero) // _ADR: Address - Name (_FDI, Package (0x10) // _FDI: Floppy Drive Information - { - Zero, - 0x05, - 0x4F, - 0x30, - One, - 0xAF, - 0x02, - 0x25, - 0x02, - 0x12, - 0x1B, - 0xFF, - 0x6C, - 0xF6, - 0x0F, - 0x08 - }) - } - - Name (_FDE, Buffer (0x14) // _FDE: Floppy Disk Enumerate - { - /* 0000 */ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ - /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ - /* 0010 */ 0x02, 0x00, 0x00, 0x00 // .... - }) - } - - Device (LPT1) - { - Name (_HID, EisaId ("PNP0400") /* Standard LPT Parallel Port */) // _HID: Hardware ID - Name (_UID, One) // _UID: Unique ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0378, // Range Minimum - 0x0378, // Range Maximum - 0x08, // Alignment - 0x08, // Length - ) - IRQNoFlags () - {7} - }) - } - - Device (COM1) - { - Name (_HID, EisaId ("PNP0501") /* 16550A-compatible COM Serial Port */) // _HID: Hardware ID - Name (_UID, One) // _UID: Unique ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x03F8, // Range Minimum - 0x03F8, // Range Maximum - 0x00, // Alignment - 0x08, // Length - ) - IRQNoFlags () - {4} - }) - } - - Device (RTC) - { - 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) - { - Zero, - Zero, - LNKD, - Zero - } - } - - If ((Local3 == One)) - { - If ((Local1 == 0x04)) - { - Local4 = Package (0x04) - { - Zero, - Zero, - LNKS, - Zero - } - } - Else - { - Local4 = Package (0x04) - { - Zero, - Zero, - LNKA, - Zero - } - } - } - - If ((Local3 == 0x02)) - { - Local4 = Package (0x04) - { - Zero, - Zero, - LNKB, - Zero - } - } - - If ((Local3 == 0x03)) - { - Local4 = Package (0x04) - { - Zero, - Zero, - LNKC, - Zero - } - } - - Local4 [Zero] = ((Local2 << 0x10) | 0xFFFF) - Local4 [One] = (Local1 & 0x03) - Local0 [Local1] = Local4 - Local1++ - } - - Return (Local0) - } - } - - Field (PCI0.ISA.P40C, ByteAcc, NoLock, Preserve) - { - PRQ0, 8, - PRQ1, 8, - PRQ2, 8, - PRQ3, 8 - } - - Method (IQST, 1, NotSerialized) - { - If ((0x80 & Arg0)) - { - Return (0x09) - } - - Return (0x0B) - } - - Method (IQCR, 1, Serialized) - { - Name (PRR0, ResourceTemplate () - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, _Y00) - { - 0x00000000, - } - }) - CreateDWordField (PRR0, \_SB.IQCR._Y00._INT, PRRI) // _INT: Interrupts - If ((Arg0 < 0x80)) - { - PRRI = Arg0 - } - - Return (PRR0) /* \_SB_.IQCR.PRR0 */ - } - - Device (LNKA) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, Zero) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQ0)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQ0 |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQ0)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQ0 = PRRI /* \_SB_.LNKA._SRS.PRRI */ - } - } - - Device (LNKB) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, One) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQ1)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQ1 |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQ1)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQ1 = PRRI /* \_SB_.LNKB._SRS.PRRI */ - } - } - - Device (LNKC) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x02) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQ2)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQ2 |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQ2)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQ2 = PRRI /* \_SB_.LNKC._SRS.PRRI */ - } - } - - Device (LNKD) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x03) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQ3)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQ3 |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQ3)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQ3 = PRRI /* \_SB_.LNKD._SRS.PRRI */ - } - } - - Device (LNKS) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x04) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000009, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (0x0B) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (_PRS) /* \_SB_.LNKS._PRS */ - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - } - - Scope (_SB) - { - Device (\_SB.PCI0.PRES) - { - Name (_HID, EisaId ("PNP0A06") /* Generic Container Device */) // _HID: Hardware ID - Name (_UID, "CPU Hotplug resources") // _UID: Unique ID - Mutex (CPLK, 0x00) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0xAF00, // Range Minimum - 0xAF00, // Range Maximum - 0x01, // Alignment - 0x0C, // Length - ) - }) - OperationRegion (PRST, SystemIO, 0xAF00, 0x0C) - Field (PRST, ByteAcc, NoLock, WriteAsZeros) - { - Offset (0x04), - CPEN, 1, - CINS, 1, - CRMV, 1, - CEJ0, 1, - Offset (0x05), - CCMD, 8 - } - - Field (PRST, DWordAcc, NoLock, Preserve) - { - CSEL, 32, - Offset (0x08), - CDAT, 32 - } - - Method (_INI, 0, Serialized) // _INI: Initialize - { - CSEL = Zero - } - } - - Device (\_SB.CPUS) - { - Name (_HID, "ACPI0010" /* Processor Container Device */) // _HID: Hardware ID - Name (_CID, EisaId ("PNP0A05") /* Generic Container Device */) // _CID: Compatible ID - Method (CTFY, 2, NotSerialized) - { - If ((Arg0 == Zero)) - { - Notify (C000, Arg1) - } - - If ((Arg0 == One)) - { - Notify (C001, Arg1) - } - - If ((Arg0 == 0x02)) - { - Notify (C002, Arg1) - } - - If ((Arg0 == 0x03)) - { - Notify (C003, Arg1) - } - - If ((Arg0 == 0x04)) - { - Notify (C004, Arg1) - } - - If ((Arg0 == 0x05)) - { - Notify (C005, Arg1) - } - } - - Method (CSTA, 1, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - \_SB.PCI0.PRES.CSEL = Arg0 - Local0 = Zero - If ((\_SB.PCI0.PRES.CPEN == One)) - { - Local0 = 0x0F - } - - Release (\_SB.PCI0.PRES.CPLK) - Return (Local0) - } - - Method (CEJ0, 1, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - \_SB.PCI0.PRES.CSEL = Arg0 - \_SB.PCI0.PRES.CEJ0 = One - Release (\_SB.PCI0.PRES.CPLK) - } - - Method (CSCN, 0, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - Local0 = One - While ((Local0 == One)) - { - Local0 = Zero - \_SB.PCI0.PRES.CCMD = Zero - If ((\_SB.PCI0.PRES.CINS == One)) - { - CTFY (\_SB.PCI0.PRES.CDAT, One) - \_SB.PCI0.PRES.CINS = One - Local0 = One - } - ElseIf ((\_SB.PCI0.PRES.CRMV == One)) - { - CTFY (\_SB.PCI0.PRES.CDAT, 0x03) - \_SB.PCI0.PRES.CRMV = One - Local0 = One - } - } - - Release (\_SB.PCI0.PRES.CPLK) - } - - Method (COST, 4, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - \_SB.PCI0.PRES.CSEL = Arg0 - \_SB.PCI0.PRES.CCMD = One - \_SB.PCI0.PRES.CDAT = Arg1 - \_SB.PCI0.PRES.CCMD = 0x02 - \_SB.PCI0.PRES.CDAT = Arg2 - Release (\_SB.PCI0.PRES.CPLK) - } - - Processor (C000, 0x00, 0x00000000, 0x00) - { - Method (_STA, 0, Serialized) // _STA: Status - { - Return (CSTA (Zero)) - } - - Name (_MAT, Buffer (0x08) // _MAT: Multiple APIC Table Entry - { - 0x00, 0x08, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 // ........ - }) - Method (_OST, 3, Serialized) // _OST: OSPM Status Indication - { - COST (Zero, Arg0, Arg1, Arg2) - } - - Name (_PXM, Zero) // _PXM: Device Proximity - } - - Processor (C001, 0x01, 0x00000000, 0x00) - { - Method (_STA, 0, Serialized) // _STA: Status - { - Return (CSTA (One)) - } - - Name (_MAT, Buffer (0x08) // _MAT: Multiple APIC Table Entry - { - 0x00, 0x08, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00 // ........ - }) - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device, x=0-9 - { - CEJ0 (One) - } - - Method (_OST, 3, Serialized) // _OST: OSPM Status Indication - { - COST (One, Arg0, Arg1, Arg2) - } - - Name (_PXM, Zero) // _PXM: Device Proximity - } - - Processor (C002, 0x02, 0x00000000, 0x00) - { - Method (_STA, 0, Serialized) // _STA: Status - { - Return (CSTA (0x02)) - } - - Name (_MAT, Buffer (0x08) // _MAT: Multiple APIC Table Entry - { - 0x00, 0x08, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00 // ........ - }) - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device, x=0-9 - { - CEJ0 (0x02) - } - - Method (_OST, 3, Serialized) // _OST: OSPM Status Indication - { - COST (0x02, Arg0, Arg1, Arg2) - } - - Name (_PXM, Zero) // _PXM: Device Proximity - } - - Processor (C003, 0x03, 0x00000000, 0x00) - { - Method (_STA, 0, Serialized) // _STA: Status - { - Return (CSTA (0x03)) - } - - Name (_MAT, Buffer (0x08) // _MAT: Multiple APIC Table Entry - { - 0x00, 0x08, 0x03, 0x04, 0x01, 0x00, 0x00, 0x00 // ........ - }) - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device, x=0-9 - { - CEJ0 (0x03) - } - - Method (_OST, 3, Serialized) // _OST: OSPM Status Indication - { - COST (0x03, Arg0, Arg1, Arg2) - } - - Name (_PXM, One) // _PXM: Device Proximity - } - - Processor (C004, 0x04, 0x00000000, 0x00) - { - Method (_STA, 0, Serialized) // _STA: Status - { - Return (CSTA (0x04)) - } - - Name (_MAT, Buffer (0x08) // _MAT: Multiple APIC Table Entry - { - 0x00, 0x08, 0x04, 0x05, 0x01, 0x00, 0x00, 0x00 // ........ - }) - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device, x=0-9 - { - CEJ0 (0x04) - } - - Method (_OST, 3, Serialized) // _OST: OSPM Status Indication - { - COST (0x04, Arg0, Arg1, Arg2) - } - - Name (_PXM, One) // _PXM: Device Proximity - } - - Processor (C005, 0x05, 0x00000000, 0x00) - { - Method (_STA, 0, Serialized) // _STA: Status - { - Return (CSTA (0x05)) - } - - Name (_MAT, Buffer (0x08) // _MAT: Multiple APIC Table Entry - { - 0x00, 0x08, 0x05, 0x06, 0x01, 0x00, 0x00, 0x00 // ........ - }) - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device, x=0-9 - { - CEJ0 (0x05) - } - - Method (_OST, 3, Serialized) // _OST: OSPM Status Indication - { - COST (0x05, Arg0, Arg1, Arg2) - } - - Name (_PXM, One) // _PXM: Device Proximity - } - } - } - - Method (\_GPE._E02, 0, NotSerialized) // _Exx: Edge-Triggered GPE, xx=0x00-0xFF - { - \_SB.CPUS.CSCN () - } - - 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) - { - 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 - 0x01, // Alignment - 0x08, // Length - ) - WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, - 0x0000, // Granularity - 0x0000, // Range Minimum - 0x0CF7, // Range Maximum - 0x0000, // Translation Offset - 0x0CF8, // Length - ,, , TypeStatic, DenseTranslation) - WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, - 0x0000, // Granularity - 0x0D00, // Range Minimum - 0xFFFF, // Range Maximum - 0x0000, // Translation Offset - 0xF300, // Length - ,, , TypeStatic, DenseTranslation) - DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, - 0x00000000, // Granularity - 0x000A0000, // Range Minimum - 0x000BFFFF, // Range Maximum - 0x00000000, // Translation Offset - 0x00020000, // Length - ,, , AddressRangeMemory, TypeStatic) - DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, - 0x00000000, // Granularity - 0x08000000, // Range Minimum - 0xFEBFFFFF, // Range Maximum - 0x00000000, // Translation Offset - 0xF6C00000, // Length - ,, , AddressRangeMemory, TypeStatic) - QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, - 0x0000000000000000, // Granularity - 0x0000000100000000, // Range Minimum - 0x000000017FFFFFFF, // Range Maximum - 0x0000000000000000, // Translation Offset - 0x0000000080000000, // Length - ,, , AddressRangeMemory, TypeStatic) - }) - 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, - Zero - }) - Name (_S5, Package (0x04) // _S5_: S5 System State - { - Zero, - Zero, - Zero, - Zero - }) - } - - Scope (\_SB.PCI0) - { - Device (FWCF) - { - Name (_HID, "QEMU0002") // _HID: Hardware ID - Name (_STA, 0x0B) // _STA: Status - 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 (_SUN, 0x03) // _SUN: Slot User Number - Name (_ADR, 0x00030000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device, x=0-9 - { - PCEJ (BSEL, _SUN) - } - } - - 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 & 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 = Zero - DVNT (PCIU, One) - DVNT (PCID, 0x03) - } - } - } -} - diff --git a/tests/data/acpi/pc/DSDT.dimmpxm.dsl b/tests/data/acpi/pc/DSDT.dimmpxm.dsl deleted file mode 100644 index 798056147b..0000000000 --- a/tests/data/acpi/pc/DSDT.dimmpxm.dsl +++ /dev/null @@ -1,1719 +0,0 @@ -/* - * 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.dimmpxm, Tue Aug 4 11:14:15 2020 - * - * Original Table Header: - * Signature "DSDT" - * Length 0x000019BB (6587) - * Revision 0x01 **** 32-bit table (V1), no 64-bit math support - * Checksum 0x21 - * OEM ID "BOCHS " - * OEM Table ID "BXPCDSDT" - * OEM Revision 0x00000001 (1) - * Compiler ID "BXPC" - * Compiler Version 0x00000001 (1) - */ -DefinitionBlock ("", "DSDT", 1, "BOCHS ", "BXPCDSDT", 0x00000001) -{ - External (_SB_.NVDR, UnknownObj) - - Scope (\) - { - OperationRegion (DBG, SystemIO, 0x0402, One) - Field (DBG, ByteAcc, NoLock, Preserve) - { - DBGB, 8 - } - - Method (DBUG, 1, NotSerialized) - { - ToHexString (Arg0, Local0) - ToBuffer (Local0, Local0) - Local1 = (SizeOf (Local0) - One) - Local2 = Zero - While ((Local2 < Local1)) - { - DBGB = DerefOf (Local0 [Local2]) - Local2++ - } - - DBGB = 0x0A - } - } - - Scope (_SB) - { - Device (PCI0) - { - Name (_HID, EisaId ("PNP0A03") /* PCI Bus */) // _HID: Hardware ID - Name (_ADR, Zero) // _ADR: Address - Name (_UID, Zero) // _UID: Unique ID - } - } - - Scope (_SB) - { - Device (HPET) - { - Name (_HID, EisaId ("PNP0103") /* HPET System Timer */) // _HID: Hardware ID - Name (_UID, Zero) // _UID: Unique ID - OperationRegion (HPTM, SystemMemory, 0xFED00000, 0x0400) - Field (HPTM, DWordAcc, Lock, Preserve) - { - VEND, 32, - PRD, 32 - } - - Method (_STA, 0, NotSerialized) // _STA: Status - { - Local0 = VEND /* \_SB_.HPET.VEND */ - Local1 = PRD /* \_SB_.HPET.PRD_ */ - Local0 >>= 0x10 - If (((Local0 == Zero) || (Local0 == 0xFFFF))) - { - Return (Zero) - } - - If (((Local1 == Zero) || (Local1 > 0x05F5E100))) - { - Return (Zero) - } - - Return (0x0F) - } - - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadOnly, - 0xFED00000, // Address Base - 0x00000400, // Address Length - ) - }) - } - } - - Scope (_SB.PCI0) - { - Device (ISA) - { - Name (_ADR, 0x00010000) // _ADR: Address - OperationRegion (P40C, PCI_Config, 0x60, 0x04) - } - } - - Scope (_SB.PCI0.ISA) - { - Device (KBD) - { - Name (_HID, EisaId ("PNP0303") /* IBM Enhanced Keyboard (101/102-key, PS/2 Mouse) */) // _HID: Hardware ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0060, // Range Minimum - 0x0060, // Range Maximum - 0x01, // Alignment - 0x01, // Length - ) - IO (Decode16, - 0x0064, // Range Minimum - 0x0064, // Range Maximum - 0x01, // Alignment - 0x01, // Length - ) - IRQNoFlags () - {1} - }) - } - - Device (MOU) - { - Name (_HID, EisaId ("PNP0F13") /* PS/2 Mouse */) // _HID: Hardware ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IRQNoFlags () - {12} - }) - } - - Device (FDC0) - { - Name (_HID, EisaId ("PNP0700")) // _HID: Hardware ID - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x03F2, // Range Minimum - 0x03F2, // Range Maximum - 0x00, // Alignment - 0x04, // Length - ) - IO (Decode16, - 0x03F7, // Range Minimum - 0x03F7, // Range Maximum - 0x00, // Alignment - 0x01, // Length - ) - IRQNoFlags () - {6} - DMA (Compatibility, NotBusMaster, Transfer8, ) - {2} - }) - Device (FLPA) - { - Name (_ADR, Zero) // _ADR: Address - Name (_FDI, Package (0x10) // _FDI: Floppy Drive Information - { - Zero, - 0x05, - 0x4F, - 0x30, - One, - 0xAF, - 0x02, - 0x25, - 0x02, - 0x12, - 0x1B, - 0xFF, - 0x6C, - 0xF6, - 0x0F, - 0x08 - }) - } - - Name (_FDE, Buffer (0x14) // _FDE: Floppy Disk Enumerate - { - /* 0000 */ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ - /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ - /* 0010 */ 0x02, 0x00, 0x00, 0x00 // .... - }) - } - - Device (LPT1) - { - Name (_HID, EisaId ("PNP0400") /* Standard LPT Parallel Port */) // _HID: Hardware ID - Name (_UID, One) // _UID: Unique ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0378, // Range Minimum - 0x0378, // Range Maximum - 0x08, // Alignment - 0x08, // Length - ) - IRQNoFlags () - {7} - }) - } - - Device (COM1) - { - Name (_HID, EisaId ("PNP0501") /* 16550A-compatible COM Serial Port */) // _HID: Hardware ID - Name (_UID, One) // _UID: Unique ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x03F8, // Range Minimum - 0x03F8, // Range Maximum - 0x00, // Alignment - 0x08, // Length - ) - IRQNoFlags () - {4} - }) - } - - Device (RTC) - { - 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) - { - Zero, - Zero, - LNKD, - Zero - } - } - - If ((Local3 == One)) - { - If ((Local1 == 0x04)) - { - Local4 = Package (0x04) - { - Zero, - Zero, - LNKS, - Zero - } - } - Else - { - Local4 = Package (0x04) - { - Zero, - Zero, - LNKA, - Zero - } - } - } - - If ((Local3 == 0x02)) - { - Local4 = Package (0x04) - { - Zero, - Zero, - LNKB, - Zero - } - } - - If ((Local3 == 0x03)) - { - Local4 = Package (0x04) - { - Zero, - Zero, - LNKC, - Zero - } - } - - Local4 [Zero] = ((Local2 << 0x10) | 0xFFFF) - Local4 [One] = (Local1 & 0x03) - Local0 [Local1] = Local4 - Local1++ - } - - Return (Local0) - } - } - - Field (PCI0.ISA.P40C, ByteAcc, NoLock, Preserve) - { - PRQ0, 8, - PRQ1, 8, - PRQ2, 8, - PRQ3, 8 - } - - Method (IQST, 1, NotSerialized) - { - If ((0x80 & Arg0)) - { - Return (0x09) - } - - Return (0x0B) - } - - Method (IQCR, 1, Serialized) - { - Name (PRR0, ResourceTemplate () - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, _Y00) - { - 0x00000000, - } - }) - CreateDWordField (PRR0, \_SB.IQCR._Y00._INT, PRRI) // _INT: Interrupts - If ((Arg0 < 0x80)) - { - PRRI = Arg0 - } - - Return (PRR0) /* \_SB_.IQCR.PRR0 */ - } - - Device (LNKA) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, Zero) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQ0)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQ0 |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQ0)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQ0 = PRRI /* \_SB_.LNKA._SRS.PRRI */ - } - } - - Device (LNKB) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, One) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQ1)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQ1 |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQ1)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQ1 = PRRI /* \_SB_.LNKB._SRS.PRRI */ - } - } - - Device (LNKC) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x02) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQ2)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQ2 |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQ2)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQ2 = PRRI /* \_SB_.LNKC._SRS.PRRI */ - } - } - - Device (LNKD) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x03) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQ3)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQ3 |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQ3)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQ3 = PRRI /* \_SB_.LNKD._SRS.PRRI */ - } - } - - Device (LNKS) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x04) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000009, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (0x0B) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (_PRS) /* \_SB_.LNKS._PRS */ - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - } - - Scope (_SB) - { - Device (\_SB.PCI0.PRES) - { - Name (_HID, EisaId ("PNP0A06") /* Generic Container Device */) // _HID: Hardware ID - Name (_UID, "CPU Hotplug resources") // _UID: Unique ID - Mutex (CPLK, 0x00) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0xAF00, // Range Minimum - 0xAF00, // Range Maximum - 0x01, // Alignment - 0x0C, // Length - ) - }) - OperationRegion (PRST, SystemIO, 0xAF00, 0x0C) - Field (PRST, ByteAcc, NoLock, WriteAsZeros) - { - Offset (0x04), - CPEN, 1, - CINS, 1, - CRMV, 1, - CEJ0, 1, - Offset (0x05), - CCMD, 8 - } - - Field (PRST, DWordAcc, NoLock, Preserve) - { - CSEL, 32, - Offset (0x08), - CDAT, 32 - } - - Method (_INI, 0, Serialized) // _INI: Initialize - { - CSEL = Zero - } - } - - Device (\_SB.CPUS) - { - Name (_HID, "ACPI0010" /* Processor Container Device */) // _HID: Hardware ID - Name (_CID, EisaId ("PNP0A05") /* Generic Container Device */) // _CID: Compatible ID - Method (CTFY, 2, NotSerialized) - { - If ((Arg0 == Zero)) - { - Notify (C000, Arg1) - } - - If ((Arg0 == One)) - { - Notify (C001, Arg1) - } - - If ((Arg0 == 0x02)) - { - Notify (C002, Arg1) - } - - If ((Arg0 == 0x03)) - { - Notify (C003, Arg1) - } - } - - Method (CSTA, 1, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - \_SB.PCI0.PRES.CSEL = Arg0 - Local0 = Zero - If ((\_SB.PCI0.PRES.CPEN == One)) - { - Local0 = 0x0F - } - - Release (\_SB.PCI0.PRES.CPLK) - Return (Local0) - } - - Method (CEJ0, 1, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - \_SB.PCI0.PRES.CSEL = Arg0 - \_SB.PCI0.PRES.CEJ0 = One - Release (\_SB.PCI0.PRES.CPLK) - } - - Method (CSCN, 0, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - Local0 = One - While ((Local0 == One)) - { - Local0 = Zero - \_SB.PCI0.PRES.CCMD = Zero - If ((\_SB.PCI0.PRES.CINS == One)) - { - CTFY (\_SB.PCI0.PRES.CDAT, One) - \_SB.PCI0.PRES.CINS = One - Local0 = One - } - ElseIf ((\_SB.PCI0.PRES.CRMV == One)) - { - CTFY (\_SB.PCI0.PRES.CDAT, 0x03) - \_SB.PCI0.PRES.CRMV = One - Local0 = One - } - } - - Release (\_SB.PCI0.PRES.CPLK) - } - - Method (COST, 4, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - \_SB.PCI0.PRES.CSEL = Arg0 - \_SB.PCI0.PRES.CCMD = One - \_SB.PCI0.PRES.CDAT = Arg1 - \_SB.PCI0.PRES.CCMD = 0x02 - \_SB.PCI0.PRES.CDAT = Arg2 - Release (\_SB.PCI0.PRES.CPLK) - } - - Processor (C000, 0x00, 0x00000000, 0x00) - { - Method (_STA, 0, Serialized) // _STA: Status - { - Return (CSTA (Zero)) - } - - Name (_MAT, Buffer (0x08) // _MAT: Multiple APIC Table Entry - { - 0x00, 0x08, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 // ........ - }) - Method (_OST, 3, Serialized) // _OST: OSPM Status Indication - { - COST (Zero, Arg0, Arg1, Arg2) - } - - Name (_PXM, Zero) // _PXM: Device Proximity - } - - Processor (C001, 0x01, 0x00000000, 0x00) - { - Method (_STA, 0, Serialized) // _STA: Status - { - Return (CSTA (One)) - } - - Name (_MAT, Buffer (0x08) // _MAT: Multiple APIC Table Entry - { - 0x00, 0x08, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00 // ........ - }) - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device, x=0-9 - { - CEJ0 (One) - } - - Method (_OST, 3, Serialized) // _OST: OSPM Status Indication - { - COST (One, Arg0, Arg1, Arg2) - } - - Name (_PXM, One) // _PXM: Device Proximity - } - - Processor (C002, 0x02, 0x00000000, 0x00) - { - Method (_STA, 0, Serialized) // _STA: Status - { - Return (CSTA (0x02)) - } - - Name (_MAT, Buffer (0x08) // _MAT: Multiple APIC Table Entry - { - 0x00, 0x08, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00 // ........ - }) - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device, x=0-9 - { - CEJ0 (0x02) - } - - Method (_OST, 3, Serialized) // _OST: OSPM Status Indication - { - COST (0x02, Arg0, Arg1, Arg2) - } - - Name (_PXM, 0x02) // _PXM: Device Proximity - } - - Processor (C003, 0x03, 0x00000000, 0x00) - { - Method (_STA, 0, Serialized) // _STA: Status - { - Return (CSTA (0x03)) - } - - Name (_MAT, Buffer (0x08) // _MAT: Multiple APIC Table Entry - { - 0x00, 0x08, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00 // ........ - }) - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device, x=0-9 - { - CEJ0 (0x03) - } - - Method (_OST, 3, Serialized) // _OST: OSPM Status Indication - { - COST (0x03, Arg0, Arg1, Arg2) - } - - Name (_PXM, 0x03) // _PXM: Device Proximity - } - } - } - - Method (\_GPE._E02, 0, NotSerialized) // _Exx: Edge-Triggered GPE, xx=0x00-0xFF - { - \_SB.CPUS.CSCN () - } - - Device (\_SB.PCI0.MHPD) - { - Name (_HID, "PNP0A06" /* Generic Container Device */) // _HID: Hardware ID - Name (_UID, "Memory hotplug resources") // _UID: Unique ID - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0A00, // Range Minimum - 0x0A00, // Range Maximum - 0x00, // Alignment - 0x18, // Length - ) - }) - OperationRegion (HPMR, SystemIO, 0x0A00, 0x18) - } - - Device (\_SB.MHPC) - { - Name (_HID, "PNP0A06" /* Generic Container Device */) // _HID: Hardware ID - Name (_UID, "DIMM devices") // _UID: Unique ID - Name (MDNR, 0x03) - Field (\_SB.PCI0.MHPD.HPMR, DWordAcc, NoLock, Preserve) - { - MRBL, 32, - MRBH, 32, - MRLL, 32, - MRLH, 32, - MPX, 32 - } - - Field (\_SB.PCI0.MHPD.HPMR, ByteAcc, NoLock, WriteAsZeros) - { - Offset (0x14), - MES, 1, - MINS, 1, - MRMV, 1, - MEJ, 1 - } - - Field (\_SB.PCI0.MHPD.HPMR, DWordAcc, NoLock, Preserve) - { - MSEL, 32, - MOEV, 32, - MOSC, 32 - } - - Method (_STA, 0, NotSerialized) // _STA: Status - { - If ((MDNR == Zero)) - { - Return (Zero) - } - - Return (0x0B) - } - - Mutex (MLCK, 0x00) - Method (MSCN, 0, NotSerialized) - { - If ((MDNR == Zero)) - { - Return (Zero) - } - - Local0 = Zero - Acquire (MLCK, 0xFFFF) - While ((Local0 < MDNR)) - { - MSEL = Local0 - If ((MINS == One)) - { - MTFY (Local0, One) - MINS = One - } - ElseIf ((MRMV == One)) - { - MTFY (Local0, 0x03) - MRMV = One - } - - Local0 += One - } - - Release (MLCK) - Return (One) - } - - Method (MRST, 1, NotSerialized) - { - Local0 = Zero - Acquire (MLCK, 0xFFFF) - MSEL = ToInteger (Arg0) - If ((MES == One)) - { - Local0 = 0x0F - } - - Release (MLCK) - Return (Local0) - } - - Method (MCRS, 1, Serialized) - { - Acquire (MLCK, 0xFFFF) - MSEL = ToInteger (Arg0) - Name (MR64, ResourceTemplate () - { - QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, - 0x0000000000000000, // Granularity - 0x0000000000000000, // Range Minimum - 0xFFFFFFFFFFFFFFFE, // Range Maximum - 0x0000000000000000, // Translation Offset - 0xFFFFFFFFFFFFFFFF, // Length - ,, _Y01, AddressRangeMemory, TypeStatic) - }) - CreateDWordField (MR64, \_SB.MHPC.MCRS._Y01._MIN, MINL) // _MIN: Minimum Base Address - CreateDWordField (MR64, 0x12, MINH) - CreateDWordField (MR64, \_SB.MHPC.MCRS._Y01._LEN, LENL) // _LEN: Length - CreateDWordField (MR64, 0x2A, LENH) - CreateDWordField (MR64, \_SB.MHPC.MCRS._Y01._MAX, MAXL) // _MAX: Maximum Base Address - CreateDWordField (MR64, 0x1A, MAXH) - MINH = MRBH /* \_SB_.MHPC.MRBH */ - MINL = MRBL /* \_SB_.MHPC.MRBL */ - LENH = MRLH /* \_SB_.MHPC.MRLH */ - LENL = MRLL /* \_SB_.MHPC.MRLL */ - MAXL = (MINL + LENL) /* \_SB_.MHPC.MCRS.LENL */ - MAXH = (MINH + LENH) /* \_SB_.MHPC.MCRS.LENH */ - If ((MAXL < MINL)) - { - MAXH += One - } - - If ((MAXL < One)) - { - MAXH -= One - } - - MAXL -= One - If ((MAXH == Zero)) - { - Name (MR32, ResourceTemplate () - { - DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, - 0x00000000, // Granularity - 0x00000000, // Range Minimum - 0xFFFFFFFE, // Range Maximum - 0x00000000, // Translation Offset - 0xFFFFFFFF, // Length - ,, _Y02, AddressRangeMemory, TypeStatic) - }) - CreateDWordField (MR32, \_SB.MHPC.MCRS._Y02._MIN, MIN) // _MIN: Minimum Base Address - CreateDWordField (MR32, \_SB.MHPC.MCRS._Y02._MAX, MAX) // _MAX: Maximum Base Address - CreateDWordField (MR32, \_SB.MHPC.MCRS._Y02._LEN, LEN) // _LEN: Length - MIN = MINL /* \_SB_.MHPC.MCRS.MINL */ - MAX = MAXL /* \_SB_.MHPC.MCRS.MAXL */ - LEN = LENL /* \_SB_.MHPC.MCRS.LENL */ - Release (MLCK) - Return (MR32) /* \_SB_.MHPC.MCRS.MR32 */ - } - - Release (MLCK) - Return (MR64) /* \_SB_.MHPC.MCRS.MR64 */ - } - - Method (MPXM, 1, NotSerialized) - { - Acquire (MLCK, 0xFFFF) - MSEL = ToInteger (Arg0) - Local0 = MPX /* \_SB_.MHPC.MPX_ */ - Release (MLCK) - Return (Local0) - } - - Method (MOST, 4, NotSerialized) - { - Acquire (MLCK, 0xFFFF) - MSEL = ToInteger (Arg0) - MOEV = Arg1 - MOSC = Arg2 - Release (MLCK) - } - - Method (MEJ0, 2, NotSerialized) - { - Acquire (MLCK, 0xFFFF) - MSEL = ToInteger (Arg0) - MEJ = One - Release (MLCK) - } - - Device (MP00) - { - Name (_UID, "0x00") // _UID: Unique ID - Name (_HID, EisaId ("PNP0C80") /* Memory Device */) // _HID: Hardware ID - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (MCRS (_UID)) - } - - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (MRST (_UID)) - } - - Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity - { - Return (MPXM (_UID)) - } - - Method (_OST, 3, NotSerialized) // _OST: OSPM Status Indication - { - MOST (_UID, Arg0, Arg1, Arg2) - } - - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device, x=0-9 - { - MEJ0 (_UID, Arg0) - } - } - - Device (MP01) - { - Name (_UID, "0x01") // _UID: Unique ID - Name (_HID, EisaId ("PNP0C80") /* Memory Device */) // _HID: Hardware ID - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (MCRS (_UID)) - } - - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (MRST (_UID)) - } - - Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity - { - Return (MPXM (_UID)) - } - - Method (_OST, 3, NotSerialized) // _OST: OSPM Status Indication - { - MOST (_UID, Arg0, Arg1, Arg2) - } - - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device, x=0-9 - { - MEJ0 (_UID, Arg0) - } - } - - Device (MP02) - { - Name (_UID, "0x02") // _UID: Unique ID - Name (_HID, EisaId ("PNP0C80") /* Memory Device */) // _HID: Hardware ID - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (MCRS (_UID)) - } - - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (MRST (_UID)) - } - - Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity - { - Return (MPXM (_UID)) - } - - Method (_OST, 3, NotSerialized) // _OST: OSPM Status Indication - { - MOST (_UID, Arg0, Arg1, Arg2) - } - - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device, x=0-9 - { - MEJ0 (_UID, Arg0) - } - } - - Method (MTFY, 2, NotSerialized) - { - If ((Arg0 == Zero)) - { - Notify (MP00, Arg1) - } - - If ((Arg0 == One)) - { - Notify (MP01, Arg1) - } - - If ((Arg0 == 0x02)) - { - Notify (MP02, Arg1) - } - } - } - - Method (\_GPE._E03, 0, NotSerialized) // _Exx: Edge-Triggered GPE, xx=0x00-0xFF - { - \_SB.MHPC.MSCN () - } - - 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) - } - - Method (_E04, 0, NotSerialized) // _Exx: Edge-Triggered GPE, xx=0x00-0xFF - { - Notify (\_SB.NVDR, 0x80) // Status Change - } - } - - 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 - 0x01, // Alignment - 0x08, // Length - ) - WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, - 0x0000, // Granularity - 0x0000, // Range Minimum - 0x0CF7, // Range Maximum - 0x0000, // Translation Offset - 0x0CF8, // Length - ,, , TypeStatic, DenseTranslation) - WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, - 0x0000, // Granularity - 0x0D00, // Range Minimum - 0xFFFF, // Range Maximum - 0x0000, // Translation Offset - 0xF300, // Length - ,, , TypeStatic, DenseTranslation) - DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, - 0x00000000, // Granularity - 0x000A0000, // Range Minimum - 0x000BFFFF, // Range Maximum - 0x00000000, // Translation Offset - 0x00020000, // Length - ,, , AddressRangeMemory, TypeStatic) - DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, - 0x00000000, // Granularity - 0x08000000, // Range Minimum - 0xFEBFFFFF, // Range Maximum - 0x00000000, // Translation Offset - 0xF6C00000, // Length - ,, , AddressRangeMemory, TypeStatic) - QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, - 0x0000000000000000, // Granularity - 0x0000000200000000, // Range Minimum - 0x000000027FFFFFFF, // Range Maximum - 0x0000000000000000, // Translation Offset - 0x0000000080000000, // Length - ,, , AddressRangeMemory, TypeStatic) - }) - 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, - Zero - }) - Name (_S5, Package (0x04) // _S5_: S5 System State - { - Zero, - Zero, - Zero, - Zero - }) - } - - Scope (\_SB.PCI0) - { - Device (FWCF) - { - Name (_HID, "QEMU0002") // _HID: Hardware ID - Name (_STA, 0x0B) // _STA: Status - 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 (_SUN, 0x03) // _SUN: Slot User Number - Name (_ADR, 0x00030000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device, x=0-9 - { - PCEJ (BSEL, _SUN) - } - } - - 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 & 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 = Zero - DVNT (PCIU, One) - DVNT (PCID, 0x03) - } - } - } -} - diff --git a/tests/data/acpi/pc/DSDT.dsl b/tests/data/acpi/pc/DSDT.dsl deleted file mode 100644 index da2b413efc..0000000000 --- a/tests/data/acpi/pc/DSDT.dsl +++ /dev/null @@ -1,1407 +0,0 @@ -/* - * 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.roothp, Mon Sep 28 17:24:38 2020 - * - * Original Table Header: - * Signature "DSDT" - * Length 0x00001488 (5256) - * Revision 0x01 **** 32-bit table (V1), no 64-bit math support - * Checksum 0xF2 - * 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 - } - - Method (DBUG, 1, NotSerialized) - { - ToHexString (Arg0, Local0) - ToBuffer (Local0, Local0) - Local1 = (SizeOf (Local0) - One) - Local2 = Zero - While ((Local2 < Local1)) - { - DBGB = DerefOf (Local0 [Local2]) - Local2++ - } - - DBGB = 0x0A - } - } - - Scope (_SB) - { - Device (PCI0) - { - Name (_HID, EisaId ("PNP0A03") /* PCI Bus */) // _HID: Hardware ID - Name (_ADR, Zero) // _ADR: Address - Name (_UID, Zero) // _UID: Unique ID - } - } - - Scope (_SB) - { - Device (HPET) - { - Name (_HID, EisaId ("PNP0103") /* HPET System Timer */) // _HID: Hardware ID - Name (_UID, Zero) // _UID: Unique ID - OperationRegion (HPTM, SystemMemory, 0xFED00000, 0x0400) - Field (HPTM, DWordAcc, Lock, Preserve) - { - VEND, 32, - PRD, 32 - } - - Method (_STA, 0, NotSerialized) // _STA: Status - { - Local0 = VEND /* \_SB_.HPET.VEND */ - Local1 = PRD /* \_SB_.HPET.PRD_ */ - Local0 >>= 0x10 - If (((Local0 == Zero) || (Local0 == 0xFFFF))) - { - Return (Zero) - } - - If (((Local1 == Zero) || (Local1 > 0x05F5E100))) - { - Return (Zero) - } - - Return (0x0F) - } - - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadOnly, - 0xFED00000, // Address Base - 0x00000400, // Address Length - ) - }) - } - } - - Scope (_SB.PCI0) - { - Device (ISA) - { - Name (_ADR, 0x00010000) // _ADR: Address - OperationRegion (P40C, PCI_Config, 0x60, 0x04) - } - } - - Scope (_SB.PCI0.ISA) - { - Device (KBD) - { - Name (_HID, EisaId ("PNP0303") /* IBM Enhanced Keyboard (101/102-key, PS/2 Mouse) */) // _HID: Hardware ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0060, // Range Minimum - 0x0060, // Range Maximum - 0x01, // Alignment - 0x01, // Length - ) - IO (Decode16, - 0x0064, // Range Minimum - 0x0064, // Range Maximum - 0x01, // Alignment - 0x01, // Length - ) - IRQNoFlags () - {1} - }) - } - - Device (MOU) - { - Name (_HID, EisaId ("PNP0F13") /* PS/2 Mouse */) // _HID: Hardware ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IRQNoFlags () - {12} - }) - } - - Device (FDC0) - { - Name (_HID, EisaId ("PNP0700")) // _HID: Hardware ID - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x03F2, // Range Minimum - 0x03F2, // Range Maximum - 0x00, // Alignment - 0x04, // Length - ) - IO (Decode16, - 0x03F7, // Range Minimum - 0x03F7, // Range Maximum - 0x00, // Alignment - 0x01, // Length - ) - IRQNoFlags () - {6} - DMA (Compatibility, NotBusMaster, Transfer8, ) - {2} - }) - Device (FLPA) - { - Name (_ADR, Zero) // _ADR: Address - Name (_FDI, Package (0x10) // _FDI: Floppy Drive Information - { - Zero, - 0x05, - 0x4F, - 0x30, - One, - 0xAF, - 0x02, - 0x25, - 0x02, - 0x12, - 0x1B, - 0xFF, - 0x6C, - 0xF6, - 0x0F, - 0x08 - }) - } - - Name (_FDE, Buffer (0x14) // _FDE: Floppy Disk Enumerate - { - /* 0000 */ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ - /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ - /* 0010 */ 0x02, 0x00, 0x00, 0x00 // .... - }) - } - - Device (LPT1) - { - Name (_HID, EisaId ("PNP0400") /* Standard LPT Parallel Port */) // _HID: Hardware ID - Name (_UID, One) // _UID: Unique ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0378, // Range Minimum - 0x0378, // Range Maximum - 0x08, // Alignment - 0x08, // Length - ) - IRQNoFlags () - {7} - }) - } - - Device (COM1) - { - Name (_HID, EisaId ("PNP0501") /* 16550A-compatible COM Serial Port */) // _HID: Hardware ID - Name (_UID, One) // _UID: Unique ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x03F8, // Range Minimum - 0x03F8, // Range Maximum - 0x00, // Alignment - 0x08, // Length - ) - IRQNoFlags () - {4} - }) - } - - Device (RTC) - { - 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) - { - Zero, - Zero, - LNKD, - Zero - } - } - - If ((Local3 == One)) - { - If ((Local1 == 0x04)) - { - Local4 = Package (0x04) - { - Zero, - Zero, - LNKS, - Zero - } - } - Else - { - Local4 = Package (0x04) - { - Zero, - Zero, - LNKA, - Zero - } - } - } - - If ((Local3 == 0x02)) - { - Local4 = Package (0x04) - { - Zero, - Zero, - LNKB, - Zero - } - } - - If ((Local3 == 0x03)) - { - Local4 = Package (0x04) - { - Zero, - Zero, - LNKC, - Zero - } - } - - Local4 [Zero] = ((Local2 << 0x10) | 0xFFFF) - Local4 [One] = (Local1 & 0x03) - Local0 [Local1] = Local4 - Local1++ - } - - Return (Local0) - } - } - - Field (PCI0.ISA.P40C, ByteAcc, NoLock, Preserve) - { - PRQ0, 8, - PRQ1, 8, - PRQ2, 8, - PRQ3, 8 - } - - Method (IQST, 1, NotSerialized) - { - If ((0x80 & Arg0)) - { - Return (0x09) - } - - Return (0x0B) - } - - Method (IQCR, 1, Serialized) - { - Name (PRR0, ResourceTemplate () - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, _Y00) - { - 0x00000000, - } - }) - CreateDWordField (PRR0, \_SB.IQCR._Y00._INT, PRRI) // _INT: Interrupts - If ((Arg0 < 0x80)) - { - PRRI = Arg0 - } - - Return (PRR0) /* \_SB_.IQCR.PRR0 */ - } - - Device (LNKA) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, Zero) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQ0)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQ0 |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQ0)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQ0 = PRRI /* \_SB_.LNKA._SRS.PRRI */ - } - } - - Device (LNKB) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, One) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQ1)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQ1 |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQ1)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQ1 = PRRI /* \_SB_.LNKB._SRS.PRRI */ - } - } - - Device (LNKC) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x02) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQ2)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQ2 |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQ2)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQ2 = PRRI /* \_SB_.LNKC._SRS.PRRI */ - } - } - - Device (LNKD) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x03) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQ3)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQ3 |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQ3)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQ3 = PRRI /* \_SB_.LNKD._SRS.PRRI */ - } - } - - Device (LNKS) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x04) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000009, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (0x0B) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (_PRS) /* \_SB_.LNKS._PRS */ - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - } - - Scope (_SB) - { - Device (\_SB.PCI0.PRES) - { - Name (_HID, EisaId ("PNP0A06") /* Generic Container Device */) // _HID: Hardware ID - Name (_UID, "CPU Hotplug resources") // _UID: Unique ID - Mutex (CPLK, 0x00) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0xAF00, // Range Minimum - 0xAF00, // Range Maximum - 0x01, // Alignment - 0x0C, // Length - ) - }) - OperationRegion (PRST, SystemIO, 0xAF00, 0x0C) - Field (PRST, ByteAcc, NoLock, WriteAsZeros) - { - Offset (0x04), - CPEN, 1, - CINS, 1, - CRMV, 1, - CEJ0, 1, - Offset (0x05), - CCMD, 8 - } - - Field (PRST, DWordAcc, NoLock, Preserve) - { - CSEL, 32, - Offset (0x08), - CDAT, 32 - } - - Method (_INI, 0, Serialized) // _INI: Initialize - { - CSEL = Zero - } - } - - Device (\_SB.CPUS) - { - Name (_HID, "ACPI0010" /* Processor Container Device */) // _HID: Hardware ID - Name (_CID, EisaId ("PNP0A05") /* Generic Container Device */) // _CID: Compatible ID - Method (CTFY, 2, NotSerialized) - { - If ((Arg0 == Zero)) - { - Notify (C000, Arg1) - } - } - - Method (CSTA, 1, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - \_SB.PCI0.PRES.CSEL = Arg0 - Local0 = Zero - If ((\_SB.PCI0.PRES.CPEN == One)) - { - Local0 = 0x0F - } - - Release (\_SB.PCI0.PRES.CPLK) - Return (Local0) - } - - Method (CEJ0, 1, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - \_SB.PCI0.PRES.CSEL = Arg0 - \_SB.PCI0.PRES.CEJ0 = One - Release (\_SB.PCI0.PRES.CPLK) - } - - Method (CSCN, 0, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - Name (CNEW, Package (0xFF){}) - Local3 = Zero - Local4 = One - While ((Local4 == One)) - { - Local4 = Zero - Local0 = One - Local1 = Zero - While (((Local0 == One) && (Local3 < 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++ - } - - Local2 = Zero - While ((Local2 < Local1)) - { - Local3 = DerefOf (CNEW [Local2]) - CTFY (Local3, One) - Debug = Local3 - \_SB.PCI0.PRES.CSEL = Local3 - \_SB.PCI0.PRES.CINS = One - Local2++ - } - } - - Release (\_SB.PCI0.PRES.CPLK) - } - - Method (COST, 4, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - \_SB.PCI0.PRES.CSEL = Arg0 - \_SB.PCI0.PRES.CCMD = One - \_SB.PCI0.PRES.CDAT = Arg1 - \_SB.PCI0.PRES.CCMD = 0x02 - \_SB.PCI0.PRES.CDAT = Arg2 - Release (\_SB.PCI0.PRES.CPLK) - } - - Processor (C000, 0x00, 0x00000000, 0x00) - { - Method (_STA, 0, Serialized) // _STA: Status - { - Return (CSTA (Zero)) - } - - Name (_MAT, Buffer (0x08) // _MAT: Multiple APIC Table Entry - { - 0x00, 0x08, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 // ........ - }) - Method (_OST, 3, Serialized) // _OST: OSPM Status Indication - { - COST (Zero, Arg0, Arg1, Arg2) - } - } - } - } - - Method (\_GPE._E02, 0, NotSerialized) // _Exx: Edge-Triggered GPE, xx=0x00-0xFF - { - \_SB.CPUS.CSCN () - } - - 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) - { - 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 - 0x01, // Alignment - 0x08, // Length - ) - WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, - 0x0000, // Granularity - 0x0000, // Range Minimum - 0x0CF7, // Range Maximum - 0x0000, // Translation Offset - 0x0CF8, // Length - ,, , TypeStatic, DenseTranslation) - WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, - 0x0000, // Granularity - 0x0D00, // Range Minimum - 0xFFFF, // Range Maximum - 0x0000, // Translation Offset - 0xF300, // Length - ,, , TypeStatic, DenseTranslation) - DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, - 0x00000000, // Granularity - 0x000A0000, // Range Minimum - 0x000BFFFF, // Range Maximum - 0x00000000, // Translation Offset - 0x00020000, // Length - ,, , AddressRangeMemory, TypeStatic) - DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, - 0x00000000, // Granularity - 0x08000000, // Range Minimum - 0xFEBFFFFF, // Range Maximum - 0x00000000, // Translation Offset - 0xF6C00000, // Length - ,, , AddressRangeMemory, TypeStatic) - QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, - 0x0000000000000000, // Granularity - 0x0000000100000000, // Range Minimum - 0x000000017FFFFFFF, // Range Maximum - 0x0000000000000000, // Translation Offset - 0x0000000080000000, // Length - ,, , AddressRangeMemory, TypeStatic) - }) - 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, - Zero - }) - Name (_S5, Package (0x04) // _S5_: S5 System State - { - Zero, - Zero, - Zero, - Zero - }) - } - - Scope (\_SB.PCI0) - { - Device (FWCF) - { - Name (_HID, "QEMU0002") // _HID: Hardware ID - Name (_STA, 0x0B) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0510, // Range Minimum - 0x0510, // Range Maximum - 0x01, // Alignment - 0x0C, // Length - ) - }) - } - } - - Scope (\_SB) - { - Scope (PCI0) - { - 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, Zero) - Device (S00) - { - Name (_SUN, Zero) // _SUN: Slot User Number - Name (_ADR, Zero) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device, x=0-9 - { - PCEJ (BSEL, _SUN) - } - } - - Device (S08) - { - Name (_SUN, One) // _SUN: Slot User Number - Name (_ADR, 0x00010000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device, x=0-9 - { - PCEJ (BSEL, _SUN) - } - } - - Device (S10) - { - Name (_SUN, 0x02) // _SUN: Slot User Number - Name (_ADR, 0x00020000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device, x=0-9 - { - PCEJ (BSEL, _SUN) - } - } - - Device (S18) - { - Name (_SUN, 0x03) // _SUN: Slot User Number - Name (_ADR, 0x00030000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device, x=0-9 - { - PCEJ (BSEL, _SUN) - } - } - - 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 & 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 = Zero - DVNT (PCIU, One) - DVNT (PCID, 0x03) - } - } - - Method (PCNT, 0, NotSerialized) - { - ^S18.PCNT () - } - } - } -} - diff --git a/tests/data/acpi/pc/DSDT.ipmikcs.dsl b/tests/data/acpi/pc/DSDT.ipmikcs.dsl deleted file mode 100644 index 2e4b524ab8..0000000000 --- a/tests/data/acpi/pc/DSDT.ipmikcs.dsl +++ /dev/null @@ -1,1337 +0,0 @@ -/* - * 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.ipmikcs, Tue Aug 4 11:14:15 2020 - * - * Original Table Header: - * Signature "DSDT" - * Length 0x0000138E (5006) - * Revision 0x01 **** 32-bit table (V1), no 64-bit math support - * Checksum 0x54 - * 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 - } - - Method (DBUG, 1, NotSerialized) - { - ToHexString (Arg0, Local0) - ToBuffer (Local0, Local0) - Local1 = (SizeOf (Local0) - One) - Local2 = Zero - While ((Local2 < Local1)) - { - DBGB = DerefOf (Local0 [Local2]) - Local2++ - } - - DBGB = 0x0A - } - } - - Scope (_SB) - { - Device (PCI0) - { - Name (_HID, EisaId ("PNP0A03") /* PCI Bus */) // _HID: Hardware ID - Name (_ADR, Zero) // _ADR: Address - Name (_UID, Zero) // _UID: Unique ID - } - } - - Scope (_SB) - { - Device (HPET) - { - Name (_HID, EisaId ("PNP0103") /* HPET System Timer */) // _HID: Hardware ID - Name (_UID, Zero) // _UID: Unique ID - OperationRegion (HPTM, SystemMemory, 0xFED00000, 0x0400) - Field (HPTM, DWordAcc, Lock, Preserve) - { - VEND, 32, - PRD, 32 - } - - Method (_STA, 0, NotSerialized) // _STA: Status - { - Local0 = VEND /* \_SB_.HPET.VEND */ - Local1 = PRD /* \_SB_.HPET.PRD_ */ - Local0 >>= 0x10 - If (((Local0 == Zero) || (Local0 == 0xFFFF))) - { - Return (Zero) - } - - If (((Local1 == Zero) || (Local1 > 0x05F5E100))) - { - Return (Zero) - } - - Return (0x0F) - } - - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadOnly, - 0xFED00000, // Address Base - 0x00000400, // Address Length - ) - }) - } - } - - Scope (_SB.PCI0) - { - Device (ISA) - { - Name (_ADR, 0x00010000) // _ADR: Address - OperationRegion (P40C, PCI_Config, 0x60, 0x04) - } - } - - Scope (_SB.PCI0.ISA) - { - Device (MI1) - { - Name (_HID, EisaId ("IPI0001")) // _HID: Hardware ID - Name (_STR, "ipmi_kcs") // _STR: Description String - Name (_UID, One) // _UID: Unique ID - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0CA2, // Range Minimum - 0x0CA3, // Range Maximum - 0x01, // Alignment - 0x02, // Length - ) - }) - Name (_IFT, One) // _IFT: IPMI Interface Type - Name (_SRV, 0x0200) // _SRV: IPMI Spec Revision - } - - Device (KBD) - { - Name (_HID, EisaId ("PNP0303") /* IBM Enhanced Keyboard (101/102-key, PS/2 Mouse) */) // _HID: Hardware ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0060, // Range Minimum - 0x0060, // Range Maximum - 0x01, // Alignment - 0x01, // Length - ) - IO (Decode16, - 0x0064, // Range Minimum - 0x0064, // Range Maximum - 0x01, // Alignment - 0x01, // Length - ) - IRQNoFlags () - {1} - }) - } - - Device (MOU) - { - Name (_HID, EisaId ("PNP0F13") /* PS/2 Mouse */) // _HID: Hardware ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IRQNoFlags () - {12} - }) - } - - Device (FDC0) - { - Name (_HID, EisaId ("PNP0700")) // _HID: Hardware ID - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x03F2, // Range Minimum - 0x03F2, // Range Maximum - 0x00, // Alignment - 0x04, // Length - ) - IO (Decode16, - 0x03F7, // Range Minimum - 0x03F7, // Range Maximum - 0x00, // Alignment - 0x01, // Length - ) - IRQNoFlags () - {6} - DMA (Compatibility, NotBusMaster, Transfer8, ) - {2} - }) - Device (FLPA) - { - Name (_ADR, Zero) // _ADR: Address - Name (_FDI, Package (0x10) // _FDI: Floppy Drive Information - { - Zero, - 0x05, - 0x4F, - 0x30, - One, - 0xAF, - 0x02, - 0x25, - 0x02, - 0x12, - 0x1B, - 0xFF, - 0x6C, - 0xF6, - 0x0F, - 0x08 - }) - } - - Name (_FDE, Buffer (0x14) // _FDE: Floppy Disk Enumerate - { - /* 0000 */ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ - /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ - /* 0010 */ 0x02, 0x00, 0x00, 0x00 // .... - }) - } - - Device (LPT1) - { - Name (_HID, EisaId ("PNP0400") /* Standard LPT Parallel Port */) // _HID: Hardware ID - Name (_UID, One) // _UID: Unique ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0378, // Range Minimum - 0x0378, // Range Maximum - 0x08, // Alignment - 0x08, // Length - ) - IRQNoFlags () - {7} - }) - } - - Device (COM1) - { - Name (_HID, EisaId ("PNP0501") /* 16550A-compatible COM Serial Port */) // _HID: Hardware ID - Name (_UID, One) // _UID: Unique ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x03F8, // Range Minimum - 0x03F8, // Range Maximum - 0x00, // Alignment - 0x08, // Length - ) - IRQNoFlags () - {4} - }) - } - - Device (RTC) - { - 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) - { - Zero, - Zero, - LNKD, - Zero - } - } - - If ((Local3 == One)) - { - If ((Local1 == 0x04)) - { - Local4 = Package (0x04) - { - Zero, - Zero, - LNKS, - Zero - } - } - Else - { - Local4 = Package (0x04) - { - Zero, - Zero, - LNKA, - Zero - } - } - } - - If ((Local3 == 0x02)) - { - Local4 = Package (0x04) - { - Zero, - Zero, - LNKB, - Zero - } - } - - If ((Local3 == 0x03)) - { - Local4 = Package (0x04) - { - Zero, - Zero, - LNKC, - Zero - } - } - - Local4 [Zero] = ((Local2 << 0x10) | 0xFFFF) - Local4 [One] = (Local1 & 0x03) - Local0 [Local1] = Local4 - Local1++ - } - - Return (Local0) - } - } - - Field (PCI0.ISA.P40C, ByteAcc, NoLock, Preserve) - { - PRQ0, 8, - PRQ1, 8, - PRQ2, 8, - PRQ3, 8 - } - - Method (IQST, 1, NotSerialized) - { - If ((0x80 & Arg0)) - { - Return (0x09) - } - - Return (0x0B) - } - - Method (IQCR, 1, Serialized) - { - Name (PRR0, ResourceTemplate () - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, _Y00) - { - 0x00000000, - } - }) - CreateDWordField (PRR0, \_SB.IQCR._Y00._INT, PRRI) // _INT: Interrupts - If ((Arg0 < 0x80)) - { - PRRI = Arg0 - } - - Return (PRR0) /* \_SB_.IQCR.PRR0 */ - } - - Device (LNKA) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, Zero) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQ0)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQ0 |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQ0)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQ0 = PRRI /* \_SB_.LNKA._SRS.PRRI */ - } - } - - Device (LNKB) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, One) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQ1)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQ1 |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQ1)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQ1 = PRRI /* \_SB_.LNKB._SRS.PRRI */ - } - } - - Device (LNKC) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x02) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQ2)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQ2 |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQ2)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQ2 = PRRI /* \_SB_.LNKC._SRS.PRRI */ - } - } - - Device (LNKD) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x03) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQ3)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQ3 |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQ3)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQ3 = PRRI /* \_SB_.LNKD._SRS.PRRI */ - } - } - - Device (LNKS) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x04) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000009, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (0x0B) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (_PRS) /* \_SB_.LNKS._PRS */ - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - } - - Scope (_SB) - { - Device (\_SB.PCI0.PRES) - { - Name (_HID, EisaId ("PNP0A06") /* Generic Container Device */) // _HID: Hardware ID - Name (_UID, "CPU Hotplug resources") // _UID: Unique ID - Mutex (CPLK, 0x00) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0xAF00, // Range Minimum - 0xAF00, // Range Maximum - 0x01, // Alignment - 0x0C, // Length - ) - }) - OperationRegion (PRST, SystemIO, 0xAF00, 0x0C) - Field (PRST, ByteAcc, NoLock, WriteAsZeros) - { - Offset (0x04), - CPEN, 1, - CINS, 1, - CRMV, 1, - CEJ0, 1, - Offset (0x05), - CCMD, 8 - } - - Field (PRST, DWordAcc, NoLock, Preserve) - { - CSEL, 32, - Offset (0x08), - CDAT, 32 - } - - Method (_INI, 0, Serialized) // _INI: Initialize - { - CSEL = Zero - } - } - - Device (\_SB.CPUS) - { - Name (_HID, "ACPI0010" /* Processor Container Device */) // _HID: Hardware ID - Name (_CID, EisaId ("PNP0A05") /* Generic Container Device */) // _CID: Compatible ID - Method (CTFY, 2, NotSerialized) - { - If ((Arg0 == Zero)) - { - Notify (C000, Arg1) - } - } - - Method (CSTA, 1, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - \_SB.PCI0.PRES.CSEL = Arg0 - Local0 = Zero - If ((\_SB.PCI0.PRES.CPEN == One)) - { - Local0 = 0x0F - } - - Release (\_SB.PCI0.PRES.CPLK) - Return (Local0) - } - - Method (CEJ0, 1, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - \_SB.PCI0.PRES.CSEL = Arg0 - \_SB.PCI0.PRES.CEJ0 = One - Release (\_SB.PCI0.PRES.CPLK) - } - - Method (CSCN, 0, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - Local0 = One - While ((Local0 == One)) - { - Local0 = Zero - \_SB.PCI0.PRES.CCMD = Zero - If ((\_SB.PCI0.PRES.CINS == One)) - { - CTFY (\_SB.PCI0.PRES.CDAT, One) - \_SB.PCI0.PRES.CINS = One - Local0 = One - } - ElseIf ((\_SB.PCI0.PRES.CRMV == One)) - { - CTFY (\_SB.PCI0.PRES.CDAT, 0x03) - \_SB.PCI0.PRES.CRMV = One - Local0 = One - } - } - - Release (\_SB.PCI0.PRES.CPLK) - } - - Method (COST, 4, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - \_SB.PCI0.PRES.CSEL = Arg0 - \_SB.PCI0.PRES.CCMD = One - \_SB.PCI0.PRES.CDAT = Arg1 - \_SB.PCI0.PRES.CCMD = 0x02 - \_SB.PCI0.PRES.CDAT = Arg2 - Release (\_SB.PCI0.PRES.CPLK) - } - - Processor (C000, 0x00, 0x00000000, 0x00) - { - Method (_STA, 0, Serialized) // _STA: Status - { - Return (CSTA (Zero)) - } - - Name (_MAT, Buffer (0x08) // _MAT: Multiple APIC Table Entry - { - 0x00, 0x08, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 // ........ - }) - Method (_OST, 3, Serialized) // _OST: OSPM Status Indication - { - COST (Zero, Arg0, Arg1, Arg2) - } - } - } - } - - Method (\_GPE._E02, 0, NotSerialized) // _Exx: Edge-Triggered GPE, xx=0x00-0xFF - { - \_SB.CPUS.CSCN () - } - - 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) - { - 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 - 0x01, // Alignment - 0x08, // Length - ) - WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, - 0x0000, // Granularity - 0x0000, // Range Minimum - 0x0CF7, // Range Maximum - 0x0000, // Translation Offset - 0x0CF8, // Length - ,, , TypeStatic, DenseTranslation) - WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, - 0x0000, // Granularity - 0x0D00, // Range Minimum - 0xFFFF, // Range Maximum - 0x0000, // Translation Offset - 0xF300, // Length - ,, , TypeStatic, DenseTranslation) - DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, - 0x00000000, // Granularity - 0x000A0000, // Range Minimum - 0x000BFFFF, // Range Maximum - 0x00000000, // Translation Offset - 0x00020000, // Length - ,, , AddressRangeMemory, TypeStatic) - DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, - 0x00000000, // Granularity - 0x08000000, // Range Minimum - 0xFEBFFFFF, // Range Maximum - 0x00000000, // Translation Offset - 0xF6C00000, // Length - ,, , AddressRangeMemory, TypeStatic) - QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, - 0x0000000000000000, // Granularity - 0x0000000100000000, // Range Minimum - 0x000000017FFFFFFF, // Range Maximum - 0x0000000000000000, // Translation Offset - 0x0000000080000000, // Length - ,, , AddressRangeMemory, TypeStatic) - }) - 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, - Zero - }) - Name (_S5, Package (0x04) // _S5_: S5 System State - { - Zero, - Zero, - Zero, - Zero - }) - } - - Scope (\_SB.PCI0) - { - Device (FWCF) - { - Name (_HID, "QEMU0002") // _HID: Hardware ID - Name (_STA, 0x0B) // _STA: Status - 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 (_SUN, 0x03) // _SUN: Slot User Number - Name (_ADR, 0x00030000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device, x=0-9 - { - PCEJ (BSEL, _SUN) - } - } - - 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 & 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 = Zero - DVNT (PCIU, One) - DVNT (PCID, 0x03) - } - } - } -} - diff --git a/tests/data/acpi/pc/DSDT.memhp.dsl b/tests/data/acpi/pc/DSDT.memhp.dsl deleted file mode 100644 index 299315051e..0000000000 --- a/tests/data/acpi/pc/DSDT.memhp.dsl +++ /dev/null @@ -1,1625 +0,0 @@ -/* - * 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.memhp, Tue Aug 4 11:14:15 2020 - * - * Original Table Header: - * Signature "DSDT" - * Length 0x00001895 (6293) - * Revision 0x01 **** 32-bit table (V1), no 64-bit math support - * Checksum 0xB2 - * 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 - } - - Method (DBUG, 1, NotSerialized) - { - ToHexString (Arg0, Local0) - ToBuffer (Local0, Local0) - Local1 = (SizeOf (Local0) - One) - Local2 = Zero - While ((Local2 < Local1)) - { - DBGB = DerefOf (Local0 [Local2]) - Local2++ - } - - DBGB = 0x0A - } - } - - Scope (_SB) - { - Device (PCI0) - { - Name (_HID, EisaId ("PNP0A03") /* PCI Bus */) // _HID: Hardware ID - Name (_ADR, Zero) // _ADR: Address - Name (_UID, Zero) // _UID: Unique ID - } - } - - Scope (_SB) - { - Device (HPET) - { - Name (_HID, EisaId ("PNP0103") /* HPET System Timer */) // _HID: Hardware ID - Name (_UID, Zero) // _UID: Unique ID - OperationRegion (HPTM, SystemMemory, 0xFED00000, 0x0400) - Field (HPTM, DWordAcc, Lock, Preserve) - { - VEND, 32, - PRD, 32 - } - - Method (_STA, 0, NotSerialized) // _STA: Status - { - Local0 = VEND /* \_SB_.HPET.VEND */ - Local1 = PRD /* \_SB_.HPET.PRD_ */ - Local0 >>= 0x10 - If (((Local0 == Zero) || (Local0 == 0xFFFF))) - { - Return (Zero) - } - - If (((Local1 == Zero) || (Local1 > 0x05F5E100))) - { - Return (Zero) - } - - Return (0x0F) - } - - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadOnly, - 0xFED00000, // Address Base - 0x00000400, // Address Length - ) - }) - } - } - - Scope (_SB.PCI0) - { - Device (ISA) - { - Name (_ADR, 0x00010000) // _ADR: Address - OperationRegion (P40C, PCI_Config, 0x60, 0x04) - } - } - - Scope (_SB.PCI0.ISA) - { - Device (KBD) - { - Name (_HID, EisaId ("PNP0303") /* IBM Enhanced Keyboard (101/102-key, PS/2 Mouse) */) // _HID: Hardware ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0060, // Range Minimum - 0x0060, // Range Maximum - 0x01, // Alignment - 0x01, // Length - ) - IO (Decode16, - 0x0064, // Range Minimum - 0x0064, // Range Maximum - 0x01, // Alignment - 0x01, // Length - ) - IRQNoFlags () - {1} - }) - } - - Device (MOU) - { - Name (_HID, EisaId ("PNP0F13") /* PS/2 Mouse */) // _HID: Hardware ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IRQNoFlags () - {12} - }) - } - - Device (FDC0) - { - Name (_HID, EisaId ("PNP0700")) // _HID: Hardware ID - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x03F2, // Range Minimum - 0x03F2, // Range Maximum - 0x00, // Alignment - 0x04, // Length - ) - IO (Decode16, - 0x03F7, // Range Minimum - 0x03F7, // Range Maximum - 0x00, // Alignment - 0x01, // Length - ) - IRQNoFlags () - {6} - DMA (Compatibility, NotBusMaster, Transfer8, ) - {2} - }) - Device (FLPA) - { - Name (_ADR, Zero) // _ADR: Address - Name (_FDI, Package (0x10) // _FDI: Floppy Drive Information - { - Zero, - 0x05, - 0x4F, - 0x30, - One, - 0xAF, - 0x02, - 0x25, - 0x02, - 0x12, - 0x1B, - 0xFF, - 0x6C, - 0xF6, - 0x0F, - 0x08 - }) - } - - Name (_FDE, Buffer (0x14) // _FDE: Floppy Disk Enumerate - { - /* 0000 */ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ - /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ - /* 0010 */ 0x02, 0x00, 0x00, 0x00 // .... - }) - } - - Device (LPT1) - { - Name (_HID, EisaId ("PNP0400") /* Standard LPT Parallel Port */) // _HID: Hardware ID - Name (_UID, One) // _UID: Unique ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0378, // Range Minimum - 0x0378, // Range Maximum - 0x08, // Alignment - 0x08, // Length - ) - IRQNoFlags () - {7} - }) - } - - Device (COM1) - { - Name (_HID, EisaId ("PNP0501") /* 16550A-compatible COM Serial Port */) // _HID: Hardware ID - Name (_UID, One) // _UID: Unique ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x03F8, // Range Minimum - 0x03F8, // Range Maximum - 0x00, // Alignment - 0x08, // Length - ) - IRQNoFlags () - {4} - }) - } - - Device (RTC) - { - 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) - { - Zero, - Zero, - LNKD, - Zero - } - } - - If ((Local3 == One)) - { - If ((Local1 == 0x04)) - { - Local4 = Package (0x04) - { - Zero, - Zero, - LNKS, - Zero - } - } - Else - { - Local4 = Package (0x04) - { - Zero, - Zero, - LNKA, - Zero - } - } - } - - If ((Local3 == 0x02)) - { - Local4 = Package (0x04) - { - Zero, - Zero, - LNKB, - Zero - } - } - - If ((Local3 == 0x03)) - { - Local4 = Package (0x04) - { - Zero, - Zero, - LNKC, - Zero - } - } - - Local4 [Zero] = ((Local2 << 0x10) | 0xFFFF) - Local4 [One] = (Local1 & 0x03) - Local0 [Local1] = Local4 - Local1++ - } - - Return (Local0) - } - } - - Field (PCI0.ISA.P40C, ByteAcc, NoLock, Preserve) - { - PRQ0, 8, - PRQ1, 8, - PRQ2, 8, - PRQ3, 8 - } - - Method (IQST, 1, NotSerialized) - { - If ((0x80 & Arg0)) - { - Return (0x09) - } - - Return (0x0B) - } - - Method (IQCR, 1, Serialized) - { - Name (PRR0, ResourceTemplate () - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, _Y00) - { - 0x00000000, - } - }) - CreateDWordField (PRR0, \_SB.IQCR._Y00._INT, PRRI) // _INT: Interrupts - If ((Arg0 < 0x80)) - { - PRRI = Arg0 - } - - Return (PRR0) /* \_SB_.IQCR.PRR0 */ - } - - Device (LNKA) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, Zero) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQ0)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQ0 |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQ0)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQ0 = PRRI /* \_SB_.LNKA._SRS.PRRI */ - } - } - - Device (LNKB) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, One) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQ1)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQ1 |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQ1)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQ1 = PRRI /* \_SB_.LNKB._SRS.PRRI */ - } - } - - Device (LNKC) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x02) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQ2)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQ2 |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQ2)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQ2 = PRRI /* \_SB_.LNKC._SRS.PRRI */ - } - } - - Device (LNKD) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x03) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQ3)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQ3 |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQ3)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQ3 = PRRI /* \_SB_.LNKD._SRS.PRRI */ - } - } - - Device (LNKS) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x04) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000009, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (0x0B) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (_PRS) /* \_SB_.LNKS._PRS */ - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - } - - Scope (_SB) - { - Device (\_SB.PCI0.PRES) - { - Name (_HID, EisaId ("PNP0A06") /* Generic Container Device */) // _HID: Hardware ID - Name (_UID, "CPU Hotplug resources") // _UID: Unique ID - Mutex (CPLK, 0x00) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0xAF00, // Range Minimum - 0xAF00, // Range Maximum - 0x01, // Alignment - 0x0C, // Length - ) - }) - OperationRegion (PRST, SystemIO, 0xAF00, 0x0C) - Field (PRST, ByteAcc, NoLock, WriteAsZeros) - { - Offset (0x04), - CPEN, 1, - CINS, 1, - CRMV, 1, - CEJ0, 1, - Offset (0x05), - CCMD, 8 - } - - Field (PRST, DWordAcc, NoLock, Preserve) - { - CSEL, 32, - Offset (0x08), - CDAT, 32 - } - - Method (_INI, 0, Serialized) // _INI: Initialize - { - CSEL = Zero - } - } - - Device (\_SB.CPUS) - { - Name (_HID, "ACPI0010" /* Processor Container Device */) // _HID: Hardware ID - Name (_CID, EisaId ("PNP0A05") /* Generic Container Device */) // _CID: Compatible ID - Method (CTFY, 2, NotSerialized) - { - If ((Arg0 == Zero)) - { - Notify (C000, Arg1) - } - } - - Method (CSTA, 1, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - \_SB.PCI0.PRES.CSEL = Arg0 - Local0 = Zero - If ((\_SB.PCI0.PRES.CPEN == One)) - { - Local0 = 0x0F - } - - Release (\_SB.PCI0.PRES.CPLK) - Return (Local0) - } - - Method (CEJ0, 1, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - \_SB.PCI0.PRES.CSEL = Arg0 - \_SB.PCI0.PRES.CEJ0 = One - Release (\_SB.PCI0.PRES.CPLK) - } - - Method (CSCN, 0, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - Local0 = One - While ((Local0 == One)) - { - Local0 = Zero - \_SB.PCI0.PRES.CCMD = Zero - If ((\_SB.PCI0.PRES.CINS == One)) - { - CTFY (\_SB.PCI0.PRES.CDAT, One) - \_SB.PCI0.PRES.CINS = One - Local0 = One - } - ElseIf ((\_SB.PCI0.PRES.CRMV == One)) - { - CTFY (\_SB.PCI0.PRES.CDAT, 0x03) - \_SB.PCI0.PRES.CRMV = One - Local0 = One - } - } - - Release (\_SB.PCI0.PRES.CPLK) - } - - Method (COST, 4, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - \_SB.PCI0.PRES.CSEL = Arg0 - \_SB.PCI0.PRES.CCMD = One - \_SB.PCI0.PRES.CDAT = Arg1 - \_SB.PCI0.PRES.CCMD = 0x02 - \_SB.PCI0.PRES.CDAT = Arg2 - Release (\_SB.PCI0.PRES.CPLK) - } - - Processor (C000, 0x00, 0x00000000, 0x00) - { - Method (_STA, 0, Serialized) // _STA: Status - { - Return (CSTA (Zero)) - } - - Name (_MAT, Buffer (0x08) // _MAT: Multiple APIC Table Entry - { - 0x00, 0x08, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 // ........ - }) - Method (_OST, 3, Serialized) // _OST: OSPM Status Indication - { - COST (Zero, Arg0, Arg1, Arg2) - } - - Name (_PXM, Zero) // _PXM: Device Proximity - } - } - } - - Method (\_GPE._E02, 0, NotSerialized) // _Exx: Edge-Triggered GPE, xx=0x00-0xFF - { - \_SB.CPUS.CSCN () - } - - Device (\_SB.PCI0.MHPD) - { - Name (_HID, "PNP0A06" /* Generic Container Device */) // _HID: Hardware ID - Name (_UID, "Memory hotplug resources") // _UID: Unique ID - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0A00, // Range Minimum - 0x0A00, // Range Maximum - 0x00, // Alignment - 0x18, // Length - ) - }) - OperationRegion (HPMR, SystemIO, 0x0A00, 0x18) - } - - Device (\_SB.MHPC) - { - Name (_HID, "PNP0A06" /* Generic Container Device */) // _HID: Hardware ID - Name (_UID, "DIMM devices") // _UID: Unique ID - Name (MDNR, 0x03) - Field (\_SB.PCI0.MHPD.HPMR, DWordAcc, NoLock, Preserve) - { - MRBL, 32, - MRBH, 32, - MRLL, 32, - MRLH, 32, - MPX, 32 - } - - Field (\_SB.PCI0.MHPD.HPMR, ByteAcc, NoLock, WriteAsZeros) - { - Offset (0x14), - MES, 1, - MINS, 1, - MRMV, 1, - MEJ, 1 - } - - Field (\_SB.PCI0.MHPD.HPMR, DWordAcc, NoLock, Preserve) - { - MSEL, 32, - MOEV, 32, - MOSC, 32 - } - - Method (_STA, 0, NotSerialized) // _STA: Status - { - If ((MDNR == Zero)) - { - Return (Zero) - } - - Return (0x0B) - } - - Mutex (MLCK, 0x00) - Method (MSCN, 0, NotSerialized) - { - If ((MDNR == Zero)) - { - Return (Zero) - } - - Local0 = Zero - Acquire (MLCK, 0xFFFF) - While ((Local0 < MDNR)) - { - MSEL = Local0 - If ((MINS == One)) - { - MTFY (Local0, One) - MINS = One - } - ElseIf ((MRMV == One)) - { - MTFY (Local0, 0x03) - MRMV = One - } - - Local0 += One - } - - Release (MLCK) - Return (One) - } - - Method (MRST, 1, NotSerialized) - { - Local0 = Zero - Acquire (MLCK, 0xFFFF) - MSEL = ToInteger (Arg0) - If ((MES == One)) - { - Local0 = 0x0F - } - - Release (MLCK) - Return (Local0) - } - - Method (MCRS, 1, Serialized) - { - Acquire (MLCK, 0xFFFF) - MSEL = ToInteger (Arg0) - Name (MR64, ResourceTemplate () - { - QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, - 0x0000000000000000, // Granularity - 0x0000000000000000, // Range Minimum - 0xFFFFFFFFFFFFFFFE, // Range Maximum - 0x0000000000000000, // Translation Offset - 0xFFFFFFFFFFFFFFFF, // Length - ,, _Y01, AddressRangeMemory, TypeStatic) - }) - CreateDWordField (MR64, \_SB.MHPC.MCRS._Y01._MIN, MINL) // _MIN: Minimum Base Address - CreateDWordField (MR64, 0x12, MINH) - CreateDWordField (MR64, \_SB.MHPC.MCRS._Y01._LEN, LENL) // _LEN: Length - CreateDWordField (MR64, 0x2A, LENH) - CreateDWordField (MR64, \_SB.MHPC.MCRS._Y01._MAX, MAXL) // _MAX: Maximum Base Address - CreateDWordField (MR64, 0x1A, MAXH) - MINH = MRBH /* \_SB_.MHPC.MRBH */ - MINL = MRBL /* \_SB_.MHPC.MRBL */ - LENH = MRLH /* \_SB_.MHPC.MRLH */ - LENL = MRLL /* \_SB_.MHPC.MRLL */ - MAXL = (MINL + LENL) /* \_SB_.MHPC.MCRS.LENL */ - MAXH = (MINH + LENH) /* \_SB_.MHPC.MCRS.LENH */ - If ((MAXL < MINL)) - { - MAXH += One - } - - If ((MAXL < One)) - { - MAXH -= One - } - - MAXL -= One - If ((MAXH == Zero)) - { - Name (MR32, ResourceTemplate () - { - DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, - 0x00000000, // Granularity - 0x00000000, // Range Minimum - 0xFFFFFFFE, // Range Maximum - 0x00000000, // Translation Offset - 0xFFFFFFFF, // Length - ,, _Y02, AddressRangeMemory, TypeStatic) - }) - CreateDWordField (MR32, \_SB.MHPC.MCRS._Y02._MIN, MIN) // _MIN: Minimum Base Address - CreateDWordField (MR32, \_SB.MHPC.MCRS._Y02._MAX, MAX) // _MAX: Maximum Base Address - CreateDWordField (MR32, \_SB.MHPC.MCRS._Y02._LEN, LEN) // _LEN: Length - MIN = MINL /* \_SB_.MHPC.MCRS.MINL */ - MAX = MAXL /* \_SB_.MHPC.MCRS.MAXL */ - LEN = LENL /* \_SB_.MHPC.MCRS.LENL */ - Release (MLCK) - Return (MR32) /* \_SB_.MHPC.MCRS.MR32 */ - } - - Release (MLCK) - Return (MR64) /* \_SB_.MHPC.MCRS.MR64 */ - } - - Method (MPXM, 1, NotSerialized) - { - Acquire (MLCK, 0xFFFF) - MSEL = ToInteger (Arg0) - Local0 = MPX /* \_SB_.MHPC.MPX_ */ - Release (MLCK) - Return (Local0) - } - - Method (MOST, 4, NotSerialized) - { - Acquire (MLCK, 0xFFFF) - MSEL = ToInteger (Arg0) - MOEV = Arg1 - MOSC = Arg2 - Release (MLCK) - } - - Method (MEJ0, 2, NotSerialized) - { - Acquire (MLCK, 0xFFFF) - MSEL = ToInteger (Arg0) - MEJ = One - Release (MLCK) - } - - Device (MP00) - { - Name (_UID, "0x00") // _UID: Unique ID - Name (_HID, EisaId ("PNP0C80") /* Memory Device */) // _HID: Hardware ID - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (MCRS (_UID)) - } - - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (MRST (_UID)) - } - - Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity - { - Return (MPXM (_UID)) - } - - Method (_OST, 3, NotSerialized) // _OST: OSPM Status Indication - { - MOST (_UID, Arg0, Arg1, Arg2) - } - - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device, x=0-9 - { - MEJ0 (_UID, Arg0) - } - } - - Device (MP01) - { - Name (_UID, "0x01") // _UID: Unique ID - Name (_HID, EisaId ("PNP0C80") /* Memory Device */) // _HID: Hardware ID - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (MCRS (_UID)) - } - - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (MRST (_UID)) - } - - Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity - { - Return (MPXM (_UID)) - } - - Method (_OST, 3, NotSerialized) // _OST: OSPM Status Indication - { - MOST (_UID, Arg0, Arg1, Arg2) - } - - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device, x=0-9 - { - MEJ0 (_UID, Arg0) - } - } - - Device (MP02) - { - Name (_UID, "0x02") // _UID: Unique ID - Name (_HID, EisaId ("PNP0C80") /* Memory Device */) // _HID: Hardware ID - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (MCRS (_UID)) - } - - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (MRST (_UID)) - } - - Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity - { - Return (MPXM (_UID)) - } - - Method (_OST, 3, NotSerialized) // _OST: OSPM Status Indication - { - MOST (_UID, Arg0, Arg1, Arg2) - } - - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device, x=0-9 - { - MEJ0 (_UID, Arg0) - } - } - - Method (MTFY, 2, NotSerialized) - { - If ((Arg0 == Zero)) - { - Notify (MP00, Arg1) - } - - If ((Arg0 == One)) - { - Notify (MP01, Arg1) - } - - If ((Arg0 == 0x02)) - { - Notify (MP02, Arg1) - } - } - } - - Method (\_GPE._E03, 0, NotSerialized) // _Exx: Edge-Triggered GPE, xx=0x00-0xFF - { - \_SB.MHPC.MSCN () - } - - 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) - { - 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 - 0x01, // Alignment - 0x08, // Length - ) - WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, - 0x0000, // Granularity - 0x0000, // Range Minimum - 0x0CF7, // Range Maximum - 0x0000, // Translation Offset - 0x0CF8, // Length - ,, , TypeStatic, DenseTranslation) - WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, - 0x0000, // Granularity - 0x0D00, // Range Minimum - 0xFFFF, // Range Maximum - 0x0000, // Translation Offset - 0xF300, // Length - ,, , TypeStatic, DenseTranslation) - DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, - 0x00000000, // Granularity - 0x000A0000, // Range Minimum - 0x000BFFFF, // Range Maximum - 0x00000000, // Translation Offset - 0x00020000, // Length - ,, , AddressRangeMemory, TypeStatic) - DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, - 0x00000000, // Granularity - 0x08000000, // Range Minimum - 0xFEBFFFFF, // Range Maximum - 0x00000000, // Translation Offset - 0xF6C00000, // Length - ,, , AddressRangeMemory, TypeStatic) - QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, - 0x0000000000000000, // Granularity - 0x0000000200000000, // Range Minimum - 0x000000027FFFFFFF, // Range Maximum - 0x0000000000000000, // Translation Offset - 0x0000000080000000, // Length - ,, , AddressRangeMemory, TypeStatic) - }) - 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, - Zero - }) - Name (_S5, Package (0x04) // _S5_: S5 System State - { - Zero, - Zero, - Zero, - Zero - }) - } - - Scope (\_SB.PCI0) - { - Device (FWCF) - { - Name (_HID, "QEMU0002") // _HID: Hardware ID - Name (_STA, 0x0B) // _STA: Status - 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 (_SUN, 0x03) // _SUN: Slot User Number - Name (_ADR, 0x00030000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device, x=0-9 - { - PCEJ (BSEL, _SUN) - } - } - - 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 & 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 = Zero - DVNT (PCIU, One) - DVNT (PCID, 0x03) - } - } - } -} - diff --git a/tests/data/acpi/pc/DSDT.numamem.dsl b/tests/data/acpi/pc/DSDT.numamem.dsl deleted file mode 100644 index 3d08447f1e..0000000000 --- a/tests/data/acpi/pc/DSDT.numamem.dsl +++ /dev/null @@ -1,1321 +0,0 @@ -/* - * 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.numamem, Tue Aug 4 11:14:15 2020 - * - * Original Table Header: - * Signature "DSDT" - * Length 0x0000134C (4940) - * Revision 0x01 **** 32-bit table (V1), no 64-bit math support - * Checksum 0x6A - * 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 - } - - Method (DBUG, 1, NotSerialized) - { - ToHexString (Arg0, Local0) - ToBuffer (Local0, Local0) - Local1 = (SizeOf (Local0) - One) - Local2 = Zero - While ((Local2 < Local1)) - { - DBGB = DerefOf (Local0 [Local2]) - Local2++ - } - - DBGB = 0x0A - } - } - - Scope (_SB) - { - Device (PCI0) - { - Name (_HID, EisaId ("PNP0A03") /* PCI Bus */) // _HID: Hardware ID - Name (_ADR, Zero) // _ADR: Address - Name (_UID, Zero) // _UID: Unique ID - } - } - - Scope (_SB) - { - Device (HPET) - { - Name (_HID, EisaId ("PNP0103") /* HPET System Timer */) // _HID: Hardware ID - Name (_UID, Zero) // _UID: Unique ID - OperationRegion (HPTM, SystemMemory, 0xFED00000, 0x0400) - Field (HPTM, DWordAcc, Lock, Preserve) - { - VEND, 32, - PRD, 32 - } - - Method (_STA, 0, NotSerialized) // _STA: Status - { - Local0 = VEND /* \_SB_.HPET.VEND */ - Local1 = PRD /* \_SB_.HPET.PRD_ */ - Local0 >>= 0x10 - If (((Local0 == Zero) || (Local0 == 0xFFFF))) - { - Return (Zero) - } - - If (((Local1 == Zero) || (Local1 > 0x05F5E100))) - { - Return (Zero) - } - - Return (0x0F) - } - - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadOnly, - 0xFED00000, // Address Base - 0x00000400, // Address Length - ) - }) - } - } - - Scope (_SB.PCI0) - { - Device (ISA) - { - Name (_ADR, 0x00010000) // _ADR: Address - OperationRegion (P40C, PCI_Config, 0x60, 0x04) - } - } - - Scope (_SB.PCI0.ISA) - { - Device (KBD) - { - Name (_HID, EisaId ("PNP0303") /* IBM Enhanced Keyboard (101/102-key, PS/2 Mouse) */) // _HID: Hardware ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0060, // Range Minimum - 0x0060, // Range Maximum - 0x01, // Alignment - 0x01, // Length - ) - IO (Decode16, - 0x0064, // Range Minimum - 0x0064, // Range Maximum - 0x01, // Alignment - 0x01, // Length - ) - IRQNoFlags () - {1} - }) - } - - Device (MOU) - { - Name (_HID, EisaId ("PNP0F13") /* PS/2 Mouse */) // _HID: Hardware ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IRQNoFlags () - {12} - }) - } - - Device (FDC0) - { - Name (_HID, EisaId ("PNP0700")) // _HID: Hardware ID - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x03F2, // Range Minimum - 0x03F2, // Range Maximum - 0x00, // Alignment - 0x04, // Length - ) - IO (Decode16, - 0x03F7, // Range Minimum - 0x03F7, // Range Maximum - 0x00, // Alignment - 0x01, // Length - ) - IRQNoFlags () - {6} - DMA (Compatibility, NotBusMaster, Transfer8, ) - {2} - }) - Device (FLPA) - { - Name (_ADR, Zero) // _ADR: Address - Name (_FDI, Package (0x10) // _FDI: Floppy Drive Information - { - Zero, - 0x05, - 0x4F, - 0x30, - One, - 0xAF, - 0x02, - 0x25, - 0x02, - 0x12, - 0x1B, - 0xFF, - 0x6C, - 0xF6, - 0x0F, - 0x08 - }) - } - - Name (_FDE, Buffer (0x14) // _FDE: Floppy Disk Enumerate - { - /* 0000 */ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ - /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ - /* 0010 */ 0x02, 0x00, 0x00, 0x00 // .... - }) - } - - Device (LPT1) - { - Name (_HID, EisaId ("PNP0400") /* Standard LPT Parallel Port */) // _HID: Hardware ID - Name (_UID, One) // _UID: Unique ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0378, // Range Minimum - 0x0378, // Range Maximum - 0x08, // Alignment - 0x08, // Length - ) - IRQNoFlags () - {7} - }) - } - - Device (COM1) - { - Name (_HID, EisaId ("PNP0501") /* 16550A-compatible COM Serial Port */) // _HID: Hardware ID - Name (_UID, One) // _UID: Unique ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x03F8, // Range Minimum - 0x03F8, // Range Maximum - 0x00, // Alignment - 0x08, // Length - ) - IRQNoFlags () - {4} - }) - } - - Device (RTC) - { - 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) - { - Zero, - Zero, - LNKD, - Zero - } - } - - If ((Local3 == One)) - { - If ((Local1 == 0x04)) - { - Local4 = Package (0x04) - { - Zero, - Zero, - LNKS, - Zero - } - } - Else - { - Local4 = Package (0x04) - { - Zero, - Zero, - LNKA, - Zero - } - } - } - - If ((Local3 == 0x02)) - { - Local4 = Package (0x04) - { - Zero, - Zero, - LNKB, - Zero - } - } - - If ((Local3 == 0x03)) - { - Local4 = Package (0x04) - { - Zero, - Zero, - LNKC, - Zero - } - } - - Local4 [Zero] = ((Local2 << 0x10) | 0xFFFF) - Local4 [One] = (Local1 & 0x03) - Local0 [Local1] = Local4 - Local1++ - } - - Return (Local0) - } - } - - Field (PCI0.ISA.P40C, ByteAcc, NoLock, Preserve) - { - PRQ0, 8, - PRQ1, 8, - PRQ2, 8, - PRQ3, 8 - } - - Method (IQST, 1, NotSerialized) - { - If ((0x80 & Arg0)) - { - Return (0x09) - } - - Return (0x0B) - } - - Method (IQCR, 1, Serialized) - { - Name (PRR0, ResourceTemplate () - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, _Y00) - { - 0x00000000, - } - }) - CreateDWordField (PRR0, \_SB.IQCR._Y00._INT, PRRI) // _INT: Interrupts - If ((Arg0 < 0x80)) - { - PRRI = Arg0 - } - - Return (PRR0) /* \_SB_.IQCR.PRR0 */ - } - - Device (LNKA) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, Zero) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQ0)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQ0 |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQ0)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQ0 = PRRI /* \_SB_.LNKA._SRS.PRRI */ - } - } - - Device (LNKB) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, One) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQ1)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQ1 |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQ1)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQ1 = PRRI /* \_SB_.LNKB._SRS.PRRI */ - } - } - - Device (LNKC) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x02) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQ2)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQ2 |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQ2)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQ2 = PRRI /* \_SB_.LNKC._SRS.PRRI */ - } - } - - Device (LNKD) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x03) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQ3)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQ3 |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQ3)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQ3 = PRRI /* \_SB_.LNKD._SRS.PRRI */ - } - } - - Device (LNKS) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x04) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000009, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (0x0B) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (_PRS) /* \_SB_.LNKS._PRS */ - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - } - - Scope (_SB) - { - Device (\_SB.PCI0.PRES) - { - Name (_HID, EisaId ("PNP0A06") /* Generic Container Device */) // _HID: Hardware ID - Name (_UID, "CPU Hotplug resources") // _UID: Unique ID - Mutex (CPLK, 0x00) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0xAF00, // Range Minimum - 0xAF00, // Range Maximum - 0x01, // Alignment - 0x0C, // Length - ) - }) - OperationRegion (PRST, SystemIO, 0xAF00, 0x0C) - Field (PRST, ByteAcc, NoLock, WriteAsZeros) - { - Offset (0x04), - CPEN, 1, - CINS, 1, - CRMV, 1, - CEJ0, 1, - Offset (0x05), - CCMD, 8 - } - - Field (PRST, DWordAcc, NoLock, Preserve) - { - CSEL, 32, - Offset (0x08), - CDAT, 32 - } - - Method (_INI, 0, Serialized) // _INI: Initialize - { - CSEL = Zero - } - } - - Device (\_SB.CPUS) - { - Name (_HID, "ACPI0010" /* Processor Container Device */) // _HID: Hardware ID - Name (_CID, EisaId ("PNP0A05") /* Generic Container Device */) // _CID: Compatible ID - Method (CTFY, 2, NotSerialized) - { - If ((Arg0 == Zero)) - { - Notify (C000, Arg1) - } - } - - Method (CSTA, 1, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - \_SB.PCI0.PRES.CSEL = Arg0 - Local0 = Zero - If ((\_SB.PCI0.PRES.CPEN == One)) - { - Local0 = 0x0F - } - - Release (\_SB.PCI0.PRES.CPLK) - Return (Local0) - } - - Method (CEJ0, 1, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - \_SB.PCI0.PRES.CSEL = Arg0 - \_SB.PCI0.PRES.CEJ0 = One - Release (\_SB.PCI0.PRES.CPLK) - } - - Method (CSCN, 0, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - Local0 = One - While ((Local0 == One)) - { - Local0 = Zero - \_SB.PCI0.PRES.CCMD = Zero - If ((\_SB.PCI0.PRES.CINS == One)) - { - CTFY (\_SB.PCI0.PRES.CDAT, One) - \_SB.PCI0.PRES.CINS = One - Local0 = One - } - ElseIf ((\_SB.PCI0.PRES.CRMV == One)) - { - CTFY (\_SB.PCI0.PRES.CDAT, 0x03) - \_SB.PCI0.PRES.CRMV = One - Local0 = One - } - } - - Release (\_SB.PCI0.PRES.CPLK) - } - - Method (COST, 4, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - \_SB.PCI0.PRES.CSEL = Arg0 - \_SB.PCI0.PRES.CCMD = One - \_SB.PCI0.PRES.CDAT = Arg1 - \_SB.PCI0.PRES.CCMD = 0x02 - \_SB.PCI0.PRES.CDAT = Arg2 - Release (\_SB.PCI0.PRES.CPLK) - } - - Processor (C000, 0x00, 0x00000000, 0x00) - { - Method (_STA, 0, Serialized) // _STA: Status - { - Return (CSTA (Zero)) - } - - Name (_MAT, Buffer (0x08) // _MAT: Multiple APIC Table Entry - { - 0x00, 0x08, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 // ........ - }) - Method (_OST, 3, Serialized) // _OST: OSPM Status Indication - { - COST (Zero, Arg0, Arg1, Arg2) - } - - Name (_PXM, Zero) // _PXM: Device Proximity - } - } - } - - Method (\_GPE._E02, 0, NotSerialized) // _Exx: Edge-Triggered GPE, xx=0x00-0xFF - { - \_SB.CPUS.CSCN () - } - - 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) - { - 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 - 0x01, // Alignment - 0x08, // Length - ) - WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, - 0x0000, // Granularity - 0x0000, // Range Minimum - 0x0CF7, // Range Maximum - 0x0000, // Translation Offset - 0x0CF8, // Length - ,, , TypeStatic, DenseTranslation) - WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, - 0x0000, // Granularity - 0x0D00, // Range Minimum - 0xFFFF, // Range Maximum - 0x0000, // Translation Offset - 0xF300, // Length - ,, , TypeStatic, DenseTranslation) - DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, - 0x00000000, // Granularity - 0x000A0000, // Range Minimum - 0x000BFFFF, // Range Maximum - 0x00000000, // Translation Offset - 0x00020000, // Length - ,, , AddressRangeMemory, TypeStatic) - DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, - 0x00000000, // Granularity - 0x08000000, // Range Minimum - 0xFEBFFFFF, // Range Maximum - 0x00000000, // Translation Offset - 0xF6C00000, // Length - ,, , AddressRangeMemory, TypeStatic) - QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, - 0x0000000000000000, // Granularity - 0x0000000100000000, // Range Minimum - 0x000000017FFFFFFF, // Range Maximum - 0x0000000000000000, // Translation Offset - 0x0000000080000000, // Length - ,, , AddressRangeMemory, TypeStatic) - }) - 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, - Zero - }) - Name (_S5, Package (0x04) // _S5_: S5 System State - { - Zero, - Zero, - Zero, - Zero - }) - } - - Scope (\_SB.PCI0) - { - Device (FWCF) - { - Name (_HID, "QEMU0002") // _HID: Hardware ID - Name (_STA, 0x0B) // _STA: Status - 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 (_SUN, 0x03) // _SUN: Slot User Number - Name (_ADR, 0x00030000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device, x=0-9 - { - PCEJ (BSEL, _SUN) - } - } - - 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 & 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 = Zero - DVNT (PCIU, One) - DVNT (PCID, 0x03) - } - } - } -} - diff --git a/tests/data/acpi/pc/FACP.acpihmat b/tests/data/acpi/pc/FACP.acpihmat deleted file mode 100644 index 261ebdc5d1c3bdf18fb7935314a04fd7f6f92a7a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 116 zcmXwtu?c`M5CAU{f>v3<8QdUw2zCZ+9K-=!#ll)}B1g~(A|dgbJ1#hhE1-5i$vF3Z mi4vSd1?0~DQFL6u`v9g~U7cwS+-Lm_S_8=@TMi7svB3xKUJn5P diff --git a/tests/data/acpi/pc/FACP.acpihmat.dsl b/tests/data/acpi/pc/FACP.acpihmat.dsl deleted file mode 100644 index 226fd58ec9..0000000000 --- a/tests/data/acpi/pc/FACP.acpihmat.dsl +++ /dev/null @@ -1,99 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/pc/FACP.acpihmat, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [FACP] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "FACP" [Fixed ACPI Description Table (FADT)] -[004h 0004 4] Table Length : 00000074 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : A1 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCFACP" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] FACS Address : 00000000 -[028h 0040 4] DSDT Address : 00000000 -[02Ch 0044 1] Model : 01 -[02Dh 0045 1] PM Profile : 00 [Unspecified] -[02Eh 0046 2] SCI Interrupt : 0009 -[030h 0048 4] SMI Command Port : 000000B2 -[034h 0052 1] ACPI Enable Value : F1 -[035h 0053 1] ACPI Disable Value : F0 -[036h 0054 1] S4BIOS Command : 00 -[037h 0055 1] P-State Control : 00 -[038h 0056 4] PM1A Event Block Address : 00000600 -[03Ch 0060 4] PM1B Event Block Address : 00000000 -[040h 0064 4] PM1A Control Block Address : 00000604 -[044h 0068 4] PM1B Control Block Address : 00000000 -[048h 0072 4] PM2 Control Block Address : 00000000 -[04Ch 0076 4] PM Timer Block Address : 00000608 -[050h 0080 4] GPE0 Block Address : 0000AFE0 -[054h 0084 4] GPE1 Block Address : 00000000 -[058h 0088 1] PM1 Event Block Length : 04 -[059h 0089 1] PM1 Control Block Length : 02 -[05Ah 0090 1] PM2 Control Block Length : 00 -[05Bh 0091 1] PM Timer Block Length : 04 -[05Ch 0092 1] GPE0 Block Length : 04 -[05Dh 0093 1] GPE1 Block Length : 00 -[05Eh 0094 1] GPE1 Base Offset : 00 -[05Fh 0095 1] _CST Support : 00 -[060h 0096 2] C2 Latency : 0FFF -[062h 0098 2] C3 Latency : 0FFF -[064h 0100 2] CPU Cache Size : 0000 -[066h 0102 2] Cache Flush Stride : 0000 -[068h 0104 1] Duty Cycle Offset : 00 -[069h 0105 1] Duty Cycle Width : 00 -[06Ah 0106 1] RTC Day Alarm Index : 00 -[06Bh 0107 1] RTC Month Alarm Index : 00 -[06Ch 0108 1] RTC Century Index : 32 -[06Dh 0109 2] Boot Flags (decoded below) : 0000 - Legacy Devices Supported (V2) : 0 - 8042 Present on ports 60/64 (V2) : 0 - VGA Not Present (V4) : 0 - MSI Not Supported (V4) : 0 - PCIe ASPM Not Supported (V4) : 0 - CMOS RTC Not Present (V5) : 0 -[06Fh 0111 1] Reserved : 00 -[070h 0112 4] Flags (decoded below) : 000080A5 - WBINVD instruction is operational (V1) : 1 - WBINVD flushes all caches (V1) : 0 - All CPUs support C1 (V1) : 1 - C2 works on MP system (V1) : 0 - Control Method Power Button (V1) : 0 - Control Method Sleep Button (V1) : 1 - RTC wake not in fixed reg space (V1) : 0 - RTC can wake system from S4 (V1) : 1 - 32-bit PM Timer (V1) : 0 - Docking Supported (V1) : 0 - Reset Register Supported (V2) : 0 - Sealed Case (V3) : 0 - Headless - No Video (V3) : 0 - Use native instr after SLP_TYPx (V3) : 0 - PCIEXP_WAK Bits Supported (V4) : 0 - Use Platform Timer (V4) : 1 - RTC_STS valid on S4 wake (V4) : 0 - Remote Power-on capable (V4) : 0 - Use APIC Cluster Model (V4) : 0 - Use APIC Physical Destination Mode (V4) : 0 - Hardware Reduced (V5) : 0 - Low Power S0 Idle (V5) : 0 - -Raw Table Data: Length 116 (0x74) - - 0000: 46 41 43 50 74 00 00 00 01 A1 42 4F 43 48 53 20 // FACPt.....BOCHS - 0010: 42 58 50 43 46 41 43 50 01 00 00 00 42 58 50 43 // BXPCFACP....BXPC - 0020: 01 00 00 00 00 00 00 00 00 00 00 00 01 00 09 00 // ................ - 0030: B2 00 00 00 F1 F0 00 00 00 06 00 00 00 00 00 00 // ................ - 0040: 04 06 00 00 00 00 00 00 00 00 00 00 08 06 00 00 // ................ - 0050: E0 AF 00 00 00 00 00 00 04 02 00 04 04 00 00 00 // ................ - 0060: FF 0F FF 0F 00 00 00 00 00 00 00 00 32 00 00 00 // ............2... - 0070: A5 80 00 00 // .... diff --git a/tests/data/acpi/pc/FACP.bridge b/tests/data/acpi/pc/FACP.bridge deleted file mode 100644 index 261ebdc5d1c3bdf18fb7935314a04fd7f6f92a7a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 116 zcmXwtu?c`M5CAU{f>v3<8QdUw2zCZ+9K-=!#ll)}B1g~(A|dgbJ1#hhE1-5i$vF3Z mi4vSd1?0~DQFL6u`v9g~U7cwS+-Lm_S_8=@TMi7svB3xKUJn5P diff --git a/tests/data/acpi/pc/FACP.bridge.dsl b/tests/data/acpi/pc/FACP.bridge.dsl deleted file mode 100644 index 11b371812d..0000000000 --- a/tests/data/acpi/pc/FACP.bridge.dsl +++ /dev/null @@ -1,99 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/pc/FACP.bridge, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [FACP] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "FACP" [Fixed ACPI Description Table (FADT)] -[004h 0004 4] Table Length : 00000074 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : A1 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCFACP" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] FACS Address : 00000000 -[028h 0040 4] DSDT Address : 00000000 -[02Ch 0044 1] Model : 01 -[02Dh 0045 1] PM Profile : 00 [Unspecified] -[02Eh 0046 2] SCI Interrupt : 0009 -[030h 0048 4] SMI Command Port : 000000B2 -[034h 0052 1] ACPI Enable Value : F1 -[035h 0053 1] ACPI Disable Value : F0 -[036h 0054 1] S4BIOS Command : 00 -[037h 0055 1] P-State Control : 00 -[038h 0056 4] PM1A Event Block Address : 00000600 -[03Ch 0060 4] PM1B Event Block Address : 00000000 -[040h 0064 4] PM1A Control Block Address : 00000604 -[044h 0068 4] PM1B Control Block Address : 00000000 -[048h 0072 4] PM2 Control Block Address : 00000000 -[04Ch 0076 4] PM Timer Block Address : 00000608 -[050h 0080 4] GPE0 Block Address : 0000AFE0 -[054h 0084 4] GPE1 Block Address : 00000000 -[058h 0088 1] PM1 Event Block Length : 04 -[059h 0089 1] PM1 Control Block Length : 02 -[05Ah 0090 1] PM2 Control Block Length : 00 -[05Bh 0091 1] PM Timer Block Length : 04 -[05Ch 0092 1] GPE0 Block Length : 04 -[05Dh 0093 1] GPE1 Block Length : 00 -[05Eh 0094 1] GPE1 Base Offset : 00 -[05Fh 0095 1] _CST Support : 00 -[060h 0096 2] C2 Latency : 0FFF -[062h 0098 2] C3 Latency : 0FFF -[064h 0100 2] CPU Cache Size : 0000 -[066h 0102 2] Cache Flush Stride : 0000 -[068h 0104 1] Duty Cycle Offset : 00 -[069h 0105 1] Duty Cycle Width : 00 -[06Ah 0106 1] RTC Day Alarm Index : 00 -[06Bh 0107 1] RTC Month Alarm Index : 00 -[06Ch 0108 1] RTC Century Index : 32 -[06Dh 0109 2] Boot Flags (decoded below) : 0000 - Legacy Devices Supported (V2) : 0 - 8042 Present on ports 60/64 (V2) : 0 - VGA Not Present (V4) : 0 - MSI Not Supported (V4) : 0 - PCIe ASPM Not Supported (V4) : 0 - CMOS RTC Not Present (V5) : 0 -[06Fh 0111 1] Reserved : 00 -[070h 0112 4] Flags (decoded below) : 000080A5 - WBINVD instruction is operational (V1) : 1 - WBINVD flushes all caches (V1) : 0 - All CPUs support C1 (V1) : 1 - C2 works on MP system (V1) : 0 - Control Method Power Button (V1) : 0 - Control Method Sleep Button (V1) : 1 - RTC wake not in fixed reg space (V1) : 0 - RTC can wake system from S4 (V1) : 1 - 32-bit PM Timer (V1) : 0 - Docking Supported (V1) : 0 - Reset Register Supported (V2) : 0 - Sealed Case (V3) : 0 - Headless - No Video (V3) : 0 - Use native instr after SLP_TYPx (V3) : 0 - PCIEXP_WAK Bits Supported (V4) : 0 - Use Platform Timer (V4) : 1 - RTC_STS valid on S4 wake (V4) : 0 - Remote Power-on capable (V4) : 0 - Use APIC Cluster Model (V4) : 0 - Use APIC Physical Destination Mode (V4) : 0 - Hardware Reduced (V5) : 0 - Low Power S0 Idle (V5) : 0 - -Raw Table Data: Length 116 (0x74) - - 0000: 46 41 43 50 74 00 00 00 01 A1 42 4F 43 48 53 20 // FACPt.....BOCHS - 0010: 42 58 50 43 46 41 43 50 01 00 00 00 42 58 50 43 // BXPCFACP....BXPC - 0020: 01 00 00 00 00 00 00 00 00 00 00 00 01 00 09 00 // ................ - 0030: B2 00 00 00 F1 F0 00 00 00 06 00 00 00 00 00 00 // ................ - 0040: 04 06 00 00 00 00 00 00 00 00 00 00 08 06 00 00 // ................ - 0050: E0 AF 00 00 00 00 00 00 04 02 00 04 04 00 00 00 // ................ - 0060: FF 0F FF 0F 00 00 00 00 00 00 00 00 32 00 00 00 // ............2... - 0070: A5 80 00 00 // .... diff --git a/tests/data/acpi/pc/FACP.cphp b/tests/data/acpi/pc/FACP.cphp deleted file mode 100644 index 261ebdc5d1c3bdf18fb7935314a04fd7f6f92a7a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 116 zcmXwtu?c`M5CAU{f>v3<8QdUw2zCZ+9K-=!#ll)}B1g~(A|dgbJ1#hhE1-5i$vF3Z mi4vSd1?0~DQFL6u`v9g~U7cwS+-Lm_S_8=@TMi7svB3xKUJn5P diff --git a/tests/data/acpi/pc/FACP.cphp.dsl b/tests/data/acpi/pc/FACP.cphp.dsl deleted file mode 100644 index affffe9b64..0000000000 --- a/tests/data/acpi/pc/FACP.cphp.dsl +++ /dev/null @@ -1,99 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/pc/FACP.cphp, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [FACP] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "FACP" [Fixed ACPI Description Table (FADT)] -[004h 0004 4] Table Length : 00000074 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : A1 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCFACP" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] FACS Address : 00000000 -[028h 0040 4] DSDT Address : 00000000 -[02Ch 0044 1] Model : 01 -[02Dh 0045 1] PM Profile : 00 [Unspecified] -[02Eh 0046 2] SCI Interrupt : 0009 -[030h 0048 4] SMI Command Port : 000000B2 -[034h 0052 1] ACPI Enable Value : F1 -[035h 0053 1] ACPI Disable Value : F0 -[036h 0054 1] S4BIOS Command : 00 -[037h 0055 1] P-State Control : 00 -[038h 0056 4] PM1A Event Block Address : 00000600 -[03Ch 0060 4] PM1B Event Block Address : 00000000 -[040h 0064 4] PM1A Control Block Address : 00000604 -[044h 0068 4] PM1B Control Block Address : 00000000 -[048h 0072 4] PM2 Control Block Address : 00000000 -[04Ch 0076 4] PM Timer Block Address : 00000608 -[050h 0080 4] GPE0 Block Address : 0000AFE0 -[054h 0084 4] GPE1 Block Address : 00000000 -[058h 0088 1] PM1 Event Block Length : 04 -[059h 0089 1] PM1 Control Block Length : 02 -[05Ah 0090 1] PM2 Control Block Length : 00 -[05Bh 0091 1] PM Timer Block Length : 04 -[05Ch 0092 1] GPE0 Block Length : 04 -[05Dh 0093 1] GPE1 Block Length : 00 -[05Eh 0094 1] GPE1 Base Offset : 00 -[05Fh 0095 1] _CST Support : 00 -[060h 0096 2] C2 Latency : 0FFF -[062h 0098 2] C3 Latency : 0FFF -[064h 0100 2] CPU Cache Size : 0000 -[066h 0102 2] Cache Flush Stride : 0000 -[068h 0104 1] Duty Cycle Offset : 00 -[069h 0105 1] Duty Cycle Width : 00 -[06Ah 0106 1] RTC Day Alarm Index : 00 -[06Bh 0107 1] RTC Month Alarm Index : 00 -[06Ch 0108 1] RTC Century Index : 32 -[06Dh 0109 2] Boot Flags (decoded below) : 0000 - Legacy Devices Supported (V2) : 0 - 8042 Present on ports 60/64 (V2) : 0 - VGA Not Present (V4) : 0 - MSI Not Supported (V4) : 0 - PCIe ASPM Not Supported (V4) : 0 - CMOS RTC Not Present (V5) : 0 -[06Fh 0111 1] Reserved : 00 -[070h 0112 4] Flags (decoded below) : 000080A5 - WBINVD instruction is operational (V1) : 1 - WBINVD flushes all caches (V1) : 0 - All CPUs support C1 (V1) : 1 - C2 works on MP system (V1) : 0 - Control Method Power Button (V1) : 0 - Control Method Sleep Button (V1) : 1 - RTC wake not in fixed reg space (V1) : 0 - RTC can wake system from S4 (V1) : 1 - 32-bit PM Timer (V1) : 0 - Docking Supported (V1) : 0 - Reset Register Supported (V2) : 0 - Sealed Case (V3) : 0 - Headless - No Video (V3) : 0 - Use native instr after SLP_TYPx (V3) : 0 - PCIEXP_WAK Bits Supported (V4) : 0 - Use Platform Timer (V4) : 1 - RTC_STS valid on S4 wake (V4) : 0 - Remote Power-on capable (V4) : 0 - Use APIC Cluster Model (V4) : 0 - Use APIC Physical Destination Mode (V4) : 0 - Hardware Reduced (V5) : 0 - Low Power S0 Idle (V5) : 0 - -Raw Table Data: Length 116 (0x74) - - 0000: 46 41 43 50 74 00 00 00 01 A1 42 4F 43 48 53 20 // FACPt.....BOCHS - 0010: 42 58 50 43 46 41 43 50 01 00 00 00 42 58 50 43 // BXPCFACP....BXPC - 0020: 01 00 00 00 00 00 00 00 00 00 00 00 01 00 09 00 // ................ - 0030: B2 00 00 00 F1 F0 00 00 00 06 00 00 00 00 00 00 // ................ - 0040: 04 06 00 00 00 00 00 00 00 00 00 00 08 06 00 00 // ................ - 0050: E0 AF 00 00 00 00 00 00 04 02 00 04 04 00 00 00 // ................ - 0060: FF 0F FF 0F 00 00 00 00 00 00 00 00 32 00 00 00 // ............2... - 0070: A5 80 00 00 // .... diff --git a/tests/data/acpi/pc/FACP.dimmpxm b/tests/data/acpi/pc/FACP.dimmpxm deleted file mode 100644 index 261ebdc5d1c3bdf18fb7935314a04fd7f6f92a7a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 116 zcmXwtu?c`M5CAU{f>v3<8QdUw2zCZ+9K-=!#ll)}B1g~(A|dgbJ1#hhE1-5i$vF3Z mi4vSd1?0~DQFL6u`v9g~U7cwS+-Lm_S_8=@TMi7svB3xKUJn5P diff --git a/tests/data/acpi/pc/FACP.dimmpxm.dsl b/tests/data/acpi/pc/FACP.dimmpxm.dsl deleted file mode 100644 index fd5a5ef375..0000000000 --- a/tests/data/acpi/pc/FACP.dimmpxm.dsl +++ /dev/null @@ -1,99 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/pc/FACP.dimmpxm, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [FACP] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "FACP" [Fixed ACPI Description Table (FADT)] -[004h 0004 4] Table Length : 00000074 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : A1 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCFACP" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] FACS Address : 00000000 -[028h 0040 4] DSDT Address : 00000000 -[02Ch 0044 1] Model : 01 -[02Dh 0045 1] PM Profile : 00 [Unspecified] -[02Eh 0046 2] SCI Interrupt : 0009 -[030h 0048 4] SMI Command Port : 000000B2 -[034h 0052 1] ACPI Enable Value : F1 -[035h 0053 1] ACPI Disable Value : F0 -[036h 0054 1] S4BIOS Command : 00 -[037h 0055 1] P-State Control : 00 -[038h 0056 4] PM1A Event Block Address : 00000600 -[03Ch 0060 4] PM1B Event Block Address : 00000000 -[040h 0064 4] PM1A Control Block Address : 00000604 -[044h 0068 4] PM1B Control Block Address : 00000000 -[048h 0072 4] PM2 Control Block Address : 00000000 -[04Ch 0076 4] PM Timer Block Address : 00000608 -[050h 0080 4] GPE0 Block Address : 0000AFE0 -[054h 0084 4] GPE1 Block Address : 00000000 -[058h 0088 1] PM1 Event Block Length : 04 -[059h 0089 1] PM1 Control Block Length : 02 -[05Ah 0090 1] PM2 Control Block Length : 00 -[05Bh 0091 1] PM Timer Block Length : 04 -[05Ch 0092 1] GPE0 Block Length : 04 -[05Dh 0093 1] GPE1 Block Length : 00 -[05Eh 0094 1] GPE1 Base Offset : 00 -[05Fh 0095 1] _CST Support : 00 -[060h 0096 2] C2 Latency : 0FFF -[062h 0098 2] C3 Latency : 0FFF -[064h 0100 2] CPU Cache Size : 0000 -[066h 0102 2] Cache Flush Stride : 0000 -[068h 0104 1] Duty Cycle Offset : 00 -[069h 0105 1] Duty Cycle Width : 00 -[06Ah 0106 1] RTC Day Alarm Index : 00 -[06Bh 0107 1] RTC Month Alarm Index : 00 -[06Ch 0108 1] RTC Century Index : 32 -[06Dh 0109 2] Boot Flags (decoded below) : 0000 - Legacy Devices Supported (V2) : 0 - 8042 Present on ports 60/64 (V2) : 0 - VGA Not Present (V4) : 0 - MSI Not Supported (V4) : 0 - PCIe ASPM Not Supported (V4) : 0 - CMOS RTC Not Present (V5) : 0 -[06Fh 0111 1] Reserved : 00 -[070h 0112 4] Flags (decoded below) : 000080A5 - WBINVD instruction is operational (V1) : 1 - WBINVD flushes all caches (V1) : 0 - All CPUs support C1 (V1) : 1 - C2 works on MP system (V1) : 0 - Control Method Power Button (V1) : 0 - Control Method Sleep Button (V1) : 1 - RTC wake not in fixed reg space (V1) : 0 - RTC can wake system from S4 (V1) : 1 - 32-bit PM Timer (V1) : 0 - Docking Supported (V1) : 0 - Reset Register Supported (V2) : 0 - Sealed Case (V3) : 0 - Headless - No Video (V3) : 0 - Use native instr after SLP_TYPx (V3) : 0 - PCIEXP_WAK Bits Supported (V4) : 0 - Use Platform Timer (V4) : 1 - RTC_STS valid on S4 wake (V4) : 0 - Remote Power-on capable (V4) : 0 - Use APIC Cluster Model (V4) : 0 - Use APIC Physical Destination Mode (V4) : 0 - Hardware Reduced (V5) : 0 - Low Power S0 Idle (V5) : 0 - -Raw Table Data: Length 116 (0x74) - - 0000: 46 41 43 50 74 00 00 00 01 A1 42 4F 43 48 53 20 // FACPt.....BOCHS - 0010: 42 58 50 43 46 41 43 50 01 00 00 00 42 58 50 43 // BXPCFACP....BXPC - 0020: 01 00 00 00 00 00 00 00 00 00 00 00 01 00 09 00 // ................ - 0030: B2 00 00 00 F1 F0 00 00 00 06 00 00 00 00 00 00 // ................ - 0040: 04 06 00 00 00 00 00 00 00 00 00 00 08 06 00 00 // ................ - 0050: E0 AF 00 00 00 00 00 00 04 02 00 04 04 00 00 00 // ................ - 0060: FF 0F FF 0F 00 00 00 00 00 00 00 00 32 00 00 00 // ............2... - 0070: A5 80 00 00 // .... diff --git a/tests/data/acpi/pc/FACP.dsl b/tests/data/acpi/pc/FACP.dsl deleted file mode 100644 index c5e3718772..0000000000 --- a/tests/data/acpi/pc/FACP.dsl +++ /dev/null @@ -1,99 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/pc/FACP.roothp, Mon Sep 28 17:24:38 2020 - * - * ACPI Data Table [FACP] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "FACP" [Fixed ACPI Description Table (FADT)] -[004h 0004 4] Table Length : 00000074 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : A1 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCFACP" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] FACS Address : 00000000 -[028h 0040 4] DSDT Address : 00000000 -[02Ch 0044 1] Model : 01 -[02Dh 0045 1] PM Profile : 00 [Unspecified] -[02Eh 0046 2] SCI Interrupt : 0009 -[030h 0048 4] SMI Command Port : 000000B2 -[034h 0052 1] ACPI Enable Value : F1 -[035h 0053 1] ACPI Disable Value : F0 -[036h 0054 1] S4BIOS Command : 00 -[037h 0055 1] P-State Control : 00 -[038h 0056 4] PM1A Event Block Address : 00000600 -[03Ch 0060 4] PM1B Event Block Address : 00000000 -[040h 0064 4] PM1A Control Block Address : 00000604 -[044h 0068 4] PM1B Control Block Address : 00000000 -[048h 0072 4] PM2 Control Block Address : 00000000 -[04Ch 0076 4] PM Timer Block Address : 00000608 -[050h 0080 4] GPE0 Block Address : 0000AFE0 -[054h 0084 4] GPE1 Block Address : 00000000 -[058h 0088 1] PM1 Event Block Length : 04 -[059h 0089 1] PM1 Control Block Length : 02 -[05Ah 0090 1] PM2 Control Block Length : 00 -[05Bh 0091 1] PM Timer Block Length : 04 -[05Ch 0092 1] GPE0 Block Length : 04 -[05Dh 0093 1] GPE1 Block Length : 00 -[05Eh 0094 1] GPE1 Base Offset : 00 -[05Fh 0095 1] _CST Support : 00 -[060h 0096 2] C2 Latency : 0FFF -[062h 0098 2] C3 Latency : 0FFF -[064h 0100 2] CPU Cache Size : 0000 -[066h 0102 2] Cache Flush Stride : 0000 -[068h 0104 1] Duty Cycle Offset : 00 -[069h 0105 1] Duty Cycle Width : 00 -[06Ah 0106 1] RTC Day Alarm Index : 00 -[06Bh 0107 1] RTC Month Alarm Index : 00 -[06Ch 0108 1] RTC Century Index : 32 -[06Dh 0109 2] Boot Flags (decoded below) : 0000 - Legacy Devices Supported (V2) : 0 - 8042 Present on ports 60/64 (V2) : 0 - VGA Not Present (V4) : 0 - MSI Not Supported (V4) : 0 - PCIe ASPM Not Supported (V4) : 0 - CMOS RTC Not Present (V5) : 0 -[06Fh 0111 1] Reserved : 00 -[070h 0112 4] Flags (decoded below) : 000080A5 - WBINVD instruction is operational (V1) : 1 - WBINVD flushes all caches (V1) : 0 - All CPUs support C1 (V1) : 1 - C2 works on MP system (V1) : 0 - Control Method Power Button (V1) : 0 - Control Method Sleep Button (V1) : 1 - RTC wake not in fixed reg space (V1) : 0 - RTC can wake system from S4 (V1) : 1 - 32-bit PM Timer (V1) : 0 - Docking Supported (V1) : 0 - Reset Register Supported (V2) : 0 - Sealed Case (V3) : 0 - Headless - No Video (V3) : 0 - Use native instr after SLP_TYPx (V3) : 0 - PCIEXP_WAK Bits Supported (V4) : 0 - Use Platform Timer (V4) : 1 - RTC_STS valid on S4 wake (V4) : 0 - Remote Power-on capable (V4) : 0 - Use APIC Cluster Model (V4) : 0 - Use APIC Physical Destination Mode (V4) : 0 - Hardware Reduced (V5) : 0 - Low Power S0 Idle (V5) : 0 - -Raw Table Data: Length 116 (0x74) - - 0000: 46 41 43 50 74 00 00 00 01 A1 42 4F 43 48 53 20 // FACPt.....BOCHS - 0010: 42 58 50 43 46 41 43 50 01 00 00 00 42 58 50 43 // BXPCFACP....BXPC - 0020: 01 00 00 00 00 00 00 00 00 00 00 00 01 00 09 00 // ................ - 0030: B2 00 00 00 F1 F0 00 00 00 06 00 00 00 00 00 00 // ................ - 0040: 04 06 00 00 00 00 00 00 00 00 00 00 08 06 00 00 // ................ - 0050: E0 AF 00 00 00 00 00 00 04 02 00 04 04 00 00 00 // ................ - 0060: FF 0F FF 0F 00 00 00 00 00 00 00 00 32 00 00 00 // ............2... - 0070: A5 80 00 00 // .... diff --git a/tests/data/acpi/pc/FACP.hpbridge b/tests/data/acpi/pc/FACP.hpbridge deleted file mode 100644 index 261ebdc5d1c3bdf18fb7935314a04fd7f6f92a7a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 116 zcmXwtu?c`M5CAU{f>v3<8QdUw2zCZ+9K-=!#ll)}B1g~(A|dgbJ1#hhE1-5i$vF3Z mi4vSd1?0~DQFL6u`v9g~U7cwS+-Lm_S_8=@TMi7svB3xKUJn5P diff --git a/tests/data/acpi/pc/FACP.ipmikcs b/tests/data/acpi/pc/FACP.ipmikcs deleted file mode 100644 index 261ebdc5d1c3bdf18fb7935314a04fd7f6f92a7a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 116 zcmXwtu?c`M5CAU{f>v3<8QdUw2zCZ+9K-=!#ll)}B1g~(A|dgbJ1#hhE1-5i$vF3Z mi4vSd1?0~DQFL6u`v9g~U7cwS+-Lm_S_8=@TMi7svB3xKUJn5P diff --git a/tests/data/acpi/pc/FACP.ipmikcs.dsl b/tests/data/acpi/pc/FACP.ipmikcs.dsl deleted file mode 100644 index 3f1dd018da..0000000000 --- a/tests/data/acpi/pc/FACP.ipmikcs.dsl +++ /dev/null @@ -1,99 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/pc/FACP.ipmikcs, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [FACP] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "FACP" [Fixed ACPI Description Table (FADT)] -[004h 0004 4] Table Length : 00000074 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : A1 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCFACP" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] FACS Address : 00000000 -[028h 0040 4] DSDT Address : 00000000 -[02Ch 0044 1] Model : 01 -[02Dh 0045 1] PM Profile : 00 [Unspecified] -[02Eh 0046 2] SCI Interrupt : 0009 -[030h 0048 4] SMI Command Port : 000000B2 -[034h 0052 1] ACPI Enable Value : F1 -[035h 0053 1] ACPI Disable Value : F0 -[036h 0054 1] S4BIOS Command : 00 -[037h 0055 1] P-State Control : 00 -[038h 0056 4] PM1A Event Block Address : 00000600 -[03Ch 0060 4] PM1B Event Block Address : 00000000 -[040h 0064 4] PM1A Control Block Address : 00000604 -[044h 0068 4] PM1B Control Block Address : 00000000 -[048h 0072 4] PM2 Control Block Address : 00000000 -[04Ch 0076 4] PM Timer Block Address : 00000608 -[050h 0080 4] GPE0 Block Address : 0000AFE0 -[054h 0084 4] GPE1 Block Address : 00000000 -[058h 0088 1] PM1 Event Block Length : 04 -[059h 0089 1] PM1 Control Block Length : 02 -[05Ah 0090 1] PM2 Control Block Length : 00 -[05Bh 0091 1] PM Timer Block Length : 04 -[05Ch 0092 1] GPE0 Block Length : 04 -[05Dh 0093 1] GPE1 Block Length : 00 -[05Eh 0094 1] GPE1 Base Offset : 00 -[05Fh 0095 1] _CST Support : 00 -[060h 0096 2] C2 Latency : 0FFF -[062h 0098 2] C3 Latency : 0FFF -[064h 0100 2] CPU Cache Size : 0000 -[066h 0102 2] Cache Flush Stride : 0000 -[068h 0104 1] Duty Cycle Offset : 00 -[069h 0105 1] Duty Cycle Width : 00 -[06Ah 0106 1] RTC Day Alarm Index : 00 -[06Bh 0107 1] RTC Month Alarm Index : 00 -[06Ch 0108 1] RTC Century Index : 32 -[06Dh 0109 2] Boot Flags (decoded below) : 0000 - Legacy Devices Supported (V2) : 0 - 8042 Present on ports 60/64 (V2) : 0 - VGA Not Present (V4) : 0 - MSI Not Supported (V4) : 0 - PCIe ASPM Not Supported (V4) : 0 - CMOS RTC Not Present (V5) : 0 -[06Fh 0111 1] Reserved : 00 -[070h 0112 4] Flags (decoded below) : 000080A5 - WBINVD instruction is operational (V1) : 1 - WBINVD flushes all caches (V1) : 0 - All CPUs support C1 (V1) : 1 - C2 works on MP system (V1) : 0 - Control Method Power Button (V1) : 0 - Control Method Sleep Button (V1) : 1 - RTC wake not in fixed reg space (V1) : 0 - RTC can wake system from S4 (V1) : 1 - 32-bit PM Timer (V1) : 0 - Docking Supported (V1) : 0 - Reset Register Supported (V2) : 0 - Sealed Case (V3) : 0 - Headless - No Video (V3) : 0 - Use native instr after SLP_TYPx (V3) : 0 - PCIEXP_WAK Bits Supported (V4) : 0 - Use Platform Timer (V4) : 1 - RTC_STS valid on S4 wake (V4) : 0 - Remote Power-on capable (V4) : 0 - Use APIC Cluster Model (V4) : 0 - Use APIC Physical Destination Mode (V4) : 0 - Hardware Reduced (V5) : 0 - Low Power S0 Idle (V5) : 0 - -Raw Table Data: Length 116 (0x74) - - 0000: 46 41 43 50 74 00 00 00 01 A1 42 4F 43 48 53 20 // FACPt.....BOCHS - 0010: 42 58 50 43 46 41 43 50 01 00 00 00 42 58 50 43 // BXPCFACP....BXPC - 0020: 01 00 00 00 00 00 00 00 00 00 00 00 01 00 09 00 // ................ - 0030: B2 00 00 00 F1 F0 00 00 00 06 00 00 00 00 00 00 // ................ - 0040: 04 06 00 00 00 00 00 00 00 00 00 00 08 06 00 00 // ................ - 0050: E0 AF 00 00 00 00 00 00 04 02 00 04 04 00 00 00 // ................ - 0060: FF 0F FF 0F 00 00 00 00 00 00 00 00 32 00 00 00 // ............2... - 0070: A5 80 00 00 // .... diff --git a/tests/data/acpi/pc/FACP.memhp b/tests/data/acpi/pc/FACP.memhp deleted file mode 100644 index 261ebdc5d1c3bdf18fb7935314a04fd7f6f92a7a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 116 zcmXwtu?c`M5CAU{f>v3<8QdUw2zCZ+9K-=!#ll)}B1g~(A|dgbJ1#hhE1-5i$vF3Z mi4vSd1?0~DQFL6u`v9g~U7cwS+-Lm_S_8=@TMi7svB3xKUJn5P diff --git a/tests/data/acpi/pc/FACP.memhp.dsl b/tests/data/acpi/pc/FACP.memhp.dsl deleted file mode 100644 index b2c466e989..0000000000 --- a/tests/data/acpi/pc/FACP.memhp.dsl +++ /dev/null @@ -1,99 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/pc/FACP.memhp, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [FACP] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "FACP" [Fixed ACPI Description Table (FADT)] -[004h 0004 4] Table Length : 00000074 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : A1 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCFACP" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] FACS Address : 00000000 -[028h 0040 4] DSDT Address : 00000000 -[02Ch 0044 1] Model : 01 -[02Dh 0045 1] PM Profile : 00 [Unspecified] -[02Eh 0046 2] SCI Interrupt : 0009 -[030h 0048 4] SMI Command Port : 000000B2 -[034h 0052 1] ACPI Enable Value : F1 -[035h 0053 1] ACPI Disable Value : F0 -[036h 0054 1] S4BIOS Command : 00 -[037h 0055 1] P-State Control : 00 -[038h 0056 4] PM1A Event Block Address : 00000600 -[03Ch 0060 4] PM1B Event Block Address : 00000000 -[040h 0064 4] PM1A Control Block Address : 00000604 -[044h 0068 4] PM1B Control Block Address : 00000000 -[048h 0072 4] PM2 Control Block Address : 00000000 -[04Ch 0076 4] PM Timer Block Address : 00000608 -[050h 0080 4] GPE0 Block Address : 0000AFE0 -[054h 0084 4] GPE1 Block Address : 00000000 -[058h 0088 1] PM1 Event Block Length : 04 -[059h 0089 1] PM1 Control Block Length : 02 -[05Ah 0090 1] PM2 Control Block Length : 00 -[05Bh 0091 1] PM Timer Block Length : 04 -[05Ch 0092 1] GPE0 Block Length : 04 -[05Dh 0093 1] GPE1 Block Length : 00 -[05Eh 0094 1] GPE1 Base Offset : 00 -[05Fh 0095 1] _CST Support : 00 -[060h 0096 2] C2 Latency : 0FFF -[062h 0098 2] C3 Latency : 0FFF -[064h 0100 2] CPU Cache Size : 0000 -[066h 0102 2] Cache Flush Stride : 0000 -[068h 0104 1] Duty Cycle Offset : 00 -[069h 0105 1] Duty Cycle Width : 00 -[06Ah 0106 1] RTC Day Alarm Index : 00 -[06Bh 0107 1] RTC Month Alarm Index : 00 -[06Ch 0108 1] RTC Century Index : 32 -[06Dh 0109 2] Boot Flags (decoded below) : 0000 - Legacy Devices Supported (V2) : 0 - 8042 Present on ports 60/64 (V2) : 0 - VGA Not Present (V4) : 0 - MSI Not Supported (V4) : 0 - PCIe ASPM Not Supported (V4) : 0 - CMOS RTC Not Present (V5) : 0 -[06Fh 0111 1] Reserved : 00 -[070h 0112 4] Flags (decoded below) : 000080A5 - WBINVD instruction is operational (V1) : 1 - WBINVD flushes all caches (V1) : 0 - All CPUs support C1 (V1) : 1 - C2 works on MP system (V1) : 0 - Control Method Power Button (V1) : 0 - Control Method Sleep Button (V1) : 1 - RTC wake not in fixed reg space (V1) : 0 - RTC can wake system from S4 (V1) : 1 - 32-bit PM Timer (V1) : 0 - Docking Supported (V1) : 0 - Reset Register Supported (V2) : 0 - Sealed Case (V3) : 0 - Headless - No Video (V3) : 0 - Use native instr after SLP_TYPx (V3) : 0 - PCIEXP_WAK Bits Supported (V4) : 0 - Use Platform Timer (V4) : 1 - RTC_STS valid on S4 wake (V4) : 0 - Remote Power-on capable (V4) : 0 - Use APIC Cluster Model (V4) : 0 - Use APIC Physical Destination Mode (V4) : 0 - Hardware Reduced (V5) : 0 - Low Power S0 Idle (V5) : 0 - -Raw Table Data: Length 116 (0x74) - - 0000: 46 41 43 50 74 00 00 00 01 A1 42 4F 43 48 53 20 // FACPt.....BOCHS - 0010: 42 58 50 43 46 41 43 50 01 00 00 00 42 58 50 43 // BXPCFACP....BXPC - 0020: 01 00 00 00 00 00 00 00 00 00 00 00 01 00 09 00 // ................ - 0030: B2 00 00 00 F1 F0 00 00 00 06 00 00 00 00 00 00 // ................ - 0040: 04 06 00 00 00 00 00 00 00 00 00 00 08 06 00 00 // ................ - 0050: E0 AF 00 00 00 00 00 00 04 02 00 04 04 00 00 00 // ................ - 0060: FF 0F FF 0F 00 00 00 00 00 00 00 00 32 00 00 00 // ............2... - 0070: A5 80 00 00 // .... diff --git a/tests/data/acpi/pc/FACP.numamem b/tests/data/acpi/pc/FACP.numamem deleted file mode 100644 index 261ebdc5d1c3bdf18fb7935314a04fd7f6f92a7a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 116 zcmXwtu?c`M5CAU{f>v3<8QdUw2zCZ+9K-=!#ll)}B1g~(A|dgbJ1#hhE1-5i$vF3Z mi4vSd1?0~DQFL6u`v9g~U7cwS+-Lm_S_8=@TMi7svB3xKUJn5P diff --git a/tests/data/acpi/pc/FACP.numamem.dsl b/tests/data/acpi/pc/FACP.numamem.dsl deleted file mode 100644 index 34ed95d536..0000000000 --- a/tests/data/acpi/pc/FACP.numamem.dsl +++ /dev/null @@ -1,99 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/pc/FACP.numamem, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [FACP] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "FACP" [Fixed ACPI Description Table (FADT)] -[004h 0004 4] Table Length : 00000074 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : A1 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCFACP" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] FACS Address : 00000000 -[028h 0040 4] DSDT Address : 00000000 -[02Ch 0044 1] Model : 01 -[02Dh 0045 1] PM Profile : 00 [Unspecified] -[02Eh 0046 2] SCI Interrupt : 0009 -[030h 0048 4] SMI Command Port : 000000B2 -[034h 0052 1] ACPI Enable Value : F1 -[035h 0053 1] ACPI Disable Value : F0 -[036h 0054 1] S4BIOS Command : 00 -[037h 0055 1] P-State Control : 00 -[038h 0056 4] PM1A Event Block Address : 00000600 -[03Ch 0060 4] PM1B Event Block Address : 00000000 -[040h 0064 4] PM1A Control Block Address : 00000604 -[044h 0068 4] PM1B Control Block Address : 00000000 -[048h 0072 4] PM2 Control Block Address : 00000000 -[04Ch 0076 4] PM Timer Block Address : 00000608 -[050h 0080 4] GPE0 Block Address : 0000AFE0 -[054h 0084 4] GPE1 Block Address : 00000000 -[058h 0088 1] PM1 Event Block Length : 04 -[059h 0089 1] PM1 Control Block Length : 02 -[05Ah 0090 1] PM2 Control Block Length : 00 -[05Bh 0091 1] PM Timer Block Length : 04 -[05Ch 0092 1] GPE0 Block Length : 04 -[05Dh 0093 1] GPE1 Block Length : 00 -[05Eh 0094 1] GPE1 Base Offset : 00 -[05Fh 0095 1] _CST Support : 00 -[060h 0096 2] C2 Latency : 0FFF -[062h 0098 2] C3 Latency : 0FFF -[064h 0100 2] CPU Cache Size : 0000 -[066h 0102 2] Cache Flush Stride : 0000 -[068h 0104 1] Duty Cycle Offset : 00 -[069h 0105 1] Duty Cycle Width : 00 -[06Ah 0106 1] RTC Day Alarm Index : 00 -[06Bh 0107 1] RTC Month Alarm Index : 00 -[06Ch 0108 1] RTC Century Index : 32 -[06Dh 0109 2] Boot Flags (decoded below) : 0000 - Legacy Devices Supported (V2) : 0 - 8042 Present on ports 60/64 (V2) : 0 - VGA Not Present (V4) : 0 - MSI Not Supported (V4) : 0 - PCIe ASPM Not Supported (V4) : 0 - CMOS RTC Not Present (V5) : 0 -[06Fh 0111 1] Reserved : 00 -[070h 0112 4] Flags (decoded below) : 000080A5 - WBINVD instruction is operational (V1) : 1 - WBINVD flushes all caches (V1) : 0 - All CPUs support C1 (V1) : 1 - C2 works on MP system (V1) : 0 - Control Method Power Button (V1) : 0 - Control Method Sleep Button (V1) : 1 - RTC wake not in fixed reg space (V1) : 0 - RTC can wake system from S4 (V1) : 1 - 32-bit PM Timer (V1) : 0 - Docking Supported (V1) : 0 - Reset Register Supported (V2) : 0 - Sealed Case (V3) : 0 - Headless - No Video (V3) : 0 - Use native instr after SLP_TYPx (V3) : 0 - PCIEXP_WAK Bits Supported (V4) : 0 - Use Platform Timer (V4) : 1 - RTC_STS valid on S4 wake (V4) : 0 - Remote Power-on capable (V4) : 0 - Use APIC Cluster Model (V4) : 0 - Use APIC Physical Destination Mode (V4) : 0 - Hardware Reduced (V5) : 0 - Low Power S0 Idle (V5) : 0 - -Raw Table Data: Length 116 (0x74) - - 0000: 46 41 43 50 74 00 00 00 01 A1 42 4F 43 48 53 20 // FACPt.....BOCHS - 0010: 42 58 50 43 46 41 43 50 01 00 00 00 42 58 50 43 // BXPCFACP....BXPC - 0020: 01 00 00 00 00 00 00 00 00 00 00 00 01 00 09 00 // ................ - 0030: B2 00 00 00 F1 F0 00 00 00 06 00 00 00 00 00 00 // ................ - 0040: 04 06 00 00 00 00 00 00 00 00 00 00 08 06 00 00 // ................ - 0050: E0 AF 00 00 00 00 00 00 04 02 00 04 04 00 00 00 // ................ - 0060: FF 0F FF 0F 00 00 00 00 00 00 00 00 32 00 00 00 // ............2... - 0070: A5 80 00 00 // .... diff --git a/tests/data/acpi/pc/FACP.roothp b/tests/data/acpi/pc/FACP.roothp deleted file mode 100644 index 261ebdc5d1c3bdf18fb7935314a04fd7f6f92a7a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 116 zcmXwtu?c`M5CAU{f>v3<8QdUw2zCZ+9K-=!#ll)}B1g~(A|dgbJ1#hhE1-5i$vF3Z mi4vSd1?0~DQFL6u`v9g~U7cwS+-Lm_S_8=@TMi7svB3xKUJn5P diff --git a/tests/data/acpi/pc/FACS.acpihmat b/tests/data/acpi/pc/FACS.acpihmat deleted file mode 100644 index fc67ecc40782bd7fe8921e430d7de67f0bfaad93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 64 PcmZ>BbPjf4ARhn#RKNjV diff --git a/tests/data/acpi/pc/FACS.acpihmat.dsl b/tests/data/acpi/pc/FACS.acpihmat.dsl deleted file mode 100644 index bff165ba4e..0000000000 --- a/tests/data/acpi/pc/FACS.acpihmat.dsl +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/pc/FACS.acpihmat, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [FACS] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "FACS" -[004h 0004 4] Length : 00000040 -[008h 0008 4] Hardware Signature : 00000000 -[00Ch 0012 4] 32 Firmware Waking Vector : 00000000 -[010h 0016 4] Global Lock : 00000000 -[014h 0020 4] Flags (decoded below) : 00000000 - S4BIOS Support Present : 0 - 64-bit Wake Supported (V2) : 0 -[018h 0024 8] 64 Firmware Waking Vector : 0000000000000000 -[020h 0032 1] Version : 00 -[021h 0033 3] Reserved : 000000 -[024h 0036 4] OspmFlags (decoded below) : 00000000 - 64-bit Wake Env Required (V2) : 0 - -Raw Table Data: Length 64 (0x40) - - 0000: 46 41 43 53 40 00 00 00 00 00 00 00 00 00 00 00 // FACS@........... - 0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ diff --git a/tests/data/acpi/pc/FACS.bridge b/tests/data/acpi/pc/FACS.bridge deleted file mode 100644 index fc67ecc40782bd7fe8921e430d7de67f0bfaad93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 64 PcmZ>BbPjf4ARhn#RKNjV diff --git a/tests/data/acpi/pc/FACS.bridge.dsl b/tests/data/acpi/pc/FACS.bridge.dsl deleted file mode 100644 index 981354f0f3..0000000000 --- a/tests/data/acpi/pc/FACS.bridge.dsl +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/pc/FACS.bridge, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [FACS] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "FACS" -[004h 0004 4] Length : 00000040 -[008h 0008 4] Hardware Signature : 00000000 -[00Ch 0012 4] 32 Firmware Waking Vector : 00000000 -[010h 0016 4] Global Lock : 00000000 -[014h 0020 4] Flags (decoded below) : 00000000 - S4BIOS Support Present : 0 - 64-bit Wake Supported (V2) : 0 -[018h 0024 8] 64 Firmware Waking Vector : 0000000000000000 -[020h 0032 1] Version : 00 -[021h 0033 3] Reserved : 000000 -[024h 0036 4] OspmFlags (decoded below) : 00000000 - 64-bit Wake Env Required (V2) : 0 - -Raw Table Data: Length 64 (0x40) - - 0000: 46 41 43 53 40 00 00 00 00 00 00 00 00 00 00 00 // FACS@........... - 0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ diff --git a/tests/data/acpi/pc/FACS.cphp b/tests/data/acpi/pc/FACS.cphp deleted file mode 100644 index fc67ecc40782bd7fe8921e430d7de67f0bfaad93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 64 PcmZ>BbPjf4ARhn#RKNjV diff --git a/tests/data/acpi/pc/FACS.cphp.dsl b/tests/data/acpi/pc/FACS.cphp.dsl deleted file mode 100644 index bb44e525b9..0000000000 --- a/tests/data/acpi/pc/FACS.cphp.dsl +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/pc/FACS.cphp, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [FACS] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "FACS" -[004h 0004 4] Length : 00000040 -[008h 0008 4] Hardware Signature : 00000000 -[00Ch 0012 4] 32 Firmware Waking Vector : 00000000 -[010h 0016 4] Global Lock : 00000000 -[014h 0020 4] Flags (decoded below) : 00000000 - S4BIOS Support Present : 0 - 64-bit Wake Supported (V2) : 0 -[018h 0024 8] 64 Firmware Waking Vector : 0000000000000000 -[020h 0032 1] Version : 00 -[021h 0033 3] Reserved : 000000 -[024h 0036 4] OspmFlags (decoded below) : 00000000 - 64-bit Wake Env Required (V2) : 0 - -Raw Table Data: Length 64 (0x40) - - 0000: 46 41 43 53 40 00 00 00 00 00 00 00 00 00 00 00 // FACS@........... - 0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ diff --git a/tests/data/acpi/pc/FACS.dimmpxm b/tests/data/acpi/pc/FACS.dimmpxm deleted file mode 100644 index fc67ecc40782bd7fe8921e430d7de67f0bfaad93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 64 PcmZ>BbPjf4ARhn#RKNjV diff --git a/tests/data/acpi/pc/FACS.dimmpxm.dsl b/tests/data/acpi/pc/FACS.dimmpxm.dsl deleted file mode 100644 index e7586d3236..0000000000 --- a/tests/data/acpi/pc/FACS.dimmpxm.dsl +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/pc/FACS.dimmpxm, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [FACS] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "FACS" -[004h 0004 4] Length : 00000040 -[008h 0008 4] Hardware Signature : 00000000 -[00Ch 0012 4] 32 Firmware Waking Vector : 00000000 -[010h 0016 4] Global Lock : 00000000 -[014h 0020 4] Flags (decoded below) : 00000000 - S4BIOS Support Present : 0 - 64-bit Wake Supported (V2) : 0 -[018h 0024 8] 64 Firmware Waking Vector : 0000000000000000 -[020h 0032 1] Version : 00 -[021h 0033 3] Reserved : 000000 -[024h 0036 4] OspmFlags (decoded below) : 00000000 - 64-bit Wake Env Required (V2) : 0 - -Raw Table Data: Length 64 (0x40) - - 0000: 46 41 43 53 40 00 00 00 00 00 00 00 00 00 00 00 // FACS@........... - 0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ diff --git a/tests/data/acpi/pc/FACS.dsl b/tests/data/acpi/pc/FACS.dsl deleted file mode 100644 index 11d622cdf7..0000000000 --- a/tests/data/acpi/pc/FACS.dsl +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/pc/FACS.roothp, Mon Sep 28 17:24:38 2020 - * - * ACPI Data Table [FACS] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "FACS" -[004h 0004 4] Length : 00000040 -[008h 0008 4] Hardware Signature : 00000000 -[00Ch 0012 4] 32 Firmware Waking Vector : 00000000 -[010h 0016 4] Global Lock : 00000000 -[014h 0020 4] Flags (decoded below) : 00000000 - S4BIOS Support Present : 0 - 64-bit Wake Supported (V2) : 0 -[018h 0024 8] 64 Firmware Waking Vector : 0000000000000000 -[020h 0032 1] Version : 00 -[021h 0033 3] Reserved : 000000 -[024h 0036 4] OspmFlags (decoded below) : 00000000 - 64-bit Wake Env Required (V2) : 0 - -Raw Table Data: Length 64 (0x40) - - 0000: 46 41 43 53 40 00 00 00 00 00 00 00 00 00 00 00 // FACS@........... - 0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ diff --git a/tests/data/acpi/pc/FACS.hpbridge b/tests/data/acpi/pc/FACS.hpbridge deleted file mode 100644 index fc67ecc40782bd7fe8921e430d7de67f0bfaad93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 64 PcmZ>BbPjf4ARhn#RKNjV diff --git a/tests/data/acpi/pc/FACS.ipmikcs b/tests/data/acpi/pc/FACS.ipmikcs deleted file mode 100644 index fc67ecc40782bd7fe8921e430d7de67f0bfaad93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 64 PcmZ>BbPjf4ARhn#RKNjV diff --git a/tests/data/acpi/pc/FACS.ipmikcs.dsl b/tests/data/acpi/pc/FACS.ipmikcs.dsl deleted file mode 100644 index f4b7c9718c..0000000000 --- a/tests/data/acpi/pc/FACS.ipmikcs.dsl +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/pc/FACS.ipmikcs, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [FACS] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "FACS" -[004h 0004 4] Length : 00000040 -[008h 0008 4] Hardware Signature : 00000000 -[00Ch 0012 4] 32 Firmware Waking Vector : 00000000 -[010h 0016 4] Global Lock : 00000000 -[014h 0020 4] Flags (decoded below) : 00000000 - S4BIOS Support Present : 0 - 64-bit Wake Supported (V2) : 0 -[018h 0024 8] 64 Firmware Waking Vector : 0000000000000000 -[020h 0032 1] Version : 00 -[021h 0033 3] Reserved : 000000 -[024h 0036 4] OspmFlags (decoded below) : 00000000 - 64-bit Wake Env Required (V2) : 0 - -Raw Table Data: Length 64 (0x40) - - 0000: 46 41 43 53 40 00 00 00 00 00 00 00 00 00 00 00 // FACS@........... - 0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ diff --git a/tests/data/acpi/pc/FACS.memhp b/tests/data/acpi/pc/FACS.memhp deleted file mode 100644 index fc67ecc40782bd7fe8921e430d7de67f0bfaad93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 64 PcmZ>BbPjf4ARhn#RKNjV diff --git a/tests/data/acpi/pc/FACS.memhp.dsl b/tests/data/acpi/pc/FACS.memhp.dsl deleted file mode 100644 index da2e230a62..0000000000 --- a/tests/data/acpi/pc/FACS.memhp.dsl +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/pc/FACS.memhp, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [FACS] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "FACS" -[004h 0004 4] Length : 00000040 -[008h 0008 4] Hardware Signature : 00000000 -[00Ch 0012 4] 32 Firmware Waking Vector : 00000000 -[010h 0016 4] Global Lock : 00000000 -[014h 0020 4] Flags (decoded below) : 00000000 - S4BIOS Support Present : 0 - 64-bit Wake Supported (V2) : 0 -[018h 0024 8] 64 Firmware Waking Vector : 0000000000000000 -[020h 0032 1] Version : 00 -[021h 0033 3] Reserved : 000000 -[024h 0036 4] OspmFlags (decoded below) : 00000000 - 64-bit Wake Env Required (V2) : 0 - -Raw Table Data: Length 64 (0x40) - - 0000: 46 41 43 53 40 00 00 00 00 00 00 00 00 00 00 00 // FACS@........... - 0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ diff --git a/tests/data/acpi/pc/FACS.numamem b/tests/data/acpi/pc/FACS.numamem deleted file mode 100644 index fc67ecc40782bd7fe8921e430d7de67f0bfaad93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 64 PcmZ>BbPjf4ARhn#RKNjV diff --git a/tests/data/acpi/pc/FACS.numamem.dsl b/tests/data/acpi/pc/FACS.numamem.dsl deleted file mode 100644 index c856f8b230..0000000000 --- a/tests/data/acpi/pc/FACS.numamem.dsl +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/pc/FACS.numamem, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [FACS] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "FACS" -[004h 0004 4] Length : 00000040 -[008h 0008 4] Hardware Signature : 00000000 -[00Ch 0012 4] 32 Firmware Waking Vector : 00000000 -[010h 0016 4] Global Lock : 00000000 -[014h 0020 4] Flags (decoded below) : 00000000 - S4BIOS Support Present : 0 - 64-bit Wake Supported (V2) : 0 -[018h 0024 8] 64 Firmware Waking Vector : 0000000000000000 -[020h 0032 1] Version : 00 -[021h 0033 3] Reserved : 000000 -[024h 0036 4] OspmFlags (decoded below) : 00000000 - 64-bit Wake Env Required (V2) : 0 - -Raw Table Data: Length 64 (0x40) - - 0000: 46 41 43 53 40 00 00 00 00 00 00 00 00 00 00 00 // FACS@........... - 0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ diff --git a/tests/data/acpi/pc/FACS.roothp b/tests/data/acpi/pc/FACS.roothp deleted file mode 100644 index fc67ecc40782bd7fe8921e430d7de67f0bfaad93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 64 PcmZ>BbPjf4ARhn#RKNjV diff --git a/tests/data/acpi/pc/HMAT.acpihmat.dsl b/tests/data/acpi/pc/HMAT.acpihmat.dsl deleted file mode 100644 index b55564d383..0000000000 --- a/tests/data/acpi/pc/HMAT.acpihmat.dsl +++ /dev/null @@ -1,132 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/pc/HMAT.acpihmat, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [HMAT] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "HMAT" [Heterogeneous Memory Attributes Table] -[004h 0004 4] Table Length : 00000118 -[008h 0008 1] Revision : 02 -[009h 0009 1] Checksum : 98 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCHMAT" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Reserved : 00000000 - -[028h 0040 2] Structure Type : 0000 [Memory Proximity Domain Attributes] -[02Ah 0042 2] Reserved : 0000 -[02Ch 0044 4] Length : 00000028 -[030h 0048 2] Flags (decoded below) : 0001 - Processor Proximity Domain Valid : 1 -[032h 0050 2] Reserved1 : 0000 -[034h 0052 4] Processor Proximity Domain : 00000000 -[038h 0056 4] Memory Proximity Domain : 00000000 -[03Ch 0060 4] Reserved2 : 00000000 -[040h 0064 8] Reserved3 : 0000000000000000 -[048h 0072 8] Reserved4 : 0000000000000000 - -[050h 0080 2] Structure Type : 0000 [Memory Proximity Domain Attributes] -[052h 0082 2] Reserved : 0000 -[054h 0084 4] Length : 00000028 -[058h 0088 2] Flags (decoded below) : 0001 - Processor Proximity Domain Valid : 1 -[05Ah 0090 2] Reserved1 : 0000 -[05Ch 0092 4] Processor Proximity Domain : 00000000 -[060h 0096 4] Memory Proximity Domain : 00000001 -[064h 0100 4] Reserved2 : 00000000 -[068h 0104 8] Reserved3 : 0000000000000000 -[070h 0112 8] Reserved4 : 0000000000000000 - -[078h 0120 2] Structure Type : 0001 [System Locality Latency and Bandwidth Information] -[07Ah 0122 2] Reserved : 0000 -[07Ch 0124 4] Length : 00000030 -[080h 0128 1] Flags (decoded below) : 00 - Memory Hierarchy : 0 -[081h 0129 1] Data Type : 00 -[082h 0130 2] Reserved1 : 0000 -[084h 0132 4] Initiator Proximity Domains # : 00000001 -[088h 0136 4] Target Proximity Domains # : 00000002 -[08Ch 0140 4] Reserved2 : 00000000 -[090h 0144 8] Entry Base Unit : 00000000000003E8 -[098h 0152 4] Initiator Proximity Domain List : 00000000 -[09Ch 0156 4] Target Proximity Domain List : 00000000 -[0A0h 0160 4] Target Proximity Domain List : 00000001 -[0A4h 0164 2] Entry : 0001 -[0A6h 0166 2] Entry : FFFE - -[0A8h 0168 2] Structure Type : 0001 [System Locality Latency and Bandwidth Information] -[0AAh 0170 2] Reserved : 0000 -[0ACh 0172 4] Length : 00000030 -[0B0h 0176 1] Flags (decoded below) : 00 - Memory Hierarchy : 0 -[0B1h 0177 1] Data Type : 03 -[0B2h 0178 2] Reserved1 : 0000 -[0B4h 0180 4] Initiator Proximity Domains # : 00000001 -[0B8h 0184 4] Target Proximity Domains # : 00000002 -[0BCh 0188 4] Reserved2 : 00000000 -[0C0h 0192 8] Entry Base Unit : 0000000000000001 -[0C8h 0200 4] Initiator Proximity Domain List : 00000000 -[0CCh 0204 4] Target Proximity Domain List : 00000000 -[0D0h 0208 4] Target Proximity Domain List : 00000001 -[0D4h 0212 2] Entry : FFFE -[0D6h 0214 2] Entry : 7FFF - -[0D8h 0216 2] Structure Type : 0002 [Memory Side Cache Information] -[0DAh 0218 2] Reserved : 0000 -[0DCh 0220 4] Length : 00000020 -[0E0h 0224 4] Memory Proximity Domain : 00000000 -[0E4h 0228 4] Reserved1 : 00000000 -[0E8h 0232 8] Memory Side Cache Size : 0000000000002800 -[0F0h 0240 4] Cache Attributes (decoded below) : 00081111 - Total Cache Levels : 1 - Cache Level : 1 - Cache Associativity : 1 - Write Policy : 1 - Cache Line Size : 0008 -[0F4h 0244 2] Reserved2 : 0000 -[0F6h 0246 2] SMBIOS Handle # : 0000 - -[0F8h 0248 2] Structure Type : 0002 [Memory Side Cache Information] -[0FAh 0250 2] Reserved : 0000 -[0FCh 0252 4] Length : 00000020 -[100h 0256 4] Memory Proximity Domain : 00000001 -[104h 0260 4] Reserved1 : 00000000 -[108h 0264 8] Memory Side Cache Size : 0000000000002800 -[110h 0272 4] Cache Attributes (decoded below) : 00081111 - Total Cache Levels : 1 - Cache Level : 1 - Cache Associativity : 1 - Write Policy : 1 - Cache Line Size : 0008 -[114h 0276 2] Reserved2 : 0000 -[116h 0278 2] SMBIOS Handle # : 0000 - -Raw Table Data: Length 280 (0x118) - - 0000: 48 4D 41 54 18 01 00 00 02 98 42 4F 43 48 53 20 // HMAT......BOCHS - 0010: 42 58 50 43 48 4D 41 54 01 00 00 00 42 58 50 43 // BXPCHMAT....BXPC - 0020: 01 00 00 00 00 00 00 00 00 00 00 00 28 00 00 00 // ............(... - 0030: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0050: 00 00 00 00 28 00 00 00 01 00 00 00 00 00 00 00 // ....(........... - 0060: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0070: 00 00 00 00 00 00 00 00 01 00 00 00 30 00 00 00 // ............0... - 0080: 00 00 00 00 01 00 00 00 02 00 00 00 00 00 00 00 // ................ - 0090: E8 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00A0: 01 00 00 00 01 00 FE FF 01 00 00 00 30 00 00 00 // ............0... - 00B0: 00 03 00 00 01 00 00 00 02 00 00 00 00 00 00 00 // ................ - 00C0: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00D0: 01 00 00 00 FE FF FF 7F 02 00 00 00 20 00 00 00 // ............ ... - 00E0: 00 00 00 00 00 00 00 00 00 28 00 00 00 00 00 00 // .........(...... - 00F0: 11 11 08 00 00 00 00 00 02 00 00 00 20 00 00 00 // ............ ... - 0100: 01 00 00 00 00 00 00 00 00 28 00 00 00 00 00 00 // .........(...... - 0110: 11 11 08 00 00 00 00 00 // ........ diff --git a/tests/data/acpi/pc/HMAT.dsl b/tests/data/acpi/pc/HMAT.dsl deleted file mode 100644 index 8031f62433..0000000000 --- a/tests/data/acpi/pc/HMAT.dsl +++ /dev/null @@ -1,132 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/pc/HMAT.acpihmat, Mon Sep 28 17:24:38 2020 - * - * ACPI Data Table [HMAT] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "HMAT" [Heterogeneous Memory Attributes Table] -[004h 0004 4] Table Length : 00000118 -[008h 0008 1] Revision : 02 -[009h 0009 1] Checksum : 98 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCHMAT" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Reserved : 00000000 - -[028h 0040 2] Structure Type : 0000 [Memory Proximity Domain Attributes] -[02Ah 0042 2] Reserved : 0000 -[02Ch 0044 4] Length : 00000028 -[030h 0048 2] Flags (decoded below) : 0001 - Processor Proximity Domain Valid : 1 -[032h 0050 2] Reserved1 : 0000 -[034h 0052 4] Processor Proximity Domain : 00000000 -[038h 0056 4] Memory Proximity Domain : 00000000 -[03Ch 0060 4] Reserved2 : 00000000 -[040h 0064 8] Reserved3 : 0000000000000000 -[048h 0072 8] Reserved4 : 0000000000000000 - -[050h 0080 2] Structure Type : 0000 [Memory Proximity Domain Attributes] -[052h 0082 2] Reserved : 0000 -[054h 0084 4] Length : 00000028 -[058h 0088 2] Flags (decoded below) : 0001 - Processor Proximity Domain Valid : 1 -[05Ah 0090 2] Reserved1 : 0000 -[05Ch 0092 4] Processor Proximity Domain : 00000000 -[060h 0096 4] Memory Proximity Domain : 00000001 -[064h 0100 4] Reserved2 : 00000000 -[068h 0104 8] Reserved3 : 0000000000000000 -[070h 0112 8] Reserved4 : 0000000000000000 - -[078h 0120 2] Structure Type : 0001 [System Locality Latency and Bandwidth Information] -[07Ah 0122 2] Reserved : 0000 -[07Ch 0124 4] Length : 00000030 -[080h 0128 1] Flags (decoded below) : 00 - Memory Hierarchy : 0 -[081h 0129 1] Data Type : 00 -[082h 0130 2] Reserved1 : 0000 -[084h 0132 4] Initiator Proximity Domains # : 00000001 -[088h 0136 4] Target Proximity Domains # : 00000002 -[08Ch 0140 4] Reserved2 : 00000000 -[090h 0144 8] Entry Base Unit : 00000000000003E8 -[098h 0152 4] Initiator Proximity Domain List : 00000000 -[09Ch 0156 4] Target Proximity Domain List : 00000000 -[0A0h 0160 4] Target Proximity Domain List : 00000001 -[0A4h 0164 2] Entry : 0001 -[0A6h 0166 2] Entry : FFFE - -[0A8h 0168 2] Structure Type : 0001 [System Locality Latency and Bandwidth Information] -[0AAh 0170 2] Reserved : 0000 -[0ACh 0172 4] Length : 00000030 -[0B0h 0176 1] Flags (decoded below) : 00 - Memory Hierarchy : 0 -[0B1h 0177 1] Data Type : 03 -[0B2h 0178 2] Reserved1 : 0000 -[0B4h 0180 4] Initiator Proximity Domains # : 00000001 -[0B8h 0184 4] Target Proximity Domains # : 00000002 -[0BCh 0188 4] Reserved2 : 00000000 -[0C0h 0192 8] Entry Base Unit : 0000000000000001 -[0C8h 0200 4] Initiator Proximity Domain List : 00000000 -[0CCh 0204 4] Target Proximity Domain List : 00000000 -[0D0h 0208 4] Target Proximity Domain List : 00000001 -[0D4h 0212 2] Entry : FFFE -[0D6h 0214 2] Entry : 7FFF - -[0D8h 0216 2] Structure Type : 0002 [Memory Side Cache Information] -[0DAh 0218 2] Reserved : 0000 -[0DCh 0220 4] Length : 00000020 -[0E0h 0224 4] Memory Proximity Domain : 00000000 -[0E4h 0228 4] Reserved1 : 00000000 -[0E8h 0232 8] Memory Side Cache Size : 0000000000002800 -[0F0h 0240 4] Cache Attributes (decoded below) : 00081111 - Total Cache Levels : 1 - Cache Level : 1 - Cache Associativity : 1 - Write Policy : 1 - Cache Line Size : 0008 -[0F4h 0244 2] Reserved2 : 0000 -[0F6h 0246 2] SMBIOS Handle # : 0000 - -[0F8h 0248 2] Structure Type : 0002 [Memory Side Cache Information] -[0FAh 0250 2] Reserved : 0000 -[0FCh 0252 4] Length : 00000020 -[100h 0256 4] Memory Proximity Domain : 00000001 -[104h 0260 4] Reserved1 : 00000000 -[108h 0264 8] Memory Side Cache Size : 0000000000002800 -[110h 0272 4] Cache Attributes (decoded below) : 00081111 - Total Cache Levels : 1 - Cache Level : 1 - Cache Associativity : 1 - Write Policy : 1 - Cache Line Size : 0008 -[114h 0276 2] Reserved2 : 0000 -[116h 0278 2] SMBIOS Handle # : 0000 - -Raw Table Data: Length 280 (0x118) - - 0000: 48 4D 41 54 18 01 00 00 02 98 42 4F 43 48 53 20 // HMAT......BOCHS - 0010: 42 58 50 43 48 4D 41 54 01 00 00 00 42 58 50 43 // BXPCHMAT....BXPC - 0020: 01 00 00 00 00 00 00 00 00 00 00 00 28 00 00 00 // ............(... - 0030: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0050: 00 00 00 00 28 00 00 00 01 00 00 00 00 00 00 00 // ....(........... - 0060: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0070: 00 00 00 00 00 00 00 00 01 00 00 00 30 00 00 00 // ............0... - 0080: 00 00 00 00 01 00 00 00 02 00 00 00 00 00 00 00 // ................ - 0090: E8 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00A0: 01 00 00 00 01 00 FE FF 01 00 00 00 30 00 00 00 // ............0... - 00B0: 00 03 00 00 01 00 00 00 02 00 00 00 00 00 00 00 // ................ - 00C0: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00D0: 01 00 00 00 FE FF FF 7F 02 00 00 00 20 00 00 00 // ............ ... - 00E0: 00 00 00 00 00 00 00 00 00 28 00 00 00 00 00 00 // .........(...... - 00F0: 11 11 08 00 00 00 00 00 02 00 00 00 20 00 00 00 // ............ ... - 0100: 01 00 00 00 00 00 00 00 00 28 00 00 00 00 00 00 // .........(...... - 0110: 11 11 08 00 00 00 00 00 // ........ diff --git a/tests/data/acpi/pc/HPET.acpihmat b/tests/data/acpi/pc/HPET.acpihmat deleted file mode 100644 index df689b8f99c1c43cfd7d63bdede3bcdfd23b7de1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 56 zcmeYWa1F6wU|?WmcJg=j2v%^42ypfYa1CK(U|;~TK{Vr{wgv_;xbP1`GcW)EHY*AN diff --git a/tests/data/acpi/pc/HPET.acpihmat.dsl b/tests/data/acpi/pc/HPET.acpihmat.dsl deleted file mode 100644 index 9029afb2a2..0000000000 --- a/tests/data/acpi/pc/HPET.acpihmat.dsl +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/pc/HPET.acpihmat, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [HPET] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "HPET" [High Precision Event Timer table] -[004h 0004 4] Table Length : 00000038 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : 03 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCHPET" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Hardware Block ID : 8086A201 - -[028h 0040 12] Timer Block Register : [Generic Address Structure] -[028h 0040 1] Space ID : 00 [SystemMemory] -[029h 0041 1] Bit Width : 00 -[02Ah 0042 1] Bit Offset : 00 -[02Bh 0043 1] Encoded Access Width : 00 [Undefined/Legacy] -[02Ch 0044 8] Address : 00000000FED00000 - -[034h 0052 1] Sequence Number : 00 -[035h 0053 2] Minimum Clock Ticks : 0000 -[037h 0055 1] Flags (decoded below) : 00 - 4K Page Protect : 0 - 64K Page Protect : 0 - -Raw Table Data: Length 56 (0x38) - - 0000: 48 50 45 54 38 00 00 00 01 03 42 4F 43 48 53 20 // HPET8.....BOCHS - 0010: 42 58 50 43 48 50 45 54 01 00 00 00 42 58 50 43 // BXPCHPET....BXPC - 0020: 01 00 00 00 01 A2 86 80 00 00 00 00 00 00 D0 FE // ................ - 0030: 00 00 00 00 00 00 00 00 // ........ diff --git a/tests/data/acpi/pc/HPET.bridge b/tests/data/acpi/pc/HPET.bridge deleted file mode 100644 index df689b8f99c1c43cfd7d63bdede3bcdfd23b7de1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 56 zcmeYWa1F6wU|?WmcJg=j2v%^42ypfYa1CK(U|;~TK{Vr{wgv_;xbP1`GcW)EHY*AN diff --git a/tests/data/acpi/pc/HPET.bridge.dsl b/tests/data/acpi/pc/HPET.bridge.dsl deleted file mode 100644 index 936616faa8..0000000000 --- a/tests/data/acpi/pc/HPET.bridge.dsl +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/pc/HPET.bridge, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [HPET] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "HPET" [High Precision Event Timer table] -[004h 0004 4] Table Length : 00000038 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : 03 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCHPET" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Hardware Block ID : 8086A201 - -[028h 0040 12] Timer Block Register : [Generic Address Structure] -[028h 0040 1] Space ID : 00 [SystemMemory] -[029h 0041 1] Bit Width : 00 -[02Ah 0042 1] Bit Offset : 00 -[02Bh 0043 1] Encoded Access Width : 00 [Undefined/Legacy] -[02Ch 0044 8] Address : 00000000FED00000 - -[034h 0052 1] Sequence Number : 00 -[035h 0053 2] Minimum Clock Ticks : 0000 -[037h 0055 1] Flags (decoded below) : 00 - 4K Page Protect : 0 - 64K Page Protect : 0 - -Raw Table Data: Length 56 (0x38) - - 0000: 48 50 45 54 38 00 00 00 01 03 42 4F 43 48 53 20 // HPET8.....BOCHS - 0010: 42 58 50 43 48 50 45 54 01 00 00 00 42 58 50 43 // BXPCHPET....BXPC - 0020: 01 00 00 00 01 A2 86 80 00 00 00 00 00 00 D0 FE // ................ - 0030: 00 00 00 00 00 00 00 00 // ........ diff --git a/tests/data/acpi/pc/HPET.cphp b/tests/data/acpi/pc/HPET.cphp deleted file mode 100644 index df689b8f99c1c43cfd7d63bdede3bcdfd23b7de1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 56 zcmeYWa1F6wU|?WmcJg=j2v%^42ypfYa1CK(U|;~TK{Vr{wgv_;xbP1`GcW)EHY*AN diff --git a/tests/data/acpi/pc/HPET.cphp.dsl b/tests/data/acpi/pc/HPET.cphp.dsl deleted file mode 100644 index e095a43ee7..0000000000 --- a/tests/data/acpi/pc/HPET.cphp.dsl +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/pc/HPET.cphp, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [HPET] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "HPET" [High Precision Event Timer table] -[004h 0004 4] Table Length : 00000038 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : 03 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCHPET" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Hardware Block ID : 8086A201 - -[028h 0040 12] Timer Block Register : [Generic Address Structure] -[028h 0040 1] Space ID : 00 [SystemMemory] -[029h 0041 1] Bit Width : 00 -[02Ah 0042 1] Bit Offset : 00 -[02Bh 0043 1] Encoded Access Width : 00 [Undefined/Legacy] -[02Ch 0044 8] Address : 00000000FED00000 - -[034h 0052 1] Sequence Number : 00 -[035h 0053 2] Minimum Clock Ticks : 0000 -[037h 0055 1] Flags (decoded below) : 00 - 4K Page Protect : 0 - 64K Page Protect : 0 - -Raw Table Data: Length 56 (0x38) - - 0000: 48 50 45 54 38 00 00 00 01 03 42 4F 43 48 53 20 // HPET8.....BOCHS - 0010: 42 58 50 43 48 50 45 54 01 00 00 00 42 58 50 43 // BXPCHPET....BXPC - 0020: 01 00 00 00 01 A2 86 80 00 00 00 00 00 00 D0 FE // ................ - 0030: 00 00 00 00 00 00 00 00 // ........ diff --git a/tests/data/acpi/pc/HPET.dimmpxm b/tests/data/acpi/pc/HPET.dimmpxm deleted file mode 100644 index df689b8f99c1c43cfd7d63bdede3bcdfd23b7de1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 56 zcmeYWa1F6wU|?WmcJg=j2v%^42ypfYa1CK(U|;~TK{Vr{wgv_;xbP1`GcW)EHY*AN diff --git a/tests/data/acpi/pc/HPET.dimmpxm.dsl b/tests/data/acpi/pc/HPET.dimmpxm.dsl deleted file mode 100644 index 84ce218492..0000000000 --- a/tests/data/acpi/pc/HPET.dimmpxm.dsl +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/pc/HPET.dimmpxm, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [HPET] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "HPET" [High Precision Event Timer table] -[004h 0004 4] Table Length : 00000038 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : 03 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCHPET" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Hardware Block ID : 8086A201 - -[028h 0040 12] Timer Block Register : [Generic Address Structure] -[028h 0040 1] Space ID : 00 [SystemMemory] -[029h 0041 1] Bit Width : 00 -[02Ah 0042 1] Bit Offset : 00 -[02Bh 0043 1] Encoded Access Width : 00 [Undefined/Legacy] -[02Ch 0044 8] Address : 00000000FED00000 - -[034h 0052 1] Sequence Number : 00 -[035h 0053 2] Minimum Clock Ticks : 0000 -[037h 0055 1] Flags (decoded below) : 00 - 4K Page Protect : 0 - 64K Page Protect : 0 - -Raw Table Data: Length 56 (0x38) - - 0000: 48 50 45 54 38 00 00 00 01 03 42 4F 43 48 53 20 // HPET8.....BOCHS - 0010: 42 58 50 43 48 50 45 54 01 00 00 00 42 58 50 43 // BXPCHPET....BXPC - 0020: 01 00 00 00 01 A2 86 80 00 00 00 00 00 00 D0 FE // ................ - 0030: 00 00 00 00 00 00 00 00 // ........ diff --git a/tests/data/acpi/pc/HPET.dsl b/tests/data/acpi/pc/HPET.dsl deleted file mode 100644 index b392de5c95..0000000000 --- a/tests/data/acpi/pc/HPET.dsl +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/pc/HPET.roothp, Mon Sep 28 17:24:38 2020 - * - * ACPI Data Table [HPET] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "HPET" [High Precision Event Timer table] -[004h 0004 4] Table Length : 00000038 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : 03 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCHPET" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Hardware Block ID : 8086A201 - -[028h 0040 12] Timer Block Register : [Generic Address Structure] -[028h 0040 1] Space ID : 00 [SystemMemory] -[029h 0041 1] Bit Width : 00 -[02Ah 0042 1] Bit Offset : 00 -[02Bh 0043 1] Encoded Access Width : 00 [Undefined/Legacy] -[02Ch 0044 8] Address : 00000000FED00000 - -[034h 0052 1] Sequence Number : 00 -[035h 0053 2] Minimum Clock Ticks : 0000 -[037h 0055 1] Flags (decoded below) : 00 - 4K Page Protect : 0 - 64K Page Protect : 0 - -Raw Table Data: Length 56 (0x38) - - 0000: 48 50 45 54 38 00 00 00 01 03 42 4F 43 48 53 20 // HPET8.....BOCHS - 0010: 42 58 50 43 48 50 45 54 01 00 00 00 42 58 50 43 // BXPCHPET....BXPC - 0020: 01 00 00 00 01 A2 86 80 00 00 00 00 00 00 D0 FE // ................ - 0030: 00 00 00 00 00 00 00 00 // ........ diff --git a/tests/data/acpi/pc/HPET.hpbridge b/tests/data/acpi/pc/HPET.hpbridge deleted file mode 100644 index df689b8f99c1c43cfd7d63bdede3bcdfd23b7de1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 56 zcmeYWa1F6wU|?WmcJg=j2v%^42ypfYa1CK(U|;~TK{Vr{wgv_;xbP1`GcW)EHY*AN diff --git a/tests/data/acpi/pc/HPET.ipmikcs b/tests/data/acpi/pc/HPET.ipmikcs deleted file mode 100644 index df689b8f99c1c43cfd7d63bdede3bcdfd23b7de1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 56 zcmeYWa1F6wU|?WmcJg=j2v%^42ypfYa1CK(U|;~TK{Vr{wgv_;xbP1`GcW)EHY*AN diff --git a/tests/data/acpi/pc/HPET.ipmikcs.dsl b/tests/data/acpi/pc/HPET.ipmikcs.dsl deleted file mode 100644 index 34d10927dc..0000000000 --- a/tests/data/acpi/pc/HPET.ipmikcs.dsl +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/pc/HPET.ipmikcs, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [HPET] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "HPET" [High Precision Event Timer table] -[004h 0004 4] Table Length : 00000038 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : 03 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCHPET" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Hardware Block ID : 8086A201 - -[028h 0040 12] Timer Block Register : [Generic Address Structure] -[028h 0040 1] Space ID : 00 [SystemMemory] -[029h 0041 1] Bit Width : 00 -[02Ah 0042 1] Bit Offset : 00 -[02Bh 0043 1] Encoded Access Width : 00 [Undefined/Legacy] -[02Ch 0044 8] Address : 00000000FED00000 - -[034h 0052 1] Sequence Number : 00 -[035h 0053 2] Minimum Clock Ticks : 0000 -[037h 0055 1] Flags (decoded below) : 00 - 4K Page Protect : 0 - 64K Page Protect : 0 - -Raw Table Data: Length 56 (0x38) - - 0000: 48 50 45 54 38 00 00 00 01 03 42 4F 43 48 53 20 // HPET8.....BOCHS - 0010: 42 58 50 43 48 50 45 54 01 00 00 00 42 58 50 43 // BXPCHPET....BXPC - 0020: 01 00 00 00 01 A2 86 80 00 00 00 00 00 00 D0 FE // ................ - 0030: 00 00 00 00 00 00 00 00 // ........ diff --git a/tests/data/acpi/pc/HPET.memhp b/tests/data/acpi/pc/HPET.memhp deleted file mode 100644 index df689b8f99c1c43cfd7d63bdede3bcdfd23b7de1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 56 zcmeYWa1F6wU|?WmcJg=j2v%^42ypfYa1CK(U|;~TK{Vr{wgv_;xbP1`GcW)EHY*AN diff --git a/tests/data/acpi/pc/HPET.memhp.dsl b/tests/data/acpi/pc/HPET.memhp.dsl deleted file mode 100644 index f9f62dd9c8..0000000000 --- a/tests/data/acpi/pc/HPET.memhp.dsl +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/pc/HPET.memhp, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [HPET] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "HPET" [High Precision Event Timer table] -[004h 0004 4] Table Length : 00000038 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : 03 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCHPET" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Hardware Block ID : 8086A201 - -[028h 0040 12] Timer Block Register : [Generic Address Structure] -[028h 0040 1] Space ID : 00 [SystemMemory] -[029h 0041 1] Bit Width : 00 -[02Ah 0042 1] Bit Offset : 00 -[02Bh 0043 1] Encoded Access Width : 00 [Undefined/Legacy] -[02Ch 0044 8] Address : 00000000FED00000 - -[034h 0052 1] Sequence Number : 00 -[035h 0053 2] Minimum Clock Ticks : 0000 -[037h 0055 1] Flags (decoded below) : 00 - 4K Page Protect : 0 - 64K Page Protect : 0 - -Raw Table Data: Length 56 (0x38) - - 0000: 48 50 45 54 38 00 00 00 01 03 42 4F 43 48 53 20 // HPET8.....BOCHS - 0010: 42 58 50 43 48 50 45 54 01 00 00 00 42 58 50 43 // BXPCHPET....BXPC - 0020: 01 00 00 00 01 A2 86 80 00 00 00 00 00 00 D0 FE // ................ - 0030: 00 00 00 00 00 00 00 00 // ........ diff --git a/tests/data/acpi/pc/HPET.numamem b/tests/data/acpi/pc/HPET.numamem deleted file mode 100644 index df689b8f99c1c43cfd7d63bdede3bcdfd23b7de1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 56 zcmeYWa1F6wU|?WmcJg=j2v%^42ypfYa1CK(U|;~TK{Vr{wgv_;xbP1`GcW)EHY*AN diff --git a/tests/data/acpi/pc/HPET.numamem.dsl b/tests/data/acpi/pc/HPET.numamem.dsl deleted file mode 100644 index 1f51efad19..0000000000 --- a/tests/data/acpi/pc/HPET.numamem.dsl +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/pc/HPET.numamem, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [HPET] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "HPET" [High Precision Event Timer table] -[004h 0004 4] Table Length : 00000038 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : 03 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCHPET" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Hardware Block ID : 8086A201 - -[028h 0040 12] Timer Block Register : [Generic Address Structure] -[028h 0040 1] Space ID : 00 [SystemMemory] -[029h 0041 1] Bit Width : 00 -[02Ah 0042 1] Bit Offset : 00 -[02Bh 0043 1] Encoded Access Width : 00 [Undefined/Legacy] -[02Ch 0044 8] Address : 00000000FED00000 - -[034h 0052 1] Sequence Number : 00 -[035h 0053 2] Minimum Clock Ticks : 0000 -[037h 0055 1] Flags (decoded below) : 00 - 4K Page Protect : 0 - 64K Page Protect : 0 - -Raw Table Data: Length 56 (0x38) - - 0000: 48 50 45 54 38 00 00 00 01 03 42 4F 43 48 53 20 // HPET8.....BOCHS - 0010: 42 58 50 43 48 50 45 54 01 00 00 00 42 58 50 43 // BXPCHPET....BXPC - 0020: 01 00 00 00 01 A2 86 80 00 00 00 00 00 00 D0 FE // ................ - 0030: 00 00 00 00 00 00 00 00 // ........ diff --git a/tests/data/acpi/pc/HPET.roothp b/tests/data/acpi/pc/HPET.roothp deleted file mode 100644 index df689b8f99c1c43cfd7d63bdede3bcdfd23b7de1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 56 zcmeYWa1F6wU|?WmcJg=j2v%^42ypfYa1CK(U|;~TK{Vr{wgv_;xbP1`GcW)EHY*AN diff --git a/tests/data/acpi/pc/NFIT.dimmpxm.dsl b/tests/data/acpi/pc/NFIT.dimmpxm.dsl deleted file mode 100644 index 33212b0a17..0000000000 --- a/tests/data/acpi/pc/NFIT.dimmpxm.dsl +++ /dev/null @@ -1,115 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/pc/NFIT.dimmpxm, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [NFIT] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "NFIT" [NVDIMM Firmware Interface Table] -[004h 0004 4] Table Length : 000000F0 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : 24 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCNFIT" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Reserved : 00000000 - -[028h 0040 2] Subtable Type : 0000 [System Physical Address Range] -[02Ah 0042 2] Length : 0038 - -[02Ch 0044 2] Range Index : 0004 -[02Eh 0046 2] Flags (decoded below) : 0003 - Add/Online Operation Only : 1 - Proximity Domain Valid : 1 -[030h 0048 4] Reserved : 00000000 -[034h 0052 4] Proximity Domain : 00000002 -[038h 0056 16] Region Type GUID : 66F0D379-B4F3-4074-AC43-0D3318B78CDB -[048h 0072 8] Address Range Base : 0000000108000000 -[050h 0080 8] Address Range Length : 0000000008000000 -[058h 0088 8] Memory Map Attribute : 0000000000008008 - -[060h 0096 2] Subtable Type : 0001 [Memory Range Map] -[062h 0098 2] Length : 0030 - -[064h 0100 4] Device Handle : 00000002 -[068h 0104 2] Physical Id : 0000 -[06Ah 0106 2] Region Id : 0000 -[06Ch 0108 2] Range Index : 0004 -[06Eh 0110 2] Control Region Index : 0005 -[070h 0112 8] Region Size : 0000000008000000 -[078h 0120 8] Region Offset : 0000000000000000 -[080h 0128 8] Address Region Base : 0000000000000000 -[088h 0136 2] Interleave Index : 0000 -[08Ah 0138 2] Interleave Ways : 0001 -[08Ch 0140 2] Flags : 0000 - Save to device failed : 0 - Restore from device failed : 0 - Platform flush failed : 0 - Device not armed : 0 - Health events observed : 0 - Health events enabled : 0 - Mapping failed : 0 -[08Eh 0142 2] Reserved : 0000 - -[090h 0144 2] Subtable Type : 0004 [NVDIMM Control Region] -[092h 0146 2] Length : 0050 - -[094h 0148 2] Region Index : 0005 -[096h 0150 2] Vendor Id : 8086 -[098h 0152 2] Device Id : 0001 -[09Ah 0154 2] Revision Id : 0001 -[09Ch 0156 2] Subsystem Vendor Id : 0000 -[09Eh 0158 2] Subsystem Device Id : 0000 -[0A0h 0160 2] Subsystem Revision Id : 0000 -[0A2h 0162 1] Valid Fields : 00 -[0A3h 0163 1] Manufacturing Location : 00 -[0A4h 0164 2] Manufacturing Date : 0000 -[0A6h 0166 2] Reserved : 0000 -[0A8h 0168 4] Serial Number : 00123457 -[0ACh 0172 2] Code : 0301 -[0AEh 0174 2] Window Count : 0000 -[0B0h 0176 8] Window Size : 0000000000000000 -[0B8h 0184 8] Command Offset : 0000000000000000 -[0C0h 0192 8] Command Size : 0000000000000000 -[0C8h 0200 8] Status Offset : 0000000000000000 -[0D0h 0208 8] Status Size : 0000000000000000 -[0D8h 0216 2] Flags : 0000 - Windows buffered : 0 -[0DAh 0218 6] Reserved1 : 000000000000 - -[0E0h 0224 2] Subtable Type : 0007 [Platform Capabilities] -[0E2h 0226 2] Length : 0010 - -[0E4h 0228 1] Highest Capability : 01 -[0E5h 0229 3] Reserved : 000000 -[0E8h 0232 4] Capabilities (decoded below) : 00000003 - Cache Flush to NVDIMM : 1 - Memory Flush to NVDIMM : 1 - Memory Mirroring : 0 -[0ECh 0236 4] Reserved : 00000000 - -Raw Table Data: Length 240 (0xF0) - - 0000: 4E 46 49 54 F0 00 00 00 01 24 42 4F 43 48 53 20 // NFIT.....$BOCHS - 0010: 42 58 50 43 4E 46 49 54 01 00 00 00 42 58 50 43 // BXPCNFIT....BXPC - 0020: 01 00 00 00 00 00 00 00 00 00 38 00 04 00 03 00 // ..........8..... - 0030: 00 00 00 00 02 00 00 00 79 D3 F0 66 F3 B4 74 40 // ........y..f..t@ - 0040: AC 43 0D 33 18 B7 8C DB 00 00 00 08 01 00 00 00 // .C.3............ - 0050: 00 00 00 08 00 00 00 00 08 80 00 00 00 00 00 00 // ................ - 0060: 01 00 30 00 02 00 00 00 00 00 00 00 04 00 05 00 // ..0............. - 0070: 00 00 00 08 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0080: 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 // ................ - 0090: 04 00 50 00 05 00 86 80 01 00 01 00 00 00 00 00 // ..P............. - 00A0: 00 00 00 00 00 00 00 00 57 34 12 00 01 03 00 00 // ........W4...... - 00B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00E0: 07 00 10 00 01 00 00 00 03 00 00 00 00 00 00 00 // ................ diff --git a/tests/data/acpi/pc/NFIT.dsl b/tests/data/acpi/pc/NFIT.dsl deleted file mode 100644 index f4a8034f87..0000000000 --- a/tests/data/acpi/pc/NFIT.dsl +++ /dev/null @@ -1,115 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/pc/NFIT.dimmpxm, Mon Sep 28 17:24:38 2020 - * - * ACPI Data Table [NFIT] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "NFIT" [NVDIMM Firmware Interface Table] -[004h 0004 4] Table Length : 000000F0 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : 24 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCNFIT" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Reserved : 00000000 - -[028h 0040 2] Subtable Type : 0000 [System Physical Address Range] -[02Ah 0042 2] Length : 0038 - -[02Ch 0044 2] Range Index : 0004 -[02Eh 0046 2] Flags (decoded below) : 0003 - Add/Online Operation Only : 1 - Proximity Domain Valid : 1 -[030h 0048 4] Reserved : 00000000 -[034h 0052 4] Proximity Domain : 00000002 -[038h 0056 16] Region Type GUID : 66F0D379-B4F3-4074-AC43-0D3318B78CDB -[048h 0072 8] Address Range Base : 0000000108000000 -[050h 0080 8] Address Range Length : 0000000008000000 -[058h 0088 8] Memory Map Attribute : 0000000000008008 - -[060h 0096 2] Subtable Type : 0001 [Memory Range Map] -[062h 0098 2] Length : 0030 - -[064h 0100 4] Device Handle : 00000002 -[068h 0104 2] Physical Id : 0000 -[06Ah 0106 2] Region Id : 0000 -[06Ch 0108 2] Range Index : 0004 -[06Eh 0110 2] Control Region Index : 0005 -[070h 0112 8] Region Size : 0000000008000000 -[078h 0120 8] Region Offset : 0000000000000000 -[080h 0128 8] Address Region Base : 0000000000000000 -[088h 0136 2] Interleave Index : 0000 -[08Ah 0138 2] Interleave Ways : 0001 -[08Ch 0140 2] Flags : 0000 - Save to device failed : 0 - Restore from device failed : 0 - Platform flush failed : 0 - Device not armed : 0 - Health events observed : 0 - Health events enabled : 0 - Mapping failed : 0 -[08Eh 0142 2] Reserved : 0000 - -[090h 0144 2] Subtable Type : 0004 [NVDIMM Control Region] -[092h 0146 2] Length : 0050 - -[094h 0148 2] Region Index : 0005 -[096h 0150 2] Vendor Id : 8086 -[098h 0152 2] Device Id : 0001 -[09Ah 0154 2] Revision Id : 0001 -[09Ch 0156 2] Subsystem Vendor Id : 0000 -[09Eh 0158 2] Subsystem Device Id : 0000 -[0A0h 0160 2] Subsystem Revision Id : 0000 -[0A2h 0162 1] Valid Fields : 00 -[0A3h 0163 1] Manufacturing Location : 00 -[0A4h 0164 2] Manufacturing Date : 0000 -[0A6h 0166 2] Reserved : 0000 -[0A8h 0168 4] Serial Number : 00123457 -[0ACh 0172 2] Code : 0301 -[0AEh 0174 2] Window Count : 0000 -[0B0h 0176 8] Window Size : 0000000000000000 -[0B8h 0184 8] Command Offset : 0000000000000000 -[0C0h 0192 8] Command Size : 0000000000000000 -[0C8h 0200 8] Status Offset : 0000000000000000 -[0D0h 0208 8] Status Size : 0000000000000000 -[0D8h 0216 2] Flags : 0000 - Windows buffered : 0 -[0DAh 0218 6] Reserved1 : 000000000000 - -[0E0h 0224 2] Subtable Type : 0007 [Platform Capabilities] -[0E2h 0226 2] Length : 0010 - -[0E4h 0228 1] Highest Capability : 01 -[0E5h 0229 3] Reserved : 000000 -[0E8h 0232 4] Capabilities (decoded below) : 00000003 - Cache Flush to NVDIMM : 1 - Memory Flush to NVDIMM : 1 - Memory Mirroring : 0 -[0ECh 0236 4] Reserved : 00000000 - -Raw Table Data: Length 240 (0xF0) - - 0000: 4E 46 49 54 F0 00 00 00 01 24 42 4F 43 48 53 20 // NFIT.....$BOCHS - 0010: 42 58 50 43 4E 46 49 54 01 00 00 00 42 58 50 43 // BXPCNFIT....BXPC - 0020: 01 00 00 00 00 00 00 00 00 00 38 00 04 00 03 00 // ..........8..... - 0030: 00 00 00 00 02 00 00 00 79 D3 F0 66 F3 B4 74 40 // ........y..f..t@ - 0040: AC 43 0D 33 18 B7 8C DB 00 00 00 08 01 00 00 00 // .C.3............ - 0050: 00 00 00 08 00 00 00 00 08 80 00 00 00 00 00 00 // ................ - 0060: 01 00 30 00 02 00 00 00 00 00 00 00 04 00 05 00 // ..0............. - 0070: 00 00 00 08 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0080: 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 // ................ - 0090: 04 00 50 00 05 00 86 80 01 00 01 00 00 00 00 00 // ..P............. - 00A0: 00 00 00 00 00 00 00 00 57 34 12 00 01 03 00 00 // ........W4...... - 00B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00E0: 07 00 10 00 01 00 00 00 03 00 00 00 00 00 00 00 // ................ diff --git a/tests/data/acpi/pc/SLIT.cphp.dsl b/tests/data/acpi/pc/SLIT.cphp.dsl deleted file mode 100644 index 20289608db..0000000000 --- a/tests/data/acpi/pc/SLIT.cphp.dsl +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/pc/SLIT.cphp, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [SLIT] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "SLIT" [System Locality Information Table] -[004h 0004 4] Table Length : 00000030 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : 2C -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCSLIT" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 8] Localities : 0000000000000002 -[02Ch 0044 2] Locality 0 : 0A 15 -[02Eh 0046 2] Locality 1 : 15 0A - -Raw Table Data: Length 48 (0x30) - - 0000: 53 4C 49 54 30 00 00 00 01 2C 42 4F 43 48 53 20 // SLIT0....,BOCHS - 0010: 42 58 50 43 53 4C 49 54 01 00 00 00 42 58 50 43 // BXPCSLIT....BXPC - 0020: 01 00 00 00 02 00 00 00 00 00 00 00 0A 15 15 0A // ................ diff --git a/tests/data/acpi/pc/SLIT.dsl b/tests/data/acpi/pc/SLIT.dsl deleted file mode 100644 index 8b923249af..0000000000 --- a/tests/data/acpi/pc/SLIT.dsl +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/pc/SLIT.memhp, Mon Sep 28 17:24:38 2020 - * - * ACPI Data Table [SLIT] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "SLIT" [System Locality Information Table] -[004h 0004 4] Table Length : 00000030 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : 2C -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCSLIT" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 8] Localities : 0000000000000002 -[02Ch 0044 2] Locality 0 : 0A 15 -[02Eh 0046 2] Locality 1 : 15 0A - -Raw Table Data: Length 48 (0x30) - - 0000: 53 4C 49 54 30 00 00 00 01 2C 42 4F 43 48 53 20 // SLIT0....,BOCHS - 0010: 42 58 50 43 53 4C 49 54 01 00 00 00 42 58 50 43 // BXPCSLIT....BXPC - 0020: 01 00 00 00 02 00 00 00 00 00 00 00 0A 15 15 0A // ................ diff --git a/tests/data/acpi/pc/SLIT.memhp.dsl b/tests/data/acpi/pc/SLIT.memhp.dsl deleted file mode 100644 index b3a0170144..0000000000 --- a/tests/data/acpi/pc/SLIT.memhp.dsl +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/pc/SLIT.memhp, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [SLIT] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "SLIT" [System Locality Information Table] -[004h 0004 4] Table Length : 00000030 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : 2C -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCSLIT" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 8] Localities : 0000000000000002 -[02Ch 0044 2] Locality 0 : 0A 15 -[02Eh 0046 2] Locality 1 : 15 0A - -Raw Table Data: Length 48 (0x30) - - 0000: 53 4C 49 54 30 00 00 00 01 2C 42 4F 43 48 53 20 // SLIT0....,BOCHS - 0010: 42 58 50 43 53 4C 49 54 01 00 00 00 42 58 50 43 // BXPCSLIT....BXPC - 0020: 01 00 00 00 02 00 00 00 00 00 00 00 0A 15 15 0A // ................ diff --git a/tests/data/acpi/pc/SRAT.acpihmat.dsl b/tests/data/acpi/pc/SRAT.acpihmat.dsl deleted file mode 100644 index e3c788672f..0000000000 --- a/tests/data/acpi/pc/SRAT.acpihmat.dsl +++ /dev/null @@ -1,137 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/pc/SRAT.acpihmat, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [SRAT] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "SRAT" [System Resource Affinity Table] -[004h 0004 4] Table Length : 00000118 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : C0 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCSRAT" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Table Revision : 00000001 -[028h 0040 8] Reserved : 0000000000000000 - -[030h 0048 1] Subtable Type : 00 [Processor Local APIC/SAPIC Affinity] -[031h 0049 1] Length : 10 - -[032h 0050 1] Proximity Domain Low(8) : 00 -[033h 0051 1] Apic ID : 00 -[034h 0052 4] Flags (decoded below) : 00000001 - Enabled : 1 -[038h 0056 1] Local Sapic EID : 00 -[039h 0057 3] Proximity Domain High(24) : 000000 -[03Ch 0060 4] Clock Domain : 00000000 - -[040h 0064 1] Subtable Type : 00 [Processor Local APIC/SAPIC Affinity] -[041h 0065 1] Length : 10 - -[042h 0066 1] Proximity Domain Low(8) : 00 -[043h 0067 1] Apic ID : 01 -[044h 0068 4] Flags (decoded below) : 00000001 - Enabled : 1 -[048h 0072 1] Local Sapic EID : 00 -[049h 0073 3] Proximity Domain High(24) : 000000 -[04Ch 0076 4] Clock Domain : 00000000 - -[050h 0080 1] Subtable Type : 01 [Memory Affinity] -[051h 0081 1] Length : 28 - -[052h 0082 4] Proximity Domain : 00000000 -[056h 0086 2] Reserved1 : 0000 -[058h 0088 8] Base Address : 0000000000000000 -[060h 0096 8] Address Length : 00000000000A0000 -[068h 0104 4] Reserved2 : 00000000 -[06Ch 0108 4] Flags (decoded below) : 00000001 - Enabled : 1 - Hot Pluggable : 0 - Non-Volatile : 0 -[070h 0112 8] Reserved3 : 0000000000000000 - -[078h 0120 1] Subtable Type : 01 [Memory Affinity] -[079h 0121 1] Length : 28 - -[07Ah 0122 4] Proximity Domain : 00000000 -[07Eh 0126 2] Reserved1 : 0000 -[080h 0128 8] Base Address : 0000000000100000 -[088h 0136 8] Address Length : 0000000003F00000 -[090h 0144 4] Reserved2 : 00000000 -[094h 0148 4] Flags (decoded below) : 00000001 - Enabled : 1 - Hot Pluggable : 0 - Non-Volatile : 0 -[098h 0152 8] Reserved3 : 0000000000000000 - -[0A0h 0160 1] Subtable Type : 01 [Memory Affinity] -[0A1h 0161 1] Length : 28 - -[0A2h 0162 4] Proximity Domain : 00000001 -[0A6h 0166 2] Reserved1 : 0000 -[0A8h 0168 8] Base Address : 0000000004000000 -[0B0h 0176 8] Address Length : 0000000004000000 -[0B8h 0184 4] Reserved2 : 00000000 -[0BCh 0188 4] Flags (decoded below) : 00000001 - Enabled : 1 - Hot Pluggable : 0 - Non-Volatile : 0 -[0C0h 0192 8] Reserved3 : 0000000000000000 - -[0C8h 0200 1] Subtable Type : 01 [Memory Affinity] -[0C9h 0201 1] Length : 28 - -[0CAh 0202 4] Proximity Domain : 00000000 -[0CEh 0206 2] Reserved1 : 0000 -[0D0h 0208 8] Base Address : 0000000000000000 -[0D8h 0216 8] Address Length : 0000000000000000 -[0E0h 0224 4] Reserved2 : 00000000 -[0E4h 0228 4] Flags (decoded below) : 00000000 - Enabled : 0 - Hot Pluggable : 0 - Non-Volatile : 0 -[0E8h 0232 8] Reserved3 : 0000000000000000 - -[0F0h 0240 1] Subtable Type : 01 [Memory Affinity] -[0F1h 0241 1] Length : 28 - -[0F2h 0242 4] Proximity Domain : 00000001 -[0F6h 0246 2] Reserved1 : 0000 -[0F8h 0248 8] Base Address : 0000000100000000 -[100h 0256 8] Address Length : 00000000B8000000 -[108h 0264 4] Reserved2 : 00000000 -[10Ch 0268 4] Flags (decoded below) : 00000003 - Enabled : 1 - Hot Pluggable : 1 - Non-Volatile : 0 -[110h 0272 8] Reserved3 : 0000000000000000 - -Raw Table Data: Length 280 (0x118) - - 0000: 53 52 41 54 18 01 00 00 01 C0 42 4F 43 48 53 20 // SRAT......BOCHS - 0010: 42 58 50 43 53 52 41 54 01 00 00 00 42 58 50 43 // BXPCSRAT....BXPC - 0020: 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0030: 00 10 00 00 01 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0040: 00 10 00 01 01 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0050: 01 28 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // .(.............. - 0060: 00 00 0A 00 00 00 00 00 00 00 00 00 01 00 00 00 // ................ - 0070: 00 00 00 00 00 00 00 00 01 28 00 00 00 00 00 00 // .........(...... - 0080: 00 00 10 00 00 00 00 00 00 00 F0 03 00 00 00 00 // ................ - 0090: 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00A0: 01 28 01 00 00 00 00 00 00 00 00 04 00 00 00 00 // .(.............. - 00B0: 00 00 00 04 00 00 00 00 00 00 00 00 01 00 00 00 // ................ - 00C0: 00 00 00 00 00 00 00 00 01 28 00 00 00 00 00 00 // .........(...... - 00D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00F0: 01 28 01 00 00 00 00 00 00 00 00 00 01 00 00 00 // .(.............. - 0100: 00 00 00 B8 00 00 00 00 00 00 00 00 03 00 00 00 // ................ - 0110: 00 00 00 00 00 00 00 00 // ........ diff --git a/tests/data/acpi/pc/SRAT.cphp.dsl b/tests/data/acpi/pc/SRAT.cphp.dsl deleted file mode 100644 index 20c38ee3cc..0000000000 --- a/tests/data/acpi/pc/SRAT.cphp.dsl +++ /dev/null @@ -1,168 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/pc/SRAT.cphp, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [SRAT] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "SRAT" [System Resource Affinity Table] -[004h 0004 4] Table Length : 00000130 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : 36 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCSRAT" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Table Revision : 00000001 -[028h 0040 8] Reserved : 0000000000000000 - -[030h 0048 1] Subtable Type : 00 [Processor Local APIC/SAPIC Affinity] -[031h 0049 1] Length : 10 - -[032h 0050 1] Proximity Domain Low(8) : 00 -[033h 0051 1] Apic ID : 00 -[034h 0052 4] Flags (decoded below) : 00000001 - Enabled : 1 -[038h 0056 1] Local Sapic EID : 00 -[039h 0057 3] Proximity Domain High(24) : 000000 -[03Ch 0060 4] Clock Domain : 00000000 - -[040h 0064 1] Subtable Type : 00 [Processor Local APIC/SAPIC Affinity] -[041h 0065 1] Length : 10 - -[042h 0066 1] Proximity Domain Low(8) : 00 -[043h 0067 1] Apic ID : 01 -[044h 0068 4] Flags (decoded below) : 00000001 - Enabled : 1 -[048h 0072 1] Local Sapic EID : 00 -[049h 0073 3] Proximity Domain High(24) : 000000 -[04Ch 0076 4] Clock Domain : 00000000 - -[050h 0080 1] Subtable Type : 00 [Processor Local APIC/SAPIC Affinity] -[051h 0081 1] Length : 10 - -[052h 0082 1] Proximity Domain Low(8) : 00 -[053h 0083 1] Apic ID : 02 -[054h 0084 4] Flags (decoded below) : 00000001 - Enabled : 1 -[058h 0088 1] Local Sapic EID : 00 -[059h 0089 3] Proximity Domain High(24) : 000000 -[05Ch 0092 4] Clock Domain : 00000000 - -[060h 0096 1] Subtable Type : 00 [Processor Local APIC/SAPIC Affinity] -[061h 0097 1] Length : 10 - -[062h 0098 1] Proximity Domain Low(8) : 01 -[063h 0099 1] Apic ID : 04 -[064h 0100 4] Flags (decoded below) : 00000001 - Enabled : 1 -[068h 0104 1] Local Sapic EID : 00 -[069h 0105 3] Proximity Domain High(24) : 000000 -[06Ch 0108 4] Clock Domain : 00000000 - -[070h 0112 1] Subtable Type : 00 [Processor Local APIC/SAPIC Affinity] -[071h 0113 1] Length : 10 - -[072h 0114 1] Proximity Domain Low(8) : 01 -[073h 0115 1] Apic ID : 05 -[074h 0116 4] Flags (decoded below) : 00000001 - Enabled : 1 -[078h 0120 1] Local Sapic EID : 00 -[079h 0121 3] Proximity Domain High(24) : 000000 -[07Ch 0124 4] Clock Domain : 00000000 - -[080h 0128 1] Subtable Type : 00 [Processor Local APIC/SAPIC Affinity] -[081h 0129 1] Length : 10 - -[082h 0130 1] Proximity Domain Low(8) : 01 -[083h 0131 1] Apic ID : 06 -[084h 0132 4] Flags (decoded below) : 00000001 - Enabled : 1 -[088h 0136 1] Local Sapic EID : 00 -[089h 0137 3] Proximity Domain High(24) : 000000 -[08Ch 0140 4] Clock Domain : 00000000 - -[090h 0144 1] Subtable Type : 01 [Memory Affinity] -[091h 0145 1] Length : 28 - -[092h 0146 4] Proximity Domain : 00000000 -[096h 0150 2] Reserved1 : 0000 -[098h 0152 8] Base Address : 0000000000000000 -[0A0h 0160 8] Address Length : 00000000000A0000 -[0A8h 0168 4] Reserved2 : 00000000 -[0ACh 0172 4] Flags (decoded below) : 00000001 - Enabled : 1 - Hot Pluggable : 0 - Non-Volatile : 0 -[0B0h 0176 8] Reserved3 : 0000000000000000 - -[0B8h 0184 1] Subtable Type : 01 [Memory Affinity] -[0B9h 0185 1] Length : 28 - -[0BAh 0186 4] Proximity Domain : 00000000 -[0BEh 0190 2] Reserved1 : 0000 -[0C0h 0192 8] Base Address : 0000000000100000 -[0C8h 0200 8] Address Length : 0000000003F00000 -[0D0h 0208 4] Reserved2 : 00000000 -[0D4h 0212 4] Flags (decoded below) : 00000001 - Enabled : 1 - Hot Pluggable : 0 - Non-Volatile : 0 -[0D8h 0216 8] Reserved3 : 0000000000000000 - -[0E0h 0224 1] Subtable Type : 01 [Memory Affinity] -[0E1h 0225 1] Length : 28 - -[0E2h 0226 4] Proximity Domain : 00000001 -[0E6h 0230 2] Reserved1 : 0000 -[0E8h 0232 8] Base Address : 0000000004000000 -[0F0h 0240 8] Address Length : 0000000004000000 -[0F8h 0248 4] Reserved2 : 00000000 -[0FCh 0252 4] Flags (decoded below) : 00000001 - Enabled : 1 - Hot Pluggable : 0 - Non-Volatile : 0 -[100h 0256 8] Reserved3 : 0000000000000000 - -[108h 0264 1] Subtable Type : 01 [Memory Affinity] -[109h 0265 1] Length : 28 - -[10Ah 0266 4] Proximity Domain : 00000000 -[10Eh 0270 2] Reserved1 : 0000 -[110h 0272 8] Base Address : 0000000000000000 -[118h 0280 8] Address Length : 0000000000000000 -[120h 0288 4] Reserved2 : 00000000 -[124h 0292 4] Flags (decoded below) : 00000000 - Enabled : 0 - Hot Pluggable : 0 - Non-Volatile : 0 -[128h 0296 8] Reserved3 : 0000000000000000 - -Raw Table Data: Length 304 (0x130) - - 0000: 53 52 41 54 30 01 00 00 01 36 42 4F 43 48 53 20 // SRAT0....6BOCHS - 0010: 42 58 50 43 53 52 41 54 01 00 00 00 42 58 50 43 // BXPCSRAT....BXPC - 0020: 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0030: 00 10 00 00 01 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0040: 00 10 00 01 01 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0050: 00 10 00 02 01 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0060: 00 10 01 04 01 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0070: 00 10 01 05 01 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0080: 00 10 01 06 01 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0090: 01 28 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // .(.............. - 00A0: 00 00 0A 00 00 00 00 00 00 00 00 00 01 00 00 00 // ................ - 00B0: 00 00 00 00 00 00 00 00 01 28 00 00 00 00 00 00 // .........(...... - 00C0: 00 00 10 00 00 00 00 00 00 00 F0 03 00 00 00 00 // ................ - 00D0: 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00E0: 01 28 01 00 00 00 00 00 00 00 00 04 00 00 00 00 // .(.............. - 00F0: 00 00 00 04 00 00 00 00 00 00 00 00 01 00 00 00 // ................ - 0100: 00 00 00 00 00 00 00 00 01 28 00 00 00 00 00 00 // .........(...... - 0110: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0120: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ diff --git a/tests/data/acpi/pc/SRAT.dimmpxm.dsl b/tests/data/acpi/pc/SRAT.dimmpxm.dsl deleted file mode 100644 index 888fef1b5c..0000000000 --- a/tests/data/acpi/pc/SRAT.dimmpxm.dsl +++ /dev/null @@ -1,194 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/pc/SRAT.dimmpxm, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [SRAT] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "SRAT" [System Resource Affinity Table] -[004h 0004 4] Table Length : 00000188 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : 68 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCSRAT" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Table Revision : 00000001 -[028h 0040 8] Reserved : 0000000000000000 - -[030h 0048 1] Subtable Type : 00 [Processor Local APIC/SAPIC Affinity] -[031h 0049 1] Length : 10 - -[032h 0050 1] Proximity Domain Low(8) : 00 -[033h 0051 1] Apic ID : 00 -[034h 0052 4] Flags (decoded below) : 00000001 - Enabled : 1 -[038h 0056 1] Local Sapic EID : 00 -[039h 0057 3] Proximity Domain High(24) : 000000 -[03Ch 0060 4] Clock Domain : 00000000 - -[040h 0064 1] Subtable Type : 00 [Processor Local APIC/SAPIC Affinity] -[041h 0065 1] Length : 10 - -[042h 0066 1] Proximity Domain Low(8) : 01 -[043h 0067 1] Apic ID : 01 -[044h 0068 4] Flags (decoded below) : 00000001 - Enabled : 1 -[048h 0072 1] Local Sapic EID : 00 -[049h 0073 3] Proximity Domain High(24) : 000000 -[04Ch 0076 4] Clock Domain : 00000000 - -[050h 0080 1] Subtable Type : 00 [Processor Local APIC/SAPIC Affinity] -[051h 0081 1] Length : 10 - -[052h 0082 1] Proximity Domain Low(8) : 02 -[053h 0083 1] Apic ID : 02 -[054h 0084 4] Flags (decoded below) : 00000001 - Enabled : 1 -[058h 0088 1] Local Sapic EID : 00 -[059h 0089 3] Proximity Domain High(24) : 000000 -[05Ch 0092 4] Clock Domain : 00000000 - -[060h 0096 1] Subtable Type : 00 [Processor Local APIC/SAPIC Affinity] -[061h 0097 1] Length : 10 - -[062h 0098 1] Proximity Domain Low(8) : 03 -[063h 0099 1] Apic ID : 03 -[064h 0100 4] Flags (decoded below) : 00000001 - Enabled : 1 -[068h 0104 1] Local Sapic EID : 00 -[069h 0105 3] Proximity Domain High(24) : 000000 -[06Ch 0108 4] Clock Domain : 00000000 - -[070h 0112 1] Subtable Type : 01 [Memory Affinity] -[071h 0113 1] Length : 28 - -[072h 0114 4] Proximity Domain : 00000000 -[076h 0118 2] Reserved1 : 0000 -[078h 0120 8] Base Address : 0000000000000000 -[080h 0128 8] Address Length : 00000000000A0000 -[088h 0136 4] Reserved2 : 00000000 -[08Ch 0140 4] Flags (decoded below) : 00000001 - Enabled : 1 - Hot Pluggable : 0 - Non-Volatile : 0 -[090h 0144 8] Reserved3 : 0000000000000000 - -[098h 0152 1] Subtable Type : 01 [Memory Affinity] -[099h 0153 1] Length : 28 - -[09Ah 0154 4] Proximity Domain : 00000000 -[09Eh 0158 2] Reserved1 : 0000 -[0A0h 0160 8] Base Address : 0000000000100000 -[0A8h 0168 8] Address Length : 0000000001F00000 -[0B0h 0176 4] Reserved2 : 00000000 -[0B4h 0180 4] Flags (decoded below) : 00000001 - Enabled : 1 - Hot Pluggable : 0 - Non-Volatile : 0 -[0B8h 0184 8] Reserved3 : 0000000000000000 - -[0C0h 0192 1] Subtable Type : 01 [Memory Affinity] -[0C1h 0193 1] Length : 28 - -[0C2h 0194 4] Proximity Domain : 00000001 -[0C6h 0198 2] Reserved1 : 0000 -[0C8h 0200 8] Base Address : 0000000002000000 -[0D0h 0208 8] Address Length : 0000000002000000 -[0D8h 0216 4] Reserved2 : 00000000 -[0DCh 0220 4] Flags (decoded below) : 00000001 - Enabled : 1 - Hot Pluggable : 0 - Non-Volatile : 0 -[0E0h 0224 8] Reserved3 : 0000000000000000 - -[0E8h 0232 1] Subtable Type : 01 [Memory Affinity] -[0E9h 0233 1] Length : 28 - -[0EAh 0234 4] Proximity Domain : 00000002 -[0EEh 0238 2] Reserved1 : 0000 -[0F0h 0240 8] Base Address : 0000000004000000 -[0F8h 0248 8] Address Length : 0000000002000000 -[100h 0256 4] Reserved2 : 00000000 -[104h 0260 4] Flags (decoded below) : 00000001 - Enabled : 1 - Hot Pluggable : 0 - Non-Volatile : 0 -[108h 0264 8] Reserved3 : 0000000000000000 - -[110h 0272 1] Subtable Type : 01 [Memory Affinity] -[111h 0273 1] Length : 28 - -[112h 0274 4] Proximity Domain : 00000003 -[116h 0278 2] Reserved1 : 0000 -[118h 0280 8] Base Address : 0000000006000000 -[120h 0288 8] Address Length : 0000000002000000 -[128h 0296 4] Reserved2 : 00000000 -[12Ch 0300 4] Flags (decoded below) : 00000001 - Enabled : 1 - Hot Pluggable : 0 - Non-Volatile : 0 -[130h 0304 8] Reserved3 : 0000000000000000 - -[138h 0312 1] Subtable Type : 01 [Memory Affinity] -[139h 0313 1] Length : 28 - -[13Ah 0314 4] Proximity Domain : 00000002 -[13Eh 0318 2] Reserved1 : 0000 -[140h 0320 8] Base Address : 0000000108000000 -[148h 0328 8] Address Length : 0000000008000000 -[150h 0336 4] Reserved2 : 00000000 -[154h 0340 4] Flags (decoded below) : 00000005 - Enabled : 1 - Hot Pluggable : 0 - Non-Volatile : 1 -[158h 0344 8] Reserved3 : 0000000000000000 - -[160h 0352 1] Subtable Type : 01 [Memory Affinity] -[161h 0353 1] Length : 28 - -[162h 0354 4] Proximity Domain : 00000003 -[166h 0358 2] Reserved1 : 0000 -[168h 0360 8] Base Address : 0000000100000000 -[170h 0368 8] Address Length : 00000000F8000000 -[178h 0376 4] Reserved2 : 00000000 -[17Ch 0380 4] Flags (decoded below) : 00000003 - Enabled : 1 - Hot Pluggable : 1 - Non-Volatile : 0 -[180h 0384 8] Reserved3 : 0000000000000000 - -Raw Table Data: Length 392 (0x188) - - 0000: 53 52 41 54 88 01 00 00 01 68 42 4F 43 48 53 20 // SRAT.....hBOCHS - 0010: 42 58 50 43 53 52 41 54 01 00 00 00 42 58 50 43 // BXPCSRAT....BXPC - 0020: 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0030: 00 10 00 00 01 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0040: 00 10 01 01 01 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0050: 00 10 02 02 01 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0060: 00 10 03 03 01 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0070: 01 28 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // .(.............. - 0080: 00 00 0A 00 00 00 00 00 00 00 00 00 01 00 00 00 // ................ - 0090: 00 00 00 00 00 00 00 00 01 28 00 00 00 00 00 00 // .........(...... - 00A0: 00 00 10 00 00 00 00 00 00 00 F0 01 00 00 00 00 // ................ - 00B0: 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00C0: 01 28 01 00 00 00 00 00 00 00 00 02 00 00 00 00 // .(.............. - 00D0: 00 00 00 02 00 00 00 00 00 00 00 00 01 00 00 00 // ................ - 00E0: 00 00 00 00 00 00 00 00 01 28 02 00 00 00 00 00 // .........(...... - 00F0: 00 00 00 04 00 00 00 00 00 00 00 02 00 00 00 00 // ................ - 0100: 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0110: 01 28 03 00 00 00 00 00 00 00 00 06 00 00 00 00 // .(.............. - 0120: 00 00 00 02 00 00 00 00 00 00 00 00 01 00 00 00 // ................ - 0130: 00 00 00 00 00 00 00 00 01 28 02 00 00 00 00 00 // .........(...... - 0140: 00 00 00 08 01 00 00 00 00 00 00 08 00 00 00 00 // ................ - 0150: 00 00 00 00 05 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0160: 01 28 03 00 00 00 00 00 00 00 00 00 01 00 00 00 // .(.............. - 0170: 00 00 00 F8 00 00 00 00 00 00 00 00 03 00 00 00 // ................ - 0180: 00 00 00 00 00 00 00 00 // ........ diff --git a/tests/data/acpi/pc/SRAT.dsl b/tests/data/acpi/pc/SRAT.dsl deleted file mode 100644 index 77bbfebc81..0000000000 --- a/tests/data/acpi/pc/SRAT.dsl +++ /dev/null @@ -1,108 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/pc/SRAT.numamem, Mon Sep 28 17:24:38 2020 - * - * ACPI Data Table [SRAT] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "SRAT" [System Resource Affinity Table] -[004h 0004 4] Table Length : 000000E0 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : F5 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCSRAT" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Table Revision : 00000001 -[028h 0040 8] Reserved : 0000000000000000 - -[030h 0048 1] Subtable Type : 00 [Processor Local APIC/SAPIC Affinity] -[031h 0049 1] Length : 10 - -[032h 0050 1] Proximity Domain Low(8) : 00 -[033h 0051 1] Apic ID : 00 -[034h 0052 4] Flags (decoded below) : 00000001 - Enabled : 1 -[038h 0056 1] Local Sapic EID : 00 -[039h 0057 3] Proximity Domain High(24) : 000000 -[03Ch 0060 4] Clock Domain : 00000000 - -[040h 0064 1] Subtable Type : 01 [Memory Affinity] -[041h 0065 1] Length : 28 - -[042h 0066 4] Proximity Domain : 00000001 -[046h 0070 2] Reserved1 : 0000 -[048h 0072 8] Base Address : 0000000000000000 -[050h 0080 8] Address Length : 00000000000A0000 -[058h 0088 4] Reserved2 : 00000000 -[05Ch 0092 4] Flags (decoded below) : 00000001 - Enabled : 1 - Hot Pluggable : 0 - Non-Volatile : 0 -[060h 0096 8] Reserved3 : 0000000000000000 - -[068h 0104 1] Subtable Type : 01 [Memory Affinity] -[069h 0105 1] Length : 28 - -[06Ah 0106 4] Proximity Domain : 00000001 -[06Eh 0110 2] Reserved1 : 0000 -[070h 0112 8] Base Address : 0000000000100000 -[078h 0120 8] Address Length : 0000000007F00000 -[080h 0128 4] Reserved2 : 00000000 -[084h 0132 4] Flags (decoded below) : 00000001 - Enabled : 1 - Hot Pluggable : 0 - Non-Volatile : 0 -[088h 0136 8] Reserved3 : 0000000000000000 - -[090h 0144 1] Subtable Type : 01 [Memory Affinity] -[091h 0145 1] Length : 28 - -[092h 0146 4] Proximity Domain : 00000000 -[096h 0150 2] Reserved1 : 0000 -[098h 0152 8] Base Address : 0000000000000000 -[0A0h 0160 8] Address Length : 0000000000000000 -[0A8h 0168 4] Reserved2 : 00000000 -[0ACh 0172 4] Flags (decoded below) : 00000000 - Enabled : 0 - Hot Pluggable : 0 - Non-Volatile : 0 -[0B0h 0176 8] Reserved3 : 0000000000000000 - -[0B8h 0184 1] Subtable Type : 01 [Memory Affinity] -[0B9h 0185 1] Length : 28 - -[0BAh 0186 4] Proximity Domain : 00000000 -[0BEh 0190 2] Reserved1 : 0000 -[0C0h 0192 8] Base Address : 0000000000000000 -[0C8h 0200 8] Address Length : 0000000000000000 -[0D0h 0208 4] Reserved2 : 00000000 -[0D4h 0212 4] Flags (decoded below) : 00000000 - Enabled : 0 - Hot Pluggable : 0 - Non-Volatile : 0 -[0D8h 0216 8] Reserved3 : 0000000000000000 - -Raw Table Data: Length 224 (0xE0) - - 0000: 53 52 41 54 E0 00 00 00 01 F5 42 4F 43 48 53 20 // SRAT......BOCHS - 0010: 42 58 50 43 53 52 41 54 01 00 00 00 42 58 50 43 // BXPCSRAT....BXPC - 0020: 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0030: 00 10 00 00 01 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0040: 01 28 01 00 00 00 00 00 00 00 00 00 00 00 00 00 // .(.............. - 0050: 00 00 0A 00 00 00 00 00 00 00 00 00 01 00 00 00 // ................ - 0060: 00 00 00 00 00 00 00 00 01 28 01 00 00 00 00 00 // .........(...... - 0070: 00 00 10 00 00 00 00 00 00 00 F0 07 00 00 00 00 // ................ - 0080: 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0090: 01 28 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // .(.............. - 00A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00B0: 00 00 00 00 00 00 00 00 01 28 00 00 00 00 00 00 // .........(...... - 00C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ diff --git a/tests/data/acpi/pc/SRAT.memhp.dsl b/tests/data/acpi/pc/SRAT.memhp.dsl deleted file mode 100644 index 803f9c8f1a..0000000000 --- a/tests/data/acpi/pc/SRAT.memhp.dsl +++ /dev/null @@ -1,125 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/pc/SRAT.memhp, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [SRAT] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "SRAT" [System Resource Affinity Table] -[004h 0004 4] Table Length : 00000108 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : A2 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCSRAT" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Table Revision : 00000001 -[028h 0040 8] Reserved : 0000000000000000 - -[030h 0048 1] Subtable Type : 00 [Processor Local APIC/SAPIC Affinity] -[031h 0049 1] Length : 10 - -[032h 0050 1] Proximity Domain Low(8) : 00 -[033h 0051 1] Apic ID : 00 -[034h 0052 4] Flags (decoded below) : 00000001 - Enabled : 1 -[038h 0056 1] Local Sapic EID : 00 -[039h 0057 3] Proximity Domain High(24) : 000000 -[03Ch 0060 4] Clock Domain : 00000000 - -[040h 0064 1] Subtable Type : 01 [Memory Affinity] -[041h 0065 1] Length : 28 - -[042h 0066 4] Proximity Domain : 00000000 -[046h 0070 2] Reserved1 : 0000 -[048h 0072 8] Base Address : 0000000000000000 -[050h 0080 8] Address Length : 00000000000A0000 -[058h 0088 4] Reserved2 : 00000000 -[05Ch 0092 4] Flags (decoded below) : 00000001 - Enabled : 1 - Hot Pluggable : 0 - Non-Volatile : 0 -[060h 0096 8] Reserved3 : 0000000000000000 - -[068h 0104 1] Subtable Type : 01 [Memory Affinity] -[069h 0105 1] Length : 28 - -[06Ah 0106 4] Proximity Domain : 00000000 -[06Eh 0110 2] Reserved1 : 0000 -[070h 0112 8] Base Address : 0000000000100000 -[078h 0120 8] Address Length : 0000000003F00000 -[080h 0128 4] Reserved2 : 00000000 -[084h 0132 4] Flags (decoded below) : 00000001 - Enabled : 1 - Hot Pluggable : 0 - Non-Volatile : 0 -[088h 0136 8] Reserved3 : 0000000000000000 - -[090h 0144 1] Subtable Type : 01 [Memory Affinity] -[091h 0145 1] Length : 28 - -[092h 0146 4] Proximity Domain : 00000001 -[096h 0150 2] Reserved1 : 0000 -[098h 0152 8] Base Address : 0000000004000000 -[0A0h 0160 8] Address Length : 0000000004000000 -[0A8h 0168 4] Reserved2 : 00000000 -[0ACh 0172 4] Flags (decoded below) : 00000001 - Enabled : 1 - Hot Pluggable : 0 - Non-Volatile : 0 -[0B0h 0176 8] Reserved3 : 0000000000000000 - -[0B8h 0184 1] Subtable Type : 01 [Memory Affinity] -[0B9h 0185 1] Length : 28 - -[0BAh 0186 4] Proximity Domain : 00000000 -[0BEh 0190 2] Reserved1 : 0000 -[0C0h 0192 8] Base Address : 0000000000000000 -[0C8h 0200 8] Address Length : 0000000000000000 -[0D0h 0208 4] Reserved2 : 00000000 -[0D4h 0212 4] Flags (decoded below) : 00000000 - Enabled : 0 - Hot Pluggable : 0 - Non-Volatile : 0 -[0D8h 0216 8] Reserved3 : 0000000000000000 - -[0E0h 0224 1] Subtable Type : 01 [Memory Affinity] -[0E1h 0225 1] Length : 28 - -[0E2h 0226 4] Proximity Domain : 00000001 -[0E6h 0230 2] Reserved1 : 0000 -[0E8h 0232 8] Base Address : 0000000100000000 -[0F0h 0240 8] Address Length : 00000000F8000000 -[0F8h 0248 4] Reserved2 : 00000000 -[0FCh 0252 4] Flags (decoded below) : 00000003 - Enabled : 1 - Hot Pluggable : 1 - Non-Volatile : 0 -[100h 0256 8] Reserved3 : 0000000000000000 - -Raw Table Data: Length 264 (0x108) - - 0000: 53 52 41 54 08 01 00 00 01 A2 42 4F 43 48 53 20 // SRAT......BOCHS - 0010: 42 58 50 43 53 52 41 54 01 00 00 00 42 58 50 43 // BXPCSRAT....BXPC - 0020: 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0030: 00 10 00 00 01 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0040: 01 28 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // .(.............. - 0050: 00 00 0A 00 00 00 00 00 00 00 00 00 01 00 00 00 // ................ - 0060: 00 00 00 00 00 00 00 00 01 28 00 00 00 00 00 00 // .........(...... - 0070: 00 00 10 00 00 00 00 00 00 00 F0 03 00 00 00 00 // ................ - 0080: 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0090: 01 28 01 00 00 00 00 00 00 00 00 04 00 00 00 00 // .(.............. - 00A0: 00 00 00 04 00 00 00 00 00 00 00 00 01 00 00 00 // ................ - 00B0: 00 00 00 00 00 00 00 00 01 28 00 00 00 00 00 00 // .........(...... - 00C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00E0: 01 28 01 00 00 00 00 00 00 00 00 00 01 00 00 00 // .(.............. - 00F0: 00 00 00 F8 00 00 00 00 00 00 00 00 03 00 00 00 // ................ - 0100: 00 00 00 00 00 00 00 00 // ........ diff --git a/tests/data/acpi/pc/SRAT.numamem.dsl b/tests/data/acpi/pc/SRAT.numamem.dsl deleted file mode 100644 index 74f4382dd1..0000000000 --- a/tests/data/acpi/pc/SRAT.numamem.dsl +++ /dev/null @@ -1,108 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/pc/SRAT.numamem, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [SRAT] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "SRAT" [System Resource Affinity Table] -[004h 0004 4] Table Length : 000000E0 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : F5 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCSRAT" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Table Revision : 00000001 -[028h 0040 8] Reserved : 0000000000000000 - -[030h 0048 1] Subtable Type : 00 [Processor Local APIC/SAPIC Affinity] -[031h 0049 1] Length : 10 - -[032h 0050 1] Proximity Domain Low(8) : 00 -[033h 0051 1] Apic ID : 00 -[034h 0052 4] Flags (decoded below) : 00000001 - Enabled : 1 -[038h 0056 1] Local Sapic EID : 00 -[039h 0057 3] Proximity Domain High(24) : 000000 -[03Ch 0060 4] Clock Domain : 00000000 - -[040h 0064 1] Subtable Type : 01 [Memory Affinity] -[041h 0065 1] Length : 28 - -[042h 0066 4] Proximity Domain : 00000001 -[046h 0070 2] Reserved1 : 0000 -[048h 0072 8] Base Address : 0000000000000000 -[050h 0080 8] Address Length : 00000000000A0000 -[058h 0088 4] Reserved2 : 00000000 -[05Ch 0092 4] Flags (decoded below) : 00000001 - Enabled : 1 - Hot Pluggable : 0 - Non-Volatile : 0 -[060h 0096 8] Reserved3 : 0000000000000000 - -[068h 0104 1] Subtable Type : 01 [Memory Affinity] -[069h 0105 1] Length : 28 - -[06Ah 0106 4] Proximity Domain : 00000001 -[06Eh 0110 2] Reserved1 : 0000 -[070h 0112 8] Base Address : 0000000000100000 -[078h 0120 8] Address Length : 0000000007F00000 -[080h 0128 4] Reserved2 : 00000000 -[084h 0132 4] Flags (decoded below) : 00000001 - Enabled : 1 - Hot Pluggable : 0 - Non-Volatile : 0 -[088h 0136 8] Reserved3 : 0000000000000000 - -[090h 0144 1] Subtable Type : 01 [Memory Affinity] -[091h 0145 1] Length : 28 - -[092h 0146 4] Proximity Domain : 00000000 -[096h 0150 2] Reserved1 : 0000 -[098h 0152 8] Base Address : 0000000000000000 -[0A0h 0160 8] Address Length : 0000000000000000 -[0A8h 0168 4] Reserved2 : 00000000 -[0ACh 0172 4] Flags (decoded below) : 00000000 - Enabled : 0 - Hot Pluggable : 0 - Non-Volatile : 0 -[0B0h 0176 8] Reserved3 : 0000000000000000 - -[0B8h 0184 1] Subtable Type : 01 [Memory Affinity] -[0B9h 0185 1] Length : 28 - -[0BAh 0186 4] Proximity Domain : 00000000 -[0BEh 0190 2] Reserved1 : 0000 -[0C0h 0192 8] Base Address : 0000000000000000 -[0C8h 0200 8] Address Length : 0000000000000000 -[0D0h 0208 4] Reserved2 : 00000000 -[0D4h 0212 4] Flags (decoded below) : 00000000 - Enabled : 0 - Hot Pluggable : 0 - Non-Volatile : 0 -[0D8h 0216 8] Reserved3 : 0000000000000000 - -Raw Table Data: Length 224 (0xE0) - - 0000: 53 52 41 54 E0 00 00 00 01 F5 42 4F 43 48 53 20 // SRAT......BOCHS - 0010: 42 58 50 43 53 52 41 54 01 00 00 00 42 58 50 43 // BXPCSRAT....BXPC - 0020: 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0030: 00 10 00 00 01 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0040: 01 28 01 00 00 00 00 00 00 00 00 00 00 00 00 00 // .(.............. - 0050: 00 00 0A 00 00 00 00 00 00 00 00 00 01 00 00 00 // ................ - 0060: 00 00 00 00 00 00 00 00 01 28 01 00 00 00 00 00 // .........(...... - 0070: 00 00 10 00 00 00 00 00 00 00 F0 07 00 00 00 00 // ................ - 0080: 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0090: 01 28 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // .(.............. - 00A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00B0: 00 00 00 00 00 00 00 00 01 28 00 00 00 00 00 00 // .........(...... - 00C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ diff --git a/tests/data/acpi/pc/SSDT.dsl b/tests/data/acpi/pc/SSDT.dsl deleted file mode 100644 index abd64f6133..0000000000 --- a/tests/data/acpi/pc/SSDT.dsl +++ /dev/null @@ -1,205 +0,0 @@ -/* - * 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/SSDT.dimmpxm, Mon Sep 28 17:24:38 2020 - * - * Original Table Header: - * Signature "SSDT" - * Length 0x000002DE (734) - * Revision 0x01 - * Checksum 0x56 - * OEM ID "BOCHS " - * OEM Table ID "NVDIMM" - * OEM Revision 0x00000001 (1) - * Compiler ID "BXPC" - * Compiler Version 0x00000001 (1) - */ -DefinitionBlock ("", "SSDT", 1, "BOCHS ", "NVDIMM", 0x00000001) -{ - Scope (\_SB) - { - Device (NVDR) - { - Name (_HID, "ACPI0012" /* NVDIMM Root Device */) // _HID: Hardware ID - Method (NCAL, 5, Serialized) - { - Local6 = MEMA /* \MEMA */ - OperationRegion (NPIO, SystemIO, 0x0A18, 0x04) - OperationRegion (NRAM, SystemMemory, Local6, 0x1000) - Field (NPIO, DWordAcc, NoLock, Preserve) - { - NTFI, 32 - } - - Field (NRAM, DWordAcc, NoLock, Preserve) - { - HDLE, 32, - REVS, 32, - FUNC, 32, - FARG, 32672 - } - - Field (NRAM, DWordAcc, NoLock, Preserve) - { - RLEN, 32, - ODAT, 32736 - } - - If ((Arg4 == Zero)) - { - Local0 = ToUUID ("2f10e7a4-9e91-11e4-89d3-123b93f75cba") - } - ElseIf ((Arg4 == 0x00010000)) - { - Local0 = ToUUID ("648b9cf2-cda1-4312-8ad9-49c4af32bd62") - } - Else - { - Local0 = ToUUID ("4309ac30-0d11-11e4-9191-0800200c9a66") - } - - If (((Local6 == Zero) | (Arg0 != Local0))) - { - If ((Arg2 == Zero)) - { - Return (Buffer (One) - { - 0x00 // . - }) - } - - Return (Buffer (One) - { - 0x01 // . - }) - } - - HDLE = Arg4 - REVS = Arg1 - FUNC = Arg2 - If (((ObjectType (Arg3) == 0x04) & (SizeOf (Arg3) == One))) - { - Local2 = Arg3 [Zero] - Local3 = DerefOf (Local2) - FARG = Local3 - } - - NTFI = Local6 - Local1 = (RLEN - 0x04) - If ((Local1 < 0x08)) - { - Local2 = Zero - Name (TBUF, Buffer (One) - { - 0x00 // . - }) - Local7 = Buffer (Zero){} - While ((Local2 < Local1)) - { - TBUF [Zero] = DerefOf (ODAT [Local2]) - Concatenate (Local7, TBUF, Local7) - Local2++ - } - - Return (Local7) - } - - Local1 = (Local1 << 0x03) - CreateField (ODAT, Zero, Local1, OBUF) - Return (OBUF) /* \_SB_.NVDR.NCAL.OBUF */ - } - - Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method - { - Return (NCAL (Arg0, Arg1, Arg2, Arg3, Zero)) - } - - Name (RSTA, Zero) - Method (RFIT, 1, Serialized) - { - Name (OFST, Zero) - OFST = Arg0 - Local0 = NCAL (ToUUID ("648b9cf2-cda1-4312-8ad9-49c4af32bd62"), One, One, Package (0x01) - { - OFST - }, 0x00010000) - CreateDWordField (Local0, Zero, STAU) - RSTA = STAU /* \_SB_.NVDR.RFIT.STAU */ - If ((Zero != STAU)) - { - Return (Buffer (Zero){}) - } - - Local1 = SizeOf (Local0) - Local1 -= 0x04 - If ((Local1 == Zero)) - { - Return (Buffer (Zero){}) - } - - CreateField (Local0, 0x20, (Local1 << 0x03), BUFF) - Return (BUFF) /* \_SB_.NVDR.RFIT.BUFF */ - } - - Method (_FIT, 0, Serialized) // _FIT: Firmware Interface Table - { - Local2 = Buffer (Zero){} - Local3 = Zero - While (One) - { - Local0 = RFIT (Local3) - Local1 = SizeOf (Local0) - If ((RSTA == 0x0100)) - { - Local2 = Buffer (Zero){} - Local3 = Zero - } - Else - { - If ((Local1 == Zero)) - { - Return (Local2) - } - - Local3 += Local1 - Concatenate (Local2, Local0, Local2) - } - } - } - - Device (NV00) - { - Name (_ADR, One) // _ADR: Address - Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method - { - Return (NCAL (Arg0, Arg1, Arg2, Arg3, One)) - } - } - - Device (NV01) - { - Name (_ADR, 0x02) // _ADR: Address - Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method - { - Return (NCAL (Arg0, Arg1, Arg2, Arg3, 0x02)) - } - } - - Device (NV02) - { - Name (_ADR, 0x03) // _ADR: Address - Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method - { - Return (NCAL (Arg0, Arg1, Arg2, Arg3, 0x03)) - } - } - } - } - - Name (MEMA, 0x07FFE000) -} - diff --git a/tests/data/acpi/pc/WAET.acpihmat b/tests/data/acpi/pc/WAET.acpihmat deleted file mode 100644 index c2240f58dff6b2f765386b5a2e506fda4800be3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40 qcmWG{bPds9U|?YEaPoKd2v%^42yhN}bPZu-U|;~TK{OKs0|Nl8X$JuS diff --git a/tests/data/acpi/pc/WAET.acpihmat.dsl b/tests/data/acpi/pc/WAET.acpihmat.dsl deleted file mode 100644 index 991c8773b8..0000000000 --- a/tests/data/acpi/pc/WAET.acpihmat.dsl +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/pc/WAET.acpihmat, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [WAET] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "WAET" [Windows ACPI Emulated Devices Table] -[004h 0004 4] Table Length : 00000028 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : 88 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCWAET" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Flags (decoded below) : 00000002 - RTC needs no INT ack : 0 - PM timer, one read only : 1 - -Raw Table Data: Length 40 (0x28) - - 0000: 57 41 45 54 28 00 00 00 01 88 42 4F 43 48 53 20 // WAET(.....BOCHS - 0010: 42 58 50 43 57 41 45 54 01 00 00 00 42 58 50 43 // BXPCWAET....BXPC - 0020: 01 00 00 00 02 00 00 00 // ........ diff --git a/tests/data/acpi/pc/WAET.bridge b/tests/data/acpi/pc/WAET.bridge deleted file mode 100644 index c2240f58dff6b2f765386b5a2e506fda4800be3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40 qcmWG{bPds9U|?YEaPoKd2v%^42yhN}bPZu-U|;~TK{OKs0|Nl8X$JuS diff --git a/tests/data/acpi/pc/WAET.bridge.dsl b/tests/data/acpi/pc/WAET.bridge.dsl deleted file mode 100644 index f47dbb17a7..0000000000 --- a/tests/data/acpi/pc/WAET.bridge.dsl +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/pc/WAET.bridge, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [WAET] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "WAET" [Windows ACPI Emulated Devices Table] -[004h 0004 4] Table Length : 00000028 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : 88 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCWAET" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Flags (decoded below) : 00000002 - RTC needs no INT ack : 0 - PM timer, one read only : 1 - -Raw Table Data: Length 40 (0x28) - - 0000: 57 41 45 54 28 00 00 00 01 88 42 4F 43 48 53 20 // WAET(.....BOCHS - 0010: 42 58 50 43 57 41 45 54 01 00 00 00 42 58 50 43 // BXPCWAET....BXPC - 0020: 01 00 00 00 02 00 00 00 // ........ diff --git a/tests/data/acpi/pc/WAET.cphp b/tests/data/acpi/pc/WAET.cphp deleted file mode 100644 index c2240f58dff6b2f765386b5a2e506fda4800be3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40 qcmWG{bPds9U|?YEaPoKd2v%^42yhN}bPZu-U|;~TK{OKs0|Nl8X$JuS diff --git a/tests/data/acpi/pc/WAET.cphp.dsl b/tests/data/acpi/pc/WAET.cphp.dsl deleted file mode 100644 index ff077a14eb..0000000000 --- a/tests/data/acpi/pc/WAET.cphp.dsl +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/pc/WAET.cphp, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [WAET] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "WAET" [Windows ACPI Emulated Devices Table] -[004h 0004 4] Table Length : 00000028 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : 88 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCWAET" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Flags (decoded below) : 00000002 - RTC needs no INT ack : 0 - PM timer, one read only : 1 - -Raw Table Data: Length 40 (0x28) - - 0000: 57 41 45 54 28 00 00 00 01 88 42 4F 43 48 53 20 // WAET(.....BOCHS - 0010: 42 58 50 43 57 41 45 54 01 00 00 00 42 58 50 43 // BXPCWAET....BXPC - 0020: 01 00 00 00 02 00 00 00 // ........ diff --git a/tests/data/acpi/pc/WAET.dimmpxm b/tests/data/acpi/pc/WAET.dimmpxm deleted file mode 100644 index c2240f58dff6b2f765386b5a2e506fda4800be3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40 qcmWG{bPds9U|?YEaPoKd2v%^42yhN}bPZu-U|;~TK{OKs0|Nl8X$JuS diff --git a/tests/data/acpi/pc/WAET.dimmpxm.dsl b/tests/data/acpi/pc/WAET.dimmpxm.dsl deleted file mode 100644 index b8192c8601..0000000000 --- a/tests/data/acpi/pc/WAET.dimmpxm.dsl +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/pc/WAET.dimmpxm, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [WAET] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "WAET" [Windows ACPI Emulated Devices Table] -[004h 0004 4] Table Length : 00000028 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : 88 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCWAET" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Flags (decoded below) : 00000002 - RTC needs no INT ack : 0 - PM timer, one read only : 1 - -Raw Table Data: Length 40 (0x28) - - 0000: 57 41 45 54 28 00 00 00 01 88 42 4F 43 48 53 20 // WAET(.....BOCHS - 0010: 42 58 50 43 57 41 45 54 01 00 00 00 42 58 50 43 // BXPCWAET....BXPC - 0020: 01 00 00 00 02 00 00 00 // ........ diff --git a/tests/data/acpi/pc/WAET.dsl b/tests/data/acpi/pc/WAET.dsl deleted file mode 100644 index 53b6c1dc42..0000000000 --- a/tests/data/acpi/pc/WAET.dsl +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/pc/WAET.roothp, Mon Sep 28 17:24:38 2020 - * - * ACPI Data Table [WAET] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "WAET" [Windows ACPI Emulated Devices Table] -[004h 0004 4] Table Length : 00000028 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : 88 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCWAET" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Flags (decoded below) : 00000002 - RTC needs no INT ack : 0 - PM timer, one read only : 1 - -Raw Table Data: Length 40 (0x28) - - 0000: 57 41 45 54 28 00 00 00 01 88 42 4F 43 48 53 20 // WAET(.....BOCHS - 0010: 42 58 50 43 57 41 45 54 01 00 00 00 42 58 50 43 // BXPCWAET....BXPC - 0020: 01 00 00 00 02 00 00 00 // ........ diff --git a/tests/data/acpi/pc/WAET.hpbridge b/tests/data/acpi/pc/WAET.hpbridge deleted file mode 100644 index c2240f58dff6b2f765386b5a2e506fda4800be3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40 qcmWG{bPds9U|?YEaPoKd2v%^42yhN}bPZu-U|;~TK{OKs0|Nl8X$JuS diff --git a/tests/data/acpi/pc/WAET.ipmikcs b/tests/data/acpi/pc/WAET.ipmikcs deleted file mode 100644 index c2240f58dff6b2f765386b5a2e506fda4800be3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40 qcmWG{bPds9U|?YEaPoKd2v%^42yhN}bPZu-U|;~TK{OKs0|Nl8X$JuS diff --git a/tests/data/acpi/pc/WAET.ipmikcs.dsl b/tests/data/acpi/pc/WAET.ipmikcs.dsl deleted file mode 100644 index 5144bada0f..0000000000 --- a/tests/data/acpi/pc/WAET.ipmikcs.dsl +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/pc/WAET.ipmikcs, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [WAET] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "WAET" [Windows ACPI Emulated Devices Table] -[004h 0004 4] Table Length : 00000028 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : 88 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCWAET" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Flags (decoded below) : 00000002 - RTC needs no INT ack : 0 - PM timer, one read only : 1 - -Raw Table Data: Length 40 (0x28) - - 0000: 57 41 45 54 28 00 00 00 01 88 42 4F 43 48 53 20 // WAET(.....BOCHS - 0010: 42 58 50 43 57 41 45 54 01 00 00 00 42 58 50 43 // BXPCWAET....BXPC - 0020: 01 00 00 00 02 00 00 00 // ........ diff --git a/tests/data/acpi/pc/WAET.memhp b/tests/data/acpi/pc/WAET.memhp deleted file mode 100644 index c2240f58dff6b2f765386b5a2e506fda4800be3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40 qcmWG{bPds9U|?YEaPoKd2v%^42yhN}bPZu-U|;~TK{OKs0|Nl8X$JuS diff --git a/tests/data/acpi/pc/WAET.memhp.dsl b/tests/data/acpi/pc/WAET.memhp.dsl deleted file mode 100644 index bfe3a036d7..0000000000 --- a/tests/data/acpi/pc/WAET.memhp.dsl +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/pc/WAET.memhp, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [WAET] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "WAET" [Windows ACPI Emulated Devices Table] -[004h 0004 4] Table Length : 00000028 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : 88 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCWAET" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Flags (decoded below) : 00000002 - RTC needs no INT ack : 0 - PM timer, one read only : 1 - -Raw Table Data: Length 40 (0x28) - - 0000: 57 41 45 54 28 00 00 00 01 88 42 4F 43 48 53 20 // WAET(.....BOCHS - 0010: 42 58 50 43 57 41 45 54 01 00 00 00 42 58 50 43 // BXPCWAET....BXPC - 0020: 01 00 00 00 02 00 00 00 // ........ diff --git a/tests/data/acpi/pc/WAET.numamem b/tests/data/acpi/pc/WAET.numamem deleted file mode 100644 index c2240f58dff6b2f765386b5a2e506fda4800be3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40 qcmWG{bPds9U|?YEaPoKd2v%^42yhN}bPZu-U|;~TK{OKs0|Nl8X$JuS diff --git a/tests/data/acpi/pc/WAET.numamem.dsl b/tests/data/acpi/pc/WAET.numamem.dsl deleted file mode 100644 index e4c6cf4bf8..0000000000 --- a/tests/data/acpi/pc/WAET.numamem.dsl +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/pc/WAET.numamem, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [WAET] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "WAET" [Windows ACPI Emulated Devices Table] -[004h 0004 4] Table Length : 00000028 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : 88 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCWAET" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Flags (decoded below) : 00000002 - RTC needs no INT ack : 0 - PM timer, one read only : 1 - -Raw Table Data: Length 40 (0x28) - - 0000: 57 41 45 54 28 00 00 00 01 88 42 4F 43 48 53 20 // WAET(.....BOCHS - 0010: 42 58 50 43 57 41 45 54 01 00 00 00 42 58 50 43 // BXPCWAET....BXPC - 0020: 01 00 00 00 02 00 00 00 // ........ diff --git a/tests/data/acpi/pc/WAET.roothp b/tests/data/acpi/pc/WAET.roothp deleted file mode 100644 index c2240f58dff6b2f765386b5a2e506fda4800be3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40 qcmWG{bPds9U|?YEaPoKd2v%^42yhN}bPZu-U|;~TK{OKs0|Nl8X$JuS diff --git a/tests/data/acpi/q35/APIC.acpihmat.dsl b/tests/data/acpi/q35/APIC.acpihmat.dsl deleted file mode 100644 index 5fe9fb4669..0000000000 --- a/tests/data/acpi/q35/APIC.acpihmat.dsl +++ /dev/null @@ -1,112 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/APIC.acpihmat, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [APIC] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "APIC" [Multiple APIC Description Table (MADT)] -[004h 0004 4] Table Length : 00000080 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : DA -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCAPIC" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Local Apic Address : FEE00000 -[028h 0040 4] Flags (decoded below) : 00000001 - PC-AT Compatibility : 1 - -[02Ch 0044 1] Subtable Type : 00 [Processor Local APIC] -[02Dh 0045 1] Length : 08 -[02Eh 0046 1] Processor ID : 00 -[02Fh 0047 1] Local Apic ID : 00 -[030h 0048 4] Flags (decoded below) : 00000001 - Processor Enabled : 1 - Runtime Online Capable : 0 - -[034h 0052 1] Subtable Type : 00 [Processor Local APIC] -[035h 0053 1] Length : 08 -[036h 0054 1] Processor ID : 01 -[037h 0055 1] Local Apic ID : 01 -[038h 0056 4] Flags (decoded below) : 00000001 - Processor Enabled : 1 - Runtime Online Capable : 0 - -[03Ch 0060 1] Subtable Type : 01 [I/O APIC] -[03Dh 0061 1] Length : 0C -[03Eh 0062 1] I/O Apic ID : 00 -[03Fh 0063 1] Reserved : 00 -[040h 0064 4] Address : FEC00000 -[044h 0068 4] Interrupt : 00000000 - -[048h 0072 1] Subtable Type : 02 [Interrupt Source Override] -[049h 0073 1] Length : 0A -[04Ah 0074 1] Bus : 00 -[04Bh 0075 1] Source : 00 -[04Ch 0076 4] Interrupt : 00000002 -[050h 0080 2] Flags (decoded below) : 0000 - Polarity : 0 - Trigger Mode : 0 - -[052h 0082 1] Subtable Type : 02 [Interrupt Source Override] -[053h 0083 1] Length : 0A -[054h 0084 1] Bus : 00 -[055h 0085 1] Source : 05 -[056h 0086 4] Interrupt : 00000005 -[05Ah 0090 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[05Ch 0092 1] Subtable Type : 02 [Interrupt Source Override] -[05Dh 0093 1] Length : 0A -[05Eh 0094 1] Bus : 00 -[05Fh 0095 1] Source : 09 -[060h 0096 4] Interrupt : 00000009 -[064h 0100 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[066h 0102 1] Subtable Type : 02 [Interrupt Source Override] -[067h 0103 1] Length : 0A -[068h 0104 1] Bus : 00 -[069h 0105 1] Source : 0A -[06Ah 0106 4] Interrupt : 0000000A -[06Eh 0110 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[070h 0112 1] Subtable Type : 02 [Interrupt Source Override] -[071h 0113 1] Length : 0A -[072h 0114 1] Bus : 00 -[073h 0115 1] Source : 0B -[074h 0116 4] Interrupt : 0000000B -[078h 0120 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[07Ah 0122 1] Subtable Type : 04 [Local APIC NMI] -[07Bh 0123 1] Length : 06 -[07Ch 0124 1] Processor ID : FF -[07Dh 0125 2] Flags (decoded below) : 0000 - Polarity : 0 - Trigger Mode : 0 -[07Fh 0127 1] Interrupt Input LINT : 01 - -Raw Table Data: Length 128 (0x80) - - 0000: 41 50 49 43 80 00 00 00 01 DA 42 4F 43 48 53 20 // APIC......BOCHS - 0010: 42 58 50 43 41 50 49 43 01 00 00 00 42 58 50 43 // BXPCAPIC....BXPC - 0020: 01 00 00 00 00 00 E0 FE 01 00 00 00 00 08 00 00 // ................ - 0030: 01 00 00 00 00 08 01 01 01 00 00 00 01 0C 00 00 // ................ - 0040: 00 00 C0 FE 00 00 00 00 02 0A 00 00 02 00 00 00 // ................ - 0050: 00 00 02 0A 00 05 05 00 00 00 0D 00 02 0A 00 09 // ................ - 0060: 09 00 00 00 0D 00 02 0A 00 0A 0A 00 00 00 0D 00 // ................ - 0070: 02 0A 00 0B 0B 00 00 00 0D 00 04 06 FF 00 00 01 // ................ diff --git a/tests/data/acpi/q35/APIC.bridge b/tests/data/acpi/q35/APIC.bridge deleted file mode 100644 index 84509e0ae4cabeb5ead3e42a4edfa50abddbc17d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 120 zcmXxa!3}^Q5CzeJh!M~pYz4T;NfIxXVtJNg1Ga!>Nx1C1{A?&WU4VMyp0;C+XGx*t lqyVuLp4vKrRL!#8RjziR+mCh_11utIyPWItzG)agP(M8=4FLcE diff --git a/tests/data/acpi/q35/APIC.bridge.dsl b/tests/data/acpi/q35/APIC.bridge.dsl deleted file mode 100644 index 2489067401..0000000000 --- a/tests/data/acpi/q35/APIC.bridge.dsl +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/APIC.bridge, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [APIC] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "APIC" [Multiple APIC Description Table (MADT)] -[004h 0004 4] Table Length : 00000078 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : ED -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCAPIC" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Local Apic Address : FEE00000 -[028h 0040 4] Flags (decoded below) : 00000001 - PC-AT Compatibility : 1 - -[02Ch 0044 1] Subtable Type : 00 [Processor Local APIC] -[02Dh 0045 1] Length : 08 -[02Eh 0046 1] Processor ID : 00 -[02Fh 0047 1] Local Apic ID : 00 -[030h 0048 4] Flags (decoded below) : 00000001 - Processor Enabled : 1 - Runtime Online Capable : 0 - -[034h 0052 1] Subtable Type : 01 [I/O APIC] -[035h 0053 1] Length : 0C -[036h 0054 1] I/O Apic ID : 00 -[037h 0055 1] Reserved : 00 -[038h 0056 4] Address : FEC00000 -[03Ch 0060 4] Interrupt : 00000000 - -[040h 0064 1] Subtable Type : 02 [Interrupt Source Override] -[041h 0065 1] Length : 0A -[042h 0066 1] Bus : 00 -[043h 0067 1] Source : 00 -[044h 0068 4] Interrupt : 00000002 -[048h 0072 2] Flags (decoded below) : 0000 - Polarity : 0 - Trigger Mode : 0 - -[04Ah 0074 1] Subtable Type : 02 [Interrupt Source Override] -[04Bh 0075 1] Length : 0A -[04Ch 0076 1] Bus : 00 -[04Dh 0077 1] Source : 05 -[04Eh 0078 4] Interrupt : 00000005 -[052h 0082 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[054h 0084 1] Subtable Type : 02 [Interrupt Source Override] -[055h 0085 1] Length : 0A -[056h 0086 1] Bus : 00 -[057h 0087 1] Source : 09 -[058h 0088 4] Interrupt : 00000009 -[05Ch 0092 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[05Eh 0094 1] Subtable Type : 02 [Interrupt Source Override] -[05Fh 0095 1] Length : 0A -[060h 0096 1] Bus : 00 -[061h 0097 1] Source : 0A -[062h 0098 4] Interrupt : 0000000A -[066h 0102 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[068h 0104 1] Subtable Type : 02 [Interrupt Source Override] -[069h 0105 1] Length : 0A -[06Ah 0106 1] Bus : 00 -[06Bh 0107 1] Source : 0B -[06Ch 0108 4] Interrupt : 0000000B -[070h 0112 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[072h 0114 1] Subtable Type : 04 [Local APIC NMI] -[073h 0115 1] Length : 06 -[074h 0116 1] Processor ID : FF -[075h 0117 2] Flags (decoded below) : 0000 - Polarity : 0 - Trigger Mode : 0 -[077h 0119 1] Interrupt Input LINT : 01 - -Raw Table Data: Length 120 (0x78) - - 0000: 41 50 49 43 78 00 00 00 01 ED 42 4F 43 48 53 20 // APICx.....BOCHS - 0010: 42 58 50 43 41 50 49 43 01 00 00 00 42 58 50 43 // BXPCAPIC....BXPC - 0020: 01 00 00 00 00 00 E0 FE 01 00 00 00 00 08 00 00 // ................ - 0030: 01 00 00 00 01 0C 00 00 00 00 C0 FE 00 00 00 00 // ................ - 0040: 02 0A 00 00 02 00 00 00 00 00 02 0A 00 05 05 00 // ................ - 0050: 00 00 0D 00 02 0A 00 09 09 00 00 00 0D 00 02 0A // ................ - 0060: 00 0A 0A 00 00 00 0D 00 02 0A 00 0B 0B 00 00 00 // ................ - 0070: 0D 00 04 06 FF 00 00 01 // ........ diff --git a/tests/data/acpi/q35/APIC.cphp.dsl b/tests/data/acpi/q35/APIC.cphp.dsl deleted file mode 100644 index be8daf5f80..0000000000 --- a/tests/data/acpi/q35/APIC.cphp.dsl +++ /dev/null @@ -1,146 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/APIC.cphp, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [APIC] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "APIC" [Multiple APIC Description Table (MADT)] -[004h 0004 4] Table Length : 000000A0 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : 7B -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCAPIC" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Local Apic Address : FEE00000 -[028h 0040 4] Flags (decoded below) : 00000001 - PC-AT Compatibility : 1 - -[02Ch 0044 1] Subtable Type : 00 [Processor Local APIC] -[02Dh 0045 1] Length : 08 -[02Eh 0046 1] Processor ID : 00 -[02Fh 0047 1] Local Apic ID : 00 -[030h 0048 4] Flags (decoded below) : 00000001 - Processor Enabled : 1 - Runtime Online Capable : 0 - -[034h 0052 1] Subtable Type : 00 [Processor Local APIC] -[035h 0053 1] Length : 08 -[036h 0054 1] Processor ID : 01 -[037h 0055 1] Local Apic ID : 01 -[038h 0056 4] Flags (decoded below) : 00000001 - Processor Enabled : 1 - Runtime Online Capable : 0 - -[03Ch 0060 1] Subtable Type : 00 [Processor Local APIC] -[03Dh 0061 1] Length : 08 -[03Eh 0062 1] Processor ID : 02 -[03Fh 0063 1] Local Apic ID : 02 -[040h 0064 4] Flags (decoded below) : 00000000 - Processor Enabled : 0 - Runtime Online Capable : 0 - -[044h 0068 1] Subtable Type : 00 [Processor Local APIC] -[045h 0069 1] Length : 08 -[046h 0070 1] Processor ID : 03 -[047h 0071 1] Local Apic ID : 04 -[048h 0072 4] Flags (decoded below) : 00000000 - Processor Enabled : 0 - Runtime Online Capable : 0 - -[04Ch 0076 1] Subtable Type : 00 [Processor Local APIC] -[04Dh 0077 1] Length : 08 -[04Eh 0078 1] Processor ID : 04 -[04Fh 0079 1] Local Apic ID : 05 -[050h 0080 4] Flags (decoded below) : 00000000 - Processor Enabled : 0 - Runtime Online Capable : 0 - -[054h 0084 1] Subtable Type : 00 [Processor Local APIC] -[055h 0085 1] Length : 08 -[056h 0086 1] Processor ID : 05 -[057h 0087 1] Local Apic ID : 06 -[058h 0088 4] Flags (decoded below) : 00000000 - Processor Enabled : 0 - Runtime Online Capable : 0 - -[05Ch 0092 1] Subtable Type : 01 [I/O APIC] -[05Dh 0093 1] Length : 0C -[05Eh 0094 1] I/O Apic ID : 00 -[05Fh 0095 1] Reserved : 00 -[060h 0096 4] Address : FEC00000 -[064h 0100 4] Interrupt : 00000000 - -[068h 0104 1] Subtable Type : 02 [Interrupt Source Override] -[069h 0105 1] Length : 0A -[06Ah 0106 1] Bus : 00 -[06Bh 0107 1] Source : 00 -[06Ch 0108 4] Interrupt : 00000002 -[070h 0112 2] Flags (decoded below) : 0000 - Polarity : 0 - Trigger Mode : 0 - -[072h 0114 1] Subtable Type : 02 [Interrupt Source Override] -[073h 0115 1] Length : 0A -[074h 0116 1] Bus : 00 -[075h 0117 1] Source : 05 -[076h 0118 4] Interrupt : 00000005 -[07Ah 0122 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[07Ch 0124 1] Subtable Type : 02 [Interrupt Source Override] -[07Dh 0125 1] Length : 0A -[07Eh 0126 1] Bus : 00 -[07Fh 0127 1] Source : 09 -[080h 0128 4] Interrupt : 00000009 -[084h 0132 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[086h 0134 1] Subtable Type : 02 [Interrupt Source Override] -[087h 0135 1] Length : 0A -[088h 0136 1] Bus : 00 -[089h 0137 1] Source : 0A -[08Ah 0138 4] Interrupt : 0000000A -[08Eh 0142 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[090h 0144 1] Subtable Type : 02 [Interrupt Source Override] -[091h 0145 1] Length : 0A -[092h 0146 1] Bus : 00 -[093h 0147 1] Source : 0B -[094h 0148 4] Interrupt : 0000000B -[098h 0152 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[09Ah 0154 1] Subtable Type : 04 [Local APIC NMI] -[09Bh 0155 1] Length : 06 -[09Ch 0156 1] Processor ID : FF -[09Dh 0157 2] Flags (decoded below) : 0000 - Polarity : 0 - Trigger Mode : 0 -[09Fh 0159 1] Interrupt Input LINT : 01 - -Raw Table Data: Length 160 (0xA0) - - 0000: 41 50 49 43 A0 00 00 00 01 7B 42 4F 43 48 53 20 // APIC.....{BOCHS - 0010: 42 58 50 43 41 50 49 43 01 00 00 00 42 58 50 43 // BXPCAPIC....BXPC - 0020: 01 00 00 00 00 00 E0 FE 01 00 00 00 00 08 00 00 // ................ - 0030: 01 00 00 00 00 08 01 01 01 00 00 00 00 08 02 02 // ................ - 0040: 00 00 00 00 00 08 03 04 00 00 00 00 00 08 04 05 // ................ - 0050: 00 00 00 00 00 08 05 06 00 00 00 00 01 0C 00 00 // ................ - 0060: 00 00 C0 FE 00 00 00 00 02 0A 00 00 02 00 00 00 // ................ - 0070: 00 00 02 0A 00 05 05 00 00 00 0D 00 02 0A 00 09 // ................ - 0080: 09 00 00 00 0D 00 02 0A 00 0A 0A 00 00 00 0D 00 // ................ - 0090: 02 0A 00 0B 0B 00 00 00 0D 00 04 06 FF 00 00 01 // ................ diff --git a/tests/data/acpi/q35/APIC.dimmpxm.dsl b/tests/data/acpi/q35/APIC.dimmpxm.dsl deleted file mode 100644 index 798ab91bed..0000000000 --- a/tests/data/acpi/q35/APIC.dimmpxm.dsl +++ /dev/null @@ -1,129 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/APIC.dimmpxm, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [APIC] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "APIC" [Multiple APIC Description Table (MADT)] -[004h 0004 4] Table Length : 00000090 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : AE -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCAPIC" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Local Apic Address : FEE00000 -[028h 0040 4] Flags (decoded below) : 00000001 - PC-AT Compatibility : 1 - -[02Ch 0044 1] Subtable Type : 00 [Processor Local APIC] -[02Dh 0045 1] Length : 08 -[02Eh 0046 1] Processor ID : 00 -[02Fh 0047 1] Local Apic ID : 00 -[030h 0048 4] Flags (decoded below) : 00000001 - Processor Enabled : 1 - Runtime Online Capable : 0 - -[034h 0052 1] Subtable Type : 00 [Processor Local APIC] -[035h 0053 1] Length : 08 -[036h 0054 1] Processor ID : 01 -[037h 0055 1] Local Apic ID : 01 -[038h 0056 4] Flags (decoded below) : 00000001 - Processor Enabled : 1 - Runtime Online Capable : 0 - -[03Ch 0060 1] Subtable Type : 00 [Processor Local APIC] -[03Dh 0061 1] Length : 08 -[03Eh 0062 1] Processor ID : 02 -[03Fh 0063 1] Local Apic ID : 02 -[040h 0064 4] Flags (decoded below) : 00000001 - Processor Enabled : 1 - Runtime Online Capable : 0 - -[044h 0068 1] Subtable Type : 00 [Processor Local APIC] -[045h 0069 1] Length : 08 -[046h 0070 1] Processor ID : 03 -[047h 0071 1] Local Apic ID : 03 -[048h 0072 4] Flags (decoded below) : 00000001 - Processor Enabled : 1 - Runtime Online Capable : 0 - -[04Ch 0076 1] Subtable Type : 01 [I/O APIC] -[04Dh 0077 1] Length : 0C -[04Eh 0078 1] I/O Apic ID : 00 -[04Fh 0079 1] Reserved : 00 -[050h 0080 4] Address : FEC00000 -[054h 0084 4] Interrupt : 00000000 - -[058h 0088 1] Subtable Type : 02 [Interrupt Source Override] -[059h 0089 1] Length : 0A -[05Ah 0090 1] Bus : 00 -[05Bh 0091 1] Source : 00 -[05Ch 0092 4] Interrupt : 00000002 -[060h 0096 2] Flags (decoded below) : 0000 - Polarity : 0 - Trigger Mode : 0 - -[062h 0098 1] Subtable Type : 02 [Interrupt Source Override] -[063h 0099 1] Length : 0A -[064h 0100 1] Bus : 00 -[065h 0101 1] Source : 05 -[066h 0102 4] Interrupt : 00000005 -[06Ah 0106 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[06Ch 0108 1] Subtable Type : 02 [Interrupt Source Override] -[06Dh 0109 1] Length : 0A -[06Eh 0110 1] Bus : 00 -[06Fh 0111 1] Source : 09 -[070h 0112 4] Interrupt : 00000009 -[074h 0116 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[076h 0118 1] Subtable Type : 02 [Interrupt Source Override] -[077h 0119 1] Length : 0A -[078h 0120 1] Bus : 00 -[079h 0121 1] Source : 0A -[07Ah 0122 4] Interrupt : 0000000A -[07Eh 0126 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[080h 0128 1] Subtable Type : 02 [Interrupt Source Override] -[081h 0129 1] Length : 0A -[082h 0130 1] Bus : 00 -[083h 0131 1] Source : 0B -[084h 0132 4] Interrupt : 0000000B -[088h 0136 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[08Ah 0138 1] Subtable Type : 04 [Local APIC NMI] -[08Bh 0139 1] Length : 06 -[08Ch 0140 1] Processor ID : FF -[08Dh 0141 2] Flags (decoded below) : 0000 - Polarity : 0 - Trigger Mode : 0 -[08Fh 0143 1] Interrupt Input LINT : 01 - -Raw Table Data: Length 144 (0x90) - - 0000: 41 50 49 43 90 00 00 00 01 AE 42 4F 43 48 53 20 // APIC......BOCHS - 0010: 42 58 50 43 41 50 49 43 01 00 00 00 42 58 50 43 // BXPCAPIC....BXPC - 0020: 01 00 00 00 00 00 E0 FE 01 00 00 00 00 08 00 00 // ................ - 0030: 01 00 00 00 00 08 01 01 01 00 00 00 00 08 02 02 // ................ - 0040: 01 00 00 00 00 08 03 03 01 00 00 00 01 0C 00 00 // ................ - 0050: 00 00 C0 FE 00 00 00 00 02 0A 00 00 02 00 00 00 // ................ - 0060: 00 00 02 0A 00 05 05 00 00 00 0D 00 02 0A 00 09 // ................ - 0070: 09 00 00 00 0D 00 02 0A 00 0A 0A 00 00 00 0D 00 // ................ - 0080: 02 0A 00 0B 0B 00 00 00 0D 00 04 06 FF 00 00 01 // ................ diff --git a/tests/data/acpi/q35/APIC.dsl b/tests/data/acpi/q35/APIC.dsl deleted file mode 100644 index 77d2d2c0a5..0000000000 --- a/tests/data/acpi/q35/APIC.dsl +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/APIC.tis, Mon Sep 28 17:24:38 2020 - * - * ACPI Data Table [APIC] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "APIC" [Multiple APIC Description Table (MADT)] -[004h 0004 4] Table Length : 00000078 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : ED -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCAPIC" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Local Apic Address : FEE00000 -[028h 0040 4] Flags (decoded below) : 00000001 - PC-AT Compatibility : 1 - -[02Ch 0044 1] Subtable Type : 00 [Processor Local APIC] -[02Dh 0045 1] Length : 08 -[02Eh 0046 1] Processor ID : 00 -[02Fh 0047 1] Local Apic ID : 00 -[030h 0048 4] Flags (decoded below) : 00000001 - Processor Enabled : 1 - Runtime Online Capable : 0 - -[034h 0052 1] Subtable Type : 01 [I/O APIC] -[035h 0053 1] Length : 0C -[036h 0054 1] I/O Apic ID : 00 -[037h 0055 1] Reserved : 00 -[038h 0056 4] Address : FEC00000 -[03Ch 0060 4] Interrupt : 00000000 - -[040h 0064 1] Subtable Type : 02 [Interrupt Source Override] -[041h 0065 1] Length : 0A -[042h 0066 1] Bus : 00 -[043h 0067 1] Source : 00 -[044h 0068 4] Interrupt : 00000002 -[048h 0072 2] Flags (decoded below) : 0000 - Polarity : 0 - Trigger Mode : 0 - -[04Ah 0074 1] Subtable Type : 02 [Interrupt Source Override] -[04Bh 0075 1] Length : 0A -[04Ch 0076 1] Bus : 00 -[04Dh 0077 1] Source : 05 -[04Eh 0078 4] Interrupt : 00000005 -[052h 0082 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[054h 0084 1] Subtable Type : 02 [Interrupt Source Override] -[055h 0085 1] Length : 0A -[056h 0086 1] Bus : 00 -[057h 0087 1] Source : 09 -[058h 0088 4] Interrupt : 00000009 -[05Ch 0092 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[05Eh 0094 1] Subtable Type : 02 [Interrupt Source Override] -[05Fh 0095 1] Length : 0A -[060h 0096 1] Bus : 00 -[061h 0097 1] Source : 0A -[062h 0098 4] Interrupt : 0000000A -[066h 0102 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[068h 0104 1] Subtable Type : 02 [Interrupt Source Override] -[069h 0105 1] Length : 0A -[06Ah 0106 1] Bus : 00 -[06Bh 0107 1] Source : 0B -[06Ch 0108 4] Interrupt : 0000000B -[070h 0112 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[072h 0114 1] Subtable Type : 04 [Local APIC NMI] -[073h 0115 1] Length : 06 -[074h 0116 1] Processor ID : FF -[075h 0117 2] Flags (decoded below) : 0000 - Polarity : 0 - Trigger Mode : 0 -[077h 0119 1] Interrupt Input LINT : 01 - -Raw Table Data: Length 120 (0x78) - - 0000: 41 50 49 43 78 00 00 00 01 ED 42 4F 43 48 53 20 // APICx.....BOCHS - 0010: 42 58 50 43 41 50 49 43 01 00 00 00 42 58 50 43 // BXPCAPIC....BXPC - 0020: 01 00 00 00 00 00 E0 FE 01 00 00 00 00 08 00 00 // ................ - 0030: 01 00 00 00 01 0C 00 00 00 00 C0 FE 00 00 00 00 // ................ - 0040: 02 0A 00 00 02 00 00 00 00 00 02 0A 00 05 05 00 // ................ - 0050: 00 00 0D 00 02 0A 00 09 09 00 00 00 0D 00 02 0A // ................ - 0060: 00 0A 0A 00 00 00 0D 00 02 0A 00 0B 0B 00 00 00 // ................ - 0070: 0D 00 04 06 FF 00 00 01 // ........ diff --git a/tests/data/acpi/q35/APIC.ipmibt b/tests/data/acpi/q35/APIC.ipmibt deleted file mode 100644 index 84509e0ae4cabeb5ead3e42a4edfa50abddbc17d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 120 zcmXxa!3}^Q5CzeJh!M~pYz4T;NfIxXVtJNg1Ga!>Nx1C1{A?&WU4VMyp0;C+XGx*t lqyVuLp4vKrRL!#8RjziR+mCh_11utIyPWItzG)agP(M8=4FLcE diff --git a/tests/data/acpi/q35/APIC.ipmibt.dsl b/tests/data/acpi/q35/APIC.ipmibt.dsl deleted file mode 100644 index 127e21e2fe..0000000000 --- a/tests/data/acpi/q35/APIC.ipmibt.dsl +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/APIC.ipmibt, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [APIC] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "APIC" [Multiple APIC Description Table (MADT)] -[004h 0004 4] Table Length : 00000078 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : ED -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCAPIC" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Local Apic Address : FEE00000 -[028h 0040 4] Flags (decoded below) : 00000001 - PC-AT Compatibility : 1 - -[02Ch 0044 1] Subtable Type : 00 [Processor Local APIC] -[02Dh 0045 1] Length : 08 -[02Eh 0046 1] Processor ID : 00 -[02Fh 0047 1] Local Apic ID : 00 -[030h 0048 4] Flags (decoded below) : 00000001 - Processor Enabled : 1 - Runtime Online Capable : 0 - -[034h 0052 1] Subtable Type : 01 [I/O APIC] -[035h 0053 1] Length : 0C -[036h 0054 1] I/O Apic ID : 00 -[037h 0055 1] Reserved : 00 -[038h 0056 4] Address : FEC00000 -[03Ch 0060 4] Interrupt : 00000000 - -[040h 0064 1] Subtable Type : 02 [Interrupt Source Override] -[041h 0065 1] Length : 0A -[042h 0066 1] Bus : 00 -[043h 0067 1] Source : 00 -[044h 0068 4] Interrupt : 00000002 -[048h 0072 2] Flags (decoded below) : 0000 - Polarity : 0 - Trigger Mode : 0 - -[04Ah 0074 1] Subtable Type : 02 [Interrupt Source Override] -[04Bh 0075 1] Length : 0A -[04Ch 0076 1] Bus : 00 -[04Dh 0077 1] Source : 05 -[04Eh 0078 4] Interrupt : 00000005 -[052h 0082 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[054h 0084 1] Subtable Type : 02 [Interrupt Source Override] -[055h 0085 1] Length : 0A -[056h 0086 1] Bus : 00 -[057h 0087 1] Source : 09 -[058h 0088 4] Interrupt : 00000009 -[05Ch 0092 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[05Eh 0094 1] Subtable Type : 02 [Interrupt Source Override] -[05Fh 0095 1] Length : 0A -[060h 0096 1] Bus : 00 -[061h 0097 1] Source : 0A -[062h 0098 4] Interrupt : 0000000A -[066h 0102 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[068h 0104 1] Subtable Type : 02 [Interrupt Source Override] -[069h 0105 1] Length : 0A -[06Ah 0106 1] Bus : 00 -[06Bh 0107 1] Source : 0B -[06Ch 0108 4] Interrupt : 0000000B -[070h 0112 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[072h 0114 1] Subtable Type : 04 [Local APIC NMI] -[073h 0115 1] Length : 06 -[074h 0116 1] Processor ID : FF -[075h 0117 2] Flags (decoded below) : 0000 - Polarity : 0 - Trigger Mode : 0 -[077h 0119 1] Interrupt Input LINT : 01 - -Raw Table Data: Length 120 (0x78) - - 0000: 41 50 49 43 78 00 00 00 01 ED 42 4F 43 48 53 20 // APICx.....BOCHS - 0010: 42 58 50 43 41 50 49 43 01 00 00 00 42 58 50 43 // BXPCAPIC....BXPC - 0020: 01 00 00 00 00 00 E0 FE 01 00 00 00 00 08 00 00 // ................ - 0030: 01 00 00 00 01 0C 00 00 00 00 C0 FE 00 00 00 00 // ................ - 0040: 02 0A 00 00 02 00 00 00 00 00 02 0A 00 05 05 00 // ................ - 0050: 00 00 0D 00 02 0A 00 09 09 00 00 00 0D 00 02 0A // ................ - 0060: 00 0A 0A 00 00 00 0D 00 02 0A 00 0B 0B 00 00 00 // ................ - 0070: 0D 00 04 06 FF 00 00 01 // ........ diff --git a/tests/data/acpi/q35/APIC.memhp b/tests/data/acpi/q35/APIC.memhp deleted file mode 100644 index 84509e0ae4cabeb5ead3e42a4edfa50abddbc17d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 120 zcmXxa!3}^Q5CzeJh!M~pYz4T;NfIxXVtJNg1Ga!>Nx1C1{A?&WU4VMyp0;C+XGx*t lqyVuLp4vKrRL!#8RjziR+mCh_11utIyPWItzG)agP(M8=4FLcE diff --git a/tests/data/acpi/q35/APIC.memhp.dsl b/tests/data/acpi/q35/APIC.memhp.dsl deleted file mode 100644 index 1c0cb1dad1..0000000000 --- a/tests/data/acpi/q35/APIC.memhp.dsl +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/APIC.memhp, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [APIC] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "APIC" [Multiple APIC Description Table (MADT)] -[004h 0004 4] Table Length : 00000078 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : ED -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCAPIC" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Local Apic Address : FEE00000 -[028h 0040 4] Flags (decoded below) : 00000001 - PC-AT Compatibility : 1 - -[02Ch 0044 1] Subtable Type : 00 [Processor Local APIC] -[02Dh 0045 1] Length : 08 -[02Eh 0046 1] Processor ID : 00 -[02Fh 0047 1] Local Apic ID : 00 -[030h 0048 4] Flags (decoded below) : 00000001 - Processor Enabled : 1 - Runtime Online Capable : 0 - -[034h 0052 1] Subtable Type : 01 [I/O APIC] -[035h 0053 1] Length : 0C -[036h 0054 1] I/O Apic ID : 00 -[037h 0055 1] Reserved : 00 -[038h 0056 4] Address : FEC00000 -[03Ch 0060 4] Interrupt : 00000000 - -[040h 0064 1] Subtable Type : 02 [Interrupt Source Override] -[041h 0065 1] Length : 0A -[042h 0066 1] Bus : 00 -[043h 0067 1] Source : 00 -[044h 0068 4] Interrupt : 00000002 -[048h 0072 2] Flags (decoded below) : 0000 - Polarity : 0 - Trigger Mode : 0 - -[04Ah 0074 1] Subtable Type : 02 [Interrupt Source Override] -[04Bh 0075 1] Length : 0A -[04Ch 0076 1] Bus : 00 -[04Dh 0077 1] Source : 05 -[04Eh 0078 4] Interrupt : 00000005 -[052h 0082 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[054h 0084 1] Subtable Type : 02 [Interrupt Source Override] -[055h 0085 1] Length : 0A -[056h 0086 1] Bus : 00 -[057h 0087 1] Source : 09 -[058h 0088 4] Interrupt : 00000009 -[05Ch 0092 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[05Eh 0094 1] Subtable Type : 02 [Interrupt Source Override] -[05Fh 0095 1] Length : 0A -[060h 0096 1] Bus : 00 -[061h 0097 1] Source : 0A -[062h 0098 4] Interrupt : 0000000A -[066h 0102 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[068h 0104 1] Subtable Type : 02 [Interrupt Source Override] -[069h 0105 1] Length : 0A -[06Ah 0106 1] Bus : 00 -[06Bh 0107 1] Source : 0B -[06Ch 0108 4] Interrupt : 0000000B -[070h 0112 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[072h 0114 1] Subtable Type : 04 [Local APIC NMI] -[073h 0115 1] Length : 06 -[074h 0116 1] Processor ID : FF -[075h 0117 2] Flags (decoded below) : 0000 - Polarity : 0 - Trigger Mode : 0 -[077h 0119 1] Interrupt Input LINT : 01 - -Raw Table Data: Length 120 (0x78) - - 0000: 41 50 49 43 78 00 00 00 01 ED 42 4F 43 48 53 20 // APICx.....BOCHS - 0010: 42 58 50 43 41 50 49 43 01 00 00 00 42 58 50 43 // BXPCAPIC....BXPC - 0020: 01 00 00 00 00 00 E0 FE 01 00 00 00 00 08 00 00 // ................ - 0030: 01 00 00 00 01 0C 00 00 00 00 C0 FE 00 00 00 00 // ................ - 0040: 02 0A 00 00 02 00 00 00 00 00 02 0A 00 05 05 00 // ................ - 0050: 00 00 0D 00 02 0A 00 09 09 00 00 00 0D 00 02 0A // ................ - 0060: 00 0A 0A 00 00 00 0D 00 02 0A 00 0B 0B 00 00 00 // ................ - 0070: 0D 00 04 06 FF 00 00 01 // ........ diff --git a/tests/data/acpi/q35/APIC.mmio64 b/tests/data/acpi/q35/APIC.mmio64 deleted file mode 100644 index 84509e0ae4cabeb5ead3e42a4edfa50abddbc17d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 120 zcmXxa!3}^Q5CzeJh!M~pYz4T;NfIxXVtJNg1Ga!>Nx1C1{A?&WU4VMyp0;C+XGx*t lqyVuLp4vKrRL!#8RjziR+mCh_11utIyPWItzG)agP(M8=4FLcE diff --git a/tests/data/acpi/q35/APIC.mmio64.dsl b/tests/data/acpi/q35/APIC.mmio64.dsl deleted file mode 100644 index 9a3df90766..0000000000 --- a/tests/data/acpi/q35/APIC.mmio64.dsl +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/APIC.mmio64, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [APIC] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "APIC" [Multiple APIC Description Table (MADT)] -[004h 0004 4] Table Length : 00000078 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : ED -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCAPIC" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Local Apic Address : FEE00000 -[028h 0040 4] Flags (decoded below) : 00000001 - PC-AT Compatibility : 1 - -[02Ch 0044 1] Subtable Type : 00 [Processor Local APIC] -[02Dh 0045 1] Length : 08 -[02Eh 0046 1] Processor ID : 00 -[02Fh 0047 1] Local Apic ID : 00 -[030h 0048 4] Flags (decoded below) : 00000001 - Processor Enabled : 1 - Runtime Online Capable : 0 - -[034h 0052 1] Subtable Type : 01 [I/O APIC] -[035h 0053 1] Length : 0C -[036h 0054 1] I/O Apic ID : 00 -[037h 0055 1] Reserved : 00 -[038h 0056 4] Address : FEC00000 -[03Ch 0060 4] Interrupt : 00000000 - -[040h 0064 1] Subtable Type : 02 [Interrupt Source Override] -[041h 0065 1] Length : 0A -[042h 0066 1] Bus : 00 -[043h 0067 1] Source : 00 -[044h 0068 4] Interrupt : 00000002 -[048h 0072 2] Flags (decoded below) : 0000 - Polarity : 0 - Trigger Mode : 0 - -[04Ah 0074 1] Subtable Type : 02 [Interrupt Source Override] -[04Bh 0075 1] Length : 0A -[04Ch 0076 1] Bus : 00 -[04Dh 0077 1] Source : 05 -[04Eh 0078 4] Interrupt : 00000005 -[052h 0082 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[054h 0084 1] Subtable Type : 02 [Interrupt Source Override] -[055h 0085 1] Length : 0A -[056h 0086 1] Bus : 00 -[057h 0087 1] Source : 09 -[058h 0088 4] Interrupt : 00000009 -[05Ch 0092 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[05Eh 0094 1] Subtable Type : 02 [Interrupt Source Override] -[05Fh 0095 1] Length : 0A -[060h 0096 1] Bus : 00 -[061h 0097 1] Source : 0A -[062h 0098 4] Interrupt : 0000000A -[066h 0102 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[068h 0104 1] Subtable Type : 02 [Interrupt Source Override] -[069h 0105 1] Length : 0A -[06Ah 0106 1] Bus : 00 -[06Bh 0107 1] Source : 0B -[06Ch 0108 4] Interrupt : 0000000B -[070h 0112 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[072h 0114 1] Subtable Type : 04 [Local APIC NMI] -[073h 0115 1] Length : 06 -[074h 0116 1] Processor ID : FF -[075h 0117 2] Flags (decoded below) : 0000 - Polarity : 0 - Trigger Mode : 0 -[077h 0119 1] Interrupt Input LINT : 01 - -Raw Table Data: Length 120 (0x78) - - 0000: 41 50 49 43 78 00 00 00 01 ED 42 4F 43 48 53 20 // APICx.....BOCHS - 0010: 42 58 50 43 41 50 49 43 01 00 00 00 42 58 50 43 // BXPCAPIC....BXPC - 0020: 01 00 00 00 00 00 E0 FE 01 00 00 00 00 08 00 00 // ................ - 0030: 01 00 00 00 01 0C 00 00 00 00 C0 FE 00 00 00 00 // ................ - 0040: 02 0A 00 00 02 00 00 00 00 00 02 0A 00 05 05 00 // ................ - 0050: 00 00 0D 00 02 0A 00 09 09 00 00 00 0D 00 02 0A // ................ - 0060: 00 0A 0A 00 00 00 0D 00 02 0A 00 0B 0B 00 00 00 // ................ - 0070: 0D 00 04 06 FF 00 00 01 // ........ diff --git a/tests/data/acpi/q35/APIC.numamem b/tests/data/acpi/q35/APIC.numamem deleted file mode 100644 index 84509e0ae4cabeb5ead3e42a4edfa50abddbc17d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 120 zcmXxa!3}^Q5CzeJh!M~pYz4T;NfIxXVtJNg1Ga!>Nx1C1{A?&WU4VMyp0;C+XGx*t lqyVuLp4vKrRL!#8RjziR+mCh_11utIyPWItzG)agP(M8=4FLcE diff --git a/tests/data/acpi/q35/APIC.numamem.dsl b/tests/data/acpi/q35/APIC.numamem.dsl deleted file mode 100644 index f4c5480fd6..0000000000 --- a/tests/data/acpi/q35/APIC.numamem.dsl +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/APIC.numamem, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [APIC] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "APIC" [Multiple APIC Description Table (MADT)] -[004h 0004 4] Table Length : 00000078 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : ED -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCAPIC" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Local Apic Address : FEE00000 -[028h 0040 4] Flags (decoded below) : 00000001 - PC-AT Compatibility : 1 - -[02Ch 0044 1] Subtable Type : 00 [Processor Local APIC] -[02Dh 0045 1] Length : 08 -[02Eh 0046 1] Processor ID : 00 -[02Fh 0047 1] Local Apic ID : 00 -[030h 0048 4] Flags (decoded below) : 00000001 - Processor Enabled : 1 - Runtime Online Capable : 0 - -[034h 0052 1] Subtable Type : 01 [I/O APIC] -[035h 0053 1] Length : 0C -[036h 0054 1] I/O Apic ID : 00 -[037h 0055 1] Reserved : 00 -[038h 0056 4] Address : FEC00000 -[03Ch 0060 4] Interrupt : 00000000 - -[040h 0064 1] Subtable Type : 02 [Interrupt Source Override] -[041h 0065 1] Length : 0A -[042h 0066 1] Bus : 00 -[043h 0067 1] Source : 00 -[044h 0068 4] Interrupt : 00000002 -[048h 0072 2] Flags (decoded below) : 0000 - Polarity : 0 - Trigger Mode : 0 - -[04Ah 0074 1] Subtable Type : 02 [Interrupt Source Override] -[04Bh 0075 1] Length : 0A -[04Ch 0076 1] Bus : 00 -[04Dh 0077 1] Source : 05 -[04Eh 0078 4] Interrupt : 00000005 -[052h 0082 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[054h 0084 1] Subtable Type : 02 [Interrupt Source Override] -[055h 0085 1] Length : 0A -[056h 0086 1] Bus : 00 -[057h 0087 1] Source : 09 -[058h 0088 4] Interrupt : 00000009 -[05Ch 0092 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[05Eh 0094 1] Subtable Type : 02 [Interrupt Source Override] -[05Fh 0095 1] Length : 0A -[060h 0096 1] Bus : 00 -[061h 0097 1] Source : 0A -[062h 0098 4] Interrupt : 0000000A -[066h 0102 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[068h 0104 1] Subtable Type : 02 [Interrupt Source Override] -[069h 0105 1] Length : 0A -[06Ah 0106 1] Bus : 00 -[06Bh 0107 1] Source : 0B -[06Ch 0108 4] Interrupt : 0000000B -[070h 0112 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[072h 0114 1] Subtable Type : 04 [Local APIC NMI] -[073h 0115 1] Length : 06 -[074h 0116 1] Processor ID : FF -[075h 0117 2] Flags (decoded below) : 0000 - Polarity : 0 - Trigger Mode : 0 -[077h 0119 1] Interrupt Input LINT : 01 - -Raw Table Data: Length 120 (0x78) - - 0000: 41 50 49 43 78 00 00 00 01 ED 42 4F 43 48 53 20 // APICx.....BOCHS - 0010: 42 58 50 43 41 50 49 43 01 00 00 00 42 58 50 43 // BXPCAPIC....BXPC - 0020: 01 00 00 00 00 00 E0 FE 01 00 00 00 00 08 00 00 // ................ - 0030: 01 00 00 00 01 0C 00 00 00 00 C0 FE 00 00 00 00 // ................ - 0040: 02 0A 00 00 02 00 00 00 00 00 02 0A 00 05 05 00 // ................ - 0050: 00 00 0D 00 02 0A 00 09 09 00 00 00 0D 00 02 0A // ................ - 0060: 00 0A 0A 00 00 00 0D 00 02 0A 00 0B 0B 00 00 00 // ................ - 0070: 0D 00 04 06 FF 00 00 01 // ........ diff --git a/tests/data/acpi/q35/APIC.tis b/tests/data/acpi/q35/APIC.tis deleted file mode 100644 index 84509e0ae4cabeb5ead3e42a4edfa50abddbc17d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 120 zcmXxa!3}^Q5CzeJh!M~pYz4T;NfIxXVtJNg1Ga!>Nx1C1{A?&WU4VMyp0;C+XGx*t lqyVuLp4vKrRL!#8RjziR+mCh_11utIyPWItzG)agP(M8=4FLcE diff --git a/tests/data/acpi/q35/APIC.tis.dsl b/tests/data/acpi/q35/APIC.tis.dsl deleted file mode 100644 index ca2373818e..0000000000 --- a/tests/data/acpi/q35/APIC.tis.dsl +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/APIC.tis, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [APIC] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "APIC" [Multiple APIC Description Table (MADT)] -[004h 0004 4] Table Length : 00000078 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : ED -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCAPIC" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Local Apic Address : FEE00000 -[028h 0040 4] Flags (decoded below) : 00000001 - PC-AT Compatibility : 1 - -[02Ch 0044 1] Subtable Type : 00 [Processor Local APIC] -[02Dh 0045 1] Length : 08 -[02Eh 0046 1] Processor ID : 00 -[02Fh 0047 1] Local Apic ID : 00 -[030h 0048 4] Flags (decoded below) : 00000001 - Processor Enabled : 1 - Runtime Online Capable : 0 - -[034h 0052 1] Subtable Type : 01 [I/O APIC] -[035h 0053 1] Length : 0C -[036h 0054 1] I/O Apic ID : 00 -[037h 0055 1] Reserved : 00 -[038h 0056 4] Address : FEC00000 -[03Ch 0060 4] Interrupt : 00000000 - -[040h 0064 1] Subtable Type : 02 [Interrupt Source Override] -[041h 0065 1] Length : 0A -[042h 0066 1] Bus : 00 -[043h 0067 1] Source : 00 -[044h 0068 4] Interrupt : 00000002 -[048h 0072 2] Flags (decoded below) : 0000 - Polarity : 0 - Trigger Mode : 0 - -[04Ah 0074 1] Subtable Type : 02 [Interrupt Source Override] -[04Bh 0075 1] Length : 0A -[04Ch 0076 1] Bus : 00 -[04Dh 0077 1] Source : 05 -[04Eh 0078 4] Interrupt : 00000005 -[052h 0082 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[054h 0084 1] Subtable Type : 02 [Interrupt Source Override] -[055h 0085 1] Length : 0A -[056h 0086 1] Bus : 00 -[057h 0087 1] Source : 09 -[058h 0088 4] Interrupt : 00000009 -[05Ch 0092 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[05Eh 0094 1] Subtable Type : 02 [Interrupt Source Override] -[05Fh 0095 1] Length : 0A -[060h 0096 1] Bus : 00 -[061h 0097 1] Source : 0A -[062h 0098 4] Interrupt : 0000000A -[066h 0102 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[068h 0104 1] Subtable Type : 02 [Interrupt Source Override] -[069h 0105 1] Length : 0A -[06Ah 0106 1] Bus : 00 -[06Bh 0107 1] Source : 0B -[06Ch 0108 4] Interrupt : 0000000B -[070h 0112 2] Flags (decoded below) : 000D - Polarity : 1 - Trigger Mode : 3 - -[072h 0114 1] Subtable Type : 04 [Local APIC NMI] -[073h 0115 1] Length : 06 -[074h 0116 1] Processor ID : FF -[075h 0117 2] Flags (decoded below) : 0000 - Polarity : 0 - Trigger Mode : 0 -[077h 0119 1] Interrupt Input LINT : 01 - -Raw Table Data: Length 120 (0x78) - - 0000: 41 50 49 43 78 00 00 00 01 ED 42 4F 43 48 53 20 // APICx.....BOCHS - 0010: 42 58 50 43 41 50 49 43 01 00 00 00 42 58 50 43 // BXPCAPIC....BXPC - 0020: 01 00 00 00 00 00 E0 FE 01 00 00 00 00 08 00 00 // ................ - 0030: 01 00 00 00 01 0C 00 00 00 00 C0 FE 00 00 00 00 // ................ - 0040: 02 0A 00 00 02 00 00 00 00 00 02 0A 00 05 05 00 // ................ - 0050: 00 00 0D 00 02 0A 00 09 09 00 00 00 0D 00 02 0A // ................ - 0060: 00 0A 0A 00 00 00 0D 00 02 0A 00 0B 0B 00 00 00 // ................ - 0070: 0D 00 04 06 FF 00 00 01 // ........ diff --git a/tests/data/acpi/q35/DSDT.acpihmat.dsl b/tests/data/acpi/q35/DSDT.acpihmat.dsl deleted file mode 100644 index a9e0d4144e..0000000000 --- a/tests/data/acpi/q35/DSDT.acpihmat.dsl +++ /dev/null @@ -1,3436 +0,0 @@ -/* - * 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/q35/DSDT.acpihmat, Tue Aug 4 11:14:15 2020 - * - * Original Table Header: - * Signature "DSDT" - * Length 0x0000232A (9002) - * Revision 0x01 **** 32-bit table (V1), no 64-bit math support - * Checksum 0x79 - * 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 - } - - Method (DBUG, 1, NotSerialized) - { - ToHexString (Arg0, Local0) - ToBuffer (Local0, Local0) - Local1 = (SizeOf (Local0) - One) - Local2 = Zero - While ((Local2 < Local1)) - { - DBGB = DerefOf (Local0 [Local2]) - Local2++ - } - - DBGB = 0x0A - } - } - - Scope (_SB) - { - Device (PCI0) - { - Name (_HID, EisaId ("PNP0A08") /* PCI Express Bus */) // _HID: Hardware ID - Name (_CID, EisaId ("PNP0A03") /* PCI Bus */) // _CID: Compatible ID - Name (_ADR, Zero) // _ADR: Address - Name (_UID, Zero) // _UID: Unique ID - Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities - { - CreateDWordField (Arg3, Zero, CDW1) - If ((Arg0 == ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd766") /* PCI Host Bridge Device */)) - { - CreateDWordField (Arg3, 0x04, CDW2) - CreateDWordField (Arg3, 0x08, CDW3) - Local0 = CDW3 /* \_SB_.PCI0._OSC.CDW3 */ - Local0 &= 0x1F - If ((Arg1 != One)) - { - CDW1 |= 0x08 - } - - If ((CDW3 != Local0)) - { - CDW1 |= 0x10 - } - - CDW3 = Local0 - } - Else - { - CDW1 |= 0x04 - } - - Return (Arg3) - } - } - } - - Scope (_SB) - { - Device (HPET) - { - Name (_HID, EisaId ("PNP0103") /* HPET System Timer */) // _HID: Hardware ID - Name (_UID, Zero) // _UID: Unique ID - OperationRegion (HPTM, SystemMemory, 0xFED00000, 0x0400) - Field (HPTM, DWordAcc, Lock, Preserve) - { - VEND, 32, - PRD, 32 - } - - Method (_STA, 0, NotSerialized) // _STA: Status - { - Local0 = VEND /* \_SB_.HPET.VEND */ - Local1 = PRD /* \_SB_.HPET.PRD_ */ - Local0 >>= 0x10 - If (((Local0 == Zero) || (Local0 == 0xFFFF))) - { - Return (Zero) - } - - If (((Local1 == Zero) || (Local1 > 0x05F5E100))) - { - Return (Zero) - } - - Return (0x0F) - } - - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadOnly, - 0xFED00000, // Address Base - 0x00000400, // Address Length - ) - }) - } - } - - Scope (_SB.PCI0) - { - Device (ISA) - { - Name (_ADR, 0x001F0000) // _ADR: Address - OperationRegion (PIRQ, PCI_Config, 0x60, 0x0C) - } - } - - Scope (_SB.PCI0.ISA) - { - Device (KBD) - { - Name (_HID, EisaId ("PNP0303") /* IBM Enhanced Keyboard (101/102-key, PS/2 Mouse) */) // _HID: Hardware ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0060, // Range Minimum - 0x0060, // Range Maximum - 0x01, // Alignment - 0x01, // Length - ) - IO (Decode16, - 0x0064, // Range Minimum - 0x0064, // Range Maximum - 0x01, // Alignment - 0x01, // Length - ) - IRQNoFlags () - {1} - }) - } - - Device (MOU) - { - Name (_HID, EisaId ("PNP0F13") /* PS/2 Mouse */) // _HID: Hardware ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IRQNoFlags () - {12} - }) - } - - Device (LPT1) - { - Name (_HID, EisaId ("PNP0400") /* Standard LPT Parallel Port */) // _HID: Hardware ID - Name (_UID, One) // _UID: Unique ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0378, // Range Minimum - 0x0378, // Range Maximum - 0x08, // Alignment - 0x08, // Length - ) - IRQNoFlags () - {7} - }) - } - - Device (COM1) - { - Name (_HID, EisaId ("PNP0501") /* 16550A-compatible COM Serial Port */) // _HID: Hardware ID - Name (_UID, One) // _UID: Unique ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x03F8, // Range Minimum - 0x03F8, // Range Maximum - 0x00, // Alignment - 0x08, // Length - ) - IRQNoFlags () - {4} - }) - } - - Device (RTC) - { - 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} - }) - } - } - - Name (PICF, Zero) - Method (_PIC, 1, NotSerialized) // _PIC: Interrupt Model - { - PICF = Arg0 - } - - Scope (_SB) - { - Scope (PCI0) - { - Name (PRTP, Package (0x80) - { - Package (0x04) - { - 0xFFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0xFFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0xFFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0xFFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - Zero, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - One, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - 0x02, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - 0x03, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - Zero, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - One, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - 0x02, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - 0x03, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - Zero, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - One, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - 0x02, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - 0x03, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - Zero, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - One, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - 0x02, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - 0x03, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - Zero, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - One, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - 0x02, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - 0x03, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - Zero, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - One, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - 0x02, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - 0x03, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - Zero, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - One, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - 0x02, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - 0x03, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - Zero, - LNKG, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - One, - LNKH, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - 0x02, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - 0x03, - LNKF, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - Zero, - LNKH, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - One, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - 0x02, - LNKF, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - 0x03, - LNKG, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - Zero, - LNKF, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - One, - LNKG, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - 0x02, - LNKH, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - 0x03, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - Zero, - LNKG, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - One, - LNKH, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - 0x02, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - 0x03, - LNKF, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - Zero, - LNKH, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - One, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - 0x02, - LNKF, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - 0x03, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - Zero, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - One, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - 0x02, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - 0x03, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - Zero, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - One, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - 0x02, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - 0x03, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - Zero, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - One, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - 0x02, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - 0x03, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - Zero, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - One, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - 0x02, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - 0x03, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - Zero, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - One, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - 0x02, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - 0x03, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - Zero, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - One, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - 0x02, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - 0x03, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - Zero, - LNKA, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - One, - LNKB, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - 0x02, - LNKC, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - 0x03, - LNKD, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - Zero, - LNKA, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - One, - LNKB, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - 0x02, - LNKC, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - 0x03, - LNKD, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - Zero, - LNKA, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - One, - LNKB, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - 0x02, - LNKC, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - 0x03, - LNKD, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - Zero, - LNKA, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - One, - LNKB, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - 0x02, - LNKC, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - 0x03, - LNKD, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - Zero, - LNKA, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - One, - LNKB, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - 0x02, - LNKC, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - 0x03, - LNKD, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - Zero, - LNKA, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - One, - LNKB, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - 0x02, - LNKC, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - 0x03, - LNKD, - Zero - } - }) - Name (PRTA, Package (0x80) - { - Package (0x04) - { - 0xFFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0xFFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0xFFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0xFFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - Zero, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - One, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - 0x02, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - 0x03, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - Zero, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - One, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - 0x02, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - 0x03, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - Zero, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - One, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - 0x02, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - 0x03, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - Zero, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - One, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - 0x02, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - 0x03, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - Zero, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - One, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - 0x02, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - 0x03, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - Zero, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - One, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - 0x02, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - 0x03, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - Zero, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - One, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - 0x02, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - 0x03, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - Zero, - GSIG, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - One, - GSIH, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - 0x02, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - 0x03, - GSIF, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - Zero, - GSIH, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - One, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - 0x02, - GSIF, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - 0x03, - GSIG, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - Zero, - GSIF, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - One, - GSIG, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - 0x02, - GSIH, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - 0x03, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - Zero, - GSIG, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - One, - GSIH, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - 0x02, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - 0x03, - GSIF, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - Zero, - GSIH, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - One, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - 0x02, - GSIF, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - 0x03, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - Zero, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - One, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - 0x02, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - 0x03, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - Zero, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - One, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - 0x02, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - 0x03, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - Zero, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - One, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - 0x02, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - 0x03, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - Zero, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - One, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - 0x02, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - 0x03, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - Zero, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - One, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - 0x02, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - 0x03, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - Zero, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - One, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - 0x02, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - 0x03, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - Zero, - GSIA, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - One, - GSIB, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - 0x02, - GSIC, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - 0x03, - GSID, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - Zero, - GSIA, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - One, - GSIB, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - 0x02, - GSIC, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - 0x03, - GSID, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - Zero, - GSIA, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - One, - GSIB, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - 0x02, - GSIC, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - 0x03, - GSID, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - Zero, - GSIA, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - One, - GSIB, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - 0x02, - GSIC, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - 0x03, - GSID, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - Zero, - GSIA, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - One, - GSIB, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - 0x02, - GSIC, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - 0x03, - GSID, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - Zero, - GSIA, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - One, - GSIB, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - 0x02, - GSIC, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - 0x03, - GSID, - Zero - } - }) - Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table - { - If ((PICF == Zero)) - { - Return (PRTP) /* \_SB_.PCI0.PRTP */ - } - Else - { - Return (PRTA) /* \_SB_.PCI0.PRTA */ - } - } - } - - Field (PCI0.ISA.PIRQ, ByteAcc, NoLock, Preserve) - { - PRQA, 8, - PRQB, 8, - PRQC, 8, - PRQD, 8, - Offset (0x08), - PRQE, 8, - PRQF, 8, - PRQG, 8, - PRQH, 8 - } - - Method (IQST, 1, NotSerialized) - { - If ((0x80 & Arg0)) - { - Return (0x09) - } - - Return (0x0B) - } - - Method (IQCR, 1, Serialized) - { - Name (PRR0, ResourceTemplate () - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, _Y00) - { - 0x00000000, - } - }) - CreateDWordField (PRR0, \_SB.IQCR._Y00._INT, PRRI) // _INT: Interrupts - PRRI = (Arg0 & 0x0F) - Return (PRR0) /* \_SB_.IQCR.PRR0 */ - } - - Device (LNKA) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, Zero) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQA)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQA |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQA)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQA = PRRI /* \_SB_.LNKA._SRS.PRRI */ - } - } - - Device (LNKB) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, One) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQB)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQB |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQB)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQB = PRRI /* \_SB_.LNKB._SRS.PRRI */ - } - } - - Device (LNKC) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x02) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQC)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQC |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQC)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQC = PRRI /* \_SB_.LNKC._SRS.PRRI */ - } - } - - Device (LNKD) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x03) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQD)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQD |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQD)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQD = PRRI /* \_SB_.LNKD._SRS.PRRI */ - } - } - - Device (LNKE) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x04) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQE)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQE |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQE)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQE = PRRI /* \_SB_.LNKE._SRS.PRRI */ - } - } - - Device (LNKF) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x05) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQF)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQF |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQF)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQF = PRRI /* \_SB_.LNKF._SRS.PRRI */ - } - } - - Device (LNKG) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x06) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQG)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQG |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQG)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQG = PRRI /* \_SB_.LNKG._SRS.PRRI */ - } - } - - Device (LNKH) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x07) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQH)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQH |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQH)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQH = PRRI /* \_SB_.LNKH._SRS.PRRI */ - } - } - - Device (GSIA) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x10) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000010, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000010, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSIB) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x11) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000011, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000011, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSIC) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x12) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000012, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000012, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSID) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x13) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000013, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000013, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSIE) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x14) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000014, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000014, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSIF) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x15) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000015, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000015, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSIG) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x16) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000016, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000016, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSIH) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x17) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000017, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000017, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - } - - Scope (_SB.PCI0) - { - Device (SMB0) - { - Name (_ADR, 0x001F0003) // _ADR: Address - } - } - - Scope (_SB) - { - Device (\_SB.PCI0.PRES) - { - Name (_HID, EisaId ("PNP0A06") /* Generic Container Device */) // _HID: Hardware ID - Name (_UID, "CPU Hotplug resources") // _UID: Unique ID - Mutex (CPLK, 0x00) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0CD8, // Range Minimum - 0x0CD8, // Range Maximum - 0x01, // Alignment - 0x0C, // Length - ) - }) - OperationRegion (PRST, SystemIO, 0x0CD8, 0x0C) - Field (PRST, ByteAcc, NoLock, WriteAsZeros) - { - Offset (0x04), - CPEN, 1, - CINS, 1, - CRMV, 1, - CEJ0, 1, - Offset (0x05), - CCMD, 8 - } - - Field (PRST, DWordAcc, NoLock, Preserve) - { - CSEL, 32, - Offset (0x08), - CDAT, 32 - } - - Method (_INI, 0, Serialized) // _INI: Initialize - { - CSEL = Zero - } - } - - Device (\_SB.CPUS) - { - Name (_HID, "ACPI0010" /* Processor Container Device */) // _HID: Hardware ID - Name (_CID, EisaId ("PNP0A05") /* Generic Container Device */) // _CID: Compatible ID - Method (CTFY, 2, NotSerialized) - { - If ((Arg0 == Zero)) - { - Notify (C000, Arg1) - } - - If ((Arg0 == One)) - { - Notify (C001, Arg1) - } - } - - Method (CSTA, 1, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - \_SB.PCI0.PRES.CSEL = Arg0 - Local0 = Zero - If ((\_SB.PCI0.PRES.CPEN == One)) - { - Local0 = 0x0F - } - - Release (\_SB.PCI0.PRES.CPLK) - Return (Local0) - } - - Method (CEJ0, 1, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - \_SB.PCI0.PRES.CSEL = Arg0 - \_SB.PCI0.PRES.CEJ0 = One - Release (\_SB.PCI0.PRES.CPLK) - } - - Method (CSCN, 0, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - Local0 = One - While ((Local0 == One)) - { - Local0 = Zero - \_SB.PCI0.PRES.CCMD = Zero - If ((\_SB.PCI0.PRES.CINS == One)) - { - CTFY (\_SB.PCI0.PRES.CDAT, One) - \_SB.PCI0.PRES.CINS = One - Local0 = One - } - ElseIf ((\_SB.PCI0.PRES.CRMV == One)) - { - CTFY (\_SB.PCI0.PRES.CDAT, 0x03) - \_SB.PCI0.PRES.CRMV = One - Local0 = One - } - } - - Release (\_SB.PCI0.PRES.CPLK) - } - - Method (COST, 4, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - \_SB.PCI0.PRES.CSEL = Arg0 - \_SB.PCI0.PRES.CCMD = One - \_SB.PCI0.PRES.CDAT = Arg1 - \_SB.PCI0.PRES.CCMD = 0x02 - \_SB.PCI0.PRES.CDAT = Arg2 - Release (\_SB.PCI0.PRES.CPLK) - } - - Processor (C000, 0x00, 0x00000000, 0x00) - { - Method (_STA, 0, Serialized) // _STA: Status - { - Return (CSTA (Zero)) - } - - Name (_MAT, Buffer (0x08) // _MAT: Multiple APIC Table Entry - { - 0x00, 0x08, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 // ........ - }) - Method (_OST, 3, Serialized) // _OST: OSPM Status Indication - { - COST (Zero, Arg0, Arg1, Arg2) - } - - Name (_PXM, Zero) // _PXM: Device Proximity - } - - Processor (C001, 0x01, 0x00000000, 0x00) - { - Method (_STA, 0, Serialized) // _STA: Status - { - Return (CSTA (One)) - } - - Name (_MAT, Buffer (0x08) // _MAT: Multiple APIC Table Entry - { - 0x00, 0x08, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00 // ........ - }) - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device, x=0-9 - { - CEJ0 (One) - } - - Method (_OST, 3, Serialized) // _OST: OSPM Status Indication - { - COST (One, Arg0, Arg1, Arg2) - } - - Name (_PXM, Zero) // _PXM: Device Proximity - } - } - } - - Method (\_GPE._E02, 0, NotSerialized) // _Exx: Edge-Triggered GPE, xx=0x00-0xFF - { - \_SB.CPUS.CSCN () - } - - Device (\_SB.PCI0.MHPD) - { - Name (_HID, "PNP0A06" /* Generic Container Device */) // _HID: Hardware ID - Name (_UID, "Memory hotplug resources") // _UID: Unique ID - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0A00, // Range Minimum - 0x0A00, // Range Maximum - 0x00, // Alignment - 0x18, // Length - ) - }) - OperationRegion (HPMR, SystemIO, 0x0A00, 0x18) - } - - Device (\_SB.MHPC) - { - Name (_HID, "PNP0A06" /* Generic Container Device */) // _HID: Hardware ID - Name (_UID, "DIMM devices") // _UID: Unique ID - Name (MDNR, 0x02) - Field (\_SB.PCI0.MHPD.HPMR, DWordAcc, NoLock, Preserve) - { - MRBL, 32, - MRBH, 32, - MRLL, 32, - MRLH, 32, - MPX, 32 - } - - Field (\_SB.PCI0.MHPD.HPMR, ByteAcc, NoLock, WriteAsZeros) - { - Offset (0x14), - MES, 1, - MINS, 1, - MRMV, 1, - MEJ, 1 - } - - Field (\_SB.PCI0.MHPD.HPMR, DWordAcc, NoLock, Preserve) - { - MSEL, 32, - MOEV, 32, - MOSC, 32 - } - - Method (_STA, 0, NotSerialized) // _STA: Status - { - If ((MDNR == Zero)) - { - Return (Zero) - } - - Return (0x0B) - } - - Mutex (MLCK, 0x00) - Method (MSCN, 0, NotSerialized) - { - If ((MDNR == Zero)) - { - Return (Zero) - } - - Local0 = Zero - Acquire (MLCK, 0xFFFF) - While ((Local0 < MDNR)) - { - MSEL = Local0 - If ((MINS == One)) - { - MTFY (Local0, One) - MINS = One - } - ElseIf ((MRMV == One)) - { - MTFY (Local0, 0x03) - MRMV = One - } - - Local0 += One - } - - Release (MLCK) - Return (One) - } - - Method (MRST, 1, NotSerialized) - { - Local0 = Zero - Acquire (MLCK, 0xFFFF) - MSEL = ToInteger (Arg0) - If ((MES == One)) - { - Local0 = 0x0F - } - - Release (MLCK) - Return (Local0) - } - - Method (MCRS, 1, Serialized) - { - Acquire (MLCK, 0xFFFF) - MSEL = ToInteger (Arg0) - Name (MR64, ResourceTemplate () - { - QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, - 0x0000000000000000, // Granularity - 0x0000000000000000, // Range Minimum - 0xFFFFFFFFFFFFFFFE, // Range Maximum - 0x0000000000000000, // Translation Offset - 0xFFFFFFFFFFFFFFFF, // Length - ,, _Y01, AddressRangeMemory, TypeStatic) - }) - CreateDWordField (MR64, \_SB.MHPC.MCRS._Y01._MIN, MINL) // _MIN: Minimum Base Address - CreateDWordField (MR64, 0x12, MINH) - CreateDWordField (MR64, \_SB.MHPC.MCRS._Y01._LEN, LENL) // _LEN: Length - CreateDWordField (MR64, 0x2A, LENH) - CreateDWordField (MR64, \_SB.MHPC.MCRS._Y01._MAX, MAXL) // _MAX: Maximum Base Address - CreateDWordField (MR64, 0x1A, MAXH) - MINH = MRBH /* \_SB_.MHPC.MRBH */ - MINL = MRBL /* \_SB_.MHPC.MRBL */ - LENH = MRLH /* \_SB_.MHPC.MRLH */ - LENL = MRLL /* \_SB_.MHPC.MRLL */ - MAXL = (MINL + LENL) /* \_SB_.MHPC.MCRS.LENL */ - MAXH = (MINH + LENH) /* \_SB_.MHPC.MCRS.LENH */ - If ((MAXL < MINL)) - { - MAXH += One - } - - If ((MAXL < One)) - { - MAXH -= One - } - - MAXL -= One - If ((MAXH == Zero)) - { - Name (MR32, ResourceTemplate () - { - DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, - 0x00000000, // Granularity - 0x00000000, // Range Minimum - 0xFFFFFFFE, // Range Maximum - 0x00000000, // Translation Offset - 0xFFFFFFFF, // Length - ,, _Y02, AddressRangeMemory, TypeStatic) - }) - CreateDWordField (MR32, \_SB.MHPC.MCRS._Y02._MIN, MIN) // _MIN: Minimum Base Address - CreateDWordField (MR32, \_SB.MHPC.MCRS._Y02._MAX, MAX) // _MAX: Maximum Base Address - CreateDWordField (MR32, \_SB.MHPC.MCRS._Y02._LEN, LEN) // _LEN: Length - MIN = MINL /* \_SB_.MHPC.MCRS.MINL */ - MAX = MAXL /* \_SB_.MHPC.MCRS.MAXL */ - LEN = LENL /* \_SB_.MHPC.MCRS.LENL */ - Release (MLCK) - Return (MR32) /* \_SB_.MHPC.MCRS.MR32 */ - } - - Release (MLCK) - Return (MR64) /* \_SB_.MHPC.MCRS.MR64 */ - } - - Method (MPXM, 1, NotSerialized) - { - Acquire (MLCK, 0xFFFF) - MSEL = ToInteger (Arg0) - Local0 = MPX /* \_SB_.MHPC.MPX_ */ - Release (MLCK) - Return (Local0) - } - - Method (MOST, 4, NotSerialized) - { - Acquire (MLCK, 0xFFFF) - MSEL = ToInteger (Arg0) - MOEV = Arg1 - MOSC = Arg2 - Release (MLCK) - } - - Method (MEJ0, 2, NotSerialized) - { - Acquire (MLCK, 0xFFFF) - MSEL = ToInteger (Arg0) - MEJ = One - Release (MLCK) - } - - Device (MP00) - { - Name (_UID, "0x00") // _UID: Unique ID - Name (_HID, EisaId ("PNP0C80") /* Memory Device */) // _HID: Hardware ID - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (MCRS (_UID)) - } - - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (MRST (_UID)) - } - - Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity - { - Return (MPXM (_UID)) - } - - Method (_OST, 3, NotSerialized) // _OST: OSPM Status Indication - { - MOST (_UID, Arg0, Arg1, Arg2) - } - - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device, x=0-9 - { - MEJ0 (_UID, Arg0) - } - } - - Device (MP01) - { - Name (_UID, "0x01") // _UID: Unique ID - Name (_HID, EisaId ("PNP0C80") /* Memory Device */) // _HID: Hardware ID - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (MCRS (_UID)) - } - - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (MRST (_UID)) - } - - Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity - { - Return (MPXM (_UID)) - } - - Method (_OST, 3, NotSerialized) // _OST: OSPM Status Indication - { - MOST (_UID, Arg0, Arg1, Arg2) - } - - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device, x=0-9 - { - MEJ0 (_UID, Arg0) - } - } - - Method (MTFY, 2, NotSerialized) - { - If ((Arg0 == Zero)) - { - Notify (MP00, Arg1) - } - - If ((Arg0 == One)) - { - Notify (MP01, Arg1) - } - } - } - - Method (\_GPE._E03, 0, NotSerialized) // _Exx: Edge-Triggered GPE, xx=0x00-0xFF - { - \_SB.MHPC.MSCN () - } - - Scope (_GPE) - { - Name (_HID, "ACPI0006" /* GPE Block Device */) // _HID: Hardware ID - } - - 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 - 0x01, // Alignment - 0x08, // Length - ) - WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, - 0x0000, // Granularity - 0x0000, // Range Minimum - 0x0CF7, // Range Maximum - 0x0000, // Translation Offset - 0x0CF8, // Length - ,, , TypeStatic, DenseTranslation) - WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, - 0x0000, // Granularity - 0x0D00, // Range Minimum - 0xFFFF, // Range Maximum - 0x0000, // Translation Offset - 0xF300, // Length - ,, , TypeStatic, DenseTranslation) - DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, - 0x00000000, // Granularity - 0x000A0000, // Range Minimum - 0x000BFFFF, // Range Maximum - 0x00000000, // Translation Offset - 0x00020000, // Length - ,, , AddressRangeMemory, TypeStatic) - DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, - 0x00000000, // Granularity - 0x08000000, // Range Minimum - 0xAFFFFFFF, // Range Maximum - 0x00000000, // Translation Offset - 0xA8000000, // Length - ,, , AddressRangeMemory, TypeStatic) - DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, - 0x00000000, // Granularity - 0xC0000000, // Range Minimum - 0xFEBFFFFF, // Range Maximum - 0x00000000, // Translation Offset - 0x3EC00000, // Length - ,, , AddressRangeMemory, TypeStatic) - QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, - 0x0000000000000000, // Granularity - 0x00000001C0000000, // Range Minimum - 0x00000009BFFFFFFF, // Range Maximum - 0x0000000000000000, // Translation Offset - 0x0000000800000000, // Length - ,, , AddressRangeMemory, TypeStatic) - }) - 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, - 0x0620, // Range Minimum - 0x0620, // Range Maximum - 0x01, // Alignment - 0x10, // 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, - Zero - }) - Name (_S5, Package (0x04) // _S5_: S5 System State - { - Zero, - Zero, - Zero, - Zero - }) - } - - Scope (\_SB.PCI0) - { - Device (FWCF) - { - Name (_HID, "QEMU0002") // _HID: Hardware ID - Name (_STA, 0x0B) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0510, // Range Minimum - 0x0510, // Range Maximum - 0x01, // Alignment - 0x0C, // Length - ) - }) - } - } - - Scope (\_SB) - { - Scope (PCI0) - { - Device (S00) - { - Name (_ADR, Zero) // _ADR: Address - } - - Device (S08) - { - 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) - { - } - } - } -} - diff --git a/tests/data/acpi/q35/DSDT.bridge.dsl b/tests/data/acpi/q35/DSDT.bridge.dsl deleted file mode 100644 index 51fbeb729d..0000000000 --- a/tests/data/acpi/q35/DSDT.bridge.dsl +++ /dev/null @@ -1,3141 +0,0 @@ -/* - * 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/q35/DSDT.bridge, Tue Aug 4 11:14:15 2020 - * - * Original Table Header: - * Signature "DSDT" - * Length 0x00001E0F (7695) - * Revision 0x01 **** 32-bit table (V1), no 64-bit math support - * Checksum 0x4B - * 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 - } - - Method (DBUG, 1, NotSerialized) - { - ToHexString (Arg0, Local0) - ToBuffer (Local0, Local0) - Local1 = (SizeOf (Local0) - One) - Local2 = Zero - While ((Local2 < Local1)) - { - DBGB = DerefOf (Local0 [Local2]) - Local2++ - } - - DBGB = 0x0A - } - } - - Scope (_SB) - { - Device (PCI0) - { - Name (_HID, EisaId ("PNP0A08") /* PCI Express Bus */) // _HID: Hardware ID - Name (_CID, EisaId ("PNP0A03") /* PCI Bus */) // _CID: Compatible ID - Name (_ADR, Zero) // _ADR: Address - Name (_UID, Zero) // _UID: Unique ID - Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities - { - CreateDWordField (Arg3, Zero, CDW1) - If ((Arg0 == ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd766") /* PCI Host Bridge Device */)) - { - CreateDWordField (Arg3, 0x04, CDW2) - CreateDWordField (Arg3, 0x08, CDW3) - Local0 = CDW3 /* \_SB_.PCI0._OSC.CDW3 */ - Local0 &= 0x1F - If ((Arg1 != One)) - { - CDW1 |= 0x08 - } - - If ((CDW3 != Local0)) - { - CDW1 |= 0x10 - } - - CDW3 = Local0 - } - Else - { - CDW1 |= 0x04 - } - - Return (Arg3) - } - } - } - - Scope (_SB) - { - Device (HPET) - { - Name (_HID, EisaId ("PNP0103") /* HPET System Timer */) // _HID: Hardware ID - Name (_UID, Zero) // _UID: Unique ID - OperationRegion (HPTM, SystemMemory, 0xFED00000, 0x0400) - Field (HPTM, DWordAcc, Lock, Preserve) - { - VEND, 32, - PRD, 32 - } - - Method (_STA, 0, NotSerialized) // _STA: Status - { - Local0 = VEND /* \_SB_.HPET.VEND */ - Local1 = PRD /* \_SB_.HPET.PRD_ */ - Local0 >>= 0x10 - If (((Local0 == Zero) || (Local0 == 0xFFFF))) - { - Return (Zero) - } - - If (((Local1 == Zero) || (Local1 > 0x05F5E100))) - { - Return (Zero) - } - - Return (0x0F) - } - - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadOnly, - 0xFED00000, // Address Base - 0x00000400, // Address Length - ) - }) - } - } - - Scope (_SB.PCI0) - { - Device (ISA) - { - Name (_ADR, 0x001F0000) // _ADR: Address - OperationRegion (PIRQ, PCI_Config, 0x60, 0x0C) - } - } - - Scope (_SB.PCI0.ISA) - { - Device (KBD) - { - Name (_HID, EisaId ("PNP0303") /* IBM Enhanced Keyboard (101/102-key, PS/2 Mouse) */) // _HID: Hardware ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0060, // Range Minimum - 0x0060, // Range Maximum - 0x01, // Alignment - 0x01, // Length - ) - IO (Decode16, - 0x0064, // Range Minimum - 0x0064, // Range Maximum - 0x01, // Alignment - 0x01, // Length - ) - IRQNoFlags () - {1} - }) - } - - Device (MOU) - { - Name (_HID, EisaId ("PNP0F13") /* PS/2 Mouse */) // _HID: Hardware ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IRQNoFlags () - {12} - }) - } - - Device (LPT1) - { - Name (_HID, EisaId ("PNP0400") /* Standard LPT Parallel Port */) // _HID: Hardware ID - Name (_UID, One) // _UID: Unique ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0378, // Range Minimum - 0x0378, // Range Maximum - 0x08, // Alignment - 0x08, // Length - ) - IRQNoFlags () - {7} - }) - } - - Device (COM1) - { - Name (_HID, EisaId ("PNP0501") /* 16550A-compatible COM Serial Port */) // _HID: Hardware ID - Name (_UID, One) // _UID: Unique ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x03F8, // Range Minimum - 0x03F8, // Range Maximum - 0x00, // Alignment - 0x08, // Length - ) - IRQNoFlags () - {4} - }) - } - - Device (RTC) - { - 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} - }) - } - } - - Name (PICF, Zero) - Method (_PIC, 1, NotSerialized) // _PIC: Interrupt Model - { - PICF = Arg0 - } - - Scope (_SB) - { - Scope (PCI0) - { - Name (PRTP, Package (0x80) - { - Package (0x04) - { - 0xFFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0xFFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0xFFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0xFFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - Zero, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - One, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - 0x02, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - 0x03, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - Zero, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - One, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - 0x02, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - 0x03, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - Zero, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - One, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - 0x02, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - 0x03, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - Zero, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - One, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - 0x02, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - 0x03, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - Zero, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - One, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - 0x02, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - 0x03, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - Zero, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - One, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - 0x02, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - 0x03, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - Zero, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - One, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - 0x02, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - 0x03, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - Zero, - LNKG, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - One, - LNKH, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - 0x02, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - 0x03, - LNKF, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - Zero, - LNKH, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - One, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - 0x02, - LNKF, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - 0x03, - LNKG, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - Zero, - LNKF, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - One, - LNKG, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - 0x02, - LNKH, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - 0x03, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - Zero, - LNKG, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - One, - LNKH, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - 0x02, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - 0x03, - LNKF, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - Zero, - LNKH, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - One, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - 0x02, - LNKF, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - 0x03, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - Zero, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - One, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - 0x02, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - 0x03, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - Zero, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - One, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - 0x02, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - 0x03, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - Zero, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - One, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - 0x02, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - 0x03, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - Zero, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - One, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - 0x02, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - 0x03, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - Zero, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - One, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - 0x02, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - 0x03, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - Zero, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - One, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - 0x02, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - 0x03, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - Zero, - LNKA, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - One, - LNKB, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - 0x02, - LNKC, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - 0x03, - LNKD, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - Zero, - LNKA, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - One, - LNKB, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - 0x02, - LNKC, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - 0x03, - LNKD, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - Zero, - LNKA, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - One, - LNKB, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - 0x02, - LNKC, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - 0x03, - LNKD, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - Zero, - LNKA, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - One, - LNKB, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - 0x02, - LNKC, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - 0x03, - LNKD, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - Zero, - LNKA, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - One, - LNKB, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - 0x02, - LNKC, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - 0x03, - LNKD, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - Zero, - LNKA, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - One, - LNKB, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - 0x02, - LNKC, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - 0x03, - LNKD, - Zero - } - }) - Name (PRTA, Package (0x80) - { - Package (0x04) - { - 0xFFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0xFFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0xFFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0xFFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - Zero, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - One, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - 0x02, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - 0x03, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - Zero, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - One, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - 0x02, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - 0x03, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - Zero, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - One, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - 0x02, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - 0x03, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - Zero, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - One, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - 0x02, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - 0x03, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - Zero, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - One, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - 0x02, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - 0x03, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - Zero, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - One, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - 0x02, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - 0x03, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - Zero, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - One, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - 0x02, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - 0x03, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - Zero, - GSIG, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - One, - GSIH, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - 0x02, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - 0x03, - GSIF, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - Zero, - GSIH, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - One, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - 0x02, - GSIF, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - 0x03, - GSIG, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - Zero, - GSIF, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - One, - GSIG, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - 0x02, - GSIH, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - 0x03, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - Zero, - GSIG, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - One, - GSIH, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - 0x02, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - 0x03, - GSIF, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - Zero, - GSIH, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - One, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - 0x02, - GSIF, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - 0x03, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - Zero, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - One, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - 0x02, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - 0x03, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - Zero, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - One, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - 0x02, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - 0x03, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - Zero, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - One, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - 0x02, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - 0x03, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - Zero, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - One, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - 0x02, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - 0x03, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - Zero, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - One, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - 0x02, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - 0x03, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - Zero, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - One, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - 0x02, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - 0x03, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - Zero, - GSIA, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - One, - GSIB, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - 0x02, - GSIC, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - 0x03, - GSID, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - Zero, - GSIA, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - One, - GSIB, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - 0x02, - GSIC, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - 0x03, - GSID, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - Zero, - GSIA, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - One, - GSIB, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - 0x02, - GSIC, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - 0x03, - GSID, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - Zero, - GSIA, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - One, - GSIB, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - 0x02, - GSIC, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - 0x03, - GSID, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - Zero, - GSIA, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - One, - GSIB, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - 0x02, - GSIC, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - 0x03, - GSID, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - Zero, - GSIA, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - One, - GSIB, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - 0x02, - GSIC, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - 0x03, - GSID, - Zero - } - }) - Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table - { - If ((PICF == Zero)) - { - Return (PRTP) /* \_SB_.PCI0.PRTP */ - } - Else - { - Return (PRTA) /* \_SB_.PCI0.PRTA */ - } - } - } - - Field (PCI0.ISA.PIRQ, ByteAcc, NoLock, Preserve) - { - PRQA, 8, - PRQB, 8, - PRQC, 8, - PRQD, 8, - Offset (0x08), - PRQE, 8, - PRQF, 8, - PRQG, 8, - PRQH, 8 - } - - Method (IQST, 1, NotSerialized) - { - If ((0x80 & Arg0)) - { - Return (0x09) - } - - Return (0x0B) - } - - Method (IQCR, 1, Serialized) - { - Name (PRR0, ResourceTemplate () - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, _Y00) - { - 0x00000000, - } - }) - CreateDWordField (PRR0, \_SB.IQCR._Y00._INT, PRRI) // _INT: Interrupts - PRRI = (Arg0 & 0x0F) - Return (PRR0) /* \_SB_.IQCR.PRR0 */ - } - - Device (LNKA) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, Zero) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQA)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQA |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQA)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQA = PRRI /* \_SB_.LNKA._SRS.PRRI */ - } - } - - Device (LNKB) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, One) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQB)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQB |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQB)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQB = PRRI /* \_SB_.LNKB._SRS.PRRI */ - } - } - - Device (LNKC) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x02) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQC)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQC |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQC)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQC = PRRI /* \_SB_.LNKC._SRS.PRRI */ - } - } - - Device (LNKD) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x03) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQD)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQD |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQD)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQD = PRRI /* \_SB_.LNKD._SRS.PRRI */ - } - } - - Device (LNKE) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x04) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQE)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQE |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQE)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQE = PRRI /* \_SB_.LNKE._SRS.PRRI */ - } - } - - Device (LNKF) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x05) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQF)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQF |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQF)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQF = PRRI /* \_SB_.LNKF._SRS.PRRI */ - } - } - - Device (LNKG) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x06) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQG)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQG |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQG)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQG = PRRI /* \_SB_.LNKG._SRS.PRRI */ - } - } - - Device (LNKH) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x07) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQH)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQH |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQH)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQH = PRRI /* \_SB_.LNKH._SRS.PRRI */ - } - } - - Device (GSIA) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x10) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000010, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000010, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSIB) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x11) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000011, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000011, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSIC) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x12) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000012, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000012, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSID) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x13) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000013, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000013, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSIE) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x14) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000014, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000014, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSIF) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x15) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000015, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000015, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSIG) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x16) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000016, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000016, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSIH) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x17) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000017, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000017, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - } - - Scope (_SB.PCI0) - { - Device (SMB0) - { - Name (_ADR, 0x001F0003) // _ADR: Address - } - } - - Scope (_SB) - { - Device (\_SB.PCI0.PRES) - { - Name (_HID, EisaId ("PNP0A06") /* Generic Container Device */) // _HID: Hardware ID - Name (_UID, "CPU Hotplug resources") // _UID: Unique ID - Mutex (CPLK, 0x00) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0CD8, // Range Minimum - 0x0CD8, // Range Maximum - 0x01, // Alignment - 0x0C, // Length - ) - }) - OperationRegion (PRST, SystemIO, 0x0CD8, 0x0C) - Field (PRST, ByteAcc, NoLock, WriteAsZeros) - { - Offset (0x04), - CPEN, 1, - CINS, 1, - CRMV, 1, - CEJ0, 1, - Offset (0x05), - CCMD, 8 - } - - Field (PRST, DWordAcc, NoLock, Preserve) - { - CSEL, 32, - Offset (0x08), - CDAT, 32 - } - - Method (_INI, 0, Serialized) // _INI: Initialize - { - CSEL = Zero - } - } - - Device (\_SB.CPUS) - { - Name (_HID, "ACPI0010" /* Processor Container Device */) // _HID: Hardware ID - Name (_CID, EisaId ("PNP0A05") /* Generic Container Device */) // _CID: Compatible ID - Method (CTFY, 2, NotSerialized) - { - If ((Arg0 == Zero)) - { - Notify (C000, Arg1) - } - } - - Method (CSTA, 1, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - \_SB.PCI0.PRES.CSEL = Arg0 - Local0 = Zero - If ((\_SB.PCI0.PRES.CPEN == One)) - { - Local0 = 0x0F - } - - Release (\_SB.PCI0.PRES.CPLK) - Return (Local0) - } - - Method (CEJ0, 1, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - \_SB.PCI0.PRES.CSEL = Arg0 - \_SB.PCI0.PRES.CEJ0 = One - Release (\_SB.PCI0.PRES.CPLK) - } - - Method (CSCN, 0, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - Local0 = One - While ((Local0 == One)) - { - Local0 = Zero - \_SB.PCI0.PRES.CCMD = Zero - If ((\_SB.PCI0.PRES.CINS == One)) - { - CTFY (\_SB.PCI0.PRES.CDAT, One) - \_SB.PCI0.PRES.CINS = One - Local0 = One - } - ElseIf ((\_SB.PCI0.PRES.CRMV == One)) - { - CTFY (\_SB.PCI0.PRES.CDAT, 0x03) - \_SB.PCI0.PRES.CRMV = One - Local0 = One - } - } - - Release (\_SB.PCI0.PRES.CPLK) - } - - Method (COST, 4, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - \_SB.PCI0.PRES.CSEL = Arg0 - \_SB.PCI0.PRES.CCMD = One - \_SB.PCI0.PRES.CDAT = Arg1 - \_SB.PCI0.PRES.CCMD = 0x02 - \_SB.PCI0.PRES.CDAT = Arg2 - Release (\_SB.PCI0.PRES.CPLK) - } - - Processor (C000, 0x00, 0x00000000, 0x00) - { - Method (_STA, 0, Serialized) // _STA: Status - { - Return (CSTA (Zero)) - } - - Name (_MAT, Buffer (0x08) // _MAT: Multiple APIC Table Entry - { - 0x00, 0x08, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 // ........ - }) - Method (_OST, 3, Serialized) // _OST: OSPM Status Indication - { - COST (Zero, Arg0, Arg1, Arg2) - } - } - } - } - - Method (\_GPE._E02, 0, NotSerialized) // _Exx: Edge-Triggered GPE, xx=0x00-0xFF - { - \_SB.CPUS.CSCN () - } - - Scope (_GPE) - { - Name (_HID, "ACPI0006" /* GPE Block Device */) // _HID: Hardware ID - } - - 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 - 0x01, // Alignment - 0x08, // Length - ) - WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, - 0x0000, // Granularity - 0x0000, // Range Minimum - 0x0CF7, // Range Maximum - 0x0000, // Translation Offset - 0x0CF8, // Length - ,, , TypeStatic, DenseTranslation) - WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, - 0x0000, // Granularity - 0x0D00, // Range Minimum - 0xFFFF, // Range Maximum - 0x0000, // Translation Offset - 0xF300, // Length - ,, , TypeStatic, DenseTranslation) - DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, - 0x00000000, // Granularity - 0x000A0000, // Range Minimum - 0x000BFFFF, // Range Maximum - 0x00000000, // Translation Offset - 0x00020000, // Length - ,, , AddressRangeMemory, TypeStatic) - DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, - 0x00000000, // Granularity - 0x08000000, // Range Minimum - 0xAFFFFFFF, // Range Maximum - 0x00000000, // Translation Offset - 0xA8000000, // Length - ,, , AddressRangeMemory, TypeStatic) - DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, - 0x00000000, // Granularity - 0xC0000000, // Range Minimum - 0xFEBFFFFF, // Range Maximum - 0x00000000, // Translation Offset - 0x3EC00000, // Length - ,, , AddressRangeMemory, TypeStatic) - QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, - 0x0000000000000000, // Granularity - 0x0000000100000000, // Range Minimum - 0x00000008FFFFFFFF, // Range Maximum - 0x0000000000000000, // Translation Offset - 0x0000000800000000, // Length - ,, , AddressRangeMemory, TypeStatic) - }) - 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, - 0x0620, // Range Minimum - 0x0620, // Range Maximum - 0x01, // Alignment - 0x10, // 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, - Zero - }) - Name (_S5, Package (0x04) // _S5_: S5 System State - { - Zero, - Zero, - Zero, - Zero - }) - } - - Scope (\_SB.PCI0) - { - Device (FWCF) - { - Name (_HID, "QEMU0002") // _HID: Hardware ID - Name (_STA, 0x0B) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0510, // Range Minimum - 0x0510, // Range Maximum - 0x01, // Alignment - 0x0C, // Length - ) - }) - } - } - - Scope (\_SB) - { - Scope (PCI0) - { - Device (S00) - { - Name (_ADR, Zero) // _ADR: Address - } - - Device (S08) - { - 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) - } - } - - Device (S10) - { - Name (_ADR, 0x00020000) // _ADR: Address - } - - Method (PCNT, 0, NotSerialized) - { - } - } - } -} - diff --git a/tests/data/acpi/q35/DSDT.cphp.dsl b/tests/data/acpi/q35/DSDT.cphp.dsl deleted file mode 100644 index d3677e802c..0000000000 --- a/tests/data/acpi/q35/DSDT.cphp.dsl +++ /dev/null @@ -1,3283 +0,0 @@ -/* - * 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/q35/DSDT.cphp, Tue Aug 4 11:14:15 2020 - * - * Original Table Header: - * Signature "DSDT" - * Length 0x00001FCD (8141) - * Revision 0x01 **** 32-bit table (V1), no 64-bit math support - * Checksum 0x25 - * 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 - } - - Method (DBUG, 1, NotSerialized) - { - ToHexString (Arg0, Local0) - ToBuffer (Local0, Local0) - Local1 = (SizeOf (Local0) - One) - Local2 = Zero - While ((Local2 < Local1)) - { - DBGB = DerefOf (Local0 [Local2]) - Local2++ - } - - DBGB = 0x0A - } - } - - Scope (_SB) - { - Device (PCI0) - { - Name (_HID, EisaId ("PNP0A08") /* PCI Express Bus */) // _HID: Hardware ID - Name (_CID, EisaId ("PNP0A03") /* PCI Bus */) // _CID: Compatible ID - Name (_ADR, Zero) // _ADR: Address - Name (_UID, Zero) // _UID: Unique ID - Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities - { - CreateDWordField (Arg3, Zero, CDW1) - If ((Arg0 == ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd766") /* PCI Host Bridge Device */)) - { - CreateDWordField (Arg3, 0x04, CDW2) - CreateDWordField (Arg3, 0x08, CDW3) - Local0 = CDW3 /* \_SB_.PCI0._OSC.CDW3 */ - Local0 &= 0x1F - If ((Arg1 != One)) - { - CDW1 |= 0x08 - } - - If ((CDW3 != Local0)) - { - CDW1 |= 0x10 - } - - CDW3 = Local0 - } - Else - { - CDW1 |= 0x04 - } - - Return (Arg3) - } - } - } - - Scope (_SB) - { - Device (HPET) - { - Name (_HID, EisaId ("PNP0103") /* HPET System Timer */) // _HID: Hardware ID - Name (_UID, Zero) // _UID: Unique ID - OperationRegion (HPTM, SystemMemory, 0xFED00000, 0x0400) - Field (HPTM, DWordAcc, Lock, Preserve) - { - VEND, 32, - PRD, 32 - } - - Method (_STA, 0, NotSerialized) // _STA: Status - { - Local0 = VEND /* \_SB_.HPET.VEND */ - Local1 = PRD /* \_SB_.HPET.PRD_ */ - Local0 >>= 0x10 - If (((Local0 == Zero) || (Local0 == 0xFFFF))) - { - Return (Zero) - } - - If (((Local1 == Zero) || (Local1 > 0x05F5E100))) - { - Return (Zero) - } - - Return (0x0F) - } - - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadOnly, - 0xFED00000, // Address Base - 0x00000400, // Address Length - ) - }) - } - } - - Scope (_SB.PCI0) - { - Device (ISA) - { - Name (_ADR, 0x001F0000) // _ADR: Address - OperationRegion (PIRQ, PCI_Config, 0x60, 0x0C) - } - } - - Scope (_SB.PCI0.ISA) - { - Device (KBD) - { - Name (_HID, EisaId ("PNP0303") /* IBM Enhanced Keyboard (101/102-key, PS/2 Mouse) */) // _HID: Hardware ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0060, // Range Minimum - 0x0060, // Range Maximum - 0x01, // Alignment - 0x01, // Length - ) - IO (Decode16, - 0x0064, // Range Minimum - 0x0064, // Range Maximum - 0x01, // Alignment - 0x01, // Length - ) - IRQNoFlags () - {1} - }) - } - - Device (MOU) - { - Name (_HID, EisaId ("PNP0F13") /* PS/2 Mouse */) // _HID: Hardware ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IRQNoFlags () - {12} - }) - } - - Device (LPT1) - { - Name (_HID, EisaId ("PNP0400") /* Standard LPT Parallel Port */) // _HID: Hardware ID - Name (_UID, One) // _UID: Unique ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0378, // Range Minimum - 0x0378, // Range Maximum - 0x08, // Alignment - 0x08, // Length - ) - IRQNoFlags () - {7} - }) - } - - Device (COM1) - { - Name (_HID, EisaId ("PNP0501") /* 16550A-compatible COM Serial Port */) // _HID: Hardware ID - Name (_UID, One) // _UID: Unique ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x03F8, // Range Minimum - 0x03F8, // Range Maximum - 0x00, // Alignment - 0x08, // Length - ) - IRQNoFlags () - {4} - }) - } - - Device (RTC) - { - 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} - }) - } - } - - Name (PICF, Zero) - Method (_PIC, 1, NotSerialized) // _PIC: Interrupt Model - { - PICF = Arg0 - } - - Scope (_SB) - { - Scope (PCI0) - { - Name (PRTP, Package (0x80) - { - Package (0x04) - { - 0xFFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0xFFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0xFFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0xFFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - Zero, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - One, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - 0x02, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - 0x03, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - Zero, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - One, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - 0x02, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - 0x03, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - Zero, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - One, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - 0x02, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - 0x03, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - Zero, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - One, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - 0x02, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - 0x03, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - Zero, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - One, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - 0x02, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - 0x03, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - Zero, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - One, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - 0x02, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - 0x03, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - Zero, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - One, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - 0x02, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - 0x03, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - Zero, - LNKG, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - One, - LNKH, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - 0x02, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - 0x03, - LNKF, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - Zero, - LNKH, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - One, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - 0x02, - LNKF, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - 0x03, - LNKG, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - Zero, - LNKF, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - One, - LNKG, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - 0x02, - LNKH, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - 0x03, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - Zero, - LNKG, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - One, - LNKH, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - 0x02, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - 0x03, - LNKF, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - Zero, - LNKH, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - One, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - 0x02, - LNKF, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - 0x03, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - Zero, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - One, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - 0x02, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - 0x03, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - Zero, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - One, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - 0x02, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - 0x03, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - Zero, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - One, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - 0x02, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - 0x03, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - Zero, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - One, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - 0x02, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - 0x03, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - Zero, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - One, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - 0x02, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - 0x03, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - Zero, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - One, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - 0x02, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - 0x03, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - Zero, - LNKA, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - One, - LNKB, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - 0x02, - LNKC, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - 0x03, - LNKD, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - Zero, - LNKA, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - One, - LNKB, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - 0x02, - LNKC, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - 0x03, - LNKD, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - Zero, - LNKA, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - One, - LNKB, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - 0x02, - LNKC, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - 0x03, - LNKD, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - Zero, - LNKA, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - One, - LNKB, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - 0x02, - LNKC, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - 0x03, - LNKD, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - Zero, - LNKA, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - One, - LNKB, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - 0x02, - LNKC, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - 0x03, - LNKD, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - Zero, - LNKA, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - One, - LNKB, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - 0x02, - LNKC, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - 0x03, - LNKD, - Zero - } - }) - Name (PRTA, Package (0x80) - { - Package (0x04) - { - 0xFFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0xFFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0xFFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0xFFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - Zero, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - One, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - 0x02, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - 0x03, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - Zero, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - One, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - 0x02, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - 0x03, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - Zero, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - One, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - 0x02, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - 0x03, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - Zero, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - One, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - 0x02, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - 0x03, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - Zero, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - One, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - 0x02, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - 0x03, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - Zero, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - One, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - 0x02, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - 0x03, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - Zero, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - One, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - 0x02, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - 0x03, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - Zero, - GSIG, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - One, - GSIH, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - 0x02, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - 0x03, - GSIF, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - Zero, - GSIH, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - One, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - 0x02, - GSIF, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - 0x03, - GSIG, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - Zero, - GSIF, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - One, - GSIG, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - 0x02, - GSIH, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - 0x03, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - Zero, - GSIG, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - One, - GSIH, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - 0x02, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - 0x03, - GSIF, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - Zero, - GSIH, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - One, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - 0x02, - GSIF, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - 0x03, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - Zero, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - One, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - 0x02, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - 0x03, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - Zero, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - One, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - 0x02, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - 0x03, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - Zero, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - One, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - 0x02, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - 0x03, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - Zero, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - One, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - 0x02, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - 0x03, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - Zero, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - One, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - 0x02, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - 0x03, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - Zero, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - One, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - 0x02, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - 0x03, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - Zero, - GSIA, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - One, - GSIB, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - 0x02, - GSIC, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - 0x03, - GSID, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - Zero, - GSIA, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - One, - GSIB, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - 0x02, - GSIC, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - 0x03, - GSID, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - Zero, - GSIA, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - One, - GSIB, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - 0x02, - GSIC, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - 0x03, - GSID, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - Zero, - GSIA, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - One, - GSIB, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - 0x02, - GSIC, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - 0x03, - GSID, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - Zero, - GSIA, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - One, - GSIB, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - 0x02, - GSIC, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - 0x03, - GSID, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - Zero, - GSIA, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - One, - GSIB, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - 0x02, - GSIC, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - 0x03, - GSID, - Zero - } - }) - Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table - { - If ((PICF == Zero)) - { - Return (PRTP) /* \_SB_.PCI0.PRTP */ - } - Else - { - Return (PRTA) /* \_SB_.PCI0.PRTA */ - } - } - } - - Field (PCI0.ISA.PIRQ, ByteAcc, NoLock, Preserve) - { - PRQA, 8, - PRQB, 8, - PRQC, 8, - PRQD, 8, - Offset (0x08), - PRQE, 8, - PRQF, 8, - PRQG, 8, - PRQH, 8 - } - - Method (IQST, 1, NotSerialized) - { - If ((0x80 & Arg0)) - { - Return (0x09) - } - - Return (0x0B) - } - - Method (IQCR, 1, Serialized) - { - Name (PRR0, ResourceTemplate () - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, _Y00) - { - 0x00000000, - } - }) - CreateDWordField (PRR0, \_SB.IQCR._Y00._INT, PRRI) // _INT: Interrupts - PRRI = (Arg0 & 0x0F) - Return (PRR0) /* \_SB_.IQCR.PRR0 */ - } - - Device (LNKA) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, Zero) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQA)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQA |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQA)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQA = PRRI /* \_SB_.LNKA._SRS.PRRI */ - } - } - - Device (LNKB) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, One) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQB)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQB |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQB)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQB = PRRI /* \_SB_.LNKB._SRS.PRRI */ - } - } - - Device (LNKC) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x02) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQC)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQC |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQC)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQC = PRRI /* \_SB_.LNKC._SRS.PRRI */ - } - } - - Device (LNKD) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x03) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQD)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQD |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQD)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQD = PRRI /* \_SB_.LNKD._SRS.PRRI */ - } - } - - Device (LNKE) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x04) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQE)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQE |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQE)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQE = PRRI /* \_SB_.LNKE._SRS.PRRI */ - } - } - - Device (LNKF) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x05) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQF)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQF |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQF)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQF = PRRI /* \_SB_.LNKF._SRS.PRRI */ - } - } - - Device (LNKG) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x06) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQG)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQG |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQG)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQG = PRRI /* \_SB_.LNKG._SRS.PRRI */ - } - } - - Device (LNKH) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x07) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQH)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQH |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQH)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQH = PRRI /* \_SB_.LNKH._SRS.PRRI */ - } - } - - Device (GSIA) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x10) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000010, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000010, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSIB) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x11) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000011, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000011, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSIC) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x12) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000012, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000012, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSID) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x13) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000013, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000013, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSIE) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x14) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000014, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000014, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSIF) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x15) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000015, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000015, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSIG) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x16) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000016, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000016, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSIH) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x17) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000017, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000017, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - } - - Scope (_SB.PCI0) - { - Device (SMB0) - { - Name (_ADR, 0x001F0003) // _ADR: Address - } - } - - Scope (_SB) - { - Device (\_SB.PCI0.PRES) - { - Name (_HID, EisaId ("PNP0A06") /* Generic Container Device */) // _HID: Hardware ID - Name (_UID, "CPU Hotplug resources") // _UID: Unique ID - Mutex (CPLK, 0x00) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0CD8, // Range Minimum - 0x0CD8, // Range Maximum - 0x01, // Alignment - 0x0C, // Length - ) - }) - OperationRegion (PRST, SystemIO, 0x0CD8, 0x0C) - Field (PRST, ByteAcc, NoLock, WriteAsZeros) - { - Offset (0x04), - CPEN, 1, - CINS, 1, - CRMV, 1, - CEJ0, 1, - Offset (0x05), - CCMD, 8 - } - - Field (PRST, DWordAcc, NoLock, Preserve) - { - CSEL, 32, - Offset (0x08), - CDAT, 32 - } - - Method (_INI, 0, Serialized) // _INI: Initialize - { - CSEL = Zero - } - } - - Device (\_SB.CPUS) - { - Name (_HID, "ACPI0010" /* Processor Container Device */) // _HID: Hardware ID - Name (_CID, EisaId ("PNP0A05") /* Generic Container Device */) // _CID: Compatible ID - Method (CTFY, 2, NotSerialized) - { - If ((Arg0 == Zero)) - { - Notify (C000, Arg1) - } - - If ((Arg0 == One)) - { - Notify (C001, Arg1) - } - - If ((Arg0 == 0x02)) - { - Notify (C002, Arg1) - } - - If ((Arg0 == 0x03)) - { - Notify (C003, Arg1) - } - - If ((Arg0 == 0x04)) - { - Notify (C004, Arg1) - } - - If ((Arg0 == 0x05)) - { - Notify (C005, Arg1) - } - } - - Method (CSTA, 1, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - \_SB.PCI0.PRES.CSEL = Arg0 - Local0 = Zero - If ((\_SB.PCI0.PRES.CPEN == One)) - { - Local0 = 0x0F - } - - Release (\_SB.PCI0.PRES.CPLK) - Return (Local0) - } - - Method (CEJ0, 1, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - \_SB.PCI0.PRES.CSEL = Arg0 - \_SB.PCI0.PRES.CEJ0 = One - Release (\_SB.PCI0.PRES.CPLK) - } - - Method (CSCN, 0, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - Local0 = One - While ((Local0 == One)) - { - Local0 = Zero - \_SB.PCI0.PRES.CCMD = Zero - If ((\_SB.PCI0.PRES.CINS == One)) - { - CTFY (\_SB.PCI0.PRES.CDAT, One) - \_SB.PCI0.PRES.CINS = One - Local0 = One - } - ElseIf ((\_SB.PCI0.PRES.CRMV == One)) - { - CTFY (\_SB.PCI0.PRES.CDAT, 0x03) - \_SB.PCI0.PRES.CRMV = One - Local0 = One - } - } - - Release (\_SB.PCI0.PRES.CPLK) - } - - Method (COST, 4, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - \_SB.PCI0.PRES.CSEL = Arg0 - \_SB.PCI0.PRES.CCMD = One - \_SB.PCI0.PRES.CDAT = Arg1 - \_SB.PCI0.PRES.CCMD = 0x02 - \_SB.PCI0.PRES.CDAT = Arg2 - Release (\_SB.PCI0.PRES.CPLK) - } - - Processor (C000, 0x00, 0x00000000, 0x00) - { - Method (_STA, 0, Serialized) // _STA: Status - { - Return (CSTA (Zero)) - } - - Name (_MAT, Buffer (0x08) // _MAT: Multiple APIC Table Entry - { - 0x00, 0x08, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 // ........ - }) - Method (_OST, 3, Serialized) // _OST: OSPM Status Indication - { - COST (Zero, Arg0, Arg1, Arg2) - } - - Name (_PXM, Zero) // _PXM: Device Proximity - } - - Processor (C001, 0x01, 0x00000000, 0x00) - { - Method (_STA, 0, Serialized) // _STA: Status - { - Return (CSTA (One)) - } - - Name (_MAT, Buffer (0x08) // _MAT: Multiple APIC Table Entry - { - 0x00, 0x08, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00 // ........ - }) - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device, x=0-9 - { - CEJ0 (One) - } - - Method (_OST, 3, Serialized) // _OST: OSPM Status Indication - { - COST (One, Arg0, Arg1, Arg2) - } - - Name (_PXM, Zero) // _PXM: Device Proximity - } - - Processor (C002, 0x02, 0x00000000, 0x00) - { - Method (_STA, 0, Serialized) // _STA: Status - { - Return (CSTA (0x02)) - } - - Name (_MAT, Buffer (0x08) // _MAT: Multiple APIC Table Entry - { - 0x00, 0x08, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00 // ........ - }) - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device, x=0-9 - { - CEJ0 (0x02) - } - - Method (_OST, 3, Serialized) // _OST: OSPM Status Indication - { - COST (0x02, Arg0, Arg1, Arg2) - } - - Name (_PXM, Zero) // _PXM: Device Proximity - } - - Processor (C003, 0x03, 0x00000000, 0x00) - { - Method (_STA, 0, Serialized) // _STA: Status - { - Return (CSTA (0x03)) - } - - Name (_MAT, Buffer (0x08) // _MAT: Multiple APIC Table Entry - { - 0x00, 0x08, 0x03, 0x04, 0x01, 0x00, 0x00, 0x00 // ........ - }) - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device, x=0-9 - { - CEJ0 (0x03) - } - - Method (_OST, 3, Serialized) // _OST: OSPM Status Indication - { - COST (0x03, Arg0, Arg1, Arg2) - } - - Name (_PXM, One) // _PXM: Device Proximity - } - - Processor (C004, 0x04, 0x00000000, 0x00) - { - Method (_STA, 0, Serialized) // _STA: Status - { - Return (CSTA (0x04)) - } - - Name (_MAT, Buffer (0x08) // _MAT: Multiple APIC Table Entry - { - 0x00, 0x08, 0x04, 0x05, 0x01, 0x00, 0x00, 0x00 // ........ - }) - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device, x=0-9 - { - CEJ0 (0x04) - } - - Method (_OST, 3, Serialized) // _OST: OSPM Status Indication - { - COST (0x04, Arg0, Arg1, Arg2) - } - - Name (_PXM, One) // _PXM: Device Proximity - } - - Processor (C005, 0x05, 0x00000000, 0x00) - { - Method (_STA, 0, Serialized) // _STA: Status - { - Return (CSTA (0x05)) - } - - Name (_MAT, Buffer (0x08) // _MAT: Multiple APIC Table Entry - { - 0x00, 0x08, 0x05, 0x06, 0x01, 0x00, 0x00, 0x00 // ........ - }) - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device, x=0-9 - { - CEJ0 (0x05) - } - - Method (_OST, 3, Serialized) // _OST: OSPM Status Indication - { - COST (0x05, Arg0, Arg1, Arg2) - } - - Name (_PXM, One) // _PXM: Device Proximity - } - } - } - - Method (\_GPE._E02, 0, NotSerialized) // _Exx: Edge-Triggered GPE, xx=0x00-0xFF - { - \_SB.CPUS.CSCN () - } - - Scope (_GPE) - { - Name (_HID, "ACPI0006" /* GPE Block Device */) // _HID: Hardware ID - } - - 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 - 0x01, // Alignment - 0x08, // Length - ) - WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, - 0x0000, // Granularity - 0x0000, // Range Minimum - 0x0CF7, // Range Maximum - 0x0000, // Translation Offset - 0x0CF8, // Length - ,, , TypeStatic, DenseTranslation) - WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, - 0x0000, // Granularity - 0x0D00, // Range Minimum - 0xFFFF, // Range Maximum - 0x0000, // Translation Offset - 0xF300, // Length - ,, , TypeStatic, DenseTranslation) - DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, - 0x00000000, // Granularity - 0x000A0000, // Range Minimum - 0x000BFFFF, // Range Maximum - 0x00000000, // Translation Offset - 0x00020000, // Length - ,, , AddressRangeMemory, TypeStatic) - DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, - 0x00000000, // Granularity - 0x08000000, // Range Minimum - 0xAFFFFFFF, // Range Maximum - 0x00000000, // Translation Offset - 0xA8000000, // Length - ,, , AddressRangeMemory, TypeStatic) - DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, - 0x00000000, // Granularity - 0xC0000000, // Range Minimum - 0xFEBFFFFF, // Range Maximum - 0x00000000, // Translation Offset - 0x3EC00000, // Length - ,, , AddressRangeMemory, TypeStatic) - QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, - 0x0000000000000000, // Granularity - 0x0000000100000000, // Range Minimum - 0x00000008FFFFFFFF, // Range Maximum - 0x0000000000000000, // Translation Offset - 0x0000000800000000, // Length - ,, , AddressRangeMemory, TypeStatic) - }) - 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, - 0x0620, // Range Minimum - 0x0620, // Range Maximum - 0x01, // Alignment - 0x10, // 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, - Zero - }) - Name (_S5, Package (0x04) // _S5_: S5 System State - { - Zero, - Zero, - Zero, - Zero - }) - } - - Scope (\_SB.PCI0) - { - Device (FWCF) - { - Name (_HID, "QEMU0002") // _HID: Hardware ID - Name (_STA, 0x0B) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0510, // Range Minimum - 0x0510, // Range Maximum - 0x01, // Alignment - 0x0C, // Length - ) - }) - } - } - - Scope (\_SB) - { - Scope (PCI0) - { - Device (S00) - { - Name (_ADR, Zero) // _ADR: Address - } - - Device (S08) - { - 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) - { - } - } - } -} - diff --git a/tests/data/acpi/q35/DSDT.dimmpxm.dsl b/tests/data/acpi/q35/DSDT.dimmpxm.dsl deleted file mode 100644 index 9cab76729e..0000000000 --- a/tests/data/acpi/q35/DSDT.dimmpxm.dsl +++ /dev/null @@ -1,3535 +0,0 @@ -/* - * 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/q35/DSDT.dimmpxm, Tue Aug 4 11:14:15 2020 - * - * Original Table Header: - * Signature "DSDT" - * Length 0x00002473 (9331) - * Revision 0x01 **** 32-bit table (V1), no 64-bit math support - * Checksum 0xEE - * OEM ID "BOCHS " - * OEM Table ID "BXPCDSDT" - * OEM Revision 0x00000001 (1) - * Compiler ID "BXPC" - * Compiler Version 0x00000001 (1) - */ -DefinitionBlock ("", "DSDT", 1, "BOCHS ", "BXPCDSDT", 0x00000001) -{ - External (_SB_.NVDR, UnknownObj) - - Scope (\) - { - OperationRegion (DBG, SystemIO, 0x0402, One) - Field (DBG, ByteAcc, NoLock, Preserve) - { - DBGB, 8 - } - - Method (DBUG, 1, NotSerialized) - { - ToHexString (Arg0, Local0) - ToBuffer (Local0, Local0) - Local1 = (SizeOf (Local0) - One) - Local2 = Zero - While ((Local2 < Local1)) - { - DBGB = DerefOf (Local0 [Local2]) - Local2++ - } - - DBGB = 0x0A - } - } - - Scope (_SB) - { - Device (PCI0) - { - Name (_HID, EisaId ("PNP0A08") /* PCI Express Bus */) // _HID: Hardware ID - Name (_CID, EisaId ("PNP0A03") /* PCI Bus */) // _CID: Compatible ID - Name (_ADR, Zero) // _ADR: Address - Name (_UID, Zero) // _UID: Unique ID - Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities - { - CreateDWordField (Arg3, Zero, CDW1) - If ((Arg0 == ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd766") /* PCI Host Bridge Device */)) - { - CreateDWordField (Arg3, 0x04, CDW2) - CreateDWordField (Arg3, 0x08, CDW3) - Local0 = CDW3 /* \_SB_.PCI0._OSC.CDW3 */ - Local0 &= 0x1F - If ((Arg1 != One)) - { - CDW1 |= 0x08 - } - - If ((CDW3 != Local0)) - { - CDW1 |= 0x10 - } - - CDW3 = Local0 - } - Else - { - CDW1 |= 0x04 - } - - Return (Arg3) - } - } - } - - Scope (_SB) - { - Device (HPET) - { - Name (_HID, EisaId ("PNP0103") /* HPET System Timer */) // _HID: Hardware ID - Name (_UID, Zero) // _UID: Unique ID - OperationRegion (HPTM, SystemMemory, 0xFED00000, 0x0400) - Field (HPTM, DWordAcc, Lock, Preserve) - { - VEND, 32, - PRD, 32 - } - - Method (_STA, 0, NotSerialized) // _STA: Status - { - Local0 = VEND /* \_SB_.HPET.VEND */ - Local1 = PRD /* \_SB_.HPET.PRD_ */ - Local0 >>= 0x10 - If (((Local0 == Zero) || (Local0 == 0xFFFF))) - { - Return (Zero) - } - - If (((Local1 == Zero) || (Local1 > 0x05F5E100))) - { - Return (Zero) - } - - Return (0x0F) - } - - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadOnly, - 0xFED00000, // Address Base - 0x00000400, // Address Length - ) - }) - } - } - - Scope (_SB.PCI0) - { - Device (ISA) - { - Name (_ADR, 0x001F0000) // _ADR: Address - OperationRegion (PIRQ, PCI_Config, 0x60, 0x0C) - } - } - - Scope (_SB.PCI0.ISA) - { - Device (KBD) - { - Name (_HID, EisaId ("PNP0303") /* IBM Enhanced Keyboard (101/102-key, PS/2 Mouse) */) // _HID: Hardware ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0060, // Range Minimum - 0x0060, // Range Maximum - 0x01, // Alignment - 0x01, // Length - ) - IO (Decode16, - 0x0064, // Range Minimum - 0x0064, // Range Maximum - 0x01, // Alignment - 0x01, // Length - ) - IRQNoFlags () - {1} - }) - } - - Device (MOU) - { - Name (_HID, EisaId ("PNP0F13") /* PS/2 Mouse */) // _HID: Hardware ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IRQNoFlags () - {12} - }) - } - - Device (LPT1) - { - Name (_HID, EisaId ("PNP0400") /* Standard LPT Parallel Port */) // _HID: Hardware ID - Name (_UID, One) // _UID: Unique ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0378, // Range Minimum - 0x0378, // Range Maximum - 0x08, // Alignment - 0x08, // Length - ) - IRQNoFlags () - {7} - }) - } - - Device (COM1) - { - Name (_HID, EisaId ("PNP0501") /* 16550A-compatible COM Serial Port */) // _HID: Hardware ID - Name (_UID, One) // _UID: Unique ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x03F8, // Range Minimum - 0x03F8, // Range Maximum - 0x00, // Alignment - 0x08, // Length - ) - IRQNoFlags () - {4} - }) - } - - Device (RTC) - { - 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} - }) - } - } - - Name (PICF, Zero) - Method (_PIC, 1, NotSerialized) // _PIC: Interrupt Model - { - PICF = Arg0 - } - - Scope (_SB) - { - Scope (PCI0) - { - Name (PRTP, Package (0x80) - { - Package (0x04) - { - 0xFFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0xFFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0xFFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0xFFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - Zero, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - One, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - 0x02, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - 0x03, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - Zero, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - One, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - 0x02, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - 0x03, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - Zero, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - One, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - 0x02, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - 0x03, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - Zero, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - One, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - 0x02, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - 0x03, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - Zero, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - One, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - 0x02, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - 0x03, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - Zero, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - One, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - 0x02, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - 0x03, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - Zero, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - One, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - 0x02, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - 0x03, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - Zero, - LNKG, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - One, - LNKH, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - 0x02, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - 0x03, - LNKF, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - Zero, - LNKH, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - One, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - 0x02, - LNKF, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - 0x03, - LNKG, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - Zero, - LNKF, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - One, - LNKG, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - 0x02, - LNKH, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - 0x03, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - Zero, - LNKG, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - One, - LNKH, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - 0x02, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - 0x03, - LNKF, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - Zero, - LNKH, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - One, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - 0x02, - LNKF, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - 0x03, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - Zero, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - One, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - 0x02, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - 0x03, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - Zero, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - One, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - 0x02, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - 0x03, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - Zero, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - One, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - 0x02, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - 0x03, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - Zero, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - One, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - 0x02, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - 0x03, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - Zero, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - One, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - 0x02, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - 0x03, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - Zero, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - One, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - 0x02, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - 0x03, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - Zero, - LNKA, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - One, - LNKB, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - 0x02, - LNKC, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - 0x03, - LNKD, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - Zero, - LNKA, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - One, - LNKB, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - 0x02, - LNKC, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - 0x03, - LNKD, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - Zero, - LNKA, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - One, - LNKB, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - 0x02, - LNKC, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - 0x03, - LNKD, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - Zero, - LNKA, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - One, - LNKB, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - 0x02, - LNKC, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - 0x03, - LNKD, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - Zero, - LNKA, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - One, - LNKB, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - 0x02, - LNKC, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - 0x03, - LNKD, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - Zero, - LNKA, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - One, - LNKB, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - 0x02, - LNKC, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - 0x03, - LNKD, - Zero - } - }) - Name (PRTA, Package (0x80) - { - Package (0x04) - { - 0xFFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0xFFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0xFFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0xFFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - Zero, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - One, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - 0x02, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - 0x03, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - Zero, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - One, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - 0x02, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - 0x03, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - Zero, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - One, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - 0x02, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - 0x03, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - Zero, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - One, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - 0x02, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - 0x03, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - Zero, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - One, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - 0x02, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - 0x03, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - Zero, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - One, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - 0x02, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - 0x03, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - Zero, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - One, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - 0x02, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - 0x03, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - Zero, - GSIG, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - One, - GSIH, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - 0x02, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - 0x03, - GSIF, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - Zero, - GSIH, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - One, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - 0x02, - GSIF, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - 0x03, - GSIG, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - Zero, - GSIF, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - One, - GSIG, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - 0x02, - GSIH, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - 0x03, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - Zero, - GSIG, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - One, - GSIH, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - 0x02, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - 0x03, - GSIF, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - Zero, - GSIH, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - One, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - 0x02, - GSIF, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - 0x03, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - Zero, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - One, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - 0x02, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - 0x03, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - Zero, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - One, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - 0x02, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - 0x03, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - Zero, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - One, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - 0x02, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - 0x03, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - Zero, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - One, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - 0x02, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - 0x03, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - Zero, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - One, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - 0x02, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - 0x03, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - Zero, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - One, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - 0x02, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - 0x03, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - Zero, - GSIA, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - One, - GSIB, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - 0x02, - GSIC, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - 0x03, - GSID, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - Zero, - GSIA, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - One, - GSIB, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - 0x02, - GSIC, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - 0x03, - GSID, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - Zero, - GSIA, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - One, - GSIB, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - 0x02, - GSIC, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - 0x03, - GSID, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - Zero, - GSIA, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - One, - GSIB, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - 0x02, - GSIC, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - 0x03, - GSID, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - Zero, - GSIA, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - One, - GSIB, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - 0x02, - GSIC, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - 0x03, - GSID, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - Zero, - GSIA, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - One, - GSIB, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - 0x02, - GSIC, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - 0x03, - GSID, - Zero - } - }) - Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table - { - If ((PICF == Zero)) - { - Return (PRTP) /* \_SB_.PCI0.PRTP */ - } - Else - { - Return (PRTA) /* \_SB_.PCI0.PRTA */ - } - } - } - - Field (PCI0.ISA.PIRQ, ByteAcc, NoLock, Preserve) - { - PRQA, 8, - PRQB, 8, - PRQC, 8, - PRQD, 8, - Offset (0x08), - PRQE, 8, - PRQF, 8, - PRQG, 8, - PRQH, 8 - } - - Method (IQST, 1, NotSerialized) - { - If ((0x80 & Arg0)) - { - Return (0x09) - } - - Return (0x0B) - } - - Method (IQCR, 1, Serialized) - { - Name (PRR0, ResourceTemplate () - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, _Y00) - { - 0x00000000, - } - }) - CreateDWordField (PRR0, \_SB.IQCR._Y00._INT, PRRI) // _INT: Interrupts - PRRI = (Arg0 & 0x0F) - Return (PRR0) /* \_SB_.IQCR.PRR0 */ - } - - Device (LNKA) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, Zero) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQA)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQA |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQA)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQA = PRRI /* \_SB_.LNKA._SRS.PRRI */ - } - } - - Device (LNKB) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, One) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQB)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQB |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQB)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQB = PRRI /* \_SB_.LNKB._SRS.PRRI */ - } - } - - Device (LNKC) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x02) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQC)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQC |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQC)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQC = PRRI /* \_SB_.LNKC._SRS.PRRI */ - } - } - - Device (LNKD) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x03) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQD)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQD |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQD)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQD = PRRI /* \_SB_.LNKD._SRS.PRRI */ - } - } - - Device (LNKE) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x04) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQE)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQE |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQE)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQE = PRRI /* \_SB_.LNKE._SRS.PRRI */ - } - } - - Device (LNKF) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x05) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQF)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQF |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQF)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQF = PRRI /* \_SB_.LNKF._SRS.PRRI */ - } - } - - Device (LNKG) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x06) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQG)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQG |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQG)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQG = PRRI /* \_SB_.LNKG._SRS.PRRI */ - } - } - - Device (LNKH) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x07) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQH)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQH |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQH)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQH = PRRI /* \_SB_.LNKH._SRS.PRRI */ - } - } - - Device (GSIA) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x10) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000010, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000010, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSIB) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x11) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000011, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000011, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSIC) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x12) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000012, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000012, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSID) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x13) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000013, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000013, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSIE) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x14) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000014, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000014, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSIF) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x15) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000015, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000015, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSIG) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x16) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000016, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000016, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSIH) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x17) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000017, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000017, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - } - - Scope (_SB.PCI0) - { - Device (SMB0) - { - Name (_ADR, 0x001F0003) // _ADR: Address - } - } - - Scope (_SB) - { - Device (\_SB.PCI0.PRES) - { - Name (_HID, EisaId ("PNP0A06") /* Generic Container Device */) // _HID: Hardware ID - Name (_UID, "CPU Hotplug resources") // _UID: Unique ID - Mutex (CPLK, 0x00) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0CD8, // Range Minimum - 0x0CD8, // Range Maximum - 0x01, // Alignment - 0x0C, // Length - ) - }) - OperationRegion (PRST, SystemIO, 0x0CD8, 0x0C) - Field (PRST, ByteAcc, NoLock, WriteAsZeros) - { - Offset (0x04), - CPEN, 1, - CINS, 1, - CRMV, 1, - CEJ0, 1, - Offset (0x05), - CCMD, 8 - } - - Field (PRST, DWordAcc, NoLock, Preserve) - { - CSEL, 32, - Offset (0x08), - CDAT, 32 - } - - Method (_INI, 0, Serialized) // _INI: Initialize - { - CSEL = Zero - } - } - - Device (\_SB.CPUS) - { - Name (_HID, "ACPI0010" /* Processor Container Device */) // _HID: Hardware ID - Name (_CID, EisaId ("PNP0A05") /* Generic Container Device */) // _CID: Compatible ID - Method (CTFY, 2, NotSerialized) - { - If ((Arg0 == Zero)) - { - Notify (C000, Arg1) - } - - If ((Arg0 == One)) - { - Notify (C001, Arg1) - } - - If ((Arg0 == 0x02)) - { - Notify (C002, Arg1) - } - - If ((Arg0 == 0x03)) - { - Notify (C003, Arg1) - } - } - - Method (CSTA, 1, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - \_SB.PCI0.PRES.CSEL = Arg0 - Local0 = Zero - If ((\_SB.PCI0.PRES.CPEN == One)) - { - Local0 = 0x0F - } - - Release (\_SB.PCI0.PRES.CPLK) - Return (Local0) - } - - Method (CEJ0, 1, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - \_SB.PCI0.PRES.CSEL = Arg0 - \_SB.PCI0.PRES.CEJ0 = One - Release (\_SB.PCI0.PRES.CPLK) - } - - Method (CSCN, 0, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - Local0 = One - While ((Local0 == One)) - { - Local0 = Zero - \_SB.PCI0.PRES.CCMD = Zero - If ((\_SB.PCI0.PRES.CINS == One)) - { - CTFY (\_SB.PCI0.PRES.CDAT, One) - \_SB.PCI0.PRES.CINS = One - Local0 = One - } - ElseIf ((\_SB.PCI0.PRES.CRMV == One)) - { - CTFY (\_SB.PCI0.PRES.CDAT, 0x03) - \_SB.PCI0.PRES.CRMV = One - Local0 = One - } - } - - Release (\_SB.PCI0.PRES.CPLK) - } - - Method (COST, 4, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - \_SB.PCI0.PRES.CSEL = Arg0 - \_SB.PCI0.PRES.CCMD = One - \_SB.PCI0.PRES.CDAT = Arg1 - \_SB.PCI0.PRES.CCMD = 0x02 - \_SB.PCI0.PRES.CDAT = Arg2 - Release (\_SB.PCI0.PRES.CPLK) - } - - Processor (C000, 0x00, 0x00000000, 0x00) - { - Method (_STA, 0, Serialized) // _STA: Status - { - Return (CSTA (Zero)) - } - - Name (_MAT, Buffer (0x08) // _MAT: Multiple APIC Table Entry - { - 0x00, 0x08, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 // ........ - }) - Method (_OST, 3, Serialized) // _OST: OSPM Status Indication - { - COST (Zero, Arg0, Arg1, Arg2) - } - - Name (_PXM, Zero) // _PXM: Device Proximity - } - - Processor (C001, 0x01, 0x00000000, 0x00) - { - Method (_STA, 0, Serialized) // _STA: Status - { - Return (CSTA (One)) - } - - Name (_MAT, Buffer (0x08) // _MAT: Multiple APIC Table Entry - { - 0x00, 0x08, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00 // ........ - }) - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device, x=0-9 - { - CEJ0 (One) - } - - Method (_OST, 3, Serialized) // _OST: OSPM Status Indication - { - COST (One, Arg0, Arg1, Arg2) - } - - Name (_PXM, One) // _PXM: Device Proximity - } - - Processor (C002, 0x02, 0x00000000, 0x00) - { - Method (_STA, 0, Serialized) // _STA: Status - { - Return (CSTA (0x02)) - } - - Name (_MAT, Buffer (0x08) // _MAT: Multiple APIC Table Entry - { - 0x00, 0x08, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00 // ........ - }) - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device, x=0-9 - { - CEJ0 (0x02) - } - - Method (_OST, 3, Serialized) // _OST: OSPM Status Indication - { - COST (0x02, Arg0, Arg1, Arg2) - } - - Name (_PXM, 0x02) // _PXM: Device Proximity - } - - Processor (C003, 0x03, 0x00000000, 0x00) - { - Method (_STA, 0, Serialized) // _STA: Status - { - Return (CSTA (0x03)) - } - - Name (_MAT, Buffer (0x08) // _MAT: Multiple APIC Table Entry - { - 0x00, 0x08, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00 // ........ - }) - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device, x=0-9 - { - CEJ0 (0x03) - } - - Method (_OST, 3, Serialized) // _OST: OSPM Status Indication - { - COST (0x03, Arg0, Arg1, Arg2) - } - - Name (_PXM, 0x03) // _PXM: Device Proximity - } - } - } - - Method (\_GPE._E02, 0, NotSerialized) // _Exx: Edge-Triggered GPE, xx=0x00-0xFF - { - \_SB.CPUS.CSCN () - } - - Device (\_SB.PCI0.MHPD) - { - Name (_HID, "PNP0A06" /* Generic Container Device */) // _HID: Hardware ID - Name (_UID, "Memory hotplug resources") // _UID: Unique ID - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0A00, // Range Minimum - 0x0A00, // Range Maximum - 0x00, // Alignment - 0x18, // Length - ) - }) - OperationRegion (HPMR, SystemIO, 0x0A00, 0x18) - } - - Device (\_SB.MHPC) - { - Name (_HID, "PNP0A06" /* Generic Container Device */) // _HID: Hardware ID - Name (_UID, "DIMM devices") // _UID: Unique ID - Name (MDNR, 0x03) - Field (\_SB.PCI0.MHPD.HPMR, DWordAcc, NoLock, Preserve) - { - MRBL, 32, - MRBH, 32, - MRLL, 32, - MRLH, 32, - MPX, 32 - } - - Field (\_SB.PCI0.MHPD.HPMR, ByteAcc, NoLock, WriteAsZeros) - { - Offset (0x14), - MES, 1, - MINS, 1, - MRMV, 1, - MEJ, 1 - } - - Field (\_SB.PCI0.MHPD.HPMR, DWordAcc, NoLock, Preserve) - { - MSEL, 32, - MOEV, 32, - MOSC, 32 - } - - Method (_STA, 0, NotSerialized) // _STA: Status - { - If ((MDNR == Zero)) - { - Return (Zero) - } - - Return (0x0B) - } - - Mutex (MLCK, 0x00) - Method (MSCN, 0, NotSerialized) - { - If ((MDNR == Zero)) - { - Return (Zero) - } - - Local0 = Zero - Acquire (MLCK, 0xFFFF) - While ((Local0 < MDNR)) - { - MSEL = Local0 - If ((MINS == One)) - { - MTFY (Local0, One) - MINS = One - } - ElseIf ((MRMV == One)) - { - MTFY (Local0, 0x03) - MRMV = One - } - - Local0 += One - } - - Release (MLCK) - Return (One) - } - - Method (MRST, 1, NotSerialized) - { - Local0 = Zero - Acquire (MLCK, 0xFFFF) - MSEL = ToInteger (Arg0) - If ((MES == One)) - { - Local0 = 0x0F - } - - Release (MLCK) - Return (Local0) - } - - Method (MCRS, 1, Serialized) - { - Acquire (MLCK, 0xFFFF) - MSEL = ToInteger (Arg0) - Name (MR64, ResourceTemplate () - { - QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, - 0x0000000000000000, // Granularity - 0x0000000000000000, // Range Minimum - 0xFFFFFFFFFFFFFFFE, // Range Maximum - 0x0000000000000000, // Translation Offset - 0xFFFFFFFFFFFFFFFF, // Length - ,, _Y01, AddressRangeMemory, TypeStatic) - }) - CreateDWordField (MR64, \_SB.MHPC.MCRS._Y01._MIN, MINL) // _MIN: Minimum Base Address - CreateDWordField (MR64, 0x12, MINH) - CreateDWordField (MR64, \_SB.MHPC.MCRS._Y01._LEN, LENL) // _LEN: Length - CreateDWordField (MR64, 0x2A, LENH) - CreateDWordField (MR64, \_SB.MHPC.MCRS._Y01._MAX, MAXL) // _MAX: Maximum Base Address - CreateDWordField (MR64, 0x1A, MAXH) - MINH = MRBH /* \_SB_.MHPC.MRBH */ - MINL = MRBL /* \_SB_.MHPC.MRBL */ - LENH = MRLH /* \_SB_.MHPC.MRLH */ - LENL = MRLL /* \_SB_.MHPC.MRLL */ - MAXL = (MINL + LENL) /* \_SB_.MHPC.MCRS.LENL */ - MAXH = (MINH + LENH) /* \_SB_.MHPC.MCRS.LENH */ - If ((MAXL < MINL)) - { - MAXH += One - } - - If ((MAXL < One)) - { - MAXH -= One - } - - MAXL -= One - If ((MAXH == Zero)) - { - Name (MR32, ResourceTemplate () - { - DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, - 0x00000000, // Granularity - 0x00000000, // Range Minimum - 0xFFFFFFFE, // Range Maximum - 0x00000000, // Translation Offset - 0xFFFFFFFF, // Length - ,, _Y02, AddressRangeMemory, TypeStatic) - }) - CreateDWordField (MR32, \_SB.MHPC.MCRS._Y02._MIN, MIN) // _MIN: Minimum Base Address - CreateDWordField (MR32, \_SB.MHPC.MCRS._Y02._MAX, MAX) // _MAX: Maximum Base Address - CreateDWordField (MR32, \_SB.MHPC.MCRS._Y02._LEN, LEN) // _LEN: Length - MIN = MINL /* \_SB_.MHPC.MCRS.MINL */ - MAX = MAXL /* \_SB_.MHPC.MCRS.MAXL */ - LEN = LENL /* \_SB_.MHPC.MCRS.LENL */ - Release (MLCK) - Return (MR32) /* \_SB_.MHPC.MCRS.MR32 */ - } - - Release (MLCK) - Return (MR64) /* \_SB_.MHPC.MCRS.MR64 */ - } - - Method (MPXM, 1, NotSerialized) - { - Acquire (MLCK, 0xFFFF) - MSEL = ToInteger (Arg0) - Local0 = MPX /* \_SB_.MHPC.MPX_ */ - Release (MLCK) - Return (Local0) - } - - Method (MOST, 4, NotSerialized) - { - Acquire (MLCK, 0xFFFF) - MSEL = ToInteger (Arg0) - MOEV = Arg1 - MOSC = Arg2 - Release (MLCK) - } - - Method (MEJ0, 2, NotSerialized) - { - Acquire (MLCK, 0xFFFF) - MSEL = ToInteger (Arg0) - MEJ = One - Release (MLCK) - } - - Device (MP00) - { - Name (_UID, "0x00") // _UID: Unique ID - Name (_HID, EisaId ("PNP0C80") /* Memory Device */) // _HID: Hardware ID - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (MCRS (_UID)) - } - - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (MRST (_UID)) - } - - Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity - { - Return (MPXM (_UID)) - } - - Method (_OST, 3, NotSerialized) // _OST: OSPM Status Indication - { - MOST (_UID, Arg0, Arg1, Arg2) - } - - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device, x=0-9 - { - MEJ0 (_UID, Arg0) - } - } - - Device (MP01) - { - Name (_UID, "0x01") // _UID: Unique ID - Name (_HID, EisaId ("PNP0C80") /* Memory Device */) // _HID: Hardware ID - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (MCRS (_UID)) - } - - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (MRST (_UID)) - } - - Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity - { - Return (MPXM (_UID)) - } - - Method (_OST, 3, NotSerialized) // _OST: OSPM Status Indication - { - MOST (_UID, Arg0, Arg1, Arg2) - } - - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device, x=0-9 - { - MEJ0 (_UID, Arg0) - } - } - - Device (MP02) - { - Name (_UID, "0x02") // _UID: Unique ID - Name (_HID, EisaId ("PNP0C80") /* Memory Device */) // _HID: Hardware ID - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (MCRS (_UID)) - } - - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (MRST (_UID)) - } - - Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity - { - Return (MPXM (_UID)) - } - - Method (_OST, 3, NotSerialized) // _OST: OSPM Status Indication - { - MOST (_UID, Arg0, Arg1, Arg2) - } - - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device, x=0-9 - { - MEJ0 (_UID, Arg0) - } - } - - Method (MTFY, 2, NotSerialized) - { - If ((Arg0 == Zero)) - { - Notify (MP00, Arg1) - } - - If ((Arg0 == One)) - { - Notify (MP01, Arg1) - } - - If ((Arg0 == 0x02)) - { - Notify (MP02, Arg1) - } - } - } - - Method (\_GPE._E03, 0, NotSerialized) // _Exx: Edge-Triggered GPE, xx=0x00-0xFF - { - \_SB.MHPC.MSCN () - } - - Scope (_GPE) - { - Name (_HID, "ACPI0006" /* GPE Block Device */) // _HID: Hardware ID - Method (_E04, 0, NotSerialized) // _Exx: Edge-Triggered GPE, xx=0x00-0xFF - { - Notify (\_SB.NVDR, 0x80) // Status Change - } - } - - 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 - 0x01, // Alignment - 0x08, // Length - ) - WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, - 0x0000, // Granularity - 0x0000, // Range Minimum - 0x0CF7, // Range Maximum - 0x0000, // Translation Offset - 0x0CF8, // Length - ,, , TypeStatic, DenseTranslation) - WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, - 0x0000, // Granularity - 0x0D00, // Range Minimum - 0xFFFF, // Range Maximum - 0x0000, // Translation Offset - 0xF300, // Length - ,, , TypeStatic, DenseTranslation) - DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, - 0x00000000, // Granularity - 0x000A0000, // Range Minimum - 0x000BFFFF, // Range Maximum - 0x00000000, // Translation Offset - 0x00020000, // Length - ,, , AddressRangeMemory, TypeStatic) - DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, - 0x00000000, // Granularity - 0x08000000, // Range Minimum - 0xAFFFFFFF, // Range Maximum - 0x00000000, // Translation Offset - 0xA8000000, // Length - ,, , AddressRangeMemory, TypeStatic) - DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, - 0x00000000, // Granularity - 0xC0000000, // Range Minimum - 0xFEBFFFFF, // Range Maximum - 0x00000000, // Translation Offset - 0x3EC00000, // Length - ,, , AddressRangeMemory, TypeStatic) - QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, - 0x0000000000000000, // Granularity - 0x0000000200000000, // Range Minimum - 0x00000009FFFFFFFF, // Range Maximum - 0x0000000000000000, // Translation Offset - 0x0000000800000000, // Length - ,, , AddressRangeMemory, TypeStatic) - }) - 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, - 0x0620, // Range Minimum - 0x0620, // Range Maximum - 0x01, // Alignment - 0x10, // 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, - Zero - }) - Name (_S5, Package (0x04) // _S5_: S5 System State - { - Zero, - Zero, - Zero, - Zero - }) - } - - Scope (\_SB.PCI0) - { - Device (FWCF) - { - Name (_HID, "QEMU0002") // _HID: Hardware ID - Name (_STA, 0x0B) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0510, // Range Minimum - 0x0510, // Range Maximum - 0x01, // Alignment - 0x0C, // Length - ) - }) - } - } - - Scope (\_SB) - { - Scope (PCI0) - { - Device (S00) - { - Name (_ADR, Zero) // _ADR: Address - } - - Device (S08) - { - 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) - { - } - } - } -} - diff --git a/tests/data/acpi/q35/DSDT.dsl b/tests/data/acpi/q35/DSDT.dsl deleted file mode 100644 index 5adfe001c7..0000000000 --- a/tests/data/acpi/q35/DSDT.dsl +++ /dev/null @@ -1,3351 +0,0 @@ -/* - * 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/q35/DSDT.tis, Mon Sep 28 17:24:38 2020 - * - * Original Table Header: - * Signature "DSDT" - * Length 0x000020D2 (8402) - * Revision 0x01 **** 32-bit table (V1), no 64-bit math support - * Checksum 0xF4 - * 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 - } - - Method (DBUG, 1, NotSerialized) - { - ToHexString (Arg0, Local0) - ToBuffer (Local0, Local0) - Local1 = (SizeOf (Local0) - One) - Local2 = Zero - While ((Local2 < Local1)) - { - DBGB = DerefOf (Local0 [Local2]) - Local2++ - } - - DBGB = 0x0A - } - } - - Scope (_SB) - { - Device (PCI0) - { - Name (_HID, EisaId ("PNP0A08") /* PCI Express Bus */) // _HID: Hardware ID - Name (_CID, EisaId ("PNP0A03") /* PCI Bus */) // _CID: Compatible ID - Name (_ADR, Zero) // _ADR: Address - Name (_UID, Zero) // _UID: Unique ID - Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities - { - CreateDWordField (Arg3, Zero, CDW1) - If ((Arg0 == ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd766") /* PCI Host Bridge Device */)) - { - CreateDWordField (Arg3, 0x04, CDW2) - CreateDWordField (Arg3, 0x08, CDW3) - Local0 = CDW3 /* \_SB_.PCI0._OSC.CDW3 */ - Local0 &= 0x1F - If ((Arg1 != One)) - { - CDW1 |= 0x08 - } - - If ((CDW3 != Local0)) - { - CDW1 |= 0x10 - } - - CDW3 = Local0 - } - Else - { - CDW1 |= 0x04 - } - - Return (Arg3) - } - } - } - - Scope (_SB) - { - Device (HPET) - { - Name (_HID, EisaId ("PNP0103") /* HPET System Timer */) // _HID: Hardware ID - Name (_UID, Zero) // _UID: Unique ID - OperationRegion (HPTM, SystemMemory, 0xFED00000, 0x0400) - Field (HPTM, DWordAcc, Lock, Preserve) - { - VEND, 32, - PRD, 32 - } - - Method (_STA, 0, NotSerialized) // _STA: Status - { - Local0 = VEND /* \_SB_.HPET.VEND */ - Local1 = PRD /* \_SB_.HPET.PRD_ */ - Local0 >>= 0x10 - If (((Local0 == Zero) || (Local0 == 0xFFFF))) - { - Return (Zero) - } - - If (((Local1 == Zero) || (Local1 > 0x05F5E100))) - { - Return (Zero) - } - - Return (0x0F) - } - - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadOnly, - 0xFED00000, // Address Base - 0x00000400, // Address Length - ) - }) - } - } - - Scope (_SB.PCI0) - { - Device (ISA) - { - Name (_ADR, 0x001F0000) // _ADR: Address - OperationRegion (PIRQ, PCI_Config, 0x60, 0x0C) - } - } - - Scope (_SB.PCI0.ISA) - { - Device (KBD) - { - Name (_HID, EisaId ("PNP0303") /* IBM Enhanced Keyboard (101/102-key, PS/2 Mouse) */) // _HID: Hardware ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0060, // Range Minimum - 0x0060, // Range Maximum - 0x01, // Alignment - 0x01, // Length - ) - IO (Decode16, - 0x0064, // Range Minimum - 0x0064, // Range Maximum - 0x01, // Alignment - 0x01, // Length - ) - IRQNoFlags () - {1} - }) - } - - Device (MOU) - { - Name (_HID, EisaId ("PNP0F13") /* PS/2 Mouse */) // _HID: Hardware ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IRQNoFlags () - {12} - }) - } - - Device (LPT1) - { - Name (_HID, EisaId ("PNP0400") /* Standard LPT Parallel Port */) // _HID: Hardware ID - Name (_UID, One) // _UID: Unique ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0378, // Range Minimum - 0x0378, // Range Maximum - 0x08, // Alignment - 0x08, // Length - ) - IRQNoFlags () - {7} - }) - } - - Device (COM1) - { - Name (_HID, EisaId ("PNP0501") /* 16550A-compatible COM Serial Port */) // _HID: Hardware ID - Name (_UID, One) // _UID: Unique ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x03F8, // Range Minimum - 0x03F8, // Range Maximum - 0x00, // Alignment - 0x08, // Length - ) - IRQNoFlags () - {4} - }) - } - - Device (RTC) - { - 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} - }) - } - } - - Name (PICF, Zero) - Method (_PIC, 1, NotSerialized) // _PIC: Interrupt Model - { - PICF = Arg0 - } - - Scope (_SB) - { - Scope (PCI0) - { - Name (PRTP, Package (0x80) - { - Package (0x04) - { - 0xFFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0xFFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0xFFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0xFFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - Zero, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - One, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - 0x02, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - 0x03, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - Zero, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - One, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - 0x02, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - 0x03, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - Zero, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - One, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - 0x02, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - 0x03, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - Zero, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - One, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - 0x02, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - 0x03, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - Zero, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - One, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - 0x02, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - 0x03, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - Zero, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - One, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - 0x02, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - 0x03, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - Zero, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - One, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - 0x02, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - 0x03, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - Zero, - LNKG, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - One, - LNKH, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - 0x02, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - 0x03, - LNKF, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - Zero, - LNKH, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - One, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - 0x02, - LNKF, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - 0x03, - LNKG, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - Zero, - LNKF, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - One, - LNKG, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - 0x02, - LNKH, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - 0x03, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - Zero, - LNKG, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - One, - LNKH, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - 0x02, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - 0x03, - LNKF, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - Zero, - LNKH, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - One, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - 0x02, - LNKF, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - 0x03, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - Zero, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - One, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - 0x02, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - 0x03, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - Zero, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - One, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - 0x02, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - 0x03, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - Zero, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - One, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - 0x02, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - 0x03, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - Zero, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - One, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - 0x02, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - 0x03, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - Zero, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - One, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - 0x02, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - 0x03, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - Zero, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - One, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - 0x02, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - 0x03, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - Zero, - LNKA, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - One, - LNKB, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - 0x02, - LNKC, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - 0x03, - LNKD, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - Zero, - LNKA, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - One, - LNKB, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - 0x02, - LNKC, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - 0x03, - LNKD, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - Zero, - LNKA, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - One, - LNKB, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - 0x02, - LNKC, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - 0x03, - LNKD, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - Zero, - LNKA, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - One, - LNKB, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - 0x02, - LNKC, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - 0x03, - LNKD, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - Zero, - LNKA, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - One, - LNKB, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - 0x02, - LNKC, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - 0x03, - LNKD, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - Zero, - LNKA, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - One, - LNKB, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - 0x02, - LNKC, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - 0x03, - LNKD, - Zero - } - }) - Name (PRTA, Package (0x80) - { - Package (0x04) - { - 0xFFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0xFFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0xFFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0xFFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - Zero, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - One, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - 0x02, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - 0x03, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - Zero, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - One, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - 0x02, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - 0x03, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - Zero, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - One, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - 0x02, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - 0x03, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - Zero, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - One, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - 0x02, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - 0x03, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - Zero, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - One, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - 0x02, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - 0x03, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - Zero, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - One, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - 0x02, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - 0x03, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - Zero, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - One, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - 0x02, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - 0x03, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - Zero, - GSIG, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - One, - GSIH, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - 0x02, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - 0x03, - GSIF, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - Zero, - GSIH, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - One, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - 0x02, - GSIF, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - 0x03, - GSIG, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - Zero, - GSIF, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - One, - GSIG, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - 0x02, - GSIH, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - 0x03, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - Zero, - GSIG, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - One, - GSIH, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - 0x02, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - 0x03, - GSIF, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - Zero, - GSIH, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - One, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - 0x02, - GSIF, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - 0x03, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - Zero, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - One, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - 0x02, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - 0x03, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - Zero, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - One, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - 0x02, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - 0x03, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - Zero, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - One, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - 0x02, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - 0x03, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - Zero, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - One, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - 0x02, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - 0x03, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - Zero, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - One, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - 0x02, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - 0x03, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - Zero, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - One, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - 0x02, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - 0x03, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - Zero, - GSIA, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - One, - GSIB, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - 0x02, - GSIC, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - 0x03, - GSID, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - Zero, - GSIA, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - One, - GSIB, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - 0x02, - GSIC, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - 0x03, - GSID, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - Zero, - GSIA, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - One, - GSIB, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - 0x02, - GSIC, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - 0x03, - GSID, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - Zero, - GSIA, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - One, - GSIB, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - 0x02, - GSIC, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - 0x03, - GSID, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - Zero, - GSIA, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - One, - GSIB, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - 0x02, - GSIC, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - 0x03, - GSID, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - Zero, - GSIA, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - One, - GSIB, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - 0x02, - GSIC, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - 0x03, - GSID, - Zero - } - }) - Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table - { - If ((PICF == Zero)) - { - Return (PRTP) /* \_SB_.PCI0.PRTP */ - } - Else - { - Return (PRTA) /* \_SB_.PCI0.PRTA */ - } - } - } - - Field (PCI0.ISA.PIRQ, ByteAcc, NoLock, Preserve) - { - PRQA, 8, - PRQB, 8, - PRQC, 8, - PRQD, 8, - Offset (0x08), - PRQE, 8, - PRQF, 8, - PRQG, 8, - PRQH, 8 - } - - Method (IQST, 1, NotSerialized) - { - If ((0x80 & Arg0)) - { - Return (0x09) - } - - Return (0x0B) - } - - Method (IQCR, 1, Serialized) - { - Name (PRR0, ResourceTemplate () - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, _Y00) - { - 0x00000000, - } - }) - CreateDWordField (PRR0, \_SB.IQCR._Y00._INT, PRRI) // _INT: Interrupts - PRRI = (Arg0 & 0x0F) - Return (PRR0) /* \_SB_.IQCR.PRR0 */ - } - - Device (LNKA) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, Zero) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQA)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQA |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQA)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQA = PRRI /* \_SB_.LNKA._SRS.PRRI */ - } - } - - Device (LNKB) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, One) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQB)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQB |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQB)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQB = PRRI /* \_SB_.LNKB._SRS.PRRI */ - } - } - - Device (LNKC) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x02) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQC)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQC |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQC)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQC = PRRI /* \_SB_.LNKC._SRS.PRRI */ - } - } - - Device (LNKD) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x03) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQD)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQD |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQD)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQD = PRRI /* \_SB_.LNKD._SRS.PRRI */ - } - } - - Device (LNKE) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x04) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQE)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQE |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQE)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQE = PRRI /* \_SB_.LNKE._SRS.PRRI */ - } - } - - Device (LNKF) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x05) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQF)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQF |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQF)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQF = PRRI /* \_SB_.LNKF._SRS.PRRI */ - } - } - - Device (LNKG) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x06) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQG)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQG |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQG)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQG = PRRI /* \_SB_.LNKG._SRS.PRRI */ - } - } - - Device (LNKH) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x07) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQH)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQH |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQH)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQH = PRRI /* \_SB_.LNKH._SRS.PRRI */ - } - } - - Device (GSIA) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x10) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000010, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000010, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSIB) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x11) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000011, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000011, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSIC) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x12) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000012, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000012, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSID) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x13) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000013, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000013, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSIE) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x14) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000014, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000014, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSIF) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x15) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000015, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000015, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSIG) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x16) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000016, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000016, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSIH) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x17) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000017, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000017, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - } - - Scope (_SB.PCI0) - { - Device (SMB0) - { - Name (_ADR, 0x001F0003) // _ADR: Address - } - } - - Scope (_SB) - { - Device (\_SB.PCI0.PRES) - { - Name (_HID, EisaId ("PNP0A06") /* Generic Container Device */) // _HID: Hardware ID - Name (_UID, "CPU Hotplug resources") // _UID: Unique ID - Mutex (CPLK, 0x00) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0CD8, // Range Minimum - 0x0CD8, // Range Maximum - 0x01, // Alignment - 0x0C, // Length - ) - }) - OperationRegion (PRST, SystemIO, 0x0CD8, 0x0C) - Field (PRST, ByteAcc, NoLock, WriteAsZeros) - { - Offset (0x04), - CPEN, 1, - CINS, 1, - CRMV, 1, - CEJ0, 1, - Offset (0x05), - CCMD, 8 - } - - Field (PRST, DWordAcc, NoLock, Preserve) - { - CSEL, 32, - Offset (0x08), - CDAT, 32 - } - - Method (_INI, 0, Serialized) // _INI: Initialize - { - CSEL = Zero - } - } - - Device (\_SB.CPUS) - { - Name (_HID, "ACPI0010" /* Processor Container Device */) // _HID: Hardware ID - Name (_CID, EisaId ("PNP0A05") /* Generic Container Device */) // _CID: Compatible ID - Method (CTFY, 2, NotSerialized) - { - If ((Arg0 == Zero)) - { - Notify (C000, Arg1) - } - } - - Method (CSTA, 1, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - \_SB.PCI0.PRES.CSEL = Arg0 - Local0 = Zero - If ((\_SB.PCI0.PRES.CPEN == One)) - { - Local0 = 0x0F - } - - Release (\_SB.PCI0.PRES.CPLK) - Return (Local0) - } - - Method (CEJ0, 1, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - \_SB.PCI0.PRES.CSEL = Arg0 - \_SB.PCI0.PRES.CEJ0 = One - Release (\_SB.PCI0.PRES.CPLK) - } - - Method (CSCN, 0, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - Name (CNEW, Package (0xFF){}) - Local3 = Zero - Local4 = One - While ((Local4 == One)) - { - Local4 = Zero - Local0 = One - Local1 = Zero - While (((Local0 == One) && (Local3 < 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++ - } - - Local2 = Zero - While ((Local2 < Local1)) - { - Local3 = DerefOf (CNEW [Local2]) - CTFY (Local3, One) - Debug = Local3 - \_SB.PCI0.PRES.CSEL = Local3 - \_SB.PCI0.PRES.CINS = One - Local2++ - } - } - - Release (\_SB.PCI0.PRES.CPLK) - } - - Method (COST, 4, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - \_SB.PCI0.PRES.CSEL = Arg0 - \_SB.PCI0.PRES.CCMD = One - \_SB.PCI0.PRES.CDAT = Arg1 - \_SB.PCI0.PRES.CCMD = 0x02 - \_SB.PCI0.PRES.CDAT = Arg2 - Release (\_SB.PCI0.PRES.CPLK) - } - - Processor (C000, 0x00, 0x00000000, 0x00) - { - Method (_STA, 0, Serialized) // _STA: Status - { - Return (CSTA (Zero)) - } - - Name (_MAT, Buffer (0x08) // _MAT: Multiple APIC Table Entry - { - 0x00, 0x08, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 // ........ - }) - Method (_OST, 3, Serialized) // _OST: OSPM Status Indication - { - COST (Zero, Arg0, Arg1, Arg2) - } - } - } - } - - Method (\_GPE._E02, 0, NotSerialized) // _Exx: Edge-Triggered GPE, xx=0x00-0xFF - { - \_SB.CPUS.CSCN () - } - - Scope (_GPE) - { - Name (_HID, "ACPI0006" /* GPE Block Device */) // _HID: Hardware ID - } - - 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 - 0x01, // Alignment - 0x08, // Length - ) - WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, - 0x0000, // Granularity - 0x0000, // Range Minimum - 0x0CF7, // Range Maximum - 0x0000, // Translation Offset - 0x0CF8, // Length - ,, , TypeStatic, DenseTranslation) - WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, - 0x0000, // Granularity - 0x0D00, // Range Minimum - 0xFFFF, // Range Maximum - 0x0000, // Translation Offset - 0xF300, // Length - ,, , TypeStatic, DenseTranslation) - DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, - 0x00000000, // Granularity - 0x000A0000, // Range Minimum - 0x000BFFFF, // Range Maximum - 0x00000000, // Translation Offset - 0x00020000, // Length - ,, , AddressRangeMemory, TypeStatic) - DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, - 0x00000000, // Granularity - 0x08000000, // Range Minimum - 0xAFFFFFFF, // Range Maximum - 0x00000000, // Translation Offset - 0xA8000000, // Length - ,, , AddressRangeMemory, TypeStatic) - DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, - 0x00000000, // Granularity - 0xC0000000, // Range Minimum - 0xFEBFFFFF, // Range Maximum - 0x00000000, // Translation Offset - 0x3EC00000, // Length - ,, , AddressRangeMemory, TypeStatic) - QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, - 0x0000000000000000, // Granularity - 0x0000000100000000, // Range Minimum - 0x00000008FFFFFFFF, // Range Maximum - 0x0000000000000000, // Translation Offset - 0x0000000800000000, // Length - ,, , AddressRangeMemory, TypeStatic) - Memory32Fixed (ReadWrite, - 0xFED40000, // Address Base - 0x00005000, // Address Length - ) - }) - 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, - 0x0620, // Range Minimum - 0x0620, // Range Maximum - 0x01, // Alignment - 0x10, // 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, - Zero - }) - Name (_S5, Package (0x04) // _S5_: S5 System State - { - Zero, - Zero, - Zero, - Zero - }) - } - - Scope (\_SB.PCI0) - { - Device (FWCF) - { - Name (_HID, "QEMU0002") // _HID: Hardware ID - Name (_STA, 0x0B) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0510, // Range Minimum - 0x0510, // Range Maximum - 0x01, // Alignment - 0x0C, // Length - ) - }) - } - } - - Scope (\_SB) - { - Scope (PCI0) - { - Device (S00) - { - Name (_ADR, Zero) // _ADR: Address - } - - Device (S08) - { - 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) - } - } - - Device (TPM) - { - Name (_HID, "MSFT0101" /* TPM 2.0 Security Device */) // _HID: Hardware ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0xFED40000, // Address Base - 0x00005000, // Address Length - ) - }) - OperationRegion (TPP2, SystemMemory, 0xFED45100, 0x5A) - Field (TPP2, AnyAcc, NoLock, Preserve) - { - PPIN, 8, - PPIP, 32, - PPRP, 32, - PPRQ, 32, - PPRM, 32, - LPPR, 32 - } - - OperationRegion (TPP3, SystemMemory, 0xFED4515A, One) - Field (TPP3, ByteAcc, NoLock, Preserve) - { - MOVV, 8 - } - - Method (TPFN, 1, Serialized) - { - If ((Arg0 >= 0x0100)) - { - Return (Zero) - } - - OperationRegion (TPP1, SystemMemory, (0xFED45000 + Arg0), One) - Field (TPP1, ByteAcc, NoLock, Preserve) - { - TPPF, 8 - } - - Return (TPPF) /* \_SB_.PCI0.TPM_.TPFN.TPPF */ - } - - Name (TPM2, Package (0x02) - { - Zero, - Zero - }) - Name (TPM3, Package (0x03) - { - Zero, - Zero, - Zero - }) - Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method - { - If ((Arg0 == ToUUID ("3dddfaa6-361b-4eb4-a424-8d10089d1653") /* Physical Presence Interface */)) - { - If ((Arg2 == Zero)) - { - Return (Buffer (0x02) - { - 0xFF, 0x01 // .. - }) - } - - If ((Arg2 == One)) - { - Return ("1.3") - } - - If ((Arg2 == 0x02)) - { - Local0 = DerefOf (Arg3 [Zero]) - Local1 = TPFN (Local0) - If (((Local1 & 0x07) == Zero)) - { - Return (One) - } - - PPRQ = Local0 - PPRM = Zero - Return (Zero) - } - - If ((Arg2 == 0x03)) - { - If ((Arg1 == One)) - { - TPM2 [One] = PPRQ /* \_SB_.PCI0.TPM_.PPRQ */ - Return (TPM2) /* \_SB_.PCI0.TPM_.TPM2 */ - } - - If ((Arg1 == 0x02)) - { - TPM3 [One] = PPRQ /* \_SB_.PCI0.TPM_.PPRQ */ - TPM3 [0x02] = PPRM /* \_SB_.PCI0.TPM_.PPRM */ - Return (TPM3) /* \_SB_.PCI0.TPM_.TPM3 */ - } - } - - If ((Arg2 == 0x04)) - { - Return (0x02) - } - - If ((Arg2 == 0x05)) - { - TPM3 [One] = LPPR /* \_SB_.PCI0.TPM_.LPPR */ - TPM3 [0x02] = PPRP /* \_SB_.PCI0.TPM_.PPRP */ - Return (TPM3) /* \_SB_.PCI0.TPM_.TPM3 */ - } - - If ((Arg2 == 0x06)) - { - Return (0x03) - } - - If ((Arg2 == 0x07)) - { - Local0 = DerefOf (Arg3 [Zero]) - Local1 = TPFN (Local0) - If (((Local1 & 0x07) == Zero)) - { - Return (One) - } - - If (((Local1 & 0x07) == 0x02)) - { - Return (0x03) - } - - If ((Arg1 == One)) - { - PPRQ = Local0 - PPRM = Zero - } - - If ((Arg1 == 0x02)) - { - PPRQ = Local0 - PPRM = DerefOf (Arg3 [One]) - } - - Return (Zero) - } - - If ((Arg2 == 0x08)) - { - Local0 = DerefOf (Arg3 [Zero]) - Local1 = TPFN (Local0) - Return ((Local1 & 0x07)) - } - - Return (Buffer (One) - { - 0x00 // . - }) - } - - If ((Arg0 == ToUUID ("376054ed-cc13-4675-901c-4756d7f2d45d"))) - { - If ((Arg2 == Zero)) - { - Return (Buffer (One) - { - 0x03 // . - }) - } - - If ((Arg2 == One)) - { - Local0 = DerefOf (Arg3 [Zero]) - MOVV = Local0 - Return (Zero) - } - } - } - } - } - } -} - diff --git a/tests/data/acpi/q35/DSDT.ipmibt.dsl b/tests/data/acpi/q35/DSDT.ipmibt.dsl deleted file mode 100644 index 63c1140a61..0000000000 --- a/tests/data/acpi/q35/DSDT.ipmibt.dsl +++ /dev/null @@ -1,3156 +0,0 @@ -/* - * 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/q35/DSDT.ipmibt, Tue Aug 4 11:14:15 2020 - * - * Original Table Header: - * Signature "DSDT" - * Length 0x00001E49 (7753) - * Revision 0x01 **** 32-bit table (V1), no 64-bit math support - * Checksum 0xDF - * 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 - } - - Method (DBUG, 1, NotSerialized) - { - ToHexString (Arg0, Local0) - ToBuffer (Local0, Local0) - Local1 = (SizeOf (Local0) - One) - Local2 = Zero - While ((Local2 < Local1)) - { - DBGB = DerefOf (Local0 [Local2]) - Local2++ - } - - DBGB = 0x0A - } - } - - Scope (_SB) - { - Device (PCI0) - { - Name (_HID, EisaId ("PNP0A08") /* PCI Express Bus */) // _HID: Hardware ID - Name (_CID, EisaId ("PNP0A03") /* PCI Bus */) // _CID: Compatible ID - Name (_ADR, Zero) // _ADR: Address - Name (_UID, Zero) // _UID: Unique ID - Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities - { - CreateDWordField (Arg3, Zero, CDW1) - If ((Arg0 == ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd766") /* PCI Host Bridge Device */)) - { - CreateDWordField (Arg3, 0x04, CDW2) - CreateDWordField (Arg3, 0x08, CDW3) - Local0 = CDW3 /* \_SB_.PCI0._OSC.CDW3 */ - Local0 &= 0x1F - If ((Arg1 != One)) - { - CDW1 |= 0x08 - } - - If ((CDW3 != Local0)) - { - CDW1 |= 0x10 - } - - CDW3 = Local0 - } - Else - { - CDW1 |= 0x04 - } - - Return (Arg3) - } - } - } - - Scope (_SB) - { - Device (HPET) - { - Name (_HID, EisaId ("PNP0103") /* HPET System Timer */) // _HID: Hardware ID - Name (_UID, Zero) // _UID: Unique ID - OperationRegion (HPTM, SystemMemory, 0xFED00000, 0x0400) - Field (HPTM, DWordAcc, Lock, Preserve) - { - VEND, 32, - PRD, 32 - } - - Method (_STA, 0, NotSerialized) // _STA: Status - { - Local0 = VEND /* \_SB_.HPET.VEND */ - Local1 = PRD /* \_SB_.HPET.PRD_ */ - Local0 >>= 0x10 - If (((Local0 == Zero) || (Local0 == 0xFFFF))) - { - Return (Zero) - } - - If (((Local1 == Zero) || (Local1 > 0x05F5E100))) - { - Return (Zero) - } - - Return (0x0F) - } - - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadOnly, - 0xFED00000, // Address Base - 0x00000400, // Address Length - ) - }) - } - } - - Scope (_SB.PCI0) - { - Device (ISA) - { - Name (_ADR, 0x001F0000) // _ADR: Address - OperationRegion (PIRQ, PCI_Config, 0x60, 0x0C) - } - } - - Scope (_SB.PCI0.ISA) - { - Device (MI1) - { - Name (_HID, EisaId ("IPI0001")) // _HID: Hardware ID - Name (_STR, "ipmi_bt") // _STR: Description String - Name (_UID, One) // _UID: Unique ID - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x00E4, // Range Minimum - 0x00E6, // Range Maximum - 0x01, // Alignment - 0x03, // Length - ) - IRQNoFlags () - {5} - }) - Name (_IFT, 0x03) // _IFT: IPMI Interface Type - Name (_SRV, 0x0200) // _SRV: IPMI Spec Revision - } - - Device (KBD) - { - Name (_HID, EisaId ("PNP0303") /* IBM Enhanced Keyboard (101/102-key, PS/2 Mouse) */) // _HID: Hardware ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0060, // Range Minimum - 0x0060, // Range Maximum - 0x01, // Alignment - 0x01, // Length - ) - IO (Decode16, - 0x0064, // Range Minimum - 0x0064, // Range Maximum - 0x01, // Alignment - 0x01, // Length - ) - IRQNoFlags () - {1} - }) - } - - Device (MOU) - { - Name (_HID, EisaId ("PNP0F13") /* PS/2 Mouse */) // _HID: Hardware ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IRQNoFlags () - {12} - }) - } - - Device (LPT1) - { - Name (_HID, EisaId ("PNP0400") /* Standard LPT Parallel Port */) // _HID: Hardware ID - Name (_UID, One) // _UID: Unique ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0378, // Range Minimum - 0x0378, // Range Maximum - 0x08, // Alignment - 0x08, // Length - ) - IRQNoFlags () - {7} - }) - } - - Device (COM1) - { - Name (_HID, EisaId ("PNP0501") /* 16550A-compatible COM Serial Port */) // _HID: Hardware ID - Name (_UID, One) // _UID: Unique ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x03F8, // Range Minimum - 0x03F8, // Range Maximum - 0x00, // Alignment - 0x08, // Length - ) - IRQNoFlags () - {4} - }) - } - - Device (RTC) - { - 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} - }) - } - } - - Name (PICF, Zero) - Method (_PIC, 1, NotSerialized) // _PIC: Interrupt Model - { - PICF = Arg0 - } - - Scope (_SB) - { - Scope (PCI0) - { - Name (PRTP, Package (0x80) - { - Package (0x04) - { - 0xFFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0xFFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0xFFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0xFFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - Zero, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - One, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - 0x02, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - 0x03, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - Zero, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - One, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - 0x02, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - 0x03, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - Zero, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - One, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - 0x02, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - 0x03, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - Zero, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - One, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - 0x02, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - 0x03, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - Zero, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - One, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - 0x02, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - 0x03, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - Zero, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - One, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - 0x02, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - 0x03, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - Zero, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - One, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - 0x02, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - 0x03, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - Zero, - LNKG, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - One, - LNKH, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - 0x02, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - 0x03, - LNKF, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - Zero, - LNKH, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - One, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - 0x02, - LNKF, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - 0x03, - LNKG, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - Zero, - LNKF, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - One, - LNKG, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - 0x02, - LNKH, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - 0x03, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - Zero, - LNKG, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - One, - LNKH, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - 0x02, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - 0x03, - LNKF, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - Zero, - LNKH, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - One, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - 0x02, - LNKF, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - 0x03, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - Zero, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - One, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - 0x02, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - 0x03, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - Zero, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - One, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - 0x02, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - 0x03, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - Zero, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - One, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - 0x02, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - 0x03, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - Zero, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - One, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - 0x02, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - 0x03, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - Zero, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - One, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - 0x02, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - 0x03, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - Zero, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - One, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - 0x02, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - 0x03, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - Zero, - LNKA, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - One, - LNKB, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - 0x02, - LNKC, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - 0x03, - LNKD, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - Zero, - LNKA, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - One, - LNKB, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - 0x02, - LNKC, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - 0x03, - LNKD, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - Zero, - LNKA, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - One, - LNKB, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - 0x02, - LNKC, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - 0x03, - LNKD, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - Zero, - LNKA, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - One, - LNKB, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - 0x02, - LNKC, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - 0x03, - LNKD, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - Zero, - LNKA, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - One, - LNKB, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - 0x02, - LNKC, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - 0x03, - LNKD, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - Zero, - LNKA, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - One, - LNKB, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - 0x02, - LNKC, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - 0x03, - LNKD, - Zero - } - }) - Name (PRTA, Package (0x80) - { - Package (0x04) - { - 0xFFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0xFFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0xFFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0xFFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - Zero, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - One, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - 0x02, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - 0x03, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - Zero, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - One, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - 0x02, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - 0x03, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - Zero, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - One, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - 0x02, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - 0x03, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - Zero, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - One, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - 0x02, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - 0x03, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - Zero, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - One, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - 0x02, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - 0x03, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - Zero, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - One, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - 0x02, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - 0x03, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - Zero, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - One, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - 0x02, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - 0x03, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - Zero, - GSIG, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - One, - GSIH, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - 0x02, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - 0x03, - GSIF, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - Zero, - GSIH, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - One, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - 0x02, - GSIF, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - 0x03, - GSIG, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - Zero, - GSIF, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - One, - GSIG, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - 0x02, - GSIH, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - 0x03, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - Zero, - GSIG, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - One, - GSIH, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - 0x02, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - 0x03, - GSIF, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - Zero, - GSIH, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - One, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - 0x02, - GSIF, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - 0x03, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - Zero, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - One, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - 0x02, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - 0x03, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - Zero, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - One, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - 0x02, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - 0x03, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - Zero, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - One, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - 0x02, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - 0x03, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - Zero, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - One, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - 0x02, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - 0x03, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - Zero, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - One, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - 0x02, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - 0x03, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - Zero, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - One, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - 0x02, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - 0x03, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - Zero, - GSIA, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - One, - GSIB, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - 0x02, - GSIC, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - 0x03, - GSID, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - Zero, - GSIA, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - One, - GSIB, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - 0x02, - GSIC, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - 0x03, - GSID, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - Zero, - GSIA, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - One, - GSIB, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - 0x02, - GSIC, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - 0x03, - GSID, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - Zero, - GSIA, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - One, - GSIB, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - 0x02, - GSIC, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - 0x03, - GSID, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - Zero, - GSIA, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - One, - GSIB, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - 0x02, - GSIC, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - 0x03, - GSID, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - Zero, - GSIA, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - One, - GSIB, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - 0x02, - GSIC, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - 0x03, - GSID, - Zero - } - }) - Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table - { - If ((PICF == Zero)) - { - Return (PRTP) /* \_SB_.PCI0.PRTP */ - } - Else - { - Return (PRTA) /* \_SB_.PCI0.PRTA */ - } - } - } - - Field (PCI0.ISA.PIRQ, ByteAcc, NoLock, Preserve) - { - PRQA, 8, - PRQB, 8, - PRQC, 8, - PRQD, 8, - Offset (0x08), - PRQE, 8, - PRQF, 8, - PRQG, 8, - PRQH, 8 - } - - Method (IQST, 1, NotSerialized) - { - If ((0x80 & Arg0)) - { - Return (0x09) - } - - Return (0x0B) - } - - Method (IQCR, 1, Serialized) - { - Name (PRR0, ResourceTemplate () - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, _Y00) - { - 0x00000000, - } - }) - CreateDWordField (PRR0, \_SB.IQCR._Y00._INT, PRRI) // _INT: Interrupts - PRRI = (Arg0 & 0x0F) - Return (PRR0) /* \_SB_.IQCR.PRR0 */ - } - - Device (LNKA) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, Zero) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQA)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQA |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQA)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQA = PRRI /* \_SB_.LNKA._SRS.PRRI */ - } - } - - Device (LNKB) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, One) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQB)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQB |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQB)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQB = PRRI /* \_SB_.LNKB._SRS.PRRI */ - } - } - - Device (LNKC) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x02) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQC)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQC |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQC)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQC = PRRI /* \_SB_.LNKC._SRS.PRRI */ - } - } - - Device (LNKD) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x03) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQD)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQD |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQD)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQD = PRRI /* \_SB_.LNKD._SRS.PRRI */ - } - } - - Device (LNKE) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x04) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQE)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQE |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQE)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQE = PRRI /* \_SB_.LNKE._SRS.PRRI */ - } - } - - Device (LNKF) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x05) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQF)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQF |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQF)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQF = PRRI /* \_SB_.LNKF._SRS.PRRI */ - } - } - - Device (LNKG) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x06) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQG)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQG |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQG)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQG = PRRI /* \_SB_.LNKG._SRS.PRRI */ - } - } - - Device (LNKH) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x07) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQH)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQH |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQH)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQH = PRRI /* \_SB_.LNKH._SRS.PRRI */ - } - } - - Device (GSIA) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x10) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000010, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000010, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSIB) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x11) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000011, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000011, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSIC) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x12) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000012, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000012, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSID) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x13) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000013, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000013, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSIE) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x14) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000014, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000014, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSIF) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x15) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000015, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000015, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSIG) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x16) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000016, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000016, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSIH) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x17) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000017, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000017, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - } - - Scope (_SB.PCI0) - { - Device (SMB0) - { - Name (_ADR, 0x001F0003) // _ADR: Address - } - } - - Scope (_SB) - { - Device (\_SB.PCI0.PRES) - { - Name (_HID, EisaId ("PNP0A06") /* Generic Container Device */) // _HID: Hardware ID - Name (_UID, "CPU Hotplug resources") // _UID: Unique ID - Mutex (CPLK, 0x00) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0CD8, // Range Minimum - 0x0CD8, // Range Maximum - 0x01, // Alignment - 0x0C, // Length - ) - }) - OperationRegion (PRST, SystemIO, 0x0CD8, 0x0C) - Field (PRST, ByteAcc, NoLock, WriteAsZeros) - { - Offset (0x04), - CPEN, 1, - CINS, 1, - CRMV, 1, - CEJ0, 1, - Offset (0x05), - CCMD, 8 - } - - Field (PRST, DWordAcc, NoLock, Preserve) - { - CSEL, 32, - Offset (0x08), - CDAT, 32 - } - - Method (_INI, 0, Serialized) // _INI: Initialize - { - CSEL = Zero - } - } - - Device (\_SB.CPUS) - { - Name (_HID, "ACPI0010" /* Processor Container Device */) // _HID: Hardware ID - Name (_CID, EisaId ("PNP0A05") /* Generic Container Device */) // _CID: Compatible ID - Method (CTFY, 2, NotSerialized) - { - If ((Arg0 == Zero)) - { - Notify (C000, Arg1) - } - } - - Method (CSTA, 1, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - \_SB.PCI0.PRES.CSEL = Arg0 - Local0 = Zero - If ((\_SB.PCI0.PRES.CPEN == One)) - { - Local0 = 0x0F - } - - Release (\_SB.PCI0.PRES.CPLK) - Return (Local0) - } - - Method (CEJ0, 1, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - \_SB.PCI0.PRES.CSEL = Arg0 - \_SB.PCI0.PRES.CEJ0 = One - Release (\_SB.PCI0.PRES.CPLK) - } - - Method (CSCN, 0, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - Local0 = One - While ((Local0 == One)) - { - Local0 = Zero - \_SB.PCI0.PRES.CCMD = Zero - If ((\_SB.PCI0.PRES.CINS == One)) - { - CTFY (\_SB.PCI0.PRES.CDAT, One) - \_SB.PCI0.PRES.CINS = One - Local0 = One - } - ElseIf ((\_SB.PCI0.PRES.CRMV == One)) - { - CTFY (\_SB.PCI0.PRES.CDAT, 0x03) - \_SB.PCI0.PRES.CRMV = One - Local0 = One - } - } - - Release (\_SB.PCI0.PRES.CPLK) - } - - Method (COST, 4, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - \_SB.PCI0.PRES.CSEL = Arg0 - \_SB.PCI0.PRES.CCMD = One - \_SB.PCI0.PRES.CDAT = Arg1 - \_SB.PCI0.PRES.CCMD = 0x02 - \_SB.PCI0.PRES.CDAT = Arg2 - Release (\_SB.PCI0.PRES.CPLK) - } - - Processor (C000, 0x00, 0x00000000, 0x00) - { - Method (_STA, 0, Serialized) // _STA: Status - { - Return (CSTA (Zero)) - } - - Name (_MAT, Buffer (0x08) // _MAT: Multiple APIC Table Entry - { - 0x00, 0x08, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 // ........ - }) - Method (_OST, 3, Serialized) // _OST: OSPM Status Indication - { - COST (Zero, Arg0, Arg1, Arg2) - } - } - } - } - - Method (\_GPE._E02, 0, NotSerialized) // _Exx: Edge-Triggered GPE, xx=0x00-0xFF - { - \_SB.CPUS.CSCN () - } - - Scope (_GPE) - { - Name (_HID, "ACPI0006" /* GPE Block Device */) // _HID: Hardware ID - } - - 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 - 0x01, // Alignment - 0x08, // Length - ) - WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, - 0x0000, // Granularity - 0x0000, // Range Minimum - 0x0CF7, // Range Maximum - 0x0000, // Translation Offset - 0x0CF8, // Length - ,, , TypeStatic, DenseTranslation) - WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, - 0x0000, // Granularity - 0x0D00, // Range Minimum - 0xFFFF, // Range Maximum - 0x0000, // Translation Offset - 0xF300, // Length - ,, , TypeStatic, DenseTranslation) - DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, - 0x00000000, // Granularity - 0x000A0000, // Range Minimum - 0x000BFFFF, // Range Maximum - 0x00000000, // Translation Offset - 0x00020000, // Length - ,, , AddressRangeMemory, TypeStatic) - DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, - 0x00000000, // Granularity - 0x08000000, // Range Minimum - 0xAFFFFFFF, // Range Maximum - 0x00000000, // Translation Offset - 0xA8000000, // Length - ,, , AddressRangeMemory, TypeStatic) - DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, - 0x00000000, // Granularity - 0xC0000000, // Range Minimum - 0xFEBFFFFF, // Range Maximum - 0x00000000, // Translation Offset - 0x3EC00000, // Length - ,, , AddressRangeMemory, TypeStatic) - QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, - 0x0000000000000000, // Granularity - 0x0000000100000000, // Range Minimum - 0x00000008FFFFFFFF, // Range Maximum - 0x0000000000000000, // Translation Offset - 0x0000000800000000, // Length - ,, , AddressRangeMemory, TypeStatic) - }) - 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, - 0x0620, // Range Minimum - 0x0620, // Range Maximum - 0x01, // Alignment - 0x10, // 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, - Zero - }) - Name (_S5, Package (0x04) // _S5_: S5 System State - { - Zero, - Zero, - Zero, - Zero - }) - } - - Scope (\_SB.PCI0) - { - Device (FWCF) - { - Name (_HID, "QEMU0002") // _HID: Hardware ID - Name (_STA, 0x0B) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0510, // Range Minimum - 0x0510, // Range Maximum - 0x01, // Alignment - 0x0C, // Length - ) - }) - } - } - - Scope (\_SB) - { - Scope (PCI0) - { - Device (S00) - { - Name (_ADR, Zero) // _ADR: Address - } - - Device (S08) - { - 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) - { - } - } - } -} - diff --git a/tests/data/acpi/q35/DSDT.memhp.dsl b/tests/data/acpi/q35/DSDT.memhp.dsl deleted file mode 100644 index 18cea090e6..0000000000 --- a/tests/data/acpi/q35/DSDT.memhp.dsl +++ /dev/null @@ -1,3442 +0,0 @@ -/* - * 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/q35/DSDT.memhp, Tue Aug 4 11:14:15 2020 - * - * Original Table Header: - * Signature "DSDT" - * Length 0x0000234D (9037) - * Revision 0x01 **** 32-bit table (V1), no 64-bit math support - * Checksum 0x9D - * 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 - } - - Method (DBUG, 1, NotSerialized) - { - ToHexString (Arg0, Local0) - ToBuffer (Local0, Local0) - Local1 = (SizeOf (Local0) - One) - Local2 = Zero - While ((Local2 < Local1)) - { - DBGB = DerefOf (Local0 [Local2]) - Local2++ - } - - DBGB = 0x0A - } - } - - Scope (_SB) - { - Device (PCI0) - { - Name (_HID, EisaId ("PNP0A08") /* PCI Express Bus */) // _HID: Hardware ID - Name (_CID, EisaId ("PNP0A03") /* PCI Bus */) // _CID: Compatible ID - Name (_ADR, Zero) // _ADR: Address - Name (_UID, Zero) // _UID: Unique ID - Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities - { - CreateDWordField (Arg3, Zero, CDW1) - If ((Arg0 == ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd766") /* PCI Host Bridge Device */)) - { - CreateDWordField (Arg3, 0x04, CDW2) - CreateDWordField (Arg3, 0x08, CDW3) - Local0 = CDW3 /* \_SB_.PCI0._OSC.CDW3 */ - Local0 &= 0x1F - If ((Arg1 != One)) - { - CDW1 |= 0x08 - } - - If ((CDW3 != Local0)) - { - CDW1 |= 0x10 - } - - CDW3 = Local0 - } - Else - { - CDW1 |= 0x04 - } - - Return (Arg3) - } - } - } - - Scope (_SB) - { - Device (HPET) - { - Name (_HID, EisaId ("PNP0103") /* HPET System Timer */) // _HID: Hardware ID - Name (_UID, Zero) // _UID: Unique ID - OperationRegion (HPTM, SystemMemory, 0xFED00000, 0x0400) - Field (HPTM, DWordAcc, Lock, Preserve) - { - VEND, 32, - PRD, 32 - } - - Method (_STA, 0, NotSerialized) // _STA: Status - { - Local0 = VEND /* \_SB_.HPET.VEND */ - Local1 = PRD /* \_SB_.HPET.PRD_ */ - Local0 >>= 0x10 - If (((Local0 == Zero) || (Local0 == 0xFFFF))) - { - Return (Zero) - } - - If (((Local1 == Zero) || (Local1 > 0x05F5E100))) - { - Return (Zero) - } - - Return (0x0F) - } - - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadOnly, - 0xFED00000, // Address Base - 0x00000400, // Address Length - ) - }) - } - } - - Scope (_SB.PCI0) - { - Device (ISA) - { - Name (_ADR, 0x001F0000) // _ADR: Address - OperationRegion (PIRQ, PCI_Config, 0x60, 0x0C) - } - } - - Scope (_SB.PCI0.ISA) - { - Device (KBD) - { - Name (_HID, EisaId ("PNP0303") /* IBM Enhanced Keyboard (101/102-key, PS/2 Mouse) */) // _HID: Hardware ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0060, // Range Minimum - 0x0060, // Range Maximum - 0x01, // Alignment - 0x01, // Length - ) - IO (Decode16, - 0x0064, // Range Minimum - 0x0064, // Range Maximum - 0x01, // Alignment - 0x01, // Length - ) - IRQNoFlags () - {1} - }) - } - - Device (MOU) - { - Name (_HID, EisaId ("PNP0F13") /* PS/2 Mouse */) // _HID: Hardware ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IRQNoFlags () - {12} - }) - } - - Device (LPT1) - { - Name (_HID, EisaId ("PNP0400") /* Standard LPT Parallel Port */) // _HID: Hardware ID - Name (_UID, One) // _UID: Unique ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0378, // Range Minimum - 0x0378, // Range Maximum - 0x08, // Alignment - 0x08, // Length - ) - IRQNoFlags () - {7} - }) - } - - Device (COM1) - { - Name (_HID, EisaId ("PNP0501") /* 16550A-compatible COM Serial Port */) // _HID: Hardware ID - Name (_UID, One) // _UID: Unique ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x03F8, // Range Minimum - 0x03F8, // Range Maximum - 0x00, // Alignment - 0x08, // Length - ) - IRQNoFlags () - {4} - }) - } - - Device (RTC) - { - 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} - }) - } - } - - Name (PICF, Zero) - Method (_PIC, 1, NotSerialized) // _PIC: Interrupt Model - { - PICF = Arg0 - } - - Scope (_SB) - { - Scope (PCI0) - { - Name (PRTP, Package (0x80) - { - Package (0x04) - { - 0xFFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0xFFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0xFFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0xFFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - Zero, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - One, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - 0x02, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - 0x03, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - Zero, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - One, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - 0x02, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - 0x03, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - Zero, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - One, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - 0x02, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - 0x03, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - Zero, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - One, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - 0x02, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - 0x03, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - Zero, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - One, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - 0x02, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - 0x03, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - Zero, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - One, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - 0x02, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - 0x03, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - Zero, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - One, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - 0x02, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - 0x03, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - Zero, - LNKG, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - One, - LNKH, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - 0x02, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - 0x03, - LNKF, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - Zero, - LNKH, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - One, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - 0x02, - LNKF, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - 0x03, - LNKG, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - Zero, - LNKF, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - One, - LNKG, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - 0x02, - LNKH, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - 0x03, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - Zero, - LNKG, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - One, - LNKH, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - 0x02, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - 0x03, - LNKF, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - Zero, - LNKH, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - One, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - 0x02, - LNKF, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - 0x03, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - Zero, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - One, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - 0x02, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - 0x03, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - Zero, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - One, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - 0x02, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - 0x03, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - Zero, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - One, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - 0x02, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - 0x03, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - Zero, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - One, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - 0x02, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - 0x03, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - Zero, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - One, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - 0x02, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - 0x03, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - Zero, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - One, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - 0x02, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - 0x03, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - Zero, - LNKA, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - One, - LNKB, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - 0x02, - LNKC, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - 0x03, - LNKD, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - Zero, - LNKA, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - One, - LNKB, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - 0x02, - LNKC, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - 0x03, - LNKD, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - Zero, - LNKA, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - One, - LNKB, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - 0x02, - LNKC, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - 0x03, - LNKD, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - Zero, - LNKA, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - One, - LNKB, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - 0x02, - LNKC, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - 0x03, - LNKD, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - Zero, - LNKA, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - One, - LNKB, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - 0x02, - LNKC, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - 0x03, - LNKD, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - Zero, - LNKA, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - One, - LNKB, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - 0x02, - LNKC, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - 0x03, - LNKD, - Zero - } - }) - Name (PRTA, Package (0x80) - { - Package (0x04) - { - 0xFFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0xFFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0xFFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0xFFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - Zero, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - One, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - 0x02, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - 0x03, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - Zero, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - One, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - 0x02, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - 0x03, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - Zero, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - One, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - 0x02, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - 0x03, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - Zero, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - One, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - 0x02, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - 0x03, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - Zero, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - One, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - 0x02, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - 0x03, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - Zero, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - One, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - 0x02, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - 0x03, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - Zero, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - One, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - 0x02, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - 0x03, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - Zero, - GSIG, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - One, - GSIH, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - 0x02, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - 0x03, - GSIF, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - Zero, - GSIH, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - One, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - 0x02, - GSIF, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - 0x03, - GSIG, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - Zero, - GSIF, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - One, - GSIG, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - 0x02, - GSIH, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - 0x03, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - Zero, - GSIG, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - One, - GSIH, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - 0x02, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - 0x03, - GSIF, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - Zero, - GSIH, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - One, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - 0x02, - GSIF, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - 0x03, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - Zero, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - One, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - 0x02, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - 0x03, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - Zero, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - One, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - 0x02, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - 0x03, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - Zero, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - One, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - 0x02, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - 0x03, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - Zero, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - One, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - 0x02, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - 0x03, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - Zero, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - One, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - 0x02, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - 0x03, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - Zero, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - One, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - 0x02, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - 0x03, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - Zero, - GSIA, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - One, - GSIB, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - 0x02, - GSIC, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - 0x03, - GSID, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - Zero, - GSIA, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - One, - GSIB, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - 0x02, - GSIC, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - 0x03, - GSID, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - Zero, - GSIA, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - One, - GSIB, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - 0x02, - GSIC, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - 0x03, - GSID, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - Zero, - GSIA, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - One, - GSIB, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - 0x02, - GSIC, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - 0x03, - GSID, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - Zero, - GSIA, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - One, - GSIB, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - 0x02, - GSIC, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - 0x03, - GSID, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - Zero, - GSIA, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - One, - GSIB, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - 0x02, - GSIC, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - 0x03, - GSID, - Zero - } - }) - Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table - { - If ((PICF == Zero)) - { - Return (PRTP) /* \_SB_.PCI0.PRTP */ - } - Else - { - Return (PRTA) /* \_SB_.PCI0.PRTA */ - } - } - } - - Field (PCI0.ISA.PIRQ, ByteAcc, NoLock, Preserve) - { - PRQA, 8, - PRQB, 8, - PRQC, 8, - PRQD, 8, - Offset (0x08), - PRQE, 8, - PRQF, 8, - PRQG, 8, - PRQH, 8 - } - - Method (IQST, 1, NotSerialized) - { - If ((0x80 & Arg0)) - { - Return (0x09) - } - - Return (0x0B) - } - - Method (IQCR, 1, Serialized) - { - Name (PRR0, ResourceTemplate () - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, _Y00) - { - 0x00000000, - } - }) - CreateDWordField (PRR0, \_SB.IQCR._Y00._INT, PRRI) // _INT: Interrupts - PRRI = (Arg0 & 0x0F) - Return (PRR0) /* \_SB_.IQCR.PRR0 */ - } - - Device (LNKA) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, Zero) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQA)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQA |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQA)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQA = PRRI /* \_SB_.LNKA._SRS.PRRI */ - } - } - - Device (LNKB) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, One) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQB)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQB |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQB)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQB = PRRI /* \_SB_.LNKB._SRS.PRRI */ - } - } - - Device (LNKC) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x02) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQC)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQC |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQC)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQC = PRRI /* \_SB_.LNKC._SRS.PRRI */ - } - } - - Device (LNKD) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x03) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQD)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQD |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQD)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQD = PRRI /* \_SB_.LNKD._SRS.PRRI */ - } - } - - Device (LNKE) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x04) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQE)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQE |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQE)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQE = PRRI /* \_SB_.LNKE._SRS.PRRI */ - } - } - - Device (LNKF) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x05) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQF)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQF |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQF)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQF = PRRI /* \_SB_.LNKF._SRS.PRRI */ - } - } - - Device (LNKG) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x06) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQG)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQG |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQG)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQG = PRRI /* \_SB_.LNKG._SRS.PRRI */ - } - } - - Device (LNKH) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x07) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQH)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQH |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQH)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQH = PRRI /* \_SB_.LNKH._SRS.PRRI */ - } - } - - Device (GSIA) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x10) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000010, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000010, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSIB) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x11) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000011, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000011, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSIC) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x12) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000012, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000012, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSID) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x13) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000013, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000013, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSIE) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x14) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000014, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000014, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSIF) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x15) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000015, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000015, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSIG) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x16) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000016, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000016, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSIH) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x17) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000017, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000017, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - } - - Scope (_SB.PCI0) - { - Device (SMB0) - { - Name (_ADR, 0x001F0003) // _ADR: Address - } - } - - Scope (_SB) - { - Device (\_SB.PCI0.PRES) - { - Name (_HID, EisaId ("PNP0A06") /* Generic Container Device */) // _HID: Hardware ID - Name (_UID, "CPU Hotplug resources") // _UID: Unique ID - Mutex (CPLK, 0x00) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0CD8, // Range Minimum - 0x0CD8, // Range Maximum - 0x01, // Alignment - 0x0C, // Length - ) - }) - OperationRegion (PRST, SystemIO, 0x0CD8, 0x0C) - Field (PRST, ByteAcc, NoLock, WriteAsZeros) - { - Offset (0x04), - CPEN, 1, - CINS, 1, - CRMV, 1, - CEJ0, 1, - Offset (0x05), - CCMD, 8 - } - - Field (PRST, DWordAcc, NoLock, Preserve) - { - CSEL, 32, - Offset (0x08), - CDAT, 32 - } - - Method (_INI, 0, Serialized) // _INI: Initialize - { - CSEL = Zero - } - } - - Device (\_SB.CPUS) - { - Name (_HID, "ACPI0010" /* Processor Container Device */) // _HID: Hardware ID - Name (_CID, EisaId ("PNP0A05") /* Generic Container Device */) // _CID: Compatible ID - Method (CTFY, 2, NotSerialized) - { - If ((Arg0 == Zero)) - { - Notify (C000, Arg1) - } - } - - Method (CSTA, 1, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - \_SB.PCI0.PRES.CSEL = Arg0 - Local0 = Zero - If ((\_SB.PCI0.PRES.CPEN == One)) - { - Local0 = 0x0F - } - - Release (\_SB.PCI0.PRES.CPLK) - Return (Local0) - } - - Method (CEJ0, 1, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - \_SB.PCI0.PRES.CSEL = Arg0 - \_SB.PCI0.PRES.CEJ0 = One - Release (\_SB.PCI0.PRES.CPLK) - } - - Method (CSCN, 0, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - Local0 = One - While ((Local0 == One)) - { - Local0 = Zero - \_SB.PCI0.PRES.CCMD = Zero - If ((\_SB.PCI0.PRES.CINS == One)) - { - CTFY (\_SB.PCI0.PRES.CDAT, One) - \_SB.PCI0.PRES.CINS = One - Local0 = One - } - ElseIf ((\_SB.PCI0.PRES.CRMV == One)) - { - CTFY (\_SB.PCI0.PRES.CDAT, 0x03) - \_SB.PCI0.PRES.CRMV = One - Local0 = One - } - } - - Release (\_SB.PCI0.PRES.CPLK) - } - - Method (COST, 4, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - \_SB.PCI0.PRES.CSEL = Arg0 - \_SB.PCI0.PRES.CCMD = One - \_SB.PCI0.PRES.CDAT = Arg1 - \_SB.PCI0.PRES.CCMD = 0x02 - \_SB.PCI0.PRES.CDAT = Arg2 - Release (\_SB.PCI0.PRES.CPLK) - } - - Processor (C000, 0x00, 0x00000000, 0x00) - { - Method (_STA, 0, Serialized) // _STA: Status - { - Return (CSTA (Zero)) - } - - Name (_MAT, Buffer (0x08) // _MAT: Multiple APIC Table Entry - { - 0x00, 0x08, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 // ........ - }) - Method (_OST, 3, Serialized) // _OST: OSPM Status Indication - { - COST (Zero, Arg0, Arg1, Arg2) - } - - Name (_PXM, Zero) // _PXM: Device Proximity - } - } - } - - Method (\_GPE._E02, 0, NotSerialized) // _Exx: Edge-Triggered GPE, xx=0x00-0xFF - { - \_SB.CPUS.CSCN () - } - - Device (\_SB.PCI0.MHPD) - { - Name (_HID, "PNP0A06" /* Generic Container Device */) // _HID: Hardware ID - Name (_UID, "Memory hotplug resources") // _UID: Unique ID - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0A00, // Range Minimum - 0x0A00, // Range Maximum - 0x00, // Alignment - 0x18, // Length - ) - }) - OperationRegion (HPMR, SystemIO, 0x0A00, 0x18) - } - - Device (\_SB.MHPC) - { - Name (_HID, "PNP0A06" /* Generic Container Device */) // _HID: Hardware ID - Name (_UID, "DIMM devices") // _UID: Unique ID - Name (MDNR, 0x03) - Field (\_SB.PCI0.MHPD.HPMR, DWordAcc, NoLock, Preserve) - { - MRBL, 32, - MRBH, 32, - MRLL, 32, - MRLH, 32, - MPX, 32 - } - - Field (\_SB.PCI0.MHPD.HPMR, ByteAcc, NoLock, WriteAsZeros) - { - Offset (0x14), - MES, 1, - MINS, 1, - MRMV, 1, - MEJ, 1 - } - - Field (\_SB.PCI0.MHPD.HPMR, DWordAcc, NoLock, Preserve) - { - MSEL, 32, - MOEV, 32, - MOSC, 32 - } - - Method (_STA, 0, NotSerialized) // _STA: Status - { - If ((MDNR == Zero)) - { - Return (Zero) - } - - Return (0x0B) - } - - Mutex (MLCK, 0x00) - Method (MSCN, 0, NotSerialized) - { - If ((MDNR == Zero)) - { - Return (Zero) - } - - Local0 = Zero - Acquire (MLCK, 0xFFFF) - While ((Local0 < MDNR)) - { - MSEL = Local0 - If ((MINS == One)) - { - MTFY (Local0, One) - MINS = One - } - ElseIf ((MRMV == One)) - { - MTFY (Local0, 0x03) - MRMV = One - } - - Local0 += One - } - - Release (MLCK) - Return (One) - } - - Method (MRST, 1, NotSerialized) - { - Local0 = Zero - Acquire (MLCK, 0xFFFF) - MSEL = ToInteger (Arg0) - If ((MES == One)) - { - Local0 = 0x0F - } - - Release (MLCK) - Return (Local0) - } - - Method (MCRS, 1, Serialized) - { - Acquire (MLCK, 0xFFFF) - MSEL = ToInteger (Arg0) - Name (MR64, ResourceTemplate () - { - QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, - 0x0000000000000000, // Granularity - 0x0000000000000000, // Range Minimum - 0xFFFFFFFFFFFFFFFE, // Range Maximum - 0x0000000000000000, // Translation Offset - 0xFFFFFFFFFFFFFFFF, // Length - ,, _Y01, AddressRangeMemory, TypeStatic) - }) - CreateDWordField (MR64, \_SB.MHPC.MCRS._Y01._MIN, MINL) // _MIN: Minimum Base Address - CreateDWordField (MR64, 0x12, MINH) - CreateDWordField (MR64, \_SB.MHPC.MCRS._Y01._LEN, LENL) // _LEN: Length - CreateDWordField (MR64, 0x2A, LENH) - CreateDWordField (MR64, \_SB.MHPC.MCRS._Y01._MAX, MAXL) // _MAX: Maximum Base Address - CreateDWordField (MR64, 0x1A, MAXH) - MINH = MRBH /* \_SB_.MHPC.MRBH */ - MINL = MRBL /* \_SB_.MHPC.MRBL */ - LENH = MRLH /* \_SB_.MHPC.MRLH */ - LENL = MRLL /* \_SB_.MHPC.MRLL */ - MAXL = (MINL + LENL) /* \_SB_.MHPC.MCRS.LENL */ - MAXH = (MINH + LENH) /* \_SB_.MHPC.MCRS.LENH */ - If ((MAXL < MINL)) - { - MAXH += One - } - - If ((MAXL < One)) - { - MAXH -= One - } - - MAXL -= One - If ((MAXH == Zero)) - { - Name (MR32, ResourceTemplate () - { - DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, - 0x00000000, // Granularity - 0x00000000, // Range Minimum - 0xFFFFFFFE, // Range Maximum - 0x00000000, // Translation Offset - 0xFFFFFFFF, // Length - ,, _Y02, AddressRangeMemory, TypeStatic) - }) - CreateDWordField (MR32, \_SB.MHPC.MCRS._Y02._MIN, MIN) // _MIN: Minimum Base Address - CreateDWordField (MR32, \_SB.MHPC.MCRS._Y02._MAX, MAX) // _MAX: Maximum Base Address - CreateDWordField (MR32, \_SB.MHPC.MCRS._Y02._LEN, LEN) // _LEN: Length - MIN = MINL /* \_SB_.MHPC.MCRS.MINL */ - MAX = MAXL /* \_SB_.MHPC.MCRS.MAXL */ - LEN = LENL /* \_SB_.MHPC.MCRS.LENL */ - Release (MLCK) - Return (MR32) /* \_SB_.MHPC.MCRS.MR32 */ - } - - Release (MLCK) - Return (MR64) /* \_SB_.MHPC.MCRS.MR64 */ - } - - Method (MPXM, 1, NotSerialized) - { - Acquire (MLCK, 0xFFFF) - MSEL = ToInteger (Arg0) - Local0 = MPX /* \_SB_.MHPC.MPX_ */ - Release (MLCK) - Return (Local0) - } - - Method (MOST, 4, NotSerialized) - { - Acquire (MLCK, 0xFFFF) - MSEL = ToInteger (Arg0) - MOEV = Arg1 - MOSC = Arg2 - Release (MLCK) - } - - Method (MEJ0, 2, NotSerialized) - { - Acquire (MLCK, 0xFFFF) - MSEL = ToInteger (Arg0) - MEJ = One - Release (MLCK) - } - - Device (MP00) - { - Name (_UID, "0x00") // _UID: Unique ID - Name (_HID, EisaId ("PNP0C80") /* Memory Device */) // _HID: Hardware ID - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (MCRS (_UID)) - } - - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (MRST (_UID)) - } - - Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity - { - Return (MPXM (_UID)) - } - - Method (_OST, 3, NotSerialized) // _OST: OSPM Status Indication - { - MOST (_UID, Arg0, Arg1, Arg2) - } - - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device, x=0-9 - { - MEJ0 (_UID, Arg0) - } - } - - Device (MP01) - { - Name (_UID, "0x01") // _UID: Unique ID - Name (_HID, EisaId ("PNP0C80") /* Memory Device */) // _HID: Hardware ID - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (MCRS (_UID)) - } - - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (MRST (_UID)) - } - - Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity - { - Return (MPXM (_UID)) - } - - Method (_OST, 3, NotSerialized) // _OST: OSPM Status Indication - { - MOST (_UID, Arg0, Arg1, Arg2) - } - - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device, x=0-9 - { - MEJ0 (_UID, Arg0) - } - } - - Device (MP02) - { - Name (_UID, "0x02") // _UID: Unique ID - Name (_HID, EisaId ("PNP0C80") /* Memory Device */) // _HID: Hardware ID - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (MCRS (_UID)) - } - - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (MRST (_UID)) - } - - Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity - { - Return (MPXM (_UID)) - } - - Method (_OST, 3, NotSerialized) // _OST: OSPM Status Indication - { - MOST (_UID, Arg0, Arg1, Arg2) - } - - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device, x=0-9 - { - MEJ0 (_UID, Arg0) - } - } - - Method (MTFY, 2, NotSerialized) - { - If ((Arg0 == Zero)) - { - Notify (MP00, Arg1) - } - - If ((Arg0 == One)) - { - Notify (MP01, Arg1) - } - - If ((Arg0 == 0x02)) - { - Notify (MP02, Arg1) - } - } - } - - Method (\_GPE._E03, 0, NotSerialized) // _Exx: Edge-Triggered GPE, xx=0x00-0xFF - { - \_SB.MHPC.MSCN () - } - - Scope (_GPE) - { - Name (_HID, "ACPI0006" /* GPE Block Device */) // _HID: Hardware ID - } - - 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 - 0x01, // Alignment - 0x08, // Length - ) - WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, - 0x0000, // Granularity - 0x0000, // Range Minimum - 0x0CF7, // Range Maximum - 0x0000, // Translation Offset - 0x0CF8, // Length - ,, , TypeStatic, DenseTranslation) - WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, - 0x0000, // Granularity - 0x0D00, // Range Minimum - 0xFFFF, // Range Maximum - 0x0000, // Translation Offset - 0xF300, // Length - ,, , TypeStatic, DenseTranslation) - DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, - 0x00000000, // Granularity - 0x000A0000, // Range Minimum - 0x000BFFFF, // Range Maximum - 0x00000000, // Translation Offset - 0x00020000, // Length - ,, , AddressRangeMemory, TypeStatic) - DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, - 0x00000000, // Granularity - 0x08000000, // Range Minimum - 0xAFFFFFFF, // Range Maximum - 0x00000000, // Translation Offset - 0xA8000000, // Length - ,, , AddressRangeMemory, TypeStatic) - DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, - 0x00000000, // Granularity - 0xC0000000, // Range Minimum - 0xFEBFFFFF, // Range Maximum - 0x00000000, // Translation Offset - 0x3EC00000, // Length - ,, , AddressRangeMemory, TypeStatic) - QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, - 0x0000000000000000, // Granularity - 0x0000000200000000, // Range Minimum - 0x00000009FFFFFFFF, // Range Maximum - 0x0000000000000000, // Translation Offset - 0x0000000800000000, // Length - ,, , AddressRangeMemory, TypeStatic) - }) - 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, - 0x0620, // Range Minimum - 0x0620, // Range Maximum - 0x01, // Alignment - 0x10, // 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, - Zero - }) - Name (_S5, Package (0x04) // _S5_: S5 System State - { - Zero, - Zero, - Zero, - Zero - }) - } - - Scope (\_SB.PCI0) - { - Device (FWCF) - { - Name (_HID, "QEMU0002") // _HID: Hardware ID - Name (_STA, 0x0B) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0510, // Range Minimum - 0x0510, // Range Maximum - 0x01, // Alignment - 0x0C, // Length - ) - }) - } - } - - Scope (\_SB) - { - Scope (PCI0) - { - Device (S00) - { - Name (_ADR, Zero) // _ADR: Address - } - - Device (S08) - { - 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) - { - } - } - } -} - diff --git a/tests/data/acpi/q35/DSDT.mmio64.dsl b/tests/data/acpi/q35/DSDT.mmio64.dsl deleted file mode 100644 index a724c886e8..0000000000 --- a/tests/data/acpi/q35/DSDT.mmio64.dsl +++ /dev/null @@ -1,3377 +0,0 @@ -/* - * 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/q35/DSDT.mmio64, Tue Aug 4 11:14:15 2020 - * - * Original Table Header: - * Signature "DSDT" - * Length 0x00002268 (8808) - * Revision 0x01 **** 32-bit table (V1), no 64-bit math support - * Checksum 0x59 - * 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 - } - - Method (DBUG, 1, NotSerialized) - { - ToHexString (Arg0, Local0) - ToBuffer (Local0, Local0) - Local1 = (SizeOf (Local0) - One) - Local2 = Zero - While ((Local2 < Local1)) - { - DBGB = DerefOf (Local0 [Local2]) - Local2++ - } - - DBGB = 0x0A - } - } - - Scope (_SB) - { - Device (PCI0) - { - Name (_HID, EisaId ("PNP0A08") /* PCI Express Bus */) // _HID: Hardware ID - Name (_CID, EisaId ("PNP0A03") /* PCI Bus */) // _CID: Compatible ID - Name (_ADR, Zero) // _ADR: Address - Name (_UID, Zero) // _UID: Unique ID - Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities - { - CreateDWordField (Arg3, Zero, CDW1) - If ((Arg0 == ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd766") /* PCI Host Bridge Device */)) - { - CreateDWordField (Arg3, 0x04, CDW2) - CreateDWordField (Arg3, 0x08, CDW3) - Local0 = CDW3 /* \_SB_.PCI0._OSC.CDW3 */ - Local0 &= 0x1F - If ((Arg1 != One)) - { - CDW1 |= 0x08 - } - - If ((CDW3 != Local0)) - { - CDW1 |= 0x10 - } - - CDW3 = Local0 - } - Else - { - CDW1 |= 0x04 - } - - Return (Arg3) - } - } - } - - Scope (_SB) - { - Device (HPET) - { - Name (_HID, EisaId ("PNP0103") /* HPET System Timer */) // _HID: Hardware ID - Name (_UID, Zero) // _UID: Unique ID - OperationRegion (HPTM, SystemMemory, 0xFED00000, 0x0400) - Field (HPTM, DWordAcc, Lock, Preserve) - { - VEND, 32, - PRD, 32 - } - - Method (_STA, 0, NotSerialized) // _STA: Status - { - Local0 = VEND /* \_SB_.HPET.VEND */ - Local1 = PRD /* \_SB_.HPET.PRD_ */ - Local0 >>= 0x10 - If (((Local0 == Zero) || (Local0 == 0xFFFF))) - { - Return (Zero) - } - - If (((Local1 == Zero) || (Local1 > 0x05F5E100))) - { - Return (Zero) - } - - Return (0x0F) - } - - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadOnly, - 0xFED00000, // Address Base - 0x00000400, // Address Length - ) - }) - } - } - - Scope (_SB.PCI0) - { - Device (ISA) - { - Name (_ADR, 0x001F0000) // _ADR: Address - OperationRegion (PIRQ, PCI_Config, 0x60, 0x0C) - } - } - - Scope (_SB.PCI0.ISA) - { - Device (KBD) - { - Name (_HID, EisaId ("PNP0303") /* IBM Enhanced Keyboard (101/102-key, PS/2 Mouse) */) // _HID: Hardware ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0060, // Range Minimum - 0x0060, // Range Maximum - 0x01, // Alignment - 0x01, // Length - ) - IO (Decode16, - 0x0064, // Range Minimum - 0x0064, // Range Maximum - 0x01, // Alignment - 0x01, // Length - ) - IRQNoFlags () - {1} - }) - } - - Device (MOU) - { - Name (_HID, EisaId ("PNP0F13") /* PS/2 Mouse */) // _HID: Hardware ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IRQNoFlags () - {12} - }) - } - - Device (LPT1) - { - Name (_HID, EisaId ("PNP0400") /* Standard LPT Parallel Port */) // _HID: Hardware ID - Name (_UID, One) // _UID: Unique ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0378, // Range Minimum - 0x0378, // Range Maximum - 0x08, // Alignment - 0x08, // Length - ) - IRQNoFlags () - {7} - }) - } - - Device (COM1) - { - Name (_HID, EisaId ("PNP0501") /* 16550A-compatible COM Serial Port */) // _HID: Hardware ID - Name (_UID, One) // _UID: Unique ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x03F8, // Range Minimum - 0x03F8, // Range Maximum - 0x00, // Alignment - 0x08, // Length - ) - IRQNoFlags () - {4} - }) - } - - Device (RTC) - { - 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} - }) - } - } - - Name (PICF, Zero) - Method (_PIC, 1, NotSerialized) // _PIC: Interrupt Model - { - PICF = Arg0 - } - - Scope (_SB) - { - Scope (PCI0) - { - Name (PRTP, Package (0x80) - { - Package (0x04) - { - 0xFFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0xFFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0xFFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0xFFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - Zero, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - One, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - 0x02, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - 0x03, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - Zero, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - One, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - 0x02, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - 0x03, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - Zero, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - One, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - 0x02, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - 0x03, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - Zero, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - One, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - 0x02, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - 0x03, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - Zero, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - One, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - 0x02, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - 0x03, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - Zero, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - One, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - 0x02, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - 0x03, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - Zero, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - One, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - 0x02, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - 0x03, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - Zero, - LNKG, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - One, - LNKH, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - 0x02, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - 0x03, - LNKF, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - Zero, - LNKH, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - One, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - 0x02, - LNKF, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - 0x03, - LNKG, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - Zero, - LNKF, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - One, - LNKG, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - 0x02, - LNKH, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - 0x03, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - Zero, - LNKG, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - One, - LNKH, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - 0x02, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - 0x03, - LNKF, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - Zero, - LNKH, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - One, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - 0x02, - LNKF, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - 0x03, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - Zero, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - One, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - 0x02, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - 0x03, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - Zero, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - One, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - 0x02, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - 0x03, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - Zero, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - One, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - 0x02, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - 0x03, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - Zero, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - One, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - 0x02, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - 0x03, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - Zero, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - One, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - 0x02, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - 0x03, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - Zero, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - One, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - 0x02, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - 0x03, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - Zero, - LNKA, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - One, - LNKB, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - 0x02, - LNKC, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - 0x03, - LNKD, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - Zero, - LNKA, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - One, - LNKB, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - 0x02, - LNKC, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - 0x03, - LNKD, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - Zero, - LNKA, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - One, - LNKB, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - 0x02, - LNKC, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - 0x03, - LNKD, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - Zero, - LNKA, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - One, - LNKB, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - 0x02, - LNKC, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - 0x03, - LNKD, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - Zero, - LNKA, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - One, - LNKB, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - 0x02, - LNKC, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - 0x03, - LNKD, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - Zero, - LNKA, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - One, - LNKB, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - 0x02, - LNKC, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - 0x03, - LNKD, - Zero - } - }) - Name (PRTA, Package (0x80) - { - Package (0x04) - { - 0xFFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0xFFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0xFFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0xFFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - Zero, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - One, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - 0x02, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - 0x03, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - Zero, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - One, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - 0x02, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - 0x03, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - Zero, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - One, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - 0x02, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - 0x03, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - Zero, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - One, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - 0x02, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - 0x03, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - Zero, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - One, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - 0x02, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - 0x03, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - Zero, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - One, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - 0x02, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - 0x03, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - Zero, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - One, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - 0x02, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - 0x03, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - Zero, - GSIG, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - One, - GSIH, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - 0x02, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - 0x03, - GSIF, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - Zero, - GSIH, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - One, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - 0x02, - GSIF, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - 0x03, - GSIG, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - Zero, - GSIF, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - One, - GSIG, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - 0x02, - GSIH, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - 0x03, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - Zero, - GSIG, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - One, - GSIH, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - 0x02, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - 0x03, - GSIF, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - Zero, - GSIH, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - One, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - 0x02, - GSIF, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - 0x03, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - Zero, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - One, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - 0x02, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - 0x03, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - Zero, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - One, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - 0x02, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - 0x03, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - Zero, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - One, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - 0x02, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - 0x03, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - Zero, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - One, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - 0x02, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - 0x03, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - Zero, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - One, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - 0x02, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - 0x03, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - Zero, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - One, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - 0x02, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - 0x03, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - Zero, - GSIA, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - One, - GSIB, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - 0x02, - GSIC, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - 0x03, - GSID, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - Zero, - GSIA, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - One, - GSIB, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - 0x02, - GSIC, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - 0x03, - GSID, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - Zero, - GSIA, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - One, - GSIB, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - 0x02, - GSIC, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - 0x03, - GSID, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - Zero, - GSIA, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - One, - GSIB, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - 0x02, - GSIC, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - 0x03, - GSID, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - Zero, - GSIA, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - One, - GSIB, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - 0x02, - GSIC, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - 0x03, - GSID, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - Zero, - GSIA, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - One, - GSIB, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - 0x02, - GSIC, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - 0x03, - GSID, - Zero - } - }) - Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table - { - If ((PICF == Zero)) - { - Return (PRTP) /* \_SB_.PCI0.PRTP */ - } - Else - { - Return (PRTA) /* \_SB_.PCI0.PRTA */ - } - } - } - - Field (PCI0.ISA.PIRQ, ByteAcc, NoLock, Preserve) - { - PRQA, 8, - PRQB, 8, - PRQC, 8, - PRQD, 8, - Offset (0x08), - PRQE, 8, - PRQF, 8, - PRQG, 8, - PRQH, 8 - } - - Method (IQST, 1, NotSerialized) - { - If ((0x80 & Arg0)) - { - Return (0x09) - } - - Return (0x0B) - } - - Method (IQCR, 1, Serialized) - { - Name (PRR0, ResourceTemplate () - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, _Y00) - { - 0x00000000, - } - }) - CreateDWordField (PRR0, \_SB.IQCR._Y00._INT, PRRI) // _INT: Interrupts - PRRI = (Arg0 & 0x0F) - Return (PRR0) /* \_SB_.IQCR.PRR0 */ - } - - Device (LNKA) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, Zero) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQA)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQA |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQA)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQA = PRRI /* \_SB_.LNKA._SRS.PRRI */ - } - } - - Device (LNKB) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, One) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQB)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQB |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQB)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQB = PRRI /* \_SB_.LNKB._SRS.PRRI */ - } - } - - Device (LNKC) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x02) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQC)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQC |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQC)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQC = PRRI /* \_SB_.LNKC._SRS.PRRI */ - } - } - - Device (LNKD) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x03) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQD)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQD |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQD)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQD = PRRI /* \_SB_.LNKD._SRS.PRRI */ - } - } - - Device (LNKE) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x04) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQE)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQE |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQE)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQE = PRRI /* \_SB_.LNKE._SRS.PRRI */ - } - } - - Device (LNKF) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x05) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQF)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQF |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQF)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQF = PRRI /* \_SB_.LNKF._SRS.PRRI */ - } - } - - Device (LNKG) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x06) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQG)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQG |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQG)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQG = PRRI /* \_SB_.LNKG._SRS.PRRI */ - } - } - - Device (LNKH) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x07) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQH)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQH |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQH)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQH = PRRI /* \_SB_.LNKH._SRS.PRRI */ - } - } - - Device (GSIA) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x10) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000010, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000010, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSIB) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x11) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000011, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000011, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSIC) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x12) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000012, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000012, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSID) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x13) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000013, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000013, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSIE) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x14) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000014, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000014, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSIF) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x15) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000015, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000015, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSIG) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x16) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000016, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000016, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSIH) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x17) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000017, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000017, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - } - - Scope (_SB.PCI0) - { - Device (SMB0) - { - Name (_ADR, 0x001F0003) // _ADR: Address - } - } - - Scope (_SB) - { - Device (\_SB.PCI0.PRES) - { - Name (_HID, EisaId ("PNP0A06") /* Generic Container Device */) // _HID: Hardware ID - Name (_UID, "CPU Hotplug resources") // _UID: Unique ID - Mutex (CPLK, 0x00) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0CD8, // Range Minimum - 0x0CD8, // Range Maximum - 0x01, // Alignment - 0x0C, // Length - ) - }) - OperationRegion (PRST, SystemIO, 0x0CD8, 0x0C) - Field (PRST, ByteAcc, NoLock, WriteAsZeros) - { - Offset (0x04), - CPEN, 1, - CINS, 1, - CRMV, 1, - CEJ0, 1, - Offset (0x05), - CCMD, 8 - } - - Field (PRST, DWordAcc, NoLock, Preserve) - { - CSEL, 32, - Offset (0x08), - CDAT, 32 - } - - Method (_INI, 0, Serialized) // _INI: Initialize - { - CSEL = Zero - } - } - - Device (\_SB.CPUS) - { - Name (_HID, "ACPI0010" /* Processor Container Device */) // _HID: Hardware ID - Name (_CID, EisaId ("PNP0A05") /* Generic Container Device */) // _CID: Compatible ID - Method (CTFY, 2, NotSerialized) - { - If ((Arg0 == Zero)) - { - Notify (C000, Arg1) - } - } - - Method (CSTA, 1, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - \_SB.PCI0.PRES.CSEL = Arg0 - Local0 = Zero - If ((\_SB.PCI0.PRES.CPEN == One)) - { - Local0 = 0x0F - } - - Release (\_SB.PCI0.PRES.CPLK) - Return (Local0) - } - - Method (CEJ0, 1, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - \_SB.PCI0.PRES.CSEL = Arg0 - \_SB.PCI0.PRES.CEJ0 = One - Release (\_SB.PCI0.PRES.CPLK) - } - - Method (CSCN, 0, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - Local0 = One - While ((Local0 == One)) - { - Local0 = Zero - \_SB.PCI0.PRES.CCMD = Zero - If ((\_SB.PCI0.PRES.CINS == One)) - { - CTFY (\_SB.PCI0.PRES.CDAT, One) - \_SB.PCI0.PRES.CINS = One - Local0 = One - } - ElseIf ((\_SB.PCI0.PRES.CRMV == One)) - { - CTFY (\_SB.PCI0.PRES.CDAT, 0x03) - \_SB.PCI0.PRES.CRMV = One - Local0 = One - } - } - - Release (\_SB.PCI0.PRES.CPLK) - } - - Method (COST, 4, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - \_SB.PCI0.PRES.CSEL = Arg0 - \_SB.PCI0.PRES.CCMD = One - \_SB.PCI0.PRES.CDAT = Arg1 - \_SB.PCI0.PRES.CCMD = 0x02 - \_SB.PCI0.PRES.CDAT = Arg2 - Release (\_SB.PCI0.PRES.CPLK) - } - - Processor (C000, 0x00, 0x00000000, 0x00) - { - Method (_STA, 0, Serialized) // _STA: Status - { - Return (CSTA (Zero)) - } - - Name (_MAT, Buffer (0x08) // _MAT: Multiple APIC Table Entry - { - 0x00, 0x08, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 // ........ - }) - Method (_OST, 3, Serialized) // _OST: OSPM Status Indication - { - COST (Zero, Arg0, Arg1, Arg2) - } - - Name (_PXM, Zero) // _PXM: Device Proximity - } - } - } - - Method (\_GPE._E02, 0, NotSerialized) // _Exx: Edge-Triggered GPE, xx=0x00-0xFF - { - \_SB.CPUS.CSCN () - } - - Device (\_SB.PCI0.MHPD) - { - Name (_HID, "PNP0A06" /* Generic Container Device */) // _HID: Hardware ID - Name (_UID, "Memory hotplug resources") // _UID: Unique ID - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0A00, // Range Minimum - 0x0A00, // Range Maximum - 0x00, // Alignment - 0x18, // Length - ) - }) - OperationRegion (HPMR, SystemIO, 0x0A00, 0x18) - } - - Device (\_SB.MHPC) - { - Name (_HID, "PNP0A06" /* Generic Container Device */) // _HID: Hardware ID - Name (_UID, "DIMM devices") // _UID: Unique ID - Name (MDNR, One) - Field (\_SB.PCI0.MHPD.HPMR, DWordAcc, NoLock, Preserve) - { - MRBL, 32, - MRBH, 32, - MRLL, 32, - MRLH, 32, - MPX, 32 - } - - Field (\_SB.PCI0.MHPD.HPMR, ByteAcc, NoLock, WriteAsZeros) - { - Offset (0x14), - MES, 1, - MINS, 1, - MRMV, 1, - MEJ, 1 - } - - Field (\_SB.PCI0.MHPD.HPMR, DWordAcc, NoLock, Preserve) - { - MSEL, 32, - MOEV, 32, - MOSC, 32 - } - - Method (_STA, 0, NotSerialized) // _STA: Status - { - If ((MDNR == Zero)) - { - Return (Zero) - } - - Return (0x0B) - } - - Mutex (MLCK, 0x00) - Method (MSCN, 0, NotSerialized) - { - If ((MDNR == Zero)) - { - Return (Zero) - } - - Local0 = Zero - Acquire (MLCK, 0xFFFF) - While ((Local0 < MDNR)) - { - MSEL = Local0 - If ((MINS == One)) - { - MTFY (Local0, One) - MINS = One - } - ElseIf ((MRMV == One)) - { - MTFY (Local0, 0x03) - MRMV = One - } - - Local0 += One - } - - Release (MLCK) - Return (One) - } - - Method (MRST, 1, NotSerialized) - { - Local0 = Zero - Acquire (MLCK, 0xFFFF) - MSEL = ToInteger (Arg0) - If ((MES == One)) - { - Local0 = 0x0F - } - - Release (MLCK) - Return (Local0) - } - - Method (MCRS, 1, Serialized) - { - Acquire (MLCK, 0xFFFF) - MSEL = ToInteger (Arg0) - Name (MR64, ResourceTemplate () - { - QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, - 0x0000000000000000, // Granularity - 0x0000000000000000, // Range Minimum - 0xFFFFFFFFFFFFFFFE, // Range Maximum - 0x0000000000000000, // Translation Offset - 0xFFFFFFFFFFFFFFFF, // Length - ,, _Y01, AddressRangeMemory, TypeStatic) - }) - CreateDWordField (MR64, \_SB.MHPC.MCRS._Y01._MIN, MINL) // _MIN: Minimum Base Address - CreateDWordField (MR64, 0x12, MINH) - CreateDWordField (MR64, \_SB.MHPC.MCRS._Y01._LEN, LENL) // _LEN: Length - CreateDWordField (MR64, 0x2A, LENH) - CreateDWordField (MR64, \_SB.MHPC.MCRS._Y01._MAX, MAXL) // _MAX: Maximum Base Address - CreateDWordField (MR64, 0x1A, MAXH) - MINH = MRBH /* \_SB_.MHPC.MRBH */ - MINL = MRBL /* \_SB_.MHPC.MRBL */ - LENH = MRLH /* \_SB_.MHPC.MRLH */ - LENL = MRLL /* \_SB_.MHPC.MRLL */ - MAXL = (MINL + LENL) /* \_SB_.MHPC.MCRS.LENL */ - MAXH = (MINH + LENH) /* \_SB_.MHPC.MCRS.LENH */ - If ((MAXL < MINL)) - { - MAXH += One - } - - If ((MAXL < One)) - { - MAXH -= One - } - - MAXL -= One - If ((MAXH == Zero)) - { - Name (MR32, ResourceTemplate () - { - DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, - 0x00000000, // Granularity - 0x00000000, // Range Minimum - 0xFFFFFFFE, // Range Maximum - 0x00000000, // Translation Offset - 0xFFFFFFFF, // Length - ,, _Y02, AddressRangeMemory, TypeStatic) - }) - CreateDWordField (MR32, \_SB.MHPC.MCRS._Y02._MIN, MIN) // _MIN: Minimum Base Address - CreateDWordField (MR32, \_SB.MHPC.MCRS._Y02._MAX, MAX) // _MAX: Maximum Base Address - CreateDWordField (MR32, \_SB.MHPC.MCRS._Y02._LEN, LEN) // _LEN: Length - MIN = MINL /* \_SB_.MHPC.MCRS.MINL */ - MAX = MAXL /* \_SB_.MHPC.MCRS.MAXL */ - LEN = LENL /* \_SB_.MHPC.MCRS.LENL */ - Release (MLCK) - Return (MR32) /* \_SB_.MHPC.MCRS.MR32 */ - } - - Release (MLCK) - Return (MR64) /* \_SB_.MHPC.MCRS.MR64 */ - } - - Method (MPXM, 1, NotSerialized) - { - Acquire (MLCK, 0xFFFF) - MSEL = ToInteger (Arg0) - Local0 = MPX /* \_SB_.MHPC.MPX_ */ - Release (MLCK) - Return (Local0) - } - - Method (MOST, 4, NotSerialized) - { - Acquire (MLCK, 0xFFFF) - MSEL = ToInteger (Arg0) - MOEV = Arg1 - MOSC = Arg2 - Release (MLCK) - } - - Method (MEJ0, 2, NotSerialized) - { - Acquire (MLCK, 0xFFFF) - MSEL = ToInteger (Arg0) - MEJ = One - Release (MLCK) - } - - Device (MP00) - { - Name (_UID, "0x00") // _UID: Unique ID - Name (_HID, EisaId ("PNP0C80") /* Memory Device */) // _HID: Hardware ID - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (MCRS (_UID)) - } - - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (MRST (_UID)) - } - - Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity - { - Return (MPXM (_UID)) - } - - Method (_OST, 3, NotSerialized) // _OST: OSPM Status Indication - { - MOST (_UID, Arg0, Arg1, Arg2) - } - - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device, x=0-9 - { - MEJ0 (_UID, Arg0) - } - } - - Method (MTFY, 2, NotSerialized) - { - If ((Arg0 == Zero)) - { - Notify (MP00, Arg1) - } - } - } - - Method (\_GPE._E03, 0, NotSerialized) // _Exx: Edge-Triggered GPE, xx=0x00-0xFF - { - \_SB.MHPC.MSCN () - } - - Scope (_GPE) - { - Name (_HID, "ACPI0006" /* GPE Block Device */) // _HID: Hardware ID - } - - 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 - 0x01, // Alignment - 0x08, // Length - ) - WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, - 0x0000, // Granularity - 0x0000, // Range Minimum - 0x0CF7, // Range Maximum - 0x0000, // Translation Offset - 0x0CF8, // Length - ,, , TypeStatic, DenseTranslation) - WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, - 0x0000, // Granularity - 0x0D00, // Range Minimum - 0xFFFF, // Range Maximum - 0x0000, // Translation Offset - 0xF300, // Length - ,, , TypeStatic, DenseTranslation) - DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, - 0x00000000, // Granularity - 0x000A0000, // Range Minimum - 0x000BFFFF, // Range Maximum - 0x00000000, // Translation Offset - 0x00020000, // Length - ,, , AddressRangeMemory, TypeStatic) - DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, - 0x00000000, // Granularity - 0x08000000, // Range Minimum - 0xAFFFFFFF, // Range Maximum - 0x00000000, // Translation Offset - 0xA8000000, // Length - ,, , AddressRangeMemory, TypeStatic) - DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, - 0x00000000, // Granularity - 0xC0000000, // Range Minimum - 0xFEBFFFFF, // Range Maximum - 0x00000000, // Translation Offset - 0x3EC00000, // Length - ,, , AddressRangeMemory, TypeStatic) - QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, - 0x0000000000000000, // Granularity - 0x0000000200000000, // Range Minimum - 0x00000009FFFFFFFF, // Range Maximum - 0x0000000000000000, // Translation Offset - 0x0000000800000000, // Length - ,, , AddressRangeMemory, TypeStatic) - }) - 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, - 0x0620, // Range Minimum - 0x0620, // Range Maximum - 0x01, // Alignment - 0x10, // 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, - Zero - }) - Name (_S5, Package (0x04) // _S5_: S5 System State - { - Zero, - Zero, - Zero, - Zero - }) - } - - Scope (\_SB.PCI0) - { - Device (FWCF) - { - Name (_HID, "QEMU0002") // _HID: Hardware ID - Name (_STA, 0x0B) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0510, // Range Minimum - 0x0510, // Range Maximum - 0x01, // Alignment - 0x0C, // Length - ) - }) - } - } - - Scope (\_SB) - { - Scope (PCI0) - { - Device (S00) - { - Name (_ADR, Zero) // _ADR: Address - } - - Device (S08) - { - 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) - } - } - - Device (S10) - { - Name (_ADR, 0x00020000) // _ADR: Address - } - - Method (PCNT, 0, NotSerialized) - { - } - } - } -} - diff --git a/tests/data/acpi/q35/DSDT.numamem.dsl b/tests/data/acpi/q35/DSDT.numamem.dsl deleted file mode 100644 index e76de462f0..0000000000 --- a/tests/data/acpi/q35/DSDT.numamem.dsl +++ /dev/null @@ -1,3138 +0,0 @@ -/* - * 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/q35/DSDT.numamem, Tue Aug 4 11:14:15 2020 - * - * Original Table Header: - * Signature "DSDT" - * Length 0x00001E04 (7684) - * Revision 0x01 **** 32-bit table (V1), no 64-bit math support - * Checksum 0x55 - * 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 - } - - Method (DBUG, 1, NotSerialized) - { - ToHexString (Arg0, Local0) - ToBuffer (Local0, Local0) - Local1 = (SizeOf (Local0) - One) - Local2 = Zero - While ((Local2 < Local1)) - { - DBGB = DerefOf (Local0 [Local2]) - Local2++ - } - - DBGB = 0x0A - } - } - - Scope (_SB) - { - Device (PCI0) - { - Name (_HID, EisaId ("PNP0A08") /* PCI Express Bus */) // _HID: Hardware ID - Name (_CID, EisaId ("PNP0A03") /* PCI Bus */) // _CID: Compatible ID - Name (_ADR, Zero) // _ADR: Address - Name (_UID, Zero) // _UID: Unique ID - Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities - { - CreateDWordField (Arg3, Zero, CDW1) - If ((Arg0 == ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd766") /* PCI Host Bridge Device */)) - { - CreateDWordField (Arg3, 0x04, CDW2) - CreateDWordField (Arg3, 0x08, CDW3) - Local0 = CDW3 /* \_SB_.PCI0._OSC.CDW3 */ - Local0 &= 0x1F - If ((Arg1 != One)) - { - CDW1 |= 0x08 - } - - If ((CDW3 != Local0)) - { - CDW1 |= 0x10 - } - - CDW3 = Local0 - } - Else - { - CDW1 |= 0x04 - } - - Return (Arg3) - } - } - } - - Scope (_SB) - { - Device (HPET) - { - Name (_HID, EisaId ("PNP0103") /* HPET System Timer */) // _HID: Hardware ID - Name (_UID, Zero) // _UID: Unique ID - OperationRegion (HPTM, SystemMemory, 0xFED00000, 0x0400) - Field (HPTM, DWordAcc, Lock, Preserve) - { - VEND, 32, - PRD, 32 - } - - Method (_STA, 0, NotSerialized) // _STA: Status - { - Local0 = VEND /* \_SB_.HPET.VEND */ - Local1 = PRD /* \_SB_.HPET.PRD_ */ - Local0 >>= 0x10 - If (((Local0 == Zero) || (Local0 == 0xFFFF))) - { - Return (Zero) - } - - If (((Local1 == Zero) || (Local1 > 0x05F5E100))) - { - Return (Zero) - } - - Return (0x0F) - } - - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadOnly, - 0xFED00000, // Address Base - 0x00000400, // Address Length - ) - }) - } - } - - Scope (_SB.PCI0) - { - Device (ISA) - { - Name (_ADR, 0x001F0000) // _ADR: Address - OperationRegion (PIRQ, PCI_Config, 0x60, 0x0C) - } - } - - Scope (_SB.PCI0.ISA) - { - Device (KBD) - { - Name (_HID, EisaId ("PNP0303") /* IBM Enhanced Keyboard (101/102-key, PS/2 Mouse) */) // _HID: Hardware ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0060, // Range Minimum - 0x0060, // Range Maximum - 0x01, // Alignment - 0x01, // Length - ) - IO (Decode16, - 0x0064, // Range Minimum - 0x0064, // Range Maximum - 0x01, // Alignment - 0x01, // Length - ) - IRQNoFlags () - {1} - }) - } - - Device (MOU) - { - Name (_HID, EisaId ("PNP0F13") /* PS/2 Mouse */) // _HID: Hardware ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IRQNoFlags () - {12} - }) - } - - Device (LPT1) - { - Name (_HID, EisaId ("PNP0400") /* Standard LPT Parallel Port */) // _HID: Hardware ID - Name (_UID, One) // _UID: Unique ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0378, // Range Minimum - 0x0378, // Range Maximum - 0x08, // Alignment - 0x08, // Length - ) - IRQNoFlags () - {7} - }) - } - - Device (COM1) - { - Name (_HID, EisaId ("PNP0501") /* 16550A-compatible COM Serial Port */) // _HID: Hardware ID - Name (_UID, One) // _UID: Unique ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x03F8, // Range Minimum - 0x03F8, // Range Maximum - 0x00, // Alignment - 0x08, // Length - ) - IRQNoFlags () - {4} - }) - } - - Device (RTC) - { - 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} - }) - } - } - - Name (PICF, Zero) - Method (_PIC, 1, NotSerialized) // _PIC: Interrupt Model - { - PICF = Arg0 - } - - Scope (_SB) - { - Scope (PCI0) - { - Name (PRTP, Package (0x80) - { - Package (0x04) - { - 0xFFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0xFFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0xFFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0xFFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - Zero, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - One, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - 0x02, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - 0x03, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - Zero, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - One, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - 0x02, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - 0x03, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - Zero, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - One, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - 0x02, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - 0x03, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - Zero, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - One, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - 0x02, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - 0x03, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - Zero, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - One, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - 0x02, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - 0x03, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - Zero, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - One, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - 0x02, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - 0x03, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - Zero, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - One, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - 0x02, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - 0x03, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - Zero, - LNKG, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - One, - LNKH, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - 0x02, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - 0x03, - LNKF, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - Zero, - LNKH, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - One, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - 0x02, - LNKF, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - 0x03, - LNKG, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - Zero, - LNKF, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - One, - LNKG, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - 0x02, - LNKH, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - 0x03, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - Zero, - LNKG, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - One, - LNKH, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - 0x02, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - 0x03, - LNKF, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - Zero, - LNKH, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - One, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - 0x02, - LNKF, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - 0x03, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - Zero, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - One, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - 0x02, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - 0x03, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - Zero, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - One, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - 0x02, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - 0x03, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - Zero, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - One, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - 0x02, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - 0x03, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - Zero, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - One, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - 0x02, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - 0x03, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - Zero, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - One, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - 0x02, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - 0x03, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - Zero, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - One, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - 0x02, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - 0x03, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - Zero, - LNKA, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - One, - LNKB, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - 0x02, - LNKC, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - 0x03, - LNKD, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - Zero, - LNKA, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - One, - LNKB, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - 0x02, - LNKC, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - 0x03, - LNKD, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - Zero, - LNKA, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - One, - LNKB, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - 0x02, - LNKC, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - 0x03, - LNKD, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - Zero, - LNKA, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - One, - LNKB, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - 0x02, - LNKC, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - 0x03, - LNKD, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - Zero, - LNKA, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - One, - LNKB, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - 0x02, - LNKC, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - 0x03, - LNKD, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - Zero, - LNKA, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - One, - LNKB, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - 0x02, - LNKC, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - 0x03, - LNKD, - Zero - } - }) - Name (PRTA, Package (0x80) - { - Package (0x04) - { - 0xFFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0xFFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0xFFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0xFFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - Zero, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - One, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - 0x02, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - 0x03, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - Zero, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - One, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - 0x02, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - 0x03, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - Zero, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - One, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - 0x02, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - 0x03, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - Zero, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - One, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - 0x02, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - 0x03, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - Zero, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - One, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - 0x02, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - 0x03, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - Zero, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - One, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - 0x02, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - 0x03, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - Zero, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - One, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - 0x02, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - 0x03, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - Zero, - GSIG, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - One, - GSIH, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - 0x02, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - 0x03, - GSIF, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - Zero, - GSIH, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - One, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - 0x02, - GSIF, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - 0x03, - GSIG, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - Zero, - GSIF, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - One, - GSIG, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - 0x02, - GSIH, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - 0x03, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - Zero, - GSIG, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - One, - GSIH, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - 0x02, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - 0x03, - GSIF, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - Zero, - GSIH, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - One, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - 0x02, - GSIF, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - 0x03, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - Zero, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - One, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - 0x02, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - 0x03, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - Zero, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - One, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - 0x02, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - 0x03, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - Zero, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - One, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - 0x02, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - 0x03, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - Zero, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - One, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - 0x02, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - 0x03, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - Zero, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - One, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - 0x02, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - 0x03, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - Zero, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - One, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - 0x02, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - 0x03, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - Zero, - GSIA, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - One, - GSIB, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - 0x02, - GSIC, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - 0x03, - GSID, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - Zero, - GSIA, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - One, - GSIB, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - 0x02, - GSIC, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - 0x03, - GSID, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - Zero, - GSIA, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - One, - GSIB, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - 0x02, - GSIC, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - 0x03, - GSID, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - Zero, - GSIA, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - One, - GSIB, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - 0x02, - GSIC, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - 0x03, - GSID, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - Zero, - GSIA, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - One, - GSIB, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - 0x02, - GSIC, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - 0x03, - GSID, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - Zero, - GSIA, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - One, - GSIB, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - 0x02, - GSIC, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - 0x03, - GSID, - Zero - } - }) - Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table - { - If ((PICF == Zero)) - { - Return (PRTP) /* \_SB_.PCI0.PRTP */ - } - Else - { - Return (PRTA) /* \_SB_.PCI0.PRTA */ - } - } - } - - Field (PCI0.ISA.PIRQ, ByteAcc, NoLock, Preserve) - { - PRQA, 8, - PRQB, 8, - PRQC, 8, - PRQD, 8, - Offset (0x08), - PRQE, 8, - PRQF, 8, - PRQG, 8, - PRQH, 8 - } - - Method (IQST, 1, NotSerialized) - { - If ((0x80 & Arg0)) - { - Return (0x09) - } - - Return (0x0B) - } - - Method (IQCR, 1, Serialized) - { - Name (PRR0, ResourceTemplate () - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, _Y00) - { - 0x00000000, - } - }) - CreateDWordField (PRR0, \_SB.IQCR._Y00._INT, PRRI) // _INT: Interrupts - PRRI = (Arg0 & 0x0F) - Return (PRR0) /* \_SB_.IQCR.PRR0 */ - } - - Device (LNKA) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, Zero) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQA)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQA |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQA)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQA = PRRI /* \_SB_.LNKA._SRS.PRRI */ - } - } - - Device (LNKB) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, One) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQB)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQB |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQB)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQB = PRRI /* \_SB_.LNKB._SRS.PRRI */ - } - } - - Device (LNKC) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x02) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQC)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQC |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQC)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQC = PRRI /* \_SB_.LNKC._SRS.PRRI */ - } - } - - Device (LNKD) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x03) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQD)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQD |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQD)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQD = PRRI /* \_SB_.LNKD._SRS.PRRI */ - } - } - - Device (LNKE) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x04) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQE)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQE |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQE)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQE = PRRI /* \_SB_.LNKE._SRS.PRRI */ - } - } - - Device (LNKF) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x05) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQF)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQF |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQF)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQF = PRRI /* \_SB_.LNKF._SRS.PRRI */ - } - } - - Device (LNKG) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x06) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQG)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQG |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQG)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQG = PRRI /* \_SB_.LNKG._SRS.PRRI */ - } - } - - Device (LNKH) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x07) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQH)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQH |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQH)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQH = PRRI /* \_SB_.LNKH._SRS.PRRI */ - } - } - - Device (GSIA) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x10) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000010, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000010, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSIB) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x11) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000011, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000011, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSIC) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x12) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000012, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000012, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSID) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x13) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000013, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000013, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSIE) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x14) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000014, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000014, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSIF) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x15) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000015, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000015, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSIG) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x16) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000016, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000016, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSIH) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x17) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000017, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000017, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - } - - Scope (_SB.PCI0) - { - Device (SMB0) - { - Name (_ADR, 0x001F0003) // _ADR: Address - } - } - - Scope (_SB) - { - Device (\_SB.PCI0.PRES) - { - Name (_HID, EisaId ("PNP0A06") /* Generic Container Device */) // _HID: Hardware ID - Name (_UID, "CPU Hotplug resources") // _UID: Unique ID - Mutex (CPLK, 0x00) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0CD8, // Range Minimum - 0x0CD8, // Range Maximum - 0x01, // Alignment - 0x0C, // Length - ) - }) - OperationRegion (PRST, SystemIO, 0x0CD8, 0x0C) - Field (PRST, ByteAcc, NoLock, WriteAsZeros) - { - Offset (0x04), - CPEN, 1, - CINS, 1, - CRMV, 1, - CEJ0, 1, - Offset (0x05), - CCMD, 8 - } - - Field (PRST, DWordAcc, NoLock, Preserve) - { - CSEL, 32, - Offset (0x08), - CDAT, 32 - } - - Method (_INI, 0, Serialized) // _INI: Initialize - { - CSEL = Zero - } - } - - Device (\_SB.CPUS) - { - Name (_HID, "ACPI0010" /* Processor Container Device */) // _HID: Hardware ID - Name (_CID, EisaId ("PNP0A05") /* Generic Container Device */) // _CID: Compatible ID - Method (CTFY, 2, NotSerialized) - { - If ((Arg0 == Zero)) - { - Notify (C000, Arg1) - } - } - - Method (CSTA, 1, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - \_SB.PCI0.PRES.CSEL = Arg0 - Local0 = Zero - If ((\_SB.PCI0.PRES.CPEN == One)) - { - Local0 = 0x0F - } - - Release (\_SB.PCI0.PRES.CPLK) - Return (Local0) - } - - Method (CEJ0, 1, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - \_SB.PCI0.PRES.CSEL = Arg0 - \_SB.PCI0.PRES.CEJ0 = One - Release (\_SB.PCI0.PRES.CPLK) - } - - Method (CSCN, 0, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - Local0 = One - While ((Local0 == One)) - { - Local0 = Zero - \_SB.PCI0.PRES.CCMD = Zero - If ((\_SB.PCI0.PRES.CINS == One)) - { - CTFY (\_SB.PCI0.PRES.CDAT, One) - \_SB.PCI0.PRES.CINS = One - Local0 = One - } - ElseIf ((\_SB.PCI0.PRES.CRMV == One)) - { - CTFY (\_SB.PCI0.PRES.CDAT, 0x03) - \_SB.PCI0.PRES.CRMV = One - Local0 = One - } - } - - Release (\_SB.PCI0.PRES.CPLK) - } - - Method (COST, 4, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - \_SB.PCI0.PRES.CSEL = Arg0 - \_SB.PCI0.PRES.CCMD = One - \_SB.PCI0.PRES.CDAT = Arg1 - \_SB.PCI0.PRES.CCMD = 0x02 - \_SB.PCI0.PRES.CDAT = Arg2 - Release (\_SB.PCI0.PRES.CPLK) - } - - Processor (C000, 0x00, 0x00000000, 0x00) - { - Method (_STA, 0, Serialized) // _STA: Status - { - Return (CSTA (Zero)) - } - - Name (_MAT, Buffer (0x08) // _MAT: Multiple APIC Table Entry - { - 0x00, 0x08, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 // ........ - }) - Method (_OST, 3, Serialized) // _OST: OSPM Status Indication - { - COST (Zero, Arg0, Arg1, Arg2) - } - - Name (_PXM, Zero) // _PXM: Device Proximity - } - } - } - - Method (\_GPE._E02, 0, NotSerialized) // _Exx: Edge-Triggered GPE, xx=0x00-0xFF - { - \_SB.CPUS.CSCN () - } - - Scope (_GPE) - { - Name (_HID, "ACPI0006" /* GPE Block Device */) // _HID: Hardware ID - } - - 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 - 0x01, // Alignment - 0x08, // Length - ) - WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, - 0x0000, // Granularity - 0x0000, // Range Minimum - 0x0CF7, // Range Maximum - 0x0000, // Translation Offset - 0x0CF8, // Length - ,, , TypeStatic, DenseTranslation) - WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, - 0x0000, // Granularity - 0x0D00, // Range Minimum - 0xFFFF, // Range Maximum - 0x0000, // Translation Offset - 0xF300, // Length - ,, , TypeStatic, DenseTranslation) - DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, - 0x00000000, // Granularity - 0x000A0000, // Range Minimum - 0x000BFFFF, // Range Maximum - 0x00000000, // Translation Offset - 0x00020000, // Length - ,, , AddressRangeMemory, TypeStatic) - DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, - 0x00000000, // Granularity - 0x08000000, // Range Minimum - 0xAFFFFFFF, // Range Maximum - 0x00000000, // Translation Offset - 0xA8000000, // Length - ,, , AddressRangeMemory, TypeStatic) - DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, - 0x00000000, // Granularity - 0xC0000000, // Range Minimum - 0xFEBFFFFF, // Range Maximum - 0x00000000, // Translation Offset - 0x3EC00000, // Length - ,, , AddressRangeMemory, TypeStatic) - QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, - 0x0000000000000000, // Granularity - 0x0000000100000000, // Range Minimum - 0x00000008FFFFFFFF, // Range Maximum - 0x0000000000000000, // Translation Offset - 0x0000000800000000, // Length - ,, , AddressRangeMemory, TypeStatic) - }) - 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, - 0x0620, // Range Minimum - 0x0620, // Range Maximum - 0x01, // Alignment - 0x10, // 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, - Zero - }) - Name (_S5, Package (0x04) // _S5_: S5 System State - { - Zero, - Zero, - Zero, - Zero - }) - } - - Scope (\_SB.PCI0) - { - Device (FWCF) - { - Name (_HID, "QEMU0002") // _HID: Hardware ID - Name (_STA, 0x0B) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0510, // Range Minimum - 0x0510, // Range Maximum - 0x01, // Alignment - 0x0C, // Length - ) - }) - } - } - - Scope (\_SB) - { - Scope (PCI0) - { - Device (S00) - { - Name (_ADR, Zero) // _ADR: Address - } - - Device (S08) - { - 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) - { - } - } - } -} - diff --git a/tests/data/acpi/q35/DSDT.tis.dsl b/tests/data/acpi/q35/DSDT.tis.dsl deleted file mode 100644 index a43e36bfe3..0000000000 --- a/tests/data/acpi/q35/DSDT.tis.dsl +++ /dev/null @@ -1,3321 +0,0 @@ -/* - * 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/q35/DSDT.tis, Tue Aug 4 11:14:15 2020 - * - * Original Table Header: - * Signature "DSDT" - * Length 0x0000205B (8283) - * Revision 0x01 **** 32-bit table (V1), no 64-bit math support - * Checksum 0x84 - * 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 - } - - Method (DBUG, 1, NotSerialized) - { - ToHexString (Arg0, Local0) - ToBuffer (Local0, Local0) - Local1 = (SizeOf (Local0) - One) - Local2 = Zero - While ((Local2 < Local1)) - { - DBGB = DerefOf (Local0 [Local2]) - Local2++ - } - - DBGB = 0x0A - } - } - - Scope (_SB) - { - Device (PCI0) - { - Name (_HID, EisaId ("PNP0A08") /* PCI Express Bus */) // _HID: Hardware ID - Name (_CID, EisaId ("PNP0A03") /* PCI Bus */) // _CID: Compatible ID - Name (_ADR, Zero) // _ADR: Address - Name (_UID, Zero) // _UID: Unique ID - Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities - { - CreateDWordField (Arg3, Zero, CDW1) - If ((Arg0 == ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd766") /* PCI Host Bridge Device */)) - { - CreateDWordField (Arg3, 0x04, CDW2) - CreateDWordField (Arg3, 0x08, CDW3) - Local0 = CDW3 /* \_SB_.PCI0._OSC.CDW3 */ - Local0 &= 0x1F - If ((Arg1 != One)) - { - CDW1 |= 0x08 - } - - If ((CDW3 != Local0)) - { - CDW1 |= 0x10 - } - - CDW3 = Local0 - } - Else - { - CDW1 |= 0x04 - } - - Return (Arg3) - } - } - } - - Scope (_SB) - { - Device (HPET) - { - Name (_HID, EisaId ("PNP0103") /* HPET System Timer */) // _HID: Hardware ID - Name (_UID, Zero) // _UID: Unique ID - OperationRegion (HPTM, SystemMemory, 0xFED00000, 0x0400) - Field (HPTM, DWordAcc, Lock, Preserve) - { - VEND, 32, - PRD, 32 - } - - Method (_STA, 0, NotSerialized) // _STA: Status - { - Local0 = VEND /* \_SB_.HPET.VEND */ - Local1 = PRD /* \_SB_.HPET.PRD_ */ - Local0 >>= 0x10 - If (((Local0 == Zero) || (Local0 == 0xFFFF))) - { - Return (Zero) - } - - If (((Local1 == Zero) || (Local1 > 0x05F5E100))) - { - Return (Zero) - } - - Return (0x0F) - } - - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadOnly, - 0xFED00000, // Address Base - 0x00000400, // Address Length - ) - }) - } - } - - Scope (_SB.PCI0) - { - Device (ISA) - { - Name (_ADR, 0x001F0000) // _ADR: Address - OperationRegion (PIRQ, PCI_Config, 0x60, 0x0C) - } - } - - Scope (_SB.PCI0.ISA) - { - Device (KBD) - { - Name (_HID, EisaId ("PNP0303") /* IBM Enhanced Keyboard (101/102-key, PS/2 Mouse) */) // _HID: Hardware ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0060, // Range Minimum - 0x0060, // Range Maximum - 0x01, // Alignment - 0x01, // Length - ) - IO (Decode16, - 0x0064, // Range Minimum - 0x0064, // Range Maximum - 0x01, // Alignment - 0x01, // Length - ) - IRQNoFlags () - {1} - }) - } - - Device (MOU) - { - Name (_HID, EisaId ("PNP0F13") /* PS/2 Mouse */) // _HID: Hardware ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IRQNoFlags () - {12} - }) - } - - Device (LPT1) - { - Name (_HID, EisaId ("PNP0400") /* Standard LPT Parallel Port */) // _HID: Hardware ID - Name (_UID, One) // _UID: Unique ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0378, // Range Minimum - 0x0378, // Range Maximum - 0x08, // Alignment - 0x08, // Length - ) - IRQNoFlags () - {7} - }) - } - - Device (COM1) - { - Name (_HID, EisaId ("PNP0501") /* 16550A-compatible COM Serial Port */) // _HID: Hardware ID - Name (_UID, One) // _UID: Unique ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x03F8, // Range Minimum - 0x03F8, // Range Maximum - 0x00, // Alignment - 0x08, // Length - ) - IRQNoFlags () - {4} - }) - } - - Device (RTC) - { - 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} - }) - } - } - - Name (PICF, Zero) - Method (_PIC, 1, NotSerialized) // _PIC: Interrupt Model - { - PICF = Arg0 - } - - Scope (_SB) - { - Scope (PCI0) - { - Name (PRTP, Package (0x80) - { - Package (0x04) - { - 0xFFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0xFFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0xFFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0xFFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - Zero, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - One, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - 0x02, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - 0x03, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - Zero, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - One, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - 0x02, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - 0x03, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - Zero, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - One, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - 0x02, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - 0x03, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - Zero, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - One, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - 0x02, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - 0x03, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - Zero, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - One, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - 0x02, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - 0x03, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - Zero, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - One, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - 0x02, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - 0x03, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - Zero, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - One, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - 0x02, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - 0x03, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - Zero, - LNKG, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - One, - LNKH, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - 0x02, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - 0x03, - LNKF, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - Zero, - LNKH, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - One, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - 0x02, - LNKF, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - 0x03, - LNKG, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - Zero, - LNKF, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - One, - LNKG, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - 0x02, - LNKH, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - 0x03, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - Zero, - LNKG, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - One, - LNKH, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - 0x02, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - 0x03, - LNKF, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - Zero, - LNKH, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - One, - LNKE, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - 0x02, - LNKF, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - 0x03, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - Zero, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - One, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - 0x02, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - 0x03, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - Zero, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - One, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - 0x02, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - 0x03, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - Zero, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - One, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - 0x02, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - 0x03, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - Zero, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - One, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - 0x02, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - 0x03, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - Zero, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - One, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - 0x02, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - 0x03, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - Zero, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - One, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - 0x02, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - 0x03, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - Zero, - LNKA, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - One, - LNKB, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - 0x02, - LNKC, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - 0x03, - LNKD, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - Zero, - LNKA, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - One, - LNKB, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - 0x02, - LNKC, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - 0x03, - LNKD, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - Zero, - LNKA, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - One, - LNKB, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - 0x02, - LNKC, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - 0x03, - LNKD, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - Zero, - LNKA, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - One, - LNKB, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - 0x02, - LNKC, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - 0x03, - LNKD, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - Zero, - LNKA, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - One, - LNKB, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - 0x02, - LNKC, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - 0x03, - LNKD, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - Zero, - LNKE, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - One, - LNKF, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - 0x02, - LNKG, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - 0x03, - LNKH, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - Zero, - LNKA, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - One, - LNKB, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - 0x02, - LNKC, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - 0x03, - LNKD, - Zero - } - }) - Name (PRTA, Package (0x80) - { - Package (0x04) - { - 0xFFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0xFFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0xFFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0xFFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - Zero, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - One, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - 0x02, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - 0x03, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - Zero, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - One, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - 0x02, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - 0x03, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - Zero, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - One, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - 0x02, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - 0x03, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - Zero, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - One, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - 0x02, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - 0x03, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - Zero, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - One, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - 0x02, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - 0x03, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - Zero, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - One, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - 0x02, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - 0x03, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - Zero, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - One, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - 0x02, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - 0x03, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - Zero, - GSIG, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - One, - GSIH, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - 0x02, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - 0x03, - GSIF, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - Zero, - GSIH, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - One, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - 0x02, - GSIF, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - 0x03, - GSIG, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - Zero, - GSIF, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - One, - GSIG, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - 0x02, - GSIH, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - 0x03, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - Zero, - GSIG, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - One, - GSIH, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - 0x02, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - 0x03, - GSIF, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - Zero, - GSIH, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - One, - GSIE, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - 0x02, - GSIF, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - 0x03, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - Zero, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - One, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - 0x02, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - 0x03, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - Zero, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - One, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - 0x02, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - 0x03, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - Zero, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - One, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - 0x02, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - 0x03, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - Zero, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - One, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - 0x02, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - 0x03, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - Zero, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - One, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - 0x02, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - 0x03, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - Zero, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - One, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - 0x02, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - 0x03, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - Zero, - GSIA, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - One, - GSIB, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - 0x02, - GSIC, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - 0x03, - GSID, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - Zero, - GSIA, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - One, - GSIB, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - 0x02, - GSIC, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - 0x03, - GSID, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - Zero, - GSIA, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - One, - GSIB, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - 0x02, - GSIC, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - 0x03, - GSID, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - Zero, - GSIA, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - One, - GSIB, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - 0x02, - GSIC, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - 0x03, - GSID, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - Zero, - GSIA, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - One, - GSIB, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - 0x02, - GSIC, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - 0x03, - GSID, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - Zero, - GSIE, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - One, - GSIF, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - 0x02, - GSIG, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - 0x03, - GSIH, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - Zero, - GSIA, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - One, - GSIB, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - 0x02, - GSIC, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - 0x03, - GSID, - Zero - } - }) - Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table - { - If ((PICF == Zero)) - { - Return (PRTP) /* \_SB_.PCI0.PRTP */ - } - Else - { - Return (PRTA) /* \_SB_.PCI0.PRTA */ - } - } - } - - Field (PCI0.ISA.PIRQ, ByteAcc, NoLock, Preserve) - { - PRQA, 8, - PRQB, 8, - PRQC, 8, - PRQD, 8, - Offset (0x08), - PRQE, 8, - PRQF, 8, - PRQG, 8, - PRQH, 8 - } - - Method (IQST, 1, NotSerialized) - { - If ((0x80 & Arg0)) - { - Return (0x09) - } - - Return (0x0B) - } - - Method (IQCR, 1, Serialized) - { - Name (PRR0, ResourceTemplate () - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, _Y00) - { - 0x00000000, - } - }) - CreateDWordField (PRR0, \_SB.IQCR._Y00._INT, PRRI) // _INT: Interrupts - PRRI = (Arg0 & 0x0F) - Return (PRR0) /* \_SB_.IQCR.PRR0 */ - } - - Device (LNKA) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, Zero) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQA)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQA |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQA)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQA = PRRI /* \_SB_.LNKA._SRS.PRRI */ - } - } - - Device (LNKB) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, One) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQB)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQB |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQB)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQB = PRRI /* \_SB_.LNKB._SRS.PRRI */ - } - } - - Device (LNKC) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x02) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQC)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQC |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQC)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQC = PRRI /* \_SB_.LNKC._SRS.PRRI */ - } - } - - Device (LNKD) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x03) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQD)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQD |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQD)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQD = PRRI /* \_SB_.LNKD._SRS.PRRI */ - } - } - - Device (LNKE) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x04) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQE)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQE |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQE)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQE = PRRI /* \_SB_.LNKE._SRS.PRRI */ - } - } - - Device (LNKF) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x05) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQF)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQF |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQF)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQF = PRRI /* \_SB_.LNKF._SRS.PRRI */ - } - } - - Device (LNKG) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x06) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQG)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQG |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQG)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQG = PRRI /* \_SB_.LNKG._SRS.PRRI */ - } - } - - Device (LNKH) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x07) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000005, - 0x0000000A, - 0x0000000B, - } - }) - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (IQST (PRQH)) - } - - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - PRQH |= 0x80 - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (IQCR (PRQH)) - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - CreateDWordField (Arg0, 0x05, PRRI) - PRQH = PRRI /* \_SB_.LNKH._SRS.PRRI */ - } - } - - Device (GSIA) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x10) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000010, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000010, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSIB) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x11) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000011, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000011, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSIC) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x12) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000012, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000012, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSID) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x13) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000013, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000013, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSIE) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x14) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000014, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000014, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSIF) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x15) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000015, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000015, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSIG) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x16) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000016, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000016, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSIH) - { - Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x17) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000017, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) - { - 0x00000017, - } - }) - Method (_DIS, 0, NotSerialized) // _DIS: Disable Device - { - } - - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - } - - Scope (_SB.PCI0) - { - Device (SMB0) - { - Name (_ADR, 0x001F0003) // _ADR: Address - } - } - - Scope (_SB) - { - Device (\_SB.PCI0.PRES) - { - Name (_HID, EisaId ("PNP0A06") /* Generic Container Device */) // _HID: Hardware ID - Name (_UID, "CPU Hotplug resources") // _UID: Unique ID - Mutex (CPLK, 0x00) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0CD8, // Range Minimum - 0x0CD8, // Range Maximum - 0x01, // Alignment - 0x0C, // Length - ) - }) - OperationRegion (PRST, SystemIO, 0x0CD8, 0x0C) - Field (PRST, ByteAcc, NoLock, WriteAsZeros) - { - Offset (0x04), - CPEN, 1, - CINS, 1, - CRMV, 1, - CEJ0, 1, - Offset (0x05), - CCMD, 8 - } - - Field (PRST, DWordAcc, NoLock, Preserve) - { - CSEL, 32, - Offset (0x08), - CDAT, 32 - } - - Method (_INI, 0, Serialized) // _INI: Initialize - { - CSEL = Zero - } - } - - Device (\_SB.CPUS) - { - Name (_HID, "ACPI0010" /* Processor Container Device */) // _HID: Hardware ID - Name (_CID, EisaId ("PNP0A05") /* Generic Container Device */) // _CID: Compatible ID - Method (CTFY, 2, NotSerialized) - { - If ((Arg0 == Zero)) - { - Notify (C000, Arg1) - } - } - - Method (CSTA, 1, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - \_SB.PCI0.PRES.CSEL = Arg0 - Local0 = Zero - If ((\_SB.PCI0.PRES.CPEN == One)) - { - Local0 = 0x0F - } - - Release (\_SB.PCI0.PRES.CPLK) - Return (Local0) - } - - Method (CEJ0, 1, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - \_SB.PCI0.PRES.CSEL = Arg0 - \_SB.PCI0.PRES.CEJ0 = One - Release (\_SB.PCI0.PRES.CPLK) - } - - Method (CSCN, 0, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - Local0 = One - While ((Local0 == One)) - { - Local0 = Zero - \_SB.PCI0.PRES.CCMD = Zero - If ((\_SB.PCI0.PRES.CINS == One)) - { - CTFY (\_SB.PCI0.PRES.CDAT, One) - \_SB.PCI0.PRES.CINS = One - Local0 = One - } - ElseIf ((\_SB.PCI0.PRES.CRMV == One)) - { - CTFY (\_SB.PCI0.PRES.CDAT, 0x03) - \_SB.PCI0.PRES.CRMV = One - Local0 = One - } - } - - Release (\_SB.PCI0.PRES.CPLK) - } - - Method (COST, 4, Serialized) - { - Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) - \_SB.PCI0.PRES.CSEL = Arg0 - \_SB.PCI0.PRES.CCMD = One - \_SB.PCI0.PRES.CDAT = Arg1 - \_SB.PCI0.PRES.CCMD = 0x02 - \_SB.PCI0.PRES.CDAT = Arg2 - Release (\_SB.PCI0.PRES.CPLK) - } - - Processor (C000, 0x00, 0x00000000, 0x00) - { - Method (_STA, 0, Serialized) // _STA: Status - { - Return (CSTA (Zero)) - } - - Name (_MAT, Buffer (0x08) // _MAT: Multiple APIC Table Entry - { - 0x00, 0x08, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 // ........ - }) - Method (_OST, 3, Serialized) // _OST: OSPM Status Indication - { - COST (Zero, Arg0, Arg1, Arg2) - } - } - } - } - - Method (\_GPE._E02, 0, NotSerialized) // _Exx: Edge-Triggered GPE, xx=0x00-0xFF - { - \_SB.CPUS.CSCN () - } - - Scope (_GPE) - { - Name (_HID, "ACPI0006" /* GPE Block Device */) // _HID: Hardware ID - } - - 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 - 0x01, // Alignment - 0x08, // Length - ) - WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, - 0x0000, // Granularity - 0x0000, // Range Minimum - 0x0CF7, // Range Maximum - 0x0000, // Translation Offset - 0x0CF8, // Length - ,, , TypeStatic, DenseTranslation) - WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, - 0x0000, // Granularity - 0x0D00, // Range Minimum - 0xFFFF, // Range Maximum - 0x0000, // Translation Offset - 0xF300, // Length - ,, , TypeStatic, DenseTranslation) - DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, - 0x00000000, // Granularity - 0x000A0000, // Range Minimum - 0x000BFFFF, // Range Maximum - 0x00000000, // Translation Offset - 0x00020000, // Length - ,, , AddressRangeMemory, TypeStatic) - DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, - 0x00000000, // Granularity - 0x08000000, // Range Minimum - 0xAFFFFFFF, // Range Maximum - 0x00000000, // Translation Offset - 0xA8000000, // Length - ,, , AddressRangeMemory, TypeStatic) - DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, - 0x00000000, // Granularity - 0xC0000000, // Range Minimum - 0xFEBFFFFF, // Range Maximum - 0x00000000, // Translation Offset - 0x3EC00000, // Length - ,, , AddressRangeMemory, TypeStatic) - QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, - 0x0000000000000000, // Granularity - 0x0000000100000000, // Range Minimum - 0x00000008FFFFFFFF, // Range Maximum - 0x0000000000000000, // Translation Offset - 0x0000000800000000, // Length - ,, , AddressRangeMemory, TypeStatic) - Memory32Fixed (ReadWrite, - 0xFED40000, // Address Base - 0x00005000, // Address Length - ) - }) - 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, - 0x0620, // Range Minimum - 0x0620, // Range Maximum - 0x01, // Alignment - 0x10, // 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, - Zero - }) - Name (_S5, Package (0x04) // _S5_: S5 System State - { - Zero, - Zero, - Zero, - Zero - }) - } - - Scope (\_SB.PCI0) - { - Device (FWCF) - { - Name (_HID, "QEMU0002") // _HID: Hardware ID - Name (_STA, 0x0B) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0x0510, // Range Minimum - 0x0510, // Range Maximum - 0x01, // Alignment - 0x0C, // Length - ) - }) - } - } - - Scope (\_SB) - { - Scope (PCI0) - { - Device (S00) - { - Name (_ADR, Zero) // _ADR: Address - } - - Device (S08) - { - 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) - { - } - - Device (TPM) - { - Name (_HID, "MSFT0101" /* TPM 2.0 Security Device */) // _HID: Hardware ID - Name (_STA, 0x0F) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0xFED40000, // Address Base - 0x00005000, // Address Length - ) - }) - OperationRegion (TPP2, SystemMemory, 0xFED45100, 0x5A) - Field (TPP2, AnyAcc, NoLock, Preserve) - { - PPIN, 8, - PPIP, 32, - PPRP, 32, - PPRQ, 32, - PPRM, 32, - LPPR, 32 - } - - OperationRegion (TPP3, SystemMemory, 0xFED4515A, One) - Field (TPP3, ByteAcc, NoLock, Preserve) - { - MOVV, 8 - } - - Method (TPFN, 1, Serialized) - { - If ((Arg0 >= 0x0100)) - { - Return (Zero) - } - - OperationRegion (TPP1, SystemMemory, (0xFED45000 + Arg0), One) - Field (TPP1, ByteAcc, NoLock, Preserve) - { - TPPF, 8 - } - - Return (TPPF) /* \_SB_.PCI0.TPM_.TPFN.TPPF */ - } - - Name (TPM2, Package (0x02) - { - Zero, - Zero - }) - Name (TPM3, Package (0x03) - { - Zero, - Zero, - Zero - }) - Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method - { - If ((Arg0 == ToUUID ("3dddfaa6-361b-4eb4-a424-8d10089d1653") /* Physical Presence Interface */)) - { - If ((Arg2 == Zero)) - { - Return (Buffer (0x02) - { - 0xFF, 0x01 // .. - }) - } - - If ((Arg2 == One)) - { - Return ("1.3") - } - - If ((Arg2 == 0x02)) - { - Local0 = DerefOf (Arg3 [Zero]) - Local1 = TPFN (Local0) - If (((Local1 & 0x07) == Zero)) - { - Return (One) - } - - PPRQ = Local0 - PPRM = Zero - Return (Zero) - } - - If ((Arg2 == 0x03)) - { - If ((Arg1 == One)) - { - TPM2 [One] = PPRQ /* \_SB_.PCI0.TPM_.PPRQ */ - Return (TPM2) /* \_SB_.PCI0.TPM_.TPM2 */ - } - - If ((Arg1 == 0x02)) - { - TPM3 [One] = PPRQ /* \_SB_.PCI0.TPM_.PPRQ */ - TPM3 [0x02] = PPRM /* \_SB_.PCI0.TPM_.PPRM */ - Return (TPM3) /* \_SB_.PCI0.TPM_.TPM3 */ - } - } - - If ((Arg2 == 0x04)) - { - Return (0x02) - } - - If ((Arg2 == 0x05)) - { - TPM3 [One] = LPPR /* \_SB_.PCI0.TPM_.LPPR */ - TPM3 [0x02] = PPRP /* \_SB_.PCI0.TPM_.PPRP */ - Return (TPM3) /* \_SB_.PCI0.TPM_.TPM3 */ - } - - If ((Arg2 == 0x06)) - { - Return (0x03) - } - - If ((Arg2 == 0x07)) - { - Local0 = DerefOf (Arg3 [Zero]) - Local1 = TPFN (Local0) - If (((Local1 & 0x07) == Zero)) - { - Return (One) - } - - If (((Local1 & 0x07) == 0x02)) - { - Return (0x03) - } - - If ((Arg1 == One)) - { - PPRQ = Local0 - PPRM = Zero - } - - If ((Arg1 == 0x02)) - { - PPRQ = Local0 - PPRM = DerefOf (Arg3 [One]) - } - - Return (Zero) - } - - If ((Arg2 == 0x08)) - { - Local0 = DerefOf (Arg3 [Zero]) - Local1 = TPFN (Local0) - Return ((Local1 & 0x07)) - } - - Return (Buffer (One) - { - 0x00 // . - }) - } - - If ((Arg0 == ToUUID ("376054ed-cc13-4675-901c-4756d7f2d45d"))) - { - If ((Arg2 == Zero)) - { - Return (Buffer (One) - { - 0x03 // . - }) - } - - If ((Arg2 == One)) - { - Local0 = DerefOf (Arg3 [Zero]) - MOVV = Local0 - Return (Zero) - } - } - } - } - } - } -} - diff --git a/tests/data/acpi/q35/FACP.acpihmat b/tests/data/acpi/q35/FACP.acpihmat deleted file mode 100644 index 72c9d97902a4bbf14896023d9ba78e0899d6517b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 244 zcmZvW!3l&w5Cm&fMBzX)aAPn7T@Zh_a390*VJaqIY<_$xgRZV{_35F9p6RZ!ZUy41 z{o4L#+QHebu}%P;RXsw^0z@&8o^EoflBHn0ACZ*6UhIX>*T6i1WUzfs_g)5wdG3cu Q$?M-gG^;%n8J|8O2jpN50RR91 diff --git a/tests/data/acpi/q35/FACP.acpihmat.dsl b/tests/data/acpi/q35/FACP.acpihmat.dsl deleted file mode 100644 index 29466227a1..0000000000 --- a/tests/data/acpi/q35/FACP.acpihmat.dsl +++ /dev/null @@ -1,179 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/FACP.acpihmat, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [FACP] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "FACP" [Fixed ACPI Description Table (FADT)] -[004h 0004 4] Table Length : 000000F4 -[008h 0008 1] Revision : 03 -[009h 0009 1] Checksum : 1F -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCFACP" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] FACS Address : 00000000 -[028h 0040 4] DSDT Address : 00000000 -[02Ch 0044 1] Model : 01 -[02Dh 0045 1] PM Profile : 00 [Unspecified] -[02Eh 0046 2] SCI Interrupt : 0009 -[030h 0048 4] SMI Command Port : 000000B2 -[034h 0052 1] ACPI Enable Value : 02 -[035h 0053 1] ACPI Disable Value : 03 -[036h 0054 1] S4BIOS Command : 00 -[037h 0055 1] P-State Control : 00 -[038h 0056 4] PM1A Event Block Address : 00000600 -[03Ch 0060 4] PM1B Event Block Address : 00000000 -[040h 0064 4] PM1A Control Block Address : 00000604 -[044h 0068 4] PM1B Control Block Address : 00000000 -[048h 0072 4] PM2 Control Block Address : 00000000 -[04Ch 0076 4] PM Timer Block Address : 00000608 -[050h 0080 4] GPE0 Block Address : 00000620 -[054h 0084 4] GPE1 Block Address : 00000000 -[058h 0088 1] PM1 Event Block Length : 04 -[059h 0089 1] PM1 Control Block Length : 02 -[05Ah 0090 1] PM2 Control Block Length : 00 -[05Bh 0091 1] PM Timer Block Length : 04 -[05Ch 0092 1] GPE0 Block Length : 10 -[05Dh 0093 1] GPE1 Block Length : 00 -[05Eh 0094 1] GPE1 Base Offset : 00 -[05Fh 0095 1] _CST Support : 00 -[060h 0096 2] C2 Latency : 0FFF -[062h 0098 2] C3 Latency : 0FFF -[064h 0100 2] CPU Cache Size : 0000 -[066h 0102 2] Cache Flush Stride : 0000 -[068h 0104 1] Duty Cycle Offset : 00 -[069h 0105 1] Duty Cycle Width : 00 -[06Ah 0106 1] RTC Day Alarm Index : 00 -[06Bh 0107 1] RTC Month Alarm Index : 00 -[06Ch 0108 1] RTC Century Index : 32 -[06Dh 0109 2] Boot Flags (decoded below) : 0000 - Legacy Devices Supported (V2) : 0 - 8042 Present on ports 60/64 (V2) : 0 - VGA Not Present (V4) : 0 - MSI Not Supported (V4) : 0 - PCIe ASPM Not Supported (V4) : 0 - CMOS RTC Not Present (V5) : 0 -[06Fh 0111 1] Reserved : 00 -[070h 0112 4] Flags (decoded below) : 000084A5 - WBINVD instruction is operational (V1) : 1 - WBINVD flushes all caches (V1) : 0 - All CPUs support C1 (V1) : 1 - C2 works on MP system (V1) : 0 - Control Method Power Button (V1) : 0 - Control Method Sleep Button (V1) : 1 - RTC wake not in fixed reg space (V1) : 0 - RTC can wake system from S4 (V1) : 1 - 32-bit PM Timer (V1) : 0 - Docking Supported (V1) : 0 - Reset Register Supported (V2) : 1 - Sealed Case (V3) : 0 - Headless - No Video (V3) : 0 - Use native instr after SLP_TYPx (V3) : 0 - PCIEXP_WAK Bits Supported (V4) : 0 - Use Platform Timer (V4) : 1 - RTC_STS valid on S4 wake (V4) : 0 - Remote Power-on capable (V4) : 0 - Use APIC Cluster Model (V4) : 0 - Use APIC Physical Destination Mode (V4) : 0 - Hardware Reduced (V5) : 0 - Low Power S0 Idle (V5) : 0 - -[074h 0116 12] Reset Register : [Generic Address Structure] -[074h 0116 1] Space ID : 01 [SystemIO] -[075h 0117 1] Bit Width : 08 -[076h 0118 1] Bit Offset : 00 -[077h 0119 1] Encoded Access Width : 00 [Undefined/Legacy] -[078h 0120 8] Address : 0000000000000CF9 - -[080h 0128 1] Value to cause reset : 0F -[081h 0129 2] ARM Flags (decoded below) : 0000 - PSCI Compliant : 0 - Must use HVC for PSCI : 0 - -[083h 0131 1] FADT Minor Revision : 00 -[084h 0132 8] FACS Address : 0000000000000000 -[08Ch 0140 8] DSDT Address : 0000000000000000 -[094h 0148 12] PM1A Event Block : [Generic Address Structure] -[094h 0148 1] Space ID : 01 [SystemIO] -[095h 0149 1] Bit Width : 20 -[096h 0150 1] Bit Offset : 00 -[097h 0151 1] Encoded Access Width : 00 [Undefined/Legacy] -[098h 0152 8] Address : 0000000000000600 - -[0A0h 0160 12] PM1B Event Block : [Generic Address Structure] -[0A0h 0160 1] Space ID : 00 [SystemMemory] -[0A1h 0161 1] Bit Width : 00 -[0A2h 0162 1] Bit Offset : 00 -[0A3h 0163 1] Encoded Access Width : 00 [Undefined/Legacy] -[0A4h 0164 8] Address : 0000000000000000 - -[0ACh 0172 12] PM1A Control Block : [Generic Address Structure] -[0ACh 0172 1] Space ID : 01 [SystemIO] -[0ADh 0173 1] Bit Width : 10 -[0AEh 0174 1] Bit Offset : 00 -[0AFh 0175 1] Encoded Access Width : 00 [Undefined/Legacy] -[0B0h 0176 8] Address : 0000000000000604 - -[0B8h 0184 12] PM1B Control Block : [Generic Address Structure] -[0B8h 0184 1] Space ID : 00 [SystemMemory] -[0B9h 0185 1] Bit Width : 00 -[0BAh 0186 1] Bit Offset : 00 -[0BBh 0187 1] Encoded Access Width : 00 [Undefined/Legacy] -[0BCh 0188 8] Address : 0000000000000000 - -[0C4h 0196 12] PM2 Control Block : [Generic Address Structure] -[0C4h 0196 1] Space ID : 00 [SystemMemory] -[0C5h 0197 1] Bit Width : 00 -[0C6h 0198 1] Bit Offset : 00 -[0C7h 0199 1] Encoded Access Width : 00 [Undefined/Legacy] -[0C8h 0200 8] Address : 0000000000000000 - -[0D0h 0208 12] PM Timer Block : [Generic Address Structure] -[0D0h 0208 1] Space ID : 01 [SystemIO] -[0D1h 0209 1] Bit Width : 20 -[0D2h 0210 1] Bit Offset : 00 -[0D3h 0211 1] Encoded Access Width : 00 [Undefined/Legacy] -[0D4h 0212 8] Address : 0000000000000608 - -[0DCh 0220 12] GPE0 Block : [Generic Address Structure] -[0DCh 0220 1] Space ID : 01 [SystemIO] -[0DDh 0221 1] Bit Width : 80 -[0DEh 0222 1] Bit Offset : 00 -[0DFh 0223 1] Encoded Access Width : 00 [Undefined/Legacy] -[0E0h 0224 8] Address : 0000000000000620 - -[0E8h 0232 12] GPE1 Block : [Generic Address Structure] -[0E8h 0232 1] Space ID : 00 [SystemMemory] -[0E9h 0233 1] Bit Width : 00 -[0EAh 0234 1] Bit Offset : 00 -[0EBh 0235 1] Encoded Access Width : 00 [Undefined/Legacy] -[0ECh 0236 8] Address : 0000000000000000 - - -Raw Table Data: Length 244 (0xF4) - - 0000: 46 41 43 50 F4 00 00 00 03 1F 42 4F 43 48 53 20 // FACP......BOCHS - 0010: 42 58 50 43 46 41 43 50 01 00 00 00 42 58 50 43 // BXPCFACP....BXPC - 0020: 01 00 00 00 00 00 00 00 00 00 00 00 01 00 09 00 // ................ - 0030: B2 00 00 00 02 03 00 00 00 06 00 00 00 00 00 00 // ................ - 0040: 04 06 00 00 00 00 00 00 00 00 00 00 08 06 00 00 // ................ - 0050: 20 06 00 00 00 00 00 00 04 02 00 04 10 00 00 00 // ............... - 0060: FF 0F FF 0F 00 00 00 00 00 00 00 00 32 00 00 00 // ............2... - 0070: A5 84 00 00 01 08 00 00 F9 0C 00 00 00 00 00 00 // ................ - 0080: 0F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0090: 00 00 00 00 01 20 00 00 00 06 00 00 00 00 00 00 // ..... .......... - 00A0: 00 00 00 00 00 00 00 00 00 00 00 00 01 10 00 00 // ................ - 00B0: 04 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00D0: 01 20 00 00 08 06 00 00 00 00 00 00 01 80 00 00 // . .............. - 00E0: 20 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ............... - 00F0: 00 00 00 00 // .... diff --git a/tests/data/acpi/q35/FACP.bridge b/tests/data/acpi/q35/FACP.bridge deleted file mode 100644 index 72c9d97902a4bbf14896023d9ba78e0899d6517b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 244 zcmZvW!3l&w5Cm&fMBzX)aAPn7T@Zh_a390*VJaqIY<_$xgRZV{_35F9p6RZ!ZUy41 z{o4L#+QHebu}%P;RXsw^0z@&8o^EoflBHn0ACZ*6UhIX>*T6i1WUzfs_g)5wdG3cu Q$?M-gG^;%n8J|8O2jpN50RR91 diff --git a/tests/data/acpi/q35/FACP.bridge.dsl b/tests/data/acpi/q35/FACP.bridge.dsl deleted file mode 100644 index 2416f4391a..0000000000 --- a/tests/data/acpi/q35/FACP.bridge.dsl +++ /dev/null @@ -1,179 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/FACP.bridge, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [FACP] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "FACP" [Fixed ACPI Description Table (FADT)] -[004h 0004 4] Table Length : 000000F4 -[008h 0008 1] Revision : 03 -[009h 0009 1] Checksum : 1F -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCFACP" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] FACS Address : 00000000 -[028h 0040 4] DSDT Address : 00000000 -[02Ch 0044 1] Model : 01 -[02Dh 0045 1] PM Profile : 00 [Unspecified] -[02Eh 0046 2] SCI Interrupt : 0009 -[030h 0048 4] SMI Command Port : 000000B2 -[034h 0052 1] ACPI Enable Value : 02 -[035h 0053 1] ACPI Disable Value : 03 -[036h 0054 1] S4BIOS Command : 00 -[037h 0055 1] P-State Control : 00 -[038h 0056 4] PM1A Event Block Address : 00000600 -[03Ch 0060 4] PM1B Event Block Address : 00000000 -[040h 0064 4] PM1A Control Block Address : 00000604 -[044h 0068 4] PM1B Control Block Address : 00000000 -[048h 0072 4] PM2 Control Block Address : 00000000 -[04Ch 0076 4] PM Timer Block Address : 00000608 -[050h 0080 4] GPE0 Block Address : 00000620 -[054h 0084 4] GPE1 Block Address : 00000000 -[058h 0088 1] PM1 Event Block Length : 04 -[059h 0089 1] PM1 Control Block Length : 02 -[05Ah 0090 1] PM2 Control Block Length : 00 -[05Bh 0091 1] PM Timer Block Length : 04 -[05Ch 0092 1] GPE0 Block Length : 10 -[05Dh 0093 1] GPE1 Block Length : 00 -[05Eh 0094 1] GPE1 Base Offset : 00 -[05Fh 0095 1] _CST Support : 00 -[060h 0096 2] C2 Latency : 0FFF -[062h 0098 2] C3 Latency : 0FFF -[064h 0100 2] CPU Cache Size : 0000 -[066h 0102 2] Cache Flush Stride : 0000 -[068h 0104 1] Duty Cycle Offset : 00 -[069h 0105 1] Duty Cycle Width : 00 -[06Ah 0106 1] RTC Day Alarm Index : 00 -[06Bh 0107 1] RTC Month Alarm Index : 00 -[06Ch 0108 1] RTC Century Index : 32 -[06Dh 0109 2] Boot Flags (decoded below) : 0000 - Legacy Devices Supported (V2) : 0 - 8042 Present on ports 60/64 (V2) : 0 - VGA Not Present (V4) : 0 - MSI Not Supported (V4) : 0 - PCIe ASPM Not Supported (V4) : 0 - CMOS RTC Not Present (V5) : 0 -[06Fh 0111 1] Reserved : 00 -[070h 0112 4] Flags (decoded below) : 000084A5 - WBINVD instruction is operational (V1) : 1 - WBINVD flushes all caches (V1) : 0 - All CPUs support C1 (V1) : 1 - C2 works on MP system (V1) : 0 - Control Method Power Button (V1) : 0 - Control Method Sleep Button (V1) : 1 - RTC wake not in fixed reg space (V1) : 0 - RTC can wake system from S4 (V1) : 1 - 32-bit PM Timer (V1) : 0 - Docking Supported (V1) : 0 - Reset Register Supported (V2) : 1 - Sealed Case (V3) : 0 - Headless - No Video (V3) : 0 - Use native instr after SLP_TYPx (V3) : 0 - PCIEXP_WAK Bits Supported (V4) : 0 - Use Platform Timer (V4) : 1 - RTC_STS valid on S4 wake (V4) : 0 - Remote Power-on capable (V4) : 0 - Use APIC Cluster Model (V4) : 0 - Use APIC Physical Destination Mode (V4) : 0 - Hardware Reduced (V5) : 0 - Low Power S0 Idle (V5) : 0 - -[074h 0116 12] Reset Register : [Generic Address Structure] -[074h 0116 1] Space ID : 01 [SystemIO] -[075h 0117 1] Bit Width : 08 -[076h 0118 1] Bit Offset : 00 -[077h 0119 1] Encoded Access Width : 00 [Undefined/Legacy] -[078h 0120 8] Address : 0000000000000CF9 - -[080h 0128 1] Value to cause reset : 0F -[081h 0129 2] ARM Flags (decoded below) : 0000 - PSCI Compliant : 0 - Must use HVC for PSCI : 0 - -[083h 0131 1] FADT Minor Revision : 00 -[084h 0132 8] FACS Address : 0000000000000000 -[08Ch 0140 8] DSDT Address : 0000000000000000 -[094h 0148 12] PM1A Event Block : [Generic Address Structure] -[094h 0148 1] Space ID : 01 [SystemIO] -[095h 0149 1] Bit Width : 20 -[096h 0150 1] Bit Offset : 00 -[097h 0151 1] Encoded Access Width : 00 [Undefined/Legacy] -[098h 0152 8] Address : 0000000000000600 - -[0A0h 0160 12] PM1B Event Block : [Generic Address Structure] -[0A0h 0160 1] Space ID : 00 [SystemMemory] -[0A1h 0161 1] Bit Width : 00 -[0A2h 0162 1] Bit Offset : 00 -[0A3h 0163 1] Encoded Access Width : 00 [Undefined/Legacy] -[0A4h 0164 8] Address : 0000000000000000 - -[0ACh 0172 12] PM1A Control Block : [Generic Address Structure] -[0ACh 0172 1] Space ID : 01 [SystemIO] -[0ADh 0173 1] Bit Width : 10 -[0AEh 0174 1] Bit Offset : 00 -[0AFh 0175 1] Encoded Access Width : 00 [Undefined/Legacy] -[0B0h 0176 8] Address : 0000000000000604 - -[0B8h 0184 12] PM1B Control Block : [Generic Address Structure] -[0B8h 0184 1] Space ID : 00 [SystemMemory] -[0B9h 0185 1] Bit Width : 00 -[0BAh 0186 1] Bit Offset : 00 -[0BBh 0187 1] Encoded Access Width : 00 [Undefined/Legacy] -[0BCh 0188 8] Address : 0000000000000000 - -[0C4h 0196 12] PM2 Control Block : [Generic Address Structure] -[0C4h 0196 1] Space ID : 00 [SystemMemory] -[0C5h 0197 1] Bit Width : 00 -[0C6h 0198 1] Bit Offset : 00 -[0C7h 0199 1] Encoded Access Width : 00 [Undefined/Legacy] -[0C8h 0200 8] Address : 0000000000000000 - -[0D0h 0208 12] PM Timer Block : [Generic Address Structure] -[0D0h 0208 1] Space ID : 01 [SystemIO] -[0D1h 0209 1] Bit Width : 20 -[0D2h 0210 1] Bit Offset : 00 -[0D3h 0211 1] Encoded Access Width : 00 [Undefined/Legacy] -[0D4h 0212 8] Address : 0000000000000608 - -[0DCh 0220 12] GPE0 Block : [Generic Address Structure] -[0DCh 0220 1] Space ID : 01 [SystemIO] -[0DDh 0221 1] Bit Width : 80 -[0DEh 0222 1] Bit Offset : 00 -[0DFh 0223 1] Encoded Access Width : 00 [Undefined/Legacy] -[0E0h 0224 8] Address : 0000000000000620 - -[0E8h 0232 12] GPE1 Block : [Generic Address Structure] -[0E8h 0232 1] Space ID : 00 [SystemMemory] -[0E9h 0233 1] Bit Width : 00 -[0EAh 0234 1] Bit Offset : 00 -[0EBh 0235 1] Encoded Access Width : 00 [Undefined/Legacy] -[0ECh 0236 8] Address : 0000000000000000 - - -Raw Table Data: Length 244 (0xF4) - - 0000: 46 41 43 50 F4 00 00 00 03 1F 42 4F 43 48 53 20 // FACP......BOCHS - 0010: 42 58 50 43 46 41 43 50 01 00 00 00 42 58 50 43 // BXPCFACP....BXPC - 0020: 01 00 00 00 00 00 00 00 00 00 00 00 01 00 09 00 // ................ - 0030: B2 00 00 00 02 03 00 00 00 06 00 00 00 00 00 00 // ................ - 0040: 04 06 00 00 00 00 00 00 00 00 00 00 08 06 00 00 // ................ - 0050: 20 06 00 00 00 00 00 00 04 02 00 04 10 00 00 00 // ............... - 0060: FF 0F FF 0F 00 00 00 00 00 00 00 00 32 00 00 00 // ............2... - 0070: A5 84 00 00 01 08 00 00 F9 0C 00 00 00 00 00 00 // ................ - 0080: 0F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0090: 00 00 00 00 01 20 00 00 00 06 00 00 00 00 00 00 // ..... .......... - 00A0: 00 00 00 00 00 00 00 00 00 00 00 00 01 10 00 00 // ................ - 00B0: 04 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00D0: 01 20 00 00 08 06 00 00 00 00 00 00 01 80 00 00 // . .............. - 00E0: 20 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ............... - 00F0: 00 00 00 00 // .... diff --git a/tests/data/acpi/q35/FACP.cphp b/tests/data/acpi/q35/FACP.cphp deleted file mode 100644 index 72c9d97902a4bbf14896023d9ba78e0899d6517b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 244 zcmZvW!3l&w5Cm&fMBzX)aAPn7T@Zh_a390*VJaqIY<_$xgRZV{_35F9p6RZ!ZUy41 z{o4L#+QHebu}%P;RXsw^0z@&8o^EoflBHn0ACZ*6UhIX>*T6i1WUzfs_g)5wdG3cu Q$?M-gG^;%n8J|8O2jpN50RR91 diff --git a/tests/data/acpi/q35/FACP.cphp.dsl b/tests/data/acpi/q35/FACP.cphp.dsl deleted file mode 100644 index 96ee322b53..0000000000 --- a/tests/data/acpi/q35/FACP.cphp.dsl +++ /dev/null @@ -1,179 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/FACP.cphp, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [FACP] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "FACP" [Fixed ACPI Description Table (FADT)] -[004h 0004 4] Table Length : 000000F4 -[008h 0008 1] Revision : 03 -[009h 0009 1] Checksum : 1F -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCFACP" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] FACS Address : 00000000 -[028h 0040 4] DSDT Address : 00000000 -[02Ch 0044 1] Model : 01 -[02Dh 0045 1] PM Profile : 00 [Unspecified] -[02Eh 0046 2] SCI Interrupt : 0009 -[030h 0048 4] SMI Command Port : 000000B2 -[034h 0052 1] ACPI Enable Value : 02 -[035h 0053 1] ACPI Disable Value : 03 -[036h 0054 1] S4BIOS Command : 00 -[037h 0055 1] P-State Control : 00 -[038h 0056 4] PM1A Event Block Address : 00000600 -[03Ch 0060 4] PM1B Event Block Address : 00000000 -[040h 0064 4] PM1A Control Block Address : 00000604 -[044h 0068 4] PM1B Control Block Address : 00000000 -[048h 0072 4] PM2 Control Block Address : 00000000 -[04Ch 0076 4] PM Timer Block Address : 00000608 -[050h 0080 4] GPE0 Block Address : 00000620 -[054h 0084 4] GPE1 Block Address : 00000000 -[058h 0088 1] PM1 Event Block Length : 04 -[059h 0089 1] PM1 Control Block Length : 02 -[05Ah 0090 1] PM2 Control Block Length : 00 -[05Bh 0091 1] PM Timer Block Length : 04 -[05Ch 0092 1] GPE0 Block Length : 10 -[05Dh 0093 1] GPE1 Block Length : 00 -[05Eh 0094 1] GPE1 Base Offset : 00 -[05Fh 0095 1] _CST Support : 00 -[060h 0096 2] C2 Latency : 0FFF -[062h 0098 2] C3 Latency : 0FFF -[064h 0100 2] CPU Cache Size : 0000 -[066h 0102 2] Cache Flush Stride : 0000 -[068h 0104 1] Duty Cycle Offset : 00 -[069h 0105 1] Duty Cycle Width : 00 -[06Ah 0106 1] RTC Day Alarm Index : 00 -[06Bh 0107 1] RTC Month Alarm Index : 00 -[06Ch 0108 1] RTC Century Index : 32 -[06Dh 0109 2] Boot Flags (decoded below) : 0000 - Legacy Devices Supported (V2) : 0 - 8042 Present on ports 60/64 (V2) : 0 - VGA Not Present (V4) : 0 - MSI Not Supported (V4) : 0 - PCIe ASPM Not Supported (V4) : 0 - CMOS RTC Not Present (V5) : 0 -[06Fh 0111 1] Reserved : 00 -[070h 0112 4] Flags (decoded below) : 000084A5 - WBINVD instruction is operational (V1) : 1 - WBINVD flushes all caches (V1) : 0 - All CPUs support C1 (V1) : 1 - C2 works on MP system (V1) : 0 - Control Method Power Button (V1) : 0 - Control Method Sleep Button (V1) : 1 - RTC wake not in fixed reg space (V1) : 0 - RTC can wake system from S4 (V1) : 1 - 32-bit PM Timer (V1) : 0 - Docking Supported (V1) : 0 - Reset Register Supported (V2) : 1 - Sealed Case (V3) : 0 - Headless - No Video (V3) : 0 - Use native instr after SLP_TYPx (V3) : 0 - PCIEXP_WAK Bits Supported (V4) : 0 - Use Platform Timer (V4) : 1 - RTC_STS valid on S4 wake (V4) : 0 - Remote Power-on capable (V4) : 0 - Use APIC Cluster Model (V4) : 0 - Use APIC Physical Destination Mode (V4) : 0 - Hardware Reduced (V5) : 0 - Low Power S0 Idle (V5) : 0 - -[074h 0116 12] Reset Register : [Generic Address Structure] -[074h 0116 1] Space ID : 01 [SystemIO] -[075h 0117 1] Bit Width : 08 -[076h 0118 1] Bit Offset : 00 -[077h 0119 1] Encoded Access Width : 00 [Undefined/Legacy] -[078h 0120 8] Address : 0000000000000CF9 - -[080h 0128 1] Value to cause reset : 0F -[081h 0129 2] ARM Flags (decoded below) : 0000 - PSCI Compliant : 0 - Must use HVC for PSCI : 0 - -[083h 0131 1] FADT Minor Revision : 00 -[084h 0132 8] FACS Address : 0000000000000000 -[08Ch 0140 8] DSDT Address : 0000000000000000 -[094h 0148 12] PM1A Event Block : [Generic Address Structure] -[094h 0148 1] Space ID : 01 [SystemIO] -[095h 0149 1] Bit Width : 20 -[096h 0150 1] Bit Offset : 00 -[097h 0151 1] Encoded Access Width : 00 [Undefined/Legacy] -[098h 0152 8] Address : 0000000000000600 - -[0A0h 0160 12] PM1B Event Block : [Generic Address Structure] -[0A0h 0160 1] Space ID : 00 [SystemMemory] -[0A1h 0161 1] Bit Width : 00 -[0A2h 0162 1] Bit Offset : 00 -[0A3h 0163 1] Encoded Access Width : 00 [Undefined/Legacy] -[0A4h 0164 8] Address : 0000000000000000 - -[0ACh 0172 12] PM1A Control Block : [Generic Address Structure] -[0ACh 0172 1] Space ID : 01 [SystemIO] -[0ADh 0173 1] Bit Width : 10 -[0AEh 0174 1] Bit Offset : 00 -[0AFh 0175 1] Encoded Access Width : 00 [Undefined/Legacy] -[0B0h 0176 8] Address : 0000000000000604 - -[0B8h 0184 12] PM1B Control Block : [Generic Address Structure] -[0B8h 0184 1] Space ID : 00 [SystemMemory] -[0B9h 0185 1] Bit Width : 00 -[0BAh 0186 1] Bit Offset : 00 -[0BBh 0187 1] Encoded Access Width : 00 [Undefined/Legacy] -[0BCh 0188 8] Address : 0000000000000000 - -[0C4h 0196 12] PM2 Control Block : [Generic Address Structure] -[0C4h 0196 1] Space ID : 00 [SystemMemory] -[0C5h 0197 1] Bit Width : 00 -[0C6h 0198 1] Bit Offset : 00 -[0C7h 0199 1] Encoded Access Width : 00 [Undefined/Legacy] -[0C8h 0200 8] Address : 0000000000000000 - -[0D0h 0208 12] PM Timer Block : [Generic Address Structure] -[0D0h 0208 1] Space ID : 01 [SystemIO] -[0D1h 0209 1] Bit Width : 20 -[0D2h 0210 1] Bit Offset : 00 -[0D3h 0211 1] Encoded Access Width : 00 [Undefined/Legacy] -[0D4h 0212 8] Address : 0000000000000608 - -[0DCh 0220 12] GPE0 Block : [Generic Address Structure] -[0DCh 0220 1] Space ID : 01 [SystemIO] -[0DDh 0221 1] Bit Width : 80 -[0DEh 0222 1] Bit Offset : 00 -[0DFh 0223 1] Encoded Access Width : 00 [Undefined/Legacy] -[0E0h 0224 8] Address : 0000000000000620 - -[0E8h 0232 12] GPE1 Block : [Generic Address Structure] -[0E8h 0232 1] Space ID : 00 [SystemMemory] -[0E9h 0233 1] Bit Width : 00 -[0EAh 0234 1] Bit Offset : 00 -[0EBh 0235 1] Encoded Access Width : 00 [Undefined/Legacy] -[0ECh 0236 8] Address : 0000000000000000 - - -Raw Table Data: Length 244 (0xF4) - - 0000: 46 41 43 50 F4 00 00 00 03 1F 42 4F 43 48 53 20 // FACP......BOCHS - 0010: 42 58 50 43 46 41 43 50 01 00 00 00 42 58 50 43 // BXPCFACP....BXPC - 0020: 01 00 00 00 00 00 00 00 00 00 00 00 01 00 09 00 // ................ - 0030: B2 00 00 00 02 03 00 00 00 06 00 00 00 00 00 00 // ................ - 0040: 04 06 00 00 00 00 00 00 00 00 00 00 08 06 00 00 // ................ - 0050: 20 06 00 00 00 00 00 00 04 02 00 04 10 00 00 00 // ............... - 0060: FF 0F FF 0F 00 00 00 00 00 00 00 00 32 00 00 00 // ............2... - 0070: A5 84 00 00 01 08 00 00 F9 0C 00 00 00 00 00 00 // ................ - 0080: 0F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0090: 00 00 00 00 01 20 00 00 00 06 00 00 00 00 00 00 // ..... .......... - 00A0: 00 00 00 00 00 00 00 00 00 00 00 00 01 10 00 00 // ................ - 00B0: 04 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00D0: 01 20 00 00 08 06 00 00 00 00 00 00 01 80 00 00 // . .............. - 00E0: 20 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ............... - 00F0: 00 00 00 00 // .... diff --git a/tests/data/acpi/q35/FACP.dimmpxm b/tests/data/acpi/q35/FACP.dimmpxm deleted file mode 100644 index 72c9d97902a4bbf14896023d9ba78e0899d6517b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 244 zcmZvW!3l&w5Cm&fMBzX)aAPn7T@Zh_a390*VJaqIY<_$xgRZV{_35F9p6RZ!ZUy41 z{o4L#+QHebu}%P;RXsw^0z@&8o^EoflBHn0ACZ*6UhIX>*T6i1WUzfs_g)5wdG3cu Q$?M-gG^;%n8J|8O2jpN50RR91 diff --git a/tests/data/acpi/q35/FACP.dimmpxm.dsl b/tests/data/acpi/q35/FACP.dimmpxm.dsl deleted file mode 100644 index 14f7c181b8..0000000000 --- a/tests/data/acpi/q35/FACP.dimmpxm.dsl +++ /dev/null @@ -1,179 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/FACP.dimmpxm, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [FACP] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "FACP" [Fixed ACPI Description Table (FADT)] -[004h 0004 4] Table Length : 000000F4 -[008h 0008 1] Revision : 03 -[009h 0009 1] Checksum : 1F -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCFACP" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] FACS Address : 00000000 -[028h 0040 4] DSDT Address : 00000000 -[02Ch 0044 1] Model : 01 -[02Dh 0045 1] PM Profile : 00 [Unspecified] -[02Eh 0046 2] SCI Interrupt : 0009 -[030h 0048 4] SMI Command Port : 000000B2 -[034h 0052 1] ACPI Enable Value : 02 -[035h 0053 1] ACPI Disable Value : 03 -[036h 0054 1] S4BIOS Command : 00 -[037h 0055 1] P-State Control : 00 -[038h 0056 4] PM1A Event Block Address : 00000600 -[03Ch 0060 4] PM1B Event Block Address : 00000000 -[040h 0064 4] PM1A Control Block Address : 00000604 -[044h 0068 4] PM1B Control Block Address : 00000000 -[048h 0072 4] PM2 Control Block Address : 00000000 -[04Ch 0076 4] PM Timer Block Address : 00000608 -[050h 0080 4] GPE0 Block Address : 00000620 -[054h 0084 4] GPE1 Block Address : 00000000 -[058h 0088 1] PM1 Event Block Length : 04 -[059h 0089 1] PM1 Control Block Length : 02 -[05Ah 0090 1] PM2 Control Block Length : 00 -[05Bh 0091 1] PM Timer Block Length : 04 -[05Ch 0092 1] GPE0 Block Length : 10 -[05Dh 0093 1] GPE1 Block Length : 00 -[05Eh 0094 1] GPE1 Base Offset : 00 -[05Fh 0095 1] _CST Support : 00 -[060h 0096 2] C2 Latency : 0FFF -[062h 0098 2] C3 Latency : 0FFF -[064h 0100 2] CPU Cache Size : 0000 -[066h 0102 2] Cache Flush Stride : 0000 -[068h 0104 1] Duty Cycle Offset : 00 -[069h 0105 1] Duty Cycle Width : 00 -[06Ah 0106 1] RTC Day Alarm Index : 00 -[06Bh 0107 1] RTC Month Alarm Index : 00 -[06Ch 0108 1] RTC Century Index : 32 -[06Dh 0109 2] Boot Flags (decoded below) : 0000 - Legacy Devices Supported (V2) : 0 - 8042 Present on ports 60/64 (V2) : 0 - VGA Not Present (V4) : 0 - MSI Not Supported (V4) : 0 - PCIe ASPM Not Supported (V4) : 0 - CMOS RTC Not Present (V5) : 0 -[06Fh 0111 1] Reserved : 00 -[070h 0112 4] Flags (decoded below) : 000084A5 - WBINVD instruction is operational (V1) : 1 - WBINVD flushes all caches (V1) : 0 - All CPUs support C1 (V1) : 1 - C2 works on MP system (V1) : 0 - Control Method Power Button (V1) : 0 - Control Method Sleep Button (V1) : 1 - RTC wake not in fixed reg space (V1) : 0 - RTC can wake system from S4 (V1) : 1 - 32-bit PM Timer (V1) : 0 - Docking Supported (V1) : 0 - Reset Register Supported (V2) : 1 - Sealed Case (V3) : 0 - Headless - No Video (V3) : 0 - Use native instr after SLP_TYPx (V3) : 0 - PCIEXP_WAK Bits Supported (V4) : 0 - Use Platform Timer (V4) : 1 - RTC_STS valid on S4 wake (V4) : 0 - Remote Power-on capable (V4) : 0 - Use APIC Cluster Model (V4) : 0 - Use APIC Physical Destination Mode (V4) : 0 - Hardware Reduced (V5) : 0 - Low Power S0 Idle (V5) : 0 - -[074h 0116 12] Reset Register : [Generic Address Structure] -[074h 0116 1] Space ID : 01 [SystemIO] -[075h 0117 1] Bit Width : 08 -[076h 0118 1] Bit Offset : 00 -[077h 0119 1] Encoded Access Width : 00 [Undefined/Legacy] -[078h 0120 8] Address : 0000000000000CF9 - -[080h 0128 1] Value to cause reset : 0F -[081h 0129 2] ARM Flags (decoded below) : 0000 - PSCI Compliant : 0 - Must use HVC for PSCI : 0 - -[083h 0131 1] FADT Minor Revision : 00 -[084h 0132 8] FACS Address : 0000000000000000 -[08Ch 0140 8] DSDT Address : 0000000000000000 -[094h 0148 12] PM1A Event Block : [Generic Address Structure] -[094h 0148 1] Space ID : 01 [SystemIO] -[095h 0149 1] Bit Width : 20 -[096h 0150 1] Bit Offset : 00 -[097h 0151 1] Encoded Access Width : 00 [Undefined/Legacy] -[098h 0152 8] Address : 0000000000000600 - -[0A0h 0160 12] PM1B Event Block : [Generic Address Structure] -[0A0h 0160 1] Space ID : 00 [SystemMemory] -[0A1h 0161 1] Bit Width : 00 -[0A2h 0162 1] Bit Offset : 00 -[0A3h 0163 1] Encoded Access Width : 00 [Undefined/Legacy] -[0A4h 0164 8] Address : 0000000000000000 - -[0ACh 0172 12] PM1A Control Block : [Generic Address Structure] -[0ACh 0172 1] Space ID : 01 [SystemIO] -[0ADh 0173 1] Bit Width : 10 -[0AEh 0174 1] Bit Offset : 00 -[0AFh 0175 1] Encoded Access Width : 00 [Undefined/Legacy] -[0B0h 0176 8] Address : 0000000000000604 - -[0B8h 0184 12] PM1B Control Block : [Generic Address Structure] -[0B8h 0184 1] Space ID : 00 [SystemMemory] -[0B9h 0185 1] Bit Width : 00 -[0BAh 0186 1] Bit Offset : 00 -[0BBh 0187 1] Encoded Access Width : 00 [Undefined/Legacy] -[0BCh 0188 8] Address : 0000000000000000 - -[0C4h 0196 12] PM2 Control Block : [Generic Address Structure] -[0C4h 0196 1] Space ID : 00 [SystemMemory] -[0C5h 0197 1] Bit Width : 00 -[0C6h 0198 1] Bit Offset : 00 -[0C7h 0199 1] Encoded Access Width : 00 [Undefined/Legacy] -[0C8h 0200 8] Address : 0000000000000000 - -[0D0h 0208 12] PM Timer Block : [Generic Address Structure] -[0D0h 0208 1] Space ID : 01 [SystemIO] -[0D1h 0209 1] Bit Width : 20 -[0D2h 0210 1] Bit Offset : 00 -[0D3h 0211 1] Encoded Access Width : 00 [Undefined/Legacy] -[0D4h 0212 8] Address : 0000000000000608 - -[0DCh 0220 12] GPE0 Block : [Generic Address Structure] -[0DCh 0220 1] Space ID : 01 [SystemIO] -[0DDh 0221 1] Bit Width : 80 -[0DEh 0222 1] Bit Offset : 00 -[0DFh 0223 1] Encoded Access Width : 00 [Undefined/Legacy] -[0E0h 0224 8] Address : 0000000000000620 - -[0E8h 0232 12] GPE1 Block : [Generic Address Structure] -[0E8h 0232 1] Space ID : 00 [SystemMemory] -[0E9h 0233 1] Bit Width : 00 -[0EAh 0234 1] Bit Offset : 00 -[0EBh 0235 1] Encoded Access Width : 00 [Undefined/Legacy] -[0ECh 0236 8] Address : 0000000000000000 - - -Raw Table Data: Length 244 (0xF4) - - 0000: 46 41 43 50 F4 00 00 00 03 1F 42 4F 43 48 53 20 // FACP......BOCHS - 0010: 42 58 50 43 46 41 43 50 01 00 00 00 42 58 50 43 // BXPCFACP....BXPC - 0020: 01 00 00 00 00 00 00 00 00 00 00 00 01 00 09 00 // ................ - 0030: B2 00 00 00 02 03 00 00 00 06 00 00 00 00 00 00 // ................ - 0040: 04 06 00 00 00 00 00 00 00 00 00 00 08 06 00 00 // ................ - 0050: 20 06 00 00 00 00 00 00 04 02 00 04 10 00 00 00 // ............... - 0060: FF 0F FF 0F 00 00 00 00 00 00 00 00 32 00 00 00 // ............2... - 0070: A5 84 00 00 01 08 00 00 F9 0C 00 00 00 00 00 00 // ................ - 0080: 0F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0090: 00 00 00 00 01 20 00 00 00 06 00 00 00 00 00 00 // ..... .......... - 00A0: 00 00 00 00 00 00 00 00 00 00 00 00 01 10 00 00 // ................ - 00B0: 04 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00D0: 01 20 00 00 08 06 00 00 00 00 00 00 01 80 00 00 // . .............. - 00E0: 20 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ............... - 00F0: 00 00 00 00 // .... diff --git a/tests/data/acpi/q35/FACP.dsl b/tests/data/acpi/q35/FACP.dsl deleted file mode 100644 index 1a8893b320..0000000000 --- a/tests/data/acpi/q35/FACP.dsl +++ /dev/null @@ -1,179 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/FACP.tis, Mon Sep 28 17:24:38 2020 - * - * ACPI Data Table [FACP] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "FACP" [Fixed ACPI Description Table (FADT)] -[004h 0004 4] Table Length : 000000F4 -[008h 0008 1] Revision : 03 -[009h 0009 1] Checksum : 1F -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCFACP" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] FACS Address : 00000000 -[028h 0040 4] DSDT Address : 00000000 -[02Ch 0044 1] Model : 01 -[02Dh 0045 1] PM Profile : 00 [Unspecified] -[02Eh 0046 2] SCI Interrupt : 0009 -[030h 0048 4] SMI Command Port : 000000B2 -[034h 0052 1] ACPI Enable Value : 02 -[035h 0053 1] ACPI Disable Value : 03 -[036h 0054 1] S4BIOS Command : 00 -[037h 0055 1] P-State Control : 00 -[038h 0056 4] PM1A Event Block Address : 00000600 -[03Ch 0060 4] PM1B Event Block Address : 00000000 -[040h 0064 4] PM1A Control Block Address : 00000604 -[044h 0068 4] PM1B Control Block Address : 00000000 -[048h 0072 4] PM2 Control Block Address : 00000000 -[04Ch 0076 4] PM Timer Block Address : 00000608 -[050h 0080 4] GPE0 Block Address : 00000620 -[054h 0084 4] GPE1 Block Address : 00000000 -[058h 0088 1] PM1 Event Block Length : 04 -[059h 0089 1] PM1 Control Block Length : 02 -[05Ah 0090 1] PM2 Control Block Length : 00 -[05Bh 0091 1] PM Timer Block Length : 04 -[05Ch 0092 1] GPE0 Block Length : 10 -[05Dh 0093 1] GPE1 Block Length : 00 -[05Eh 0094 1] GPE1 Base Offset : 00 -[05Fh 0095 1] _CST Support : 00 -[060h 0096 2] C2 Latency : 0FFF -[062h 0098 2] C3 Latency : 0FFF -[064h 0100 2] CPU Cache Size : 0000 -[066h 0102 2] Cache Flush Stride : 0000 -[068h 0104 1] Duty Cycle Offset : 00 -[069h 0105 1] Duty Cycle Width : 00 -[06Ah 0106 1] RTC Day Alarm Index : 00 -[06Bh 0107 1] RTC Month Alarm Index : 00 -[06Ch 0108 1] RTC Century Index : 32 -[06Dh 0109 2] Boot Flags (decoded below) : 0000 - Legacy Devices Supported (V2) : 0 - 8042 Present on ports 60/64 (V2) : 0 - VGA Not Present (V4) : 0 - MSI Not Supported (V4) : 0 - PCIe ASPM Not Supported (V4) : 0 - CMOS RTC Not Present (V5) : 0 -[06Fh 0111 1] Reserved : 00 -[070h 0112 4] Flags (decoded below) : 000084A5 - WBINVD instruction is operational (V1) : 1 - WBINVD flushes all caches (V1) : 0 - All CPUs support C1 (V1) : 1 - C2 works on MP system (V1) : 0 - Control Method Power Button (V1) : 0 - Control Method Sleep Button (V1) : 1 - RTC wake not in fixed reg space (V1) : 0 - RTC can wake system from S4 (V1) : 1 - 32-bit PM Timer (V1) : 0 - Docking Supported (V1) : 0 - Reset Register Supported (V2) : 1 - Sealed Case (V3) : 0 - Headless - No Video (V3) : 0 - Use native instr after SLP_TYPx (V3) : 0 - PCIEXP_WAK Bits Supported (V4) : 0 - Use Platform Timer (V4) : 1 - RTC_STS valid on S4 wake (V4) : 0 - Remote Power-on capable (V4) : 0 - Use APIC Cluster Model (V4) : 0 - Use APIC Physical Destination Mode (V4) : 0 - Hardware Reduced (V5) : 0 - Low Power S0 Idle (V5) : 0 - -[074h 0116 12] Reset Register : [Generic Address Structure] -[074h 0116 1] Space ID : 01 [SystemIO] -[075h 0117 1] Bit Width : 08 -[076h 0118 1] Bit Offset : 00 -[077h 0119 1] Encoded Access Width : 00 [Undefined/Legacy] -[078h 0120 8] Address : 0000000000000CF9 - -[080h 0128 1] Value to cause reset : 0F -[081h 0129 2] ARM Flags (decoded below) : 0000 - PSCI Compliant : 0 - Must use HVC for PSCI : 0 - -[083h 0131 1] FADT Minor Revision : 00 -[084h 0132 8] FACS Address : 0000000000000000 -[08Ch 0140 8] DSDT Address : 0000000000000000 -[094h 0148 12] PM1A Event Block : [Generic Address Structure] -[094h 0148 1] Space ID : 01 [SystemIO] -[095h 0149 1] Bit Width : 20 -[096h 0150 1] Bit Offset : 00 -[097h 0151 1] Encoded Access Width : 00 [Undefined/Legacy] -[098h 0152 8] Address : 0000000000000600 - -[0A0h 0160 12] PM1B Event Block : [Generic Address Structure] -[0A0h 0160 1] Space ID : 00 [SystemMemory] -[0A1h 0161 1] Bit Width : 00 -[0A2h 0162 1] Bit Offset : 00 -[0A3h 0163 1] Encoded Access Width : 00 [Undefined/Legacy] -[0A4h 0164 8] Address : 0000000000000000 - -[0ACh 0172 12] PM1A Control Block : [Generic Address Structure] -[0ACh 0172 1] Space ID : 01 [SystemIO] -[0ADh 0173 1] Bit Width : 10 -[0AEh 0174 1] Bit Offset : 00 -[0AFh 0175 1] Encoded Access Width : 00 [Undefined/Legacy] -[0B0h 0176 8] Address : 0000000000000604 - -[0B8h 0184 12] PM1B Control Block : [Generic Address Structure] -[0B8h 0184 1] Space ID : 00 [SystemMemory] -[0B9h 0185 1] Bit Width : 00 -[0BAh 0186 1] Bit Offset : 00 -[0BBh 0187 1] Encoded Access Width : 00 [Undefined/Legacy] -[0BCh 0188 8] Address : 0000000000000000 - -[0C4h 0196 12] PM2 Control Block : [Generic Address Structure] -[0C4h 0196 1] Space ID : 00 [SystemMemory] -[0C5h 0197 1] Bit Width : 00 -[0C6h 0198 1] Bit Offset : 00 -[0C7h 0199 1] Encoded Access Width : 00 [Undefined/Legacy] -[0C8h 0200 8] Address : 0000000000000000 - -[0D0h 0208 12] PM Timer Block : [Generic Address Structure] -[0D0h 0208 1] Space ID : 01 [SystemIO] -[0D1h 0209 1] Bit Width : 20 -[0D2h 0210 1] Bit Offset : 00 -[0D3h 0211 1] Encoded Access Width : 00 [Undefined/Legacy] -[0D4h 0212 8] Address : 0000000000000608 - -[0DCh 0220 12] GPE0 Block : [Generic Address Structure] -[0DCh 0220 1] Space ID : 01 [SystemIO] -[0DDh 0221 1] Bit Width : 80 -[0DEh 0222 1] Bit Offset : 00 -[0DFh 0223 1] Encoded Access Width : 00 [Undefined/Legacy] -[0E0h 0224 8] Address : 0000000000000620 - -[0E8h 0232 12] GPE1 Block : [Generic Address Structure] -[0E8h 0232 1] Space ID : 00 [SystemMemory] -[0E9h 0233 1] Bit Width : 00 -[0EAh 0234 1] Bit Offset : 00 -[0EBh 0235 1] Encoded Access Width : 00 [Undefined/Legacy] -[0ECh 0236 8] Address : 0000000000000000 - - -Raw Table Data: Length 244 (0xF4) - - 0000: 46 41 43 50 F4 00 00 00 03 1F 42 4F 43 48 53 20 // FACP......BOCHS - 0010: 42 58 50 43 46 41 43 50 01 00 00 00 42 58 50 43 // BXPCFACP....BXPC - 0020: 01 00 00 00 00 00 00 00 00 00 00 00 01 00 09 00 // ................ - 0030: B2 00 00 00 02 03 00 00 00 06 00 00 00 00 00 00 // ................ - 0040: 04 06 00 00 00 00 00 00 00 00 00 00 08 06 00 00 // ................ - 0050: 20 06 00 00 00 00 00 00 04 02 00 04 10 00 00 00 // ............... - 0060: FF 0F FF 0F 00 00 00 00 00 00 00 00 32 00 00 00 // ............2... - 0070: A5 84 00 00 01 08 00 00 F9 0C 00 00 00 00 00 00 // ................ - 0080: 0F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0090: 00 00 00 00 01 20 00 00 00 06 00 00 00 00 00 00 // ..... .......... - 00A0: 00 00 00 00 00 00 00 00 00 00 00 00 01 10 00 00 // ................ - 00B0: 04 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00D0: 01 20 00 00 08 06 00 00 00 00 00 00 01 80 00 00 // . .............. - 00E0: 20 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ............... - 00F0: 00 00 00 00 // .... diff --git a/tests/data/acpi/q35/FACP.ipmibt b/tests/data/acpi/q35/FACP.ipmibt deleted file mode 100644 index 72c9d97902a4bbf14896023d9ba78e0899d6517b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 244 zcmZvW!3l&w5Cm&fMBzX)aAPn7T@Zh_a390*VJaqIY<_$xgRZV{_35F9p6RZ!ZUy41 z{o4L#+QHebu}%P;RXsw^0z@&8o^EoflBHn0ACZ*6UhIX>*T6i1WUzfs_g)5wdG3cu Q$?M-gG^;%n8J|8O2jpN50RR91 diff --git a/tests/data/acpi/q35/FACP.ipmibt.dsl b/tests/data/acpi/q35/FACP.ipmibt.dsl deleted file mode 100644 index b6e56c5af2..0000000000 --- a/tests/data/acpi/q35/FACP.ipmibt.dsl +++ /dev/null @@ -1,179 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/FACP.ipmibt, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [FACP] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "FACP" [Fixed ACPI Description Table (FADT)] -[004h 0004 4] Table Length : 000000F4 -[008h 0008 1] Revision : 03 -[009h 0009 1] Checksum : 1F -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCFACP" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] FACS Address : 00000000 -[028h 0040 4] DSDT Address : 00000000 -[02Ch 0044 1] Model : 01 -[02Dh 0045 1] PM Profile : 00 [Unspecified] -[02Eh 0046 2] SCI Interrupt : 0009 -[030h 0048 4] SMI Command Port : 000000B2 -[034h 0052 1] ACPI Enable Value : 02 -[035h 0053 1] ACPI Disable Value : 03 -[036h 0054 1] S4BIOS Command : 00 -[037h 0055 1] P-State Control : 00 -[038h 0056 4] PM1A Event Block Address : 00000600 -[03Ch 0060 4] PM1B Event Block Address : 00000000 -[040h 0064 4] PM1A Control Block Address : 00000604 -[044h 0068 4] PM1B Control Block Address : 00000000 -[048h 0072 4] PM2 Control Block Address : 00000000 -[04Ch 0076 4] PM Timer Block Address : 00000608 -[050h 0080 4] GPE0 Block Address : 00000620 -[054h 0084 4] GPE1 Block Address : 00000000 -[058h 0088 1] PM1 Event Block Length : 04 -[059h 0089 1] PM1 Control Block Length : 02 -[05Ah 0090 1] PM2 Control Block Length : 00 -[05Bh 0091 1] PM Timer Block Length : 04 -[05Ch 0092 1] GPE0 Block Length : 10 -[05Dh 0093 1] GPE1 Block Length : 00 -[05Eh 0094 1] GPE1 Base Offset : 00 -[05Fh 0095 1] _CST Support : 00 -[060h 0096 2] C2 Latency : 0FFF -[062h 0098 2] C3 Latency : 0FFF -[064h 0100 2] CPU Cache Size : 0000 -[066h 0102 2] Cache Flush Stride : 0000 -[068h 0104 1] Duty Cycle Offset : 00 -[069h 0105 1] Duty Cycle Width : 00 -[06Ah 0106 1] RTC Day Alarm Index : 00 -[06Bh 0107 1] RTC Month Alarm Index : 00 -[06Ch 0108 1] RTC Century Index : 32 -[06Dh 0109 2] Boot Flags (decoded below) : 0000 - Legacy Devices Supported (V2) : 0 - 8042 Present on ports 60/64 (V2) : 0 - VGA Not Present (V4) : 0 - MSI Not Supported (V4) : 0 - PCIe ASPM Not Supported (V4) : 0 - CMOS RTC Not Present (V5) : 0 -[06Fh 0111 1] Reserved : 00 -[070h 0112 4] Flags (decoded below) : 000084A5 - WBINVD instruction is operational (V1) : 1 - WBINVD flushes all caches (V1) : 0 - All CPUs support C1 (V1) : 1 - C2 works on MP system (V1) : 0 - Control Method Power Button (V1) : 0 - Control Method Sleep Button (V1) : 1 - RTC wake not in fixed reg space (V1) : 0 - RTC can wake system from S4 (V1) : 1 - 32-bit PM Timer (V1) : 0 - Docking Supported (V1) : 0 - Reset Register Supported (V2) : 1 - Sealed Case (V3) : 0 - Headless - No Video (V3) : 0 - Use native instr after SLP_TYPx (V3) : 0 - PCIEXP_WAK Bits Supported (V4) : 0 - Use Platform Timer (V4) : 1 - RTC_STS valid on S4 wake (V4) : 0 - Remote Power-on capable (V4) : 0 - Use APIC Cluster Model (V4) : 0 - Use APIC Physical Destination Mode (V4) : 0 - Hardware Reduced (V5) : 0 - Low Power S0 Idle (V5) : 0 - -[074h 0116 12] Reset Register : [Generic Address Structure] -[074h 0116 1] Space ID : 01 [SystemIO] -[075h 0117 1] Bit Width : 08 -[076h 0118 1] Bit Offset : 00 -[077h 0119 1] Encoded Access Width : 00 [Undefined/Legacy] -[078h 0120 8] Address : 0000000000000CF9 - -[080h 0128 1] Value to cause reset : 0F -[081h 0129 2] ARM Flags (decoded below) : 0000 - PSCI Compliant : 0 - Must use HVC for PSCI : 0 - -[083h 0131 1] FADT Minor Revision : 00 -[084h 0132 8] FACS Address : 0000000000000000 -[08Ch 0140 8] DSDT Address : 0000000000000000 -[094h 0148 12] PM1A Event Block : [Generic Address Structure] -[094h 0148 1] Space ID : 01 [SystemIO] -[095h 0149 1] Bit Width : 20 -[096h 0150 1] Bit Offset : 00 -[097h 0151 1] Encoded Access Width : 00 [Undefined/Legacy] -[098h 0152 8] Address : 0000000000000600 - -[0A0h 0160 12] PM1B Event Block : [Generic Address Structure] -[0A0h 0160 1] Space ID : 00 [SystemMemory] -[0A1h 0161 1] Bit Width : 00 -[0A2h 0162 1] Bit Offset : 00 -[0A3h 0163 1] Encoded Access Width : 00 [Undefined/Legacy] -[0A4h 0164 8] Address : 0000000000000000 - -[0ACh 0172 12] PM1A Control Block : [Generic Address Structure] -[0ACh 0172 1] Space ID : 01 [SystemIO] -[0ADh 0173 1] Bit Width : 10 -[0AEh 0174 1] Bit Offset : 00 -[0AFh 0175 1] Encoded Access Width : 00 [Undefined/Legacy] -[0B0h 0176 8] Address : 0000000000000604 - -[0B8h 0184 12] PM1B Control Block : [Generic Address Structure] -[0B8h 0184 1] Space ID : 00 [SystemMemory] -[0B9h 0185 1] Bit Width : 00 -[0BAh 0186 1] Bit Offset : 00 -[0BBh 0187 1] Encoded Access Width : 00 [Undefined/Legacy] -[0BCh 0188 8] Address : 0000000000000000 - -[0C4h 0196 12] PM2 Control Block : [Generic Address Structure] -[0C4h 0196 1] Space ID : 00 [SystemMemory] -[0C5h 0197 1] Bit Width : 00 -[0C6h 0198 1] Bit Offset : 00 -[0C7h 0199 1] Encoded Access Width : 00 [Undefined/Legacy] -[0C8h 0200 8] Address : 0000000000000000 - -[0D0h 0208 12] PM Timer Block : [Generic Address Structure] -[0D0h 0208 1] Space ID : 01 [SystemIO] -[0D1h 0209 1] Bit Width : 20 -[0D2h 0210 1] Bit Offset : 00 -[0D3h 0211 1] Encoded Access Width : 00 [Undefined/Legacy] -[0D4h 0212 8] Address : 0000000000000608 - -[0DCh 0220 12] GPE0 Block : [Generic Address Structure] -[0DCh 0220 1] Space ID : 01 [SystemIO] -[0DDh 0221 1] Bit Width : 80 -[0DEh 0222 1] Bit Offset : 00 -[0DFh 0223 1] Encoded Access Width : 00 [Undefined/Legacy] -[0E0h 0224 8] Address : 0000000000000620 - -[0E8h 0232 12] GPE1 Block : [Generic Address Structure] -[0E8h 0232 1] Space ID : 00 [SystemMemory] -[0E9h 0233 1] Bit Width : 00 -[0EAh 0234 1] Bit Offset : 00 -[0EBh 0235 1] Encoded Access Width : 00 [Undefined/Legacy] -[0ECh 0236 8] Address : 0000000000000000 - - -Raw Table Data: Length 244 (0xF4) - - 0000: 46 41 43 50 F4 00 00 00 03 1F 42 4F 43 48 53 20 // FACP......BOCHS - 0010: 42 58 50 43 46 41 43 50 01 00 00 00 42 58 50 43 // BXPCFACP....BXPC - 0020: 01 00 00 00 00 00 00 00 00 00 00 00 01 00 09 00 // ................ - 0030: B2 00 00 00 02 03 00 00 00 06 00 00 00 00 00 00 // ................ - 0040: 04 06 00 00 00 00 00 00 00 00 00 00 08 06 00 00 // ................ - 0050: 20 06 00 00 00 00 00 00 04 02 00 04 10 00 00 00 // ............... - 0060: FF 0F FF 0F 00 00 00 00 00 00 00 00 32 00 00 00 // ............2... - 0070: A5 84 00 00 01 08 00 00 F9 0C 00 00 00 00 00 00 // ................ - 0080: 0F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0090: 00 00 00 00 01 20 00 00 00 06 00 00 00 00 00 00 // ..... .......... - 00A0: 00 00 00 00 00 00 00 00 00 00 00 00 01 10 00 00 // ................ - 00B0: 04 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00D0: 01 20 00 00 08 06 00 00 00 00 00 00 01 80 00 00 // . .............. - 00E0: 20 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ............... - 00F0: 00 00 00 00 // .... diff --git a/tests/data/acpi/q35/FACP.memhp b/tests/data/acpi/q35/FACP.memhp deleted file mode 100644 index 72c9d97902a4bbf14896023d9ba78e0899d6517b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 244 zcmZvW!3l&w5Cm&fMBzX)aAPn7T@Zh_a390*VJaqIY<_$xgRZV{_35F9p6RZ!ZUy41 z{o4L#+QHebu}%P;RXsw^0z@&8o^EoflBHn0ACZ*6UhIX>*T6i1WUzfs_g)5wdG3cu Q$?M-gG^;%n8J|8O2jpN50RR91 diff --git a/tests/data/acpi/q35/FACP.memhp.dsl b/tests/data/acpi/q35/FACP.memhp.dsl deleted file mode 100644 index 2405fcdca8..0000000000 --- a/tests/data/acpi/q35/FACP.memhp.dsl +++ /dev/null @@ -1,179 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/FACP.memhp, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [FACP] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "FACP" [Fixed ACPI Description Table (FADT)] -[004h 0004 4] Table Length : 000000F4 -[008h 0008 1] Revision : 03 -[009h 0009 1] Checksum : 1F -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCFACP" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] FACS Address : 00000000 -[028h 0040 4] DSDT Address : 00000000 -[02Ch 0044 1] Model : 01 -[02Dh 0045 1] PM Profile : 00 [Unspecified] -[02Eh 0046 2] SCI Interrupt : 0009 -[030h 0048 4] SMI Command Port : 000000B2 -[034h 0052 1] ACPI Enable Value : 02 -[035h 0053 1] ACPI Disable Value : 03 -[036h 0054 1] S4BIOS Command : 00 -[037h 0055 1] P-State Control : 00 -[038h 0056 4] PM1A Event Block Address : 00000600 -[03Ch 0060 4] PM1B Event Block Address : 00000000 -[040h 0064 4] PM1A Control Block Address : 00000604 -[044h 0068 4] PM1B Control Block Address : 00000000 -[048h 0072 4] PM2 Control Block Address : 00000000 -[04Ch 0076 4] PM Timer Block Address : 00000608 -[050h 0080 4] GPE0 Block Address : 00000620 -[054h 0084 4] GPE1 Block Address : 00000000 -[058h 0088 1] PM1 Event Block Length : 04 -[059h 0089 1] PM1 Control Block Length : 02 -[05Ah 0090 1] PM2 Control Block Length : 00 -[05Bh 0091 1] PM Timer Block Length : 04 -[05Ch 0092 1] GPE0 Block Length : 10 -[05Dh 0093 1] GPE1 Block Length : 00 -[05Eh 0094 1] GPE1 Base Offset : 00 -[05Fh 0095 1] _CST Support : 00 -[060h 0096 2] C2 Latency : 0FFF -[062h 0098 2] C3 Latency : 0FFF -[064h 0100 2] CPU Cache Size : 0000 -[066h 0102 2] Cache Flush Stride : 0000 -[068h 0104 1] Duty Cycle Offset : 00 -[069h 0105 1] Duty Cycle Width : 00 -[06Ah 0106 1] RTC Day Alarm Index : 00 -[06Bh 0107 1] RTC Month Alarm Index : 00 -[06Ch 0108 1] RTC Century Index : 32 -[06Dh 0109 2] Boot Flags (decoded below) : 0000 - Legacy Devices Supported (V2) : 0 - 8042 Present on ports 60/64 (V2) : 0 - VGA Not Present (V4) : 0 - MSI Not Supported (V4) : 0 - PCIe ASPM Not Supported (V4) : 0 - CMOS RTC Not Present (V5) : 0 -[06Fh 0111 1] Reserved : 00 -[070h 0112 4] Flags (decoded below) : 000084A5 - WBINVD instruction is operational (V1) : 1 - WBINVD flushes all caches (V1) : 0 - All CPUs support C1 (V1) : 1 - C2 works on MP system (V1) : 0 - Control Method Power Button (V1) : 0 - Control Method Sleep Button (V1) : 1 - RTC wake not in fixed reg space (V1) : 0 - RTC can wake system from S4 (V1) : 1 - 32-bit PM Timer (V1) : 0 - Docking Supported (V1) : 0 - Reset Register Supported (V2) : 1 - Sealed Case (V3) : 0 - Headless - No Video (V3) : 0 - Use native instr after SLP_TYPx (V3) : 0 - PCIEXP_WAK Bits Supported (V4) : 0 - Use Platform Timer (V4) : 1 - RTC_STS valid on S4 wake (V4) : 0 - Remote Power-on capable (V4) : 0 - Use APIC Cluster Model (V4) : 0 - Use APIC Physical Destination Mode (V4) : 0 - Hardware Reduced (V5) : 0 - Low Power S0 Idle (V5) : 0 - -[074h 0116 12] Reset Register : [Generic Address Structure] -[074h 0116 1] Space ID : 01 [SystemIO] -[075h 0117 1] Bit Width : 08 -[076h 0118 1] Bit Offset : 00 -[077h 0119 1] Encoded Access Width : 00 [Undefined/Legacy] -[078h 0120 8] Address : 0000000000000CF9 - -[080h 0128 1] Value to cause reset : 0F -[081h 0129 2] ARM Flags (decoded below) : 0000 - PSCI Compliant : 0 - Must use HVC for PSCI : 0 - -[083h 0131 1] FADT Minor Revision : 00 -[084h 0132 8] FACS Address : 0000000000000000 -[08Ch 0140 8] DSDT Address : 0000000000000000 -[094h 0148 12] PM1A Event Block : [Generic Address Structure] -[094h 0148 1] Space ID : 01 [SystemIO] -[095h 0149 1] Bit Width : 20 -[096h 0150 1] Bit Offset : 00 -[097h 0151 1] Encoded Access Width : 00 [Undefined/Legacy] -[098h 0152 8] Address : 0000000000000600 - -[0A0h 0160 12] PM1B Event Block : [Generic Address Structure] -[0A0h 0160 1] Space ID : 00 [SystemMemory] -[0A1h 0161 1] Bit Width : 00 -[0A2h 0162 1] Bit Offset : 00 -[0A3h 0163 1] Encoded Access Width : 00 [Undefined/Legacy] -[0A4h 0164 8] Address : 0000000000000000 - -[0ACh 0172 12] PM1A Control Block : [Generic Address Structure] -[0ACh 0172 1] Space ID : 01 [SystemIO] -[0ADh 0173 1] Bit Width : 10 -[0AEh 0174 1] Bit Offset : 00 -[0AFh 0175 1] Encoded Access Width : 00 [Undefined/Legacy] -[0B0h 0176 8] Address : 0000000000000604 - -[0B8h 0184 12] PM1B Control Block : [Generic Address Structure] -[0B8h 0184 1] Space ID : 00 [SystemMemory] -[0B9h 0185 1] Bit Width : 00 -[0BAh 0186 1] Bit Offset : 00 -[0BBh 0187 1] Encoded Access Width : 00 [Undefined/Legacy] -[0BCh 0188 8] Address : 0000000000000000 - -[0C4h 0196 12] PM2 Control Block : [Generic Address Structure] -[0C4h 0196 1] Space ID : 00 [SystemMemory] -[0C5h 0197 1] Bit Width : 00 -[0C6h 0198 1] Bit Offset : 00 -[0C7h 0199 1] Encoded Access Width : 00 [Undefined/Legacy] -[0C8h 0200 8] Address : 0000000000000000 - -[0D0h 0208 12] PM Timer Block : [Generic Address Structure] -[0D0h 0208 1] Space ID : 01 [SystemIO] -[0D1h 0209 1] Bit Width : 20 -[0D2h 0210 1] Bit Offset : 00 -[0D3h 0211 1] Encoded Access Width : 00 [Undefined/Legacy] -[0D4h 0212 8] Address : 0000000000000608 - -[0DCh 0220 12] GPE0 Block : [Generic Address Structure] -[0DCh 0220 1] Space ID : 01 [SystemIO] -[0DDh 0221 1] Bit Width : 80 -[0DEh 0222 1] Bit Offset : 00 -[0DFh 0223 1] Encoded Access Width : 00 [Undefined/Legacy] -[0E0h 0224 8] Address : 0000000000000620 - -[0E8h 0232 12] GPE1 Block : [Generic Address Structure] -[0E8h 0232 1] Space ID : 00 [SystemMemory] -[0E9h 0233 1] Bit Width : 00 -[0EAh 0234 1] Bit Offset : 00 -[0EBh 0235 1] Encoded Access Width : 00 [Undefined/Legacy] -[0ECh 0236 8] Address : 0000000000000000 - - -Raw Table Data: Length 244 (0xF4) - - 0000: 46 41 43 50 F4 00 00 00 03 1F 42 4F 43 48 53 20 // FACP......BOCHS - 0010: 42 58 50 43 46 41 43 50 01 00 00 00 42 58 50 43 // BXPCFACP....BXPC - 0020: 01 00 00 00 00 00 00 00 00 00 00 00 01 00 09 00 // ................ - 0030: B2 00 00 00 02 03 00 00 00 06 00 00 00 00 00 00 // ................ - 0040: 04 06 00 00 00 00 00 00 00 00 00 00 08 06 00 00 // ................ - 0050: 20 06 00 00 00 00 00 00 04 02 00 04 10 00 00 00 // ............... - 0060: FF 0F FF 0F 00 00 00 00 00 00 00 00 32 00 00 00 // ............2... - 0070: A5 84 00 00 01 08 00 00 F9 0C 00 00 00 00 00 00 // ................ - 0080: 0F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0090: 00 00 00 00 01 20 00 00 00 06 00 00 00 00 00 00 // ..... .......... - 00A0: 00 00 00 00 00 00 00 00 00 00 00 00 01 10 00 00 // ................ - 00B0: 04 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00D0: 01 20 00 00 08 06 00 00 00 00 00 00 01 80 00 00 // . .............. - 00E0: 20 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ............... - 00F0: 00 00 00 00 // .... diff --git a/tests/data/acpi/q35/FACP.mmio64 b/tests/data/acpi/q35/FACP.mmio64 deleted file mode 100644 index 72c9d97902a4bbf14896023d9ba78e0899d6517b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 244 zcmZvW!3l&w5Cm&fMBzX)aAPn7T@Zh_a390*VJaqIY<_$xgRZV{_35F9p6RZ!ZUy41 z{o4L#+QHebu}%P;RXsw^0z@&8o^EoflBHn0ACZ*6UhIX>*T6i1WUzfs_g)5wdG3cu Q$?M-gG^;%n8J|8O2jpN50RR91 diff --git a/tests/data/acpi/q35/FACP.mmio64.dsl b/tests/data/acpi/q35/FACP.mmio64.dsl deleted file mode 100644 index 9f51c42156..0000000000 --- a/tests/data/acpi/q35/FACP.mmio64.dsl +++ /dev/null @@ -1,179 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/FACP.mmio64, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [FACP] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "FACP" [Fixed ACPI Description Table (FADT)] -[004h 0004 4] Table Length : 000000F4 -[008h 0008 1] Revision : 03 -[009h 0009 1] Checksum : 1F -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCFACP" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] FACS Address : 00000000 -[028h 0040 4] DSDT Address : 00000000 -[02Ch 0044 1] Model : 01 -[02Dh 0045 1] PM Profile : 00 [Unspecified] -[02Eh 0046 2] SCI Interrupt : 0009 -[030h 0048 4] SMI Command Port : 000000B2 -[034h 0052 1] ACPI Enable Value : 02 -[035h 0053 1] ACPI Disable Value : 03 -[036h 0054 1] S4BIOS Command : 00 -[037h 0055 1] P-State Control : 00 -[038h 0056 4] PM1A Event Block Address : 00000600 -[03Ch 0060 4] PM1B Event Block Address : 00000000 -[040h 0064 4] PM1A Control Block Address : 00000604 -[044h 0068 4] PM1B Control Block Address : 00000000 -[048h 0072 4] PM2 Control Block Address : 00000000 -[04Ch 0076 4] PM Timer Block Address : 00000608 -[050h 0080 4] GPE0 Block Address : 00000620 -[054h 0084 4] GPE1 Block Address : 00000000 -[058h 0088 1] PM1 Event Block Length : 04 -[059h 0089 1] PM1 Control Block Length : 02 -[05Ah 0090 1] PM2 Control Block Length : 00 -[05Bh 0091 1] PM Timer Block Length : 04 -[05Ch 0092 1] GPE0 Block Length : 10 -[05Dh 0093 1] GPE1 Block Length : 00 -[05Eh 0094 1] GPE1 Base Offset : 00 -[05Fh 0095 1] _CST Support : 00 -[060h 0096 2] C2 Latency : 0FFF -[062h 0098 2] C3 Latency : 0FFF -[064h 0100 2] CPU Cache Size : 0000 -[066h 0102 2] Cache Flush Stride : 0000 -[068h 0104 1] Duty Cycle Offset : 00 -[069h 0105 1] Duty Cycle Width : 00 -[06Ah 0106 1] RTC Day Alarm Index : 00 -[06Bh 0107 1] RTC Month Alarm Index : 00 -[06Ch 0108 1] RTC Century Index : 32 -[06Dh 0109 2] Boot Flags (decoded below) : 0000 - Legacy Devices Supported (V2) : 0 - 8042 Present on ports 60/64 (V2) : 0 - VGA Not Present (V4) : 0 - MSI Not Supported (V4) : 0 - PCIe ASPM Not Supported (V4) : 0 - CMOS RTC Not Present (V5) : 0 -[06Fh 0111 1] Reserved : 00 -[070h 0112 4] Flags (decoded below) : 000084A5 - WBINVD instruction is operational (V1) : 1 - WBINVD flushes all caches (V1) : 0 - All CPUs support C1 (V1) : 1 - C2 works on MP system (V1) : 0 - Control Method Power Button (V1) : 0 - Control Method Sleep Button (V1) : 1 - RTC wake not in fixed reg space (V1) : 0 - RTC can wake system from S4 (V1) : 1 - 32-bit PM Timer (V1) : 0 - Docking Supported (V1) : 0 - Reset Register Supported (V2) : 1 - Sealed Case (V3) : 0 - Headless - No Video (V3) : 0 - Use native instr after SLP_TYPx (V3) : 0 - PCIEXP_WAK Bits Supported (V4) : 0 - Use Platform Timer (V4) : 1 - RTC_STS valid on S4 wake (V4) : 0 - Remote Power-on capable (V4) : 0 - Use APIC Cluster Model (V4) : 0 - Use APIC Physical Destination Mode (V4) : 0 - Hardware Reduced (V5) : 0 - Low Power S0 Idle (V5) : 0 - -[074h 0116 12] Reset Register : [Generic Address Structure] -[074h 0116 1] Space ID : 01 [SystemIO] -[075h 0117 1] Bit Width : 08 -[076h 0118 1] Bit Offset : 00 -[077h 0119 1] Encoded Access Width : 00 [Undefined/Legacy] -[078h 0120 8] Address : 0000000000000CF9 - -[080h 0128 1] Value to cause reset : 0F -[081h 0129 2] ARM Flags (decoded below) : 0000 - PSCI Compliant : 0 - Must use HVC for PSCI : 0 - -[083h 0131 1] FADT Minor Revision : 00 -[084h 0132 8] FACS Address : 0000000000000000 -[08Ch 0140 8] DSDT Address : 0000000000000000 -[094h 0148 12] PM1A Event Block : [Generic Address Structure] -[094h 0148 1] Space ID : 01 [SystemIO] -[095h 0149 1] Bit Width : 20 -[096h 0150 1] Bit Offset : 00 -[097h 0151 1] Encoded Access Width : 00 [Undefined/Legacy] -[098h 0152 8] Address : 0000000000000600 - -[0A0h 0160 12] PM1B Event Block : [Generic Address Structure] -[0A0h 0160 1] Space ID : 00 [SystemMemory] -[0A1h 0161 1] Bit Width : 00 -[0A2h 0162 1] Bit Offset : 00 -[0A3h 0163 1] Encoded Access Width : 00 [Undefined/Legacy] -[0A4h 0164 8] Address : 0000000000000000 - -[0ACh 0172 12] PM1A Control Block : [Generic Address Structure] -[0ACh 0172 1] Space ID : 01 [SystemIO] -[0ADh 0173 1] Bit Width : 10 -[0AEh 0174 1] Bit Offset : 00 -[0AFh 0175 1] Encoded Access Width : 00 [Undefined/Legacy] -[0B0h 0176 8] Address : 0000000000000604 - -[0B8h 0184 12] PM1B Control Block : [Generic Address Structure] -[0B8h 0184 1] Space ID : 00 [SystemMemory] -[0B9h 0185 1] Bit Width : 00 -[0BAh 0186 1] Bit Offset : 00 -[0BBh 0187 1] Encoded Access Width : 00 [Undefined/Legacy] -[0BCh 0188 8] Address : 0000000000000000 - -[0C4h 0196 12] PM2 Control Block : [Generic Address Structure] -[0C4h 0196 1] Space ID : 00 [SystemMemory] -[0C5h 0197 1] Bit Width : 00 -[0C6h 0198 1] Bit Offset : 00 -[0C7h 0199 1] Encoded Access Width : 00 [Undefined/Legacy] -[0C8h 0200 8] Address : 0000000000000000 - -[0D0h 0208 12] PM Timer Block : [Generic Address Structure] -[0D0h 0208 1] Space ID : 01 [SystemIO] -[0D1h 0209 1] Bit Width : 20 -[0D2h 0210 1] Bit Offset : 00 -[0D3h 0211 1] Encoded Access Width : 00 [Undefined/Legacy] -[0D4h 0212 8] Address : 0000000000000608 - -[0DCh 0220 12] GPE0 Block : [Generic Address Structure] -[0DCh 0220 1] Space ID : 01 [SystemIO] -[0DDh 0221 1] Bit Width : 80 -[0DEh 0222 1] Bit Offset : 00 -[0DFh 0223 1] Encoded Access Width : 00 [Undefined/Legacy] -[0E0h 0224 8] Address : 0000000000000620 - -[0E8h 0232 12] GPE1 Block : [Generic Address Structure] -[0E8h 0232 1] Space ID : 00 [SystemMemory] -[0E9h 0233 1] Bit Width : 00 -[0EAh 0234 1] Bit Offset : 00 -[0EBh 0235 1] Encoded Access Width : 00 [Undefined/Legacy] -[0ECh 0236 8] Address : 0000000000000000 - - -Raw Table Data: Length 244 (0xF4) - - 0000: 46 41 43 50 F4 00 00 00 03 1F 42 4F 43 48 53 20 // FACP......BOCHS - 0010: 42 58 50 43 46 41 43 50 01 00 00 00 42 58 50 43 // BXPCFACP....BXPC - 0020: 01 00 00 00 00 00 00 00 00 00 00 00 01 00 09 00 // ................ - 0030: B2 00 00 00 02 03 00 00 00 06 00 00 00 00 00 00 // ................ - 0040: 04 06 00 00 00 00 00 00 00 00 00 00 08 06 00 00 // ................ - 0050: 20 06 00 00 00 00 00 00 04 02 00 04 10 00 00 00 // ............... - 0060: FF 0F FF 0F 00 00 00 00 00 00 00 00 32 00 00 00 // ............2... - 0070: A5 84 00 00 01 08 00 00 F9 0C 00 00 00 00 00 00 // ................ - 0080: 0F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0090: 00 00 00 00 01 20 00 00 00 06 00 00 00 00 00 00 // ..... .......... - 00A0: 00 00 00 00 00 00 00 00 00 00 00 00 01 10 00 00 // ................ - 00B0: 04 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00D0: 01 20 00 00 08 06 00 00 00 00 00 00 01 80 00 00 // . .............. - 00E0: 20 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ............... - 00F0: 00 00 00 00 // .... diff --git a/tests/data/acpi/q35/FACP.numamem b/tests/data/acpi/q35/FACP.numamem deleted file mode 100644 index 72c9d97902a4bbf14896023d9ba78e0899d6517b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 244 zcmZvW!3l&w5Cm&fMBzX)aAPn7T@Zh_a390*VJaqIY<_$xgRZV{_35F9p6RZ!ZUy41 z{o4L#+QHebu}%P;RXsw^0z@&8o^EoflBHn0ACZ*6UhIX>*T6i1WUzfs_g)5wdG3cu Q$?M-gG^;%n8J|8O2jpN50RR91 diff --git a/tests/data/acpi/q35/FACP.numamem.dsl b/tests/data/acpi/q35/FACP.numamem.dsl deleted file mode 100644 index a5854c1a69..0000000000 --- a/tests/data/acpi/q35/FACP.numamem.dsl +++ /dev/null @@ -1,179 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/FACP.numamem, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [FACP] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "FACP" [Fixed ACPI Description Table (FADT)] -[004h 0004 4] Table Length : 000000F4 -[008h 0008 1] Revision : 03 -[009h 0009 1] Checksum : 1F -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCFACP" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] FACS Address : 00000000 -[028h 0040 4] DSDT Address : 00000000 -[02Ch 0044 1] Model : 01 -[02Dh 0045 1] PM Profile : 00 [Unspecified] -[02Eh 0046 2] SCI Interrupt : 0009 -[030h 0048 4] SMI Command Port : 000000B2 -[034h 0052 1] ACPI Enable Value : 02 -[035h 0053 1] ACPI Disable Value : 03 -[036h 0054 1] S4BIOS Command : 00 -[037h 0055 1] P-State Control : 00 -[038h 0056 4] PM1A Event Block Address : 00000600 -[03Ch 0060 4] PM1B Event Block Address : 00000000 -[040h 0064 4] PM1A Control Block Address : 00000604 -[044h 0068 4] PM1B Control Block Address : 00000000 -[048h 0072 4] PM2 Control Block Address : 00000000 -[04Ch 0076 4] PM Timer Block Address : 00000608 -[050h 0080 4] GPE0 Block Address : 00000620 -[054h 0084 4] GPE1 Block Address : 00000000 -[058h 0088 1] PM1 Event Block Length : 04 -[059h 0089 1] PM1 Control Block Length : 02 -[05Ah 0090 1] PM2 Control Block Length : 00 -[05Bh 0091 1] PM Timer Block Length : 04 -[05Ch 0092 1] GPE0 Block Length : 10 -[05Dh 0093 1] GPE1 Block Length : 00 -[05Eh 0094 1] GPE1 Base Offset : 00 -[05Fh 0095 1] _CST Support : 00 -[060h 0096 2] C2 Latency : 0FFF -[062h 0098 2] C3 Latency : 0FFF -[064h 0100 2] CPU Cache Size : 0000 -[066h 0102 2] Cache Flush Stride : 0000 -[068h 0104 1] Duty Cycle Offset : 00 -[069h 0105 1] Duty Cycle Width : 00 -[06Ah 0106 1] RTC Day Alarm Index : 00 -[06Bh 0107 1] RTC Month Alarm Index : 00 -[06Ch 0108 1] RTC Century Index : 32 -[06Dh 0109 2] Boot Flags (decoded below) : 0000 - Legacy Devices Supported (V2) : 0 - 8042 Present on ports 60/64 (V2) : 0 - VGA Not Present (V4) : 0 - MSI Not Supported (V4) : 0 - PCIe ASPM Not Supported (V4) : 0 - CMOS RTC Not Present (V5) : 0 -[06Fh 0111 1] Reserved : 00 -[070h 0112 4] Flags (decoded below) : 000084A5 - WBINVD instruction is operational (V1) : 1 - WBINVD flushes all caches (V1) : 0 - All CPUs support C1 (V1) : 1 - C2 works on MP system (V1) : 0 - Control Method Power Button (V1) : 0 - Control Method Sleep Button (V1) : 1 - RTC wake not in fixed reg space (V1) : 0 - RTC can wake system from S4 (V1) : 1 - 32-bit PM Timer (V1) : 0 - Docking Supported (V1) : 0 - Reset Register Supported (V2) : 1 - Sealed Case (V3) : 0 - Headless - No Video (V3) : 0 - Use native instr after SLP_TYPx (V3) : 0 - PCIEXP_WAK Bits Supported (V4) : 0 - Use Platform Timer (V4) : 1 - RTC_STS valid on S4 wake (V4) : 0 - Remote Power-on capable (V4) : 0 - Use APIC Cluster Model (V4) : 0 - Use APIC Physical Destination Mode (V4) : 0 - Hardware Reduced (V5) : 0 - Low Power S0 Idle (V5) : 0 - -[074h 0116 12] Reset Register : [Generic Address Structure] -[074h 0116 1] Space ID : 01 [SystemIO] -[075h 0117 1] Bit Width : 08 -[076h 0118 1] Bit Offset : 00 -[077h 0119 1] Encoded Access Width : 00 [Undefined/Legacy] -[078h 0120 8] Address : 0000000000000CF9 - -[080h 0128 1] Value to cause reset : 0F -[081h 0129 2] ARM Flags (decoded below) : 0000 - PSCI Compliant : 0 - Must use HVC for PSCI : 0 - -[083h 0131 1] FADT Minor Revision : 00 -[084h 0132 8] FACS Address : 0000000000000000 -[08Ch 0140 8] DSDT Address : 0000000000000000 -[094h 0148 12] PM1A Event Block : [Generic Address Structure] -[094h 0148 1] Space ID : 01 [SystemIO] -[095h 0149 1] Bit Width : 20 -[096h 0150 1] Bit Offset : 00 -[097h 0151 1] Encoded Access Width : 00 [Undefined/Legacy] -[098h 0152 8] Address : 0000000000000600 - -[0A0h 0160 12] PM1B Event Block : [Generic Address Structure] -[0A0h 0160 1] Space ID : 00 [SystemMemory] -[0A1h 0161 1] Bit Width : 00 -[0A2h 0162 1] Bit Offset : 00 -[0A3h 0163 1] Encoded Access Width : 00 [Undefined/Legacy] -[0A4h 0164 8] Address : 0000000000000000 - -[0ACh 0172 12] PM1A Control Block : [Generic Address Structure] -[0ACh 0172 1] Space ID : 01 [SystemIO] -[0ADh 0173 1] Bit Width : 10 -[0AEh 0174 1] Bit Offset : 00 -[0AFh 0175 1] Encoded Access Width : 00 [Undefined/Legacy] -[0B0h 0176 8] Address : 0000000000000604 - -[0B8h 0184 12] PM1B Control Block : [Generic Address Structure] -[0B8h 0184 1] Space ID : 00 [SystemMemory] -[0B9h 0185 1] Bit Width : 00 -[0BAh 0186 1] Bit Offset : 00 -[0BBh 0187 1] Encoded Access Width : 00 [Undefined/Legacy] -[0BCh 0188 8] Address : 0000000000000000 - -[0C4h 0196 12] PM2 Control Block : [Generic Address Structure] -[0C4h 0196 1] Space ID : 00 [SystemMemory] -[0C5h 0197 1] Bit Width : 00 -[0C6h 0198 1] Bit Offset : 00 -[0C7h 0199 1] Encoded Access Width : 00 [Undefined/Legacy] -[0C8h 0200 8] Address : 0000000000000000 - -[0D0h 0208 12] PM Timer Block : [Generic Address Structure] -[0D0h 0208 1] Space ID : 01 [SystemIO] -[0D1h 0209 1] Bit Width : 20 -[0D2h 0210 1] Bit Offset : 00 -[0D3h 0211 1] Encoded Access Width : 00 [Undefined/Legacy] -[0D4h 0212 8] Address : 0000000000000608 - -[0DCh 0220 12] GPE0 Block : [Generic Address Structure] -[0DCh 0220 1] Space ID : 01 [SystemIO] -[0DDh 0221 1] Bit Width : 80 -[0DEh 0222 1] Bit Offset : 00 -[0DFh 0223 1] Encoded Access Width : 00 [Undefined/Legacy] -[0E0h 0224 8] Address : 0000000000000620 - -[0E8h 0232 12] GPE1 Block : [Generic Address Structure] -[0E8h 0232 1] Space ID : 00 [SystemMemory] -[0E9h 0233 1] Bit Width : 00 -[0EAh 0234 1] Bit Offset : 00 -[0EBh 0235 1] Encoded Access Width : 00 [Undefined/Legacy] -[0ECh 0236 8] Address : 0000000000000000 - - -Raw Table Data: Length 244 (0xF4) - - 0000: 46 41 43 50 F4 00 00 00 03 1F 42 4F 43 48 53 20 // FACP......BOCHS - 0010: 42 58 50 43 46 41 43 50 01 00 00 00 42 58 50 43 // BXPCFACP....BXPC - 0020: 01 00 00 00 00 00 00 00 00 00 00 00 01 00 09 00 // ................ - 0030: B2 00 00 00 02 03 00 00 00 06 00 00 00 00 00 00 // ................ - 0040: 04 06 00 00 00 00 00 00 00 00 00 00 08 06 00 00 // ................ - 0050: 20 06 00 00 00 00 00 00 04 02 00 04 10 00 00 00 // ............... - 0060: FF 0F FF 0F 00 00 00 00 00 00 00 00 32 00 00 00 // ............2... - 0070: A5 84 00 00 01 08 00 00 F9 0C 00 00 00 00 00 00 // ................ - 0080: 0F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0090: 00 00 00 00 01 20 00 00 00 06 00 00 00 00 00 00 // ..... .......... - 00A0: 00 00 00 00 00 00 00 00 00 00 00 00 01 10 00 00 // ................ - 00B0: 04 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00D0: 01 20 00 00 08 06 00 00 00 00 00 00 01 80 00 00 // . .............. - 00E0: 20 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ............... - 00F0: 00 00 00 00 // .... diff --git a/tests/data/acpi/q35/FACP.tis b/tests/data/acpi/q35/FACP.tis deleted file mode 100644 index 72c9d97902a4bbf14896023d9ba78e0899d6517b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 244 zcmZvW!3l&w5Cm&fMBzX)aAPn7T@Zh_a390*VJaqIY<_$xgRZV{_35F9p6RZ!ZUy41 z{o4L#+QHebu}%P;RXsw^0z@&8o^EoflBHn0ACZ*6UhIX>*T6i1WUzfs_g)5wdG3cu Q$?M-gG^;%n8J|8O2jpN50RR91 diff --git a/tests/data/acpi/q35/FACP.tis.dsl b/tests/data/acpi/q35/FACP.tis.dsl deleted file mode 100644 index 22f6a34466..0000000000 --- a/tests/data/acpi/q35/FACP.tis.dsl +++ /dev/null @@ -1,179 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/FACP.tis, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [FACP] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "FACP" [Fixed ACPI Description Table (FADT)] -[004h 0004 4] Table Length : 000000F4 -[008h 0008 1] Revision : 03 -[009h 0009 1] Checksum : 1F -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCFACP" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] FACS Address : 00000000 -[028h 0040 4] DSDT Address : 00000000 -[02Ch 0044 1] Model : 01 -[02Dh 0045 1] PM Profile : 00 [Unspecified] -[02Eh 0046 2] SCI Interrupt : 0009 -[030h 0048 4] SMI Command Port : 000000B2 -[034h 0052 1] ACPI Enable Value : 02 -[035h 0053 1] ACPI Disable Value : 03 -[036h 0054 1] S4BIOS Command : 00 -[037h 0055 1] P-State Control : 00 -[038h 0056 4] PM1A Event Block Address : 00000600 -[03Ch 0060 4] PM1B Event Block Address : 00000000 -[040h 0064 4] PM1A Control Block Address : 00000604 -[044h 0068 4] PM1B Control Block Address : 00000000 -[048h 0072 4] PM2 Control Block Address : 00000000 -[04Ch 0076 4] PM Timer Block Address : 00000608 -[050h 0080 4] GPE0 Block Address : 00000620 -[054h 0084 4] GPE1 Block Address : 00000000 -[058h 0088 1] PM1 Event Block Length : 04 -[059h 0089 1] PM1 Control Block Length : 02 -[05Ah 0090 1] PM2 Control Block Length : 00 -[05Bh 0091 1] PM Timer Block Length : 04 -[05Ch 0092 1] GPE0 Block Length : 10 -[05Dh 0093 1] GPE1 Block Length : 00 -[05Eh 0094 1] GPE1 Base Offset : 00 -[05Fh 0095 1] _CST Support : 00 -[060h 0096 2] C2 Latency : 0FFF -[062h 0098 2] C3 Latency : 0FFF -[064h 0100 2] CPU Cache Size : 0000 -[066h 0102 2] Cache Flush Stride : 0000 -[068h 0104 1] Duty Cycle Offset : 00 -[069h 0105 1] Duty Cycle Width : 00 -[06Ah 0106 1] RTC Day Alarm Index : 00 -[06Bh 0107 1] RTC Month Alarm Index : 00 -[06Ch 0108 1] RTC Century Index : 32 -[06Dh 0109 2] Boot Flags (decoded below) : 0000 - Legacy Devices Supported (V2) : 0 - 8042 Present on ports 60/64 (V2) : 0 - VGA Not Present (V4) : 0 - MSI Not Supported (V4) : 0 - PCIe ASPM Not Supported (V4) : 0 - CMOS RTC Not Present (V5) : 0 -[06Fh 0111 1] Reserved : 00 -[070h 0112 4] Flags (decoded below) : 000084A5 - WBINVD instruction is operational (V1) : 1 - WBINVD flushes all caches (V1) : 0 - All CPUs support C1 (V1) : 1 - C2 works on MP system (V1) : 0 - Control Method Power Button (V1) : 0 - Control Method Sleep Button (V1) : 1 - RTC wake not in fixed reg space (V1) : 0 - RTC can wake system from S4 (V1) : 1 - 32-bit PM Timer (V1) : 0 - Docking Supported (V1) : 0 - Reset Register Supported (V2) : 1 - Sealed Case (V3) : 0 - Headless - No Video (V3) : 0 - Use native instr after SLP_TYPx (V3) : 0 - PCIEXP_WAK Bits Supported (V4) : 0 - Use Platform Timer (V4) : 1 - RTC_STS valid on S4 wake (V4) : 0 - Remote Power-on capable (V4) : 0 - Use APIC Cluster Model (V4) : 0 - Use APIC Physical Destination Mode (V4) : 0 - Hardware Reduced (V5) : 0 - Low Power S0 Idle (V5) : 0 - -[074h 0116 12] Reset Register : [Generic Address Structure] -[074h 0116 1] Space ID : 01 [SystemIO] -[075h 0117 1] Bit Width : 08 -[076h 0118 1] Bit Offset : 00 -[077h 0119 1] Encoded Access Width : 00 [Undefined/Legacy] -[078h 0120 8] Address : 0000000000000CF9 - -[080h 0128 1] Value to cause reset : 0F -[081h 0129 2] ARM Flags (decoded below) : 0000 - PSCI Compliant : 0 - Must use HVC for PSCI : 0 - -[083h 0131 1] FADT Minor Revision : 00 -[084h 0132 8] FACS Address : 0000000000000000 -[08Ch 0140 8] DSDT Address : 0000000000000000 -[094h 0148 12] PM1A Event Block : [Generic Address Structure] -[094h 0148 1] Space ID : 01 [SystemIO] -[095h 0149 1] Bit Width : 20 -[096h 0150 1] Bit Offset : 00 -[097h 0151 1] Encoded Access Width : 00 [Undefined/Legacy] -[098h 0152 8] Address : 0000000000000600 - -[0A0h 0160 12] PM1B Event Block : [Generic Address Structure] -[0A0h 0160 1] Space ID : 00 [SystemMemory] -[0A1h 0161 1] Bit Width : 00 -[0A2h 0162 1] Bit Offset : 00 -[0A3h 0163 1] Encoded Access Width : 00 [Undefined/Legacy] -[0A4h 0164 8] Address : 0000000000000000 - -[0ACh 0172 12] PM1A Control Block : [Generic Address Structure] -[0ACh 0172 1] Space ID : 01 [SystemIO] -[0ADh 0173 1] Bit Width : 10 -[0AEh 0174 1] Bit Offset : 00 -[0AFh 0175 1] Encoded Access Width : 00 [Undefined/Legacy] -[0B0h 0176 8] Address : 0000000000000604 - -[0B8h 0184 12] PM1B Control Block : [Generic Address Structure] -[0B8h 0184 1] Space ID : 00 [SystemMemory] -[0B9h 0185 1] Bit Width : 00 -[0BAh 0186 1] Bit Offset : 00 -[0BBh 0187 1] Encoded Access Width : 00 [Undefined/Legacy] -[0BCh 0188 8] Address : 0000000000000000 - -[0C4h 0196 12] PM2 Control Block : [Generic Address Structure] -[0C4h 0196 1] Space ID : 00 [SystemMemory] -[0C5h 0197 1] Bit Width : 00 -[0C6h 0198 1] Bit Offset : 00 -[0C7h 0199 1] Encoded Access Width : 00 [Undefined/Legacy] -[0C8h 0200 8] Address : 0000000000000000 - -[0D0h 0208 12] PM Timer Block : [Generic Address Structure] -[0D0h 0208 1] Space ID : 01 [SystemIO] -[0D1h 0209 1] Bit Width : 20 -[0D2h 0210 1] Bit Offset : 00 -[0D3h 0211 1] Encoded Access Width : 00 [Undefined/Legacy] -[0D4h 0212 8] Address : 0000000000000608 - -[0DCh 0220 12] GPE0 Block : [Generic Address Structure] -[0DCh 0220 1] Space ID : 01 [SystemIO] -[0DDh 0221 1] Bit Width : 80 -[0DEh 0222 1] Bit Offset : 00 -[0DFh 0223 1] Encoded Access Width : 00 [Undefined/Legacy] -[0E0h 0224 8] Address : 0000000000000620 - -[0E8h 0232 12] GPE1 Block : [Generic Address Structure] -[0E8h 0232 1] Space ID : 00 [SystemMemory] -[0E9h 0233 1] Bit Width : 00 -[0EAh 0234 1] Bit Offset : 00 -[0EBh 0235 1] Encoded Access Width : 00 [Undefined/Legacy] -[0ECh 0236 8] Address : 0000000000000000 - - -Raw Table Data: Length 244 (0xF4) - - 0000: 46 41 43 50 F4 00 00 00 03 1F 42 4F 43 48 53 20 // FACP......BOCHS - 0010: 42 58 50 43 46 41 43 50 01 00 00 00 42 58 50 43 // BXPCFACP....BXPC - 0020: 01 00 00 00 00 00 00 00 00 00 00 00 01 00 09 00 // ................ - 0030: B2 00 00 00 02 03 00 00 00 06 00 00 00 00 00 00 // ................ - 0040: 04 06 00 00 00 00 00 00 00 00 00 00 08 06 00 00 // ................ - 0050: 20 06 00 00 00 00 00 00 04 02 00 04 10 00 00 00 // ............... - 0060: FF 0F FF 0F 00 00 00 00 00 00 00 00 32 00 00 00 // ............2... - 0070: A5 84 00 00 01 08 00 00 F9 0C 00 00 00 00 00 00 // ................ - 0080: 0F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0090: 00 00 00 00 01 20 00 00 00 06 00 00 00 00 00 00 // ..... .......... - 00A0: 00 00 00 00 00 00 00 00 00 00 00 00 01 10 00 00 // ................ - 00B0: 04 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00D0: 01 20 00 00 08 06 00 00 00 00 00 00 01 80 00 00 // . .............. - 00E0: 20 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ............... - 00F0: 00 00 00 00 // .... diff --git a/tests/data/acpi/q35/FACS.acpihmat b/tests/data/acpi/q35/FACS.acpihmat deleted file mode 100644 index fc67ecc40782bd7fe8921e430d7de67f0bfaad93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 64 PcmZ>BbPjf4ARhn#RKNjV diff --git a/tests/data/acpi/q35/FACS.acpihmat.dsl b/tests/data/acpi/q35/FACS.acpihmat.dsl deleted file mode 100644 index 0bd98653ce..0000000000 --- a/tests/data/acpi/q35/FACS.acpihmat.dsl +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/FACS.acpihmat, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [FACS] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "FACS" -[004h 0004 4] Length : 00000040 -[008h 0008 4] Hardware Signature : 00000000 -[00Ch 0012 4] 32 Firmware Waking Vector : 00000000 -[010h 0016 4] Global Lock : 00000000 -[014h 0020 4] Flags (decoded below) : 00000000 - S4BIOS Support Present : 0 - 64-bit Wake Supported (V2) : 0 -[018h 0024 8] 64 Firmware Waking Vector : 0000000000000000 -[020h 0032 1] Version : 00 -[021h 0033 3] Reserved : 000000 -[024h 0036 4] OspmFlags (decoded below) : 00000000 - 64-bit Wake Env Required (V2) : 0 - -Raw Table Data: Length 64 (0x40) - - 0000: 46 41 43 53 40 00 00 00 00 00 00 00 00 00 00 00 // FACS@........... - 0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ diff --git a/tests/data/acpi/q35/FACS.bridge b/tests/data/acpi/q35/FACS.bridge deleted file mode 100644 index fc67ecc40782bd7fe8921e430d7de67f0bfaad93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 64 PcmZ>BbPjf4ARhn#RKNjV diff --git a/tests/data/acpi/q35/FACS.bridge.dsl b/tests/data/acpi/q35/FACS.bridge.dsl deleted file mode 100644 index 116dce1f2d..0000000000 --- a/tests/data/acpi/q35/FACS.bridge.dsl +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/FACS.bridge, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [FACS] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "FACS" -[004h 0004 4] Length : 00000040 -[008h 0008 4] Hardware Signature : 00000000 -[00Ch 0012 4] 32 Firmware Waking Vector : 00000000 -[010h 0016 4] Global Lock : 00000000 -[014h 0020 4] Flags (decoded below) : 00000000 - S4BIOS Support Present : 0 - 64-bit Wake Supported (V2) : 0 -[018h 0024 8] 64 Firmware Waking Vector : 0000000000000000 -[020h 0032 1] Version : 00 -[021h 0033 3] Reserved : 000000 -[024h 0036 4] OspmFlags (decoded below) : 00000000 - 64-bit Wake Env Required (V2) : 0 - -Raw Table Data: Length 64 (0x40) - - 0000: 46 41 43 53 40 00 00 00 00 00 00 00 00 00 00 00 // FACS@........... - 0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ diff --git a/tests/data/acpi/q35/FACS.cphp b/tests/data/acpi/q35/FACS.cphp deleted file mode 100644 index fc67ecc40782bd7fe8921e430d7de67f0bfaad93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 64 PcmZ>BbPjf4ARhn#RKNjV diff --git a/tests/data/acpi/q35/FACS.cphp.dsl b/tests/data/acpi/q35/FACS.cphp.dsl deleted file mode 100644 index 580d502491..0000000000 --- a/tests/data/acpi/q35/FACS.cphp.dsl +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/FACS.cphp, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [FACS] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "FACS" -[004h 0004 4] Length : 00000040 -[008h 0008 4] Hardware Signature : 00000000 -[00Ch 0012 4] 32 Firmware Waking Vector : 00000000 -[010h 0016 4] Global Lock : 00000000 -[014h 0020 4] Flags (decoded below) : 00000000 - S4BIOS Support Present : 0 - 64-bit Wake Supported (V2) : 0 -[018h 0024 8] 64 Firmware Waking Vector : 0000000000000000 -[020h 0032 1] Version : 00 -[021h 0033 3] Reserved : 000000 -[024h 0036 4] OspmFlags (decoded below) : 00000000 - 64-bit Wake Env Required (V2) : 0 - -Raw Table Data: Length 64 (0x40) - - 0000: 46 41 43 53 40 00 00 00 00 00 00 00 00 00 00 00 // FACS@........... - 0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ diff --git a/tests/data/acpi/q35/FACS.dimmpxm b/tests/data/acpi/q35/FACS.dimmpxm deleted file mode 100644 index fc67ecc40782bd7fe8921e430d7de67f0bfaad93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 64 PcmZ>BbPjf4ARhn#RKNjV diff --git a/tests/data/acpi/q35/FACS.dimmpxm.dsl b/tests/data/acpi/q35/FACS.dimmpxm.dsl deleted file mode 100644 index 4106387866..0000000000 --- a/tests/data/acpi/q35/FACS.dimmpxm.dsl +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/FACS.dimmpxm, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [FACS] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "FACS" -[004h 0004 4] Length : 00000040 -[008h 0008 4] Hardware Signature : 00000000 -[00Ch 0012 4] 32 Firmware Waking Vector : 00000000 -[010h 0016 4] Global Lock : 00000000 -[014h 0020 4] Flags (decoded below) : 00000000 - S4BIOS Support Present : 0 - 64-bit Wake Supported (V2) : 0 -[018h 0024 8] 64 Firmware Waking Vector : 0000000000000000 -[020h 0032 1] Version : 00 -[021h 0033 3] Reserved : 000000 -[024h 0036 4] OspmFlags (decoded below) : 00000000 - 64-bit Wake Env Required (V2) : 0 - -Raw Table Data: Length 64 (0x40) - - 0000: 46 41 43 53 40 00 00 00 00 00 00 00 00 00 00 00 // FACS@........... - 0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ diff --git a/tests/data/acpi/q35/FACS.dsl b/tests/data/acpi/q35/FACS.dsl deleted file mode 100644 index 0595b4ddb9..0000000000 --- a/tests/data/acpi/q35/FACS.dsl +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/FACS.tis, Mon Sep 28 17:24:38 2020 - * - * ACPI Data Table [FACS] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "FACS" -[004h 0004 4] Length : 00000040 -[008h 0008 4] Hardware Signature : 00000000 -[00Ch 0012 4] 32 Firmware Waking Vector : 00000000 -[010h 0016 4] Global Lock : 00000000 -[014h 0020 4] Flags (decoded below) : 00000000 - S4BIOS Support Present : 0 - 64-bit Wake Supported (V2) : 0 -[018h 0024 8] 64 Firmware Waking Vector : 0000000000000000 -[020h 0032 1] Version : 00 -[021h 0033 3] Reserved : 000000 -[024h 0036 4] OspmFlags (decoded below) : 00000000 - 64-bit Wake Env Required (V2) : 0 - -Raw Table Data: Length 64 (0x40) - - 0000: 46 41 43 53 40 00 00 00 00 00 00 00 00 00 00 00 // FACS@........... - 0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ diff --git a/tests/data/acpi/q35/FACS.ipmibt b/tests/data/acpi/q35/FACS.ipmibt deleted file mode 100644 index fc67ecc40782bd7fe8921e430d7de67f0bfaad93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 64 PcmZ>BbPjf4ARhn#RKNjV diff --git a/tests/data/acpi/q35/FACS.ipmibt.dsl b/tests/data/acpi/q35/FACS.ipmibt.dsl deleted file mode 100644 index 8c019f3475..0000000000 --- a/tests/data/acpi/q35/FACS.ipmibt.dsl +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/FACS.ipmibt, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [FACS] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "FACS" -[004h 0004 4] Length : 00000040 -[008h 0008 4] Hardware Signature : 00000000 -[00Ch 0012 4] 32 Firmware Waking Vector : 00000000 -[010h 0016 4] Global Lock : 00000000 -[014h 0020 4] Flags (decoded below) : 00000000 - S4BIOS Support Present : 0 - 64-bit Wake Supported (V2) : 0 -[018h 0024 8] 64 Firmware Waking Vector : 0000000000000000 -[020h 0032 1] Version : 00 -[021h 0033 3] Reserved : 000000 -[024h 0036 4] OspmFlags (decoded below) : 00000000 - 64-bit Wake Env Required (V2) : 0 - -Raw Table Data: Length 64 (0x40) - - 0000: 46 41 43 53 40 00 00 00 00 00 00 00 00 00 00 00 // FACS@........... - 0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ diff --git a/tests/data/acpi/q35/FACS.memhp b/tests/data/acpi/q35/FACS.memhp deleted file mode 100644 index fc67ecc40782bd7fe8921e430d7de67f0bfaad93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 64 PcmZ>BbPjf4ARhn#RKNjV diff --git a/tests/data/acpi/q35/FACS.memhp.dsl b/tests/data/acpi/q35/FACS.memhp.dsl deleted file mode 100644 index fb6d84c152..0000000000 --- a/tests/data/acpi/q35/FACS.memhp.dsl +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/FACS.memhp, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [FACS] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "FACS" -[004h 0004 4] Length : 00000040 -[008h 0008 4] Hardware Signature : 00000000 -[00Ch 0012 4] 32 Firmware Waking Vector : 00000000 -[010h 0016 4] Global Lock : 00000000 -[014h 0020 4] Flags (decoded below) : 00000000 - S4BIOS Support Present : 0 - 64-bit Wake Supported (V2) : 0 -[018h 0024 8] 64 Firmware Waking Vector : 0000000000000000 -[020h 0032 1] Version : 00 -[021h 0033 3] Reserved : 000000 -[024h 0036 4] OspmFlags (decoded below) : 00000000 - 64-bit Wake Env Required (V2) : 0 - -Raw Table Data: Length 64 (0x40) - - 0000: 46 41 43 53 40 00 00 00 00 00 00 00 00 00 00 00 // FACS@........... - 0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ diff --git a/tests/data/acpi/q35/FACS.mmio64 b/tests/data/acpi/q35/FACS.mmio64 deleted file mode 100644 index fc67ecc40782bd7fe8921e430d7de67f0bfaad93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 64 PcmZ>BbPjf4ARhn#RKNjV diff --git a/tests/data/acpi/q35/FACS.mmio64.dsl b/tests/data/acpi/q35/FACS.mmio64.dsl deleted file mode 100644 index 1a20060749..0000000000 --- a/tests/data/acpi/q35/FACS.mmio64.dsl +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/FACS.mmio64, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [FACS] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "FACS" -[004h 0004 4] Length : 00000040 -[008h 0008 4] Hardware Signature : 00000000 -[00Ch 0012 4] 32 Firmware Waking Vector : 00000000 -[010h 0016 4] Global Lock : 00000000 -[014h 0020 4] Flags (decoded below) : 00000000 - S4BIOS Support Present : 0 - 64-bit Wake Supported (V2) : 0 -[018h 0024 8] 64 Firmware Waking Vector : 0000000000000000 -[020h 0032 1] Version : 00 -[021h 0033 3] Reserved : 000000 -[024h 0036 4] OspmFlags (decoded below) : 00000000 - 64-bit Wake Env Required (V2) : 0 - -Raw Table Data: Length 64 (0x40) - - 0000: 46 41 43 53 40 00 00 00 00 00 00 00 00 00 00 00 // FACS@........... - 0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ diff --git a/tests/data/acpi/q35/FACS.numamem b/tests/data/acpi/q35/FACS.numamem deleted file mode 100644 index fc67ecc40782bd7fe8921e430d7de67f0bfaad93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 64 PcmZ>BbPjf4ARhn#RKNjV diff --git a/tests/data/acpi/q35/FACS.numamem.dsl b/tests/data/acpi/q35/FACS.numamem.dsl deleted file mode 100644 index 740e0bca9a..0000000000 --- a/tests/data/acpi/q35/FACS.numamem.dsl +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/FACS.numamem, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [FACS] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "FACS" -[004h 0004 4] Length : 00000040 -[008h 0008 4] Hardware Signature : 00000000 -[00Ch 0012 4] 32 Firmware Waking Vector : 00000000 -[010h 0016 4] Global Lock : 00000000 -[014h 0020 4] Flags (decoded below) : 00000000 - S4BIOS Support Present : 0 - 64-bit Wake Supported (V2) : 0 -[018h 0024 8] 64 Firmware Waking Vector : 0000000000000000 -[020h 0032 1] Version : 00 -[021h 0033 3] Reserved : 000000 -[024h 0036 4] OspmFlags (decoded below) : 00000000 - 64-bit Wake Env Required (V2) : 0 - -Raw Table Data: Length 64 (0x40) - - 0000: 46 41 43 53 40 00 00 00 00 00 00 00 00 00 00 00 // FACS@........... - 0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ diff --git a/tests/data/acpi/q35/FACS.tis b/tests/data/acpi/q35/FACS.tis deleted file mode 100644 index fc67ecc40782bd7fe8921e430d7de67f0bfaad93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 64 PcmZ>BbPjf4ARhn#RKNjV diff --git a/tests/data/acpi/q35/FACS.tis.dsl b/tests/data/acpi/q35/FACS.tis.dsl deleted file mode 100644 index cb35bde06c..0000000000 --- a/tests/data/acpi/q35/FACS.tis.dsl +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/FACS.tis, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [FACS] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "FACS" -[004h 0004 4] Length : 00000040 -[008h 0008 4] Hardware Signature : 00000000 -[00Ch 0012 4] 32 Firmware Waking Vector : 00000000 -[010h 0016 4] Global Lock : 00000000 -[014h 0020 4] Flags (decoded below) : 00000000 - S4BIOS Support Present : 0 - 64-bit Wake Supported (V2) : 0 -[018h 0024 8] 64 Firmware Waking Vector : 0000000000000000 -[020h 0032 1] Version : 00 -[021h 0033 3] Reserved : 000000 -[024h 0036 4] OspmFlags (decoded below) : 00000000 - 64-bit Wake Env Required (V2) : 0 - -Raw Table Data: Length 64 (0x40) - - 0000: 46 41 43 53 40 00 00 00 00 00 00 00 00 00 00 00 // FACS@........... - 0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ diff --git a/tests/data/acpi/q35/HMAT.acpihmat.dsl b/tests/data/acpi/q35/HMAT.acpihmat.dsl deleted file mode 100644 index 4abaa94f78..0000000000 --- a/tests/data/acpi/q35/HMAT.acpihmat.dsl +++ /dev/null @@ -1,132 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/HMAT.acpihmat, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [HMAT] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "HMAT" [Heterogeneous Memory Attributes Table] -[004h 0004 4] Table Length : 00000118 -[008h 0008 1] Revision : 02 -[009h 0009 1] Checksum : 98 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCHMAT" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Reserved : 00000000 - -[028h 0040 2] Structure Type : 0000 [Memory Proximity Domain Attributes] -[02Ah 0042 2] Reserved : 0000 -[02Ch 0044 4] Length : 00000028 -[030h 0048 2] Flags (decoded below) : 0001 - Processor Proximity Domain Valid : 1 -[032h 0050 2] Reserved1 : 0000 -[034h 0052 4] Processor Proximity Domain : 00000000 -[038h 0056 4] Memory Proximity Domain : 00000000 -[03Ch 0060 4] Reserved2 : 00000000 -[040h 0064 8] Reserved3 : 0000000000000000 -[048h 0072 8] Reserved4 : 0000000000000000 - -[050h 0080 2] Structure Type : 0000 [Memory Proximity Domain Attributes] -[052h 0082 2] Reserved : 0000 -[054h 0084 4] Length : 00000028 -[058h 0088 2] Flags (decoded below) : 0001 - Processor Proximity Domain Valid : 1 -[05Ah 0090 2] Reserved1 : 0000 -[05Ch 0092 4] Processor Proximity Domain : 00000000 -[060h 0096 4] Memory Proximity Domain : 00000001 -[064h 0100 4] Reserved2 : 00000000 -[068h 0104 8] Reserved3 : 0000000000000000 -[070h 0112 8] Reserved4 : 0000000000000000 - -[078h 0120 2] Structure Type : 0001 [System Locality Latency and Bandwidth Information] -[07Ah 0122 2] Reserved : 0000 -[07Ch 0124 4] Length : 00000030 -[080h 0128 1] Flags (decoded below) : 00 - Memory Hierarchy : 0 -[081h 0129 1] Data Type : 00 -[082h 0130 2] Reserved1 : 0000 -[084h 0132 4] Initiator Proximity Domains # : 00000001 -[088h 0136 4] Target Proximity Domains # : 00000002 -[08Ch 0140 4] Reserved2 : 00000000 -[090h 0144 8] Entry Base Unit : 00000000000003E8 -[098h 0152 4] Initiator Proximity Domain List : 00000000 -[09Ch 0156 4] Target Proximity Domain List : 00000000 -[0A0h 0160 4] Target Proximity Domain List : 00000001 -[0A4h 0164 2] Entry : 0001 -[0A6h 0166 2] Entry : FFFE - -[0A8h 0168 2] Structure Type : 0001 [System Locality Latency and Bandwidth Information] -[0AAh 0170 2] Reserved : 0000 -[0ACh 0172 4] Length : 00000030 -[0B0h 0176 1] Flags (decoded below) : 00 - Memory Hierarchy : 0 -[0B1h 0177 1] Data Type : 03 -[0B2h 0178 2] Reserved1 : 0000 -[0B4h 0180 4] Initiator Proximity Domains # : 00000001 -[0B8h 0184 4] Target Proximity Domains # : 00000002 -[0BCh 0188 4] Reserved2 : 00000000 -[0C0h 0192 8] Entry Base Unit : 0000000000000001 -[0C8h 0200 4] Initiator Proximity Domain List : 00000000 -[0CCh 0204 4] Target Proximity Domain List : 00000000 -[0D0h 0208 4] Target Proximity Domain List : 00000001 -[0D4h 0212 2] Entry : FFFE -[0D6h 0214 2] Entry : 7FFF - -[0D8h 0216 2] Structure Type : 0002 [Memory Side Cache Information] -[0DAh 0218 2] Reserved : 0000 -[0DCh 0220 4] Length : 00000020 -[0E0h 0224 4] Memory Proximity Domain : 00000000 -[0E4h 0228 4] Reserved1 : 00000000 -[0E8h 0232 8] Memory Side Cache Size : 0000000000002800 -[0F0h 0240 4] Cache Attributes (decoded below) : 00081111 - Total Cache Levels : 1 - Cache Level : 1 - Cache Associativity : 1 - Write Policy : 1 - Cache Line Size : 0008 -[0F4h 0244 2] Reserved2 : 0000 -[0F6h 0246 2] SMBIOS Handle # : 0000 - -[0F8h 0248 2] Structure Type : 0002 [Memory Side Cache Information] -[0FAh 0250 2] Reserved : 0000 -[0FCh 0252 4] Length : 00000020 -[100h 0256 4] Memory Proximity Domain : 00000001 -[104h 0260 4] Reserved1 : 00000000 -[108h 0264 8] Memory Side Cache Size : 0000000000002800 -[110h 0272 4] Cache Attributes (decoded below) : 00081111 - Total Cache Levels : 1 - Cache Level : 1 - Cache Associativity : 1 - Write Policy : 1 - Cache Line Size : 0008 -[114h 0276 2] Reserved2 : 0000 -[116h 0278 2] SMBIOS Handle # : 0000 - -Raw Table Data: Length 280 (0x118) - - 0000: 48 4D 41 54 18 01 00 00 02 98 42 4F 43 48 53 20 // HMAT......BOCHS - 0010: 42 58 50 43 48 4D 41 54 01 00 00 00 42 58 50 43 // BXPCHMAT....BXPC - 0020: 01 00 00 00 00 00 00 00 00 00 00 00 28 00 00 00 // ............(... - 0030: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0050: 00 00 00 00 28 00 00 00 01 00 00 00 00 00 00 00 // ....(........... - 0060: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0070: 00 00 00 00 00 00 00 00 01 00 00 00 30 00 00 00 // ............0... - 0080: 00 00 00 00 01 00 00 00 02 00 00 00 00 00 00 00 // ................ - 0090: E8 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00A0: 01 00 00 00 01 00 FE FF 01 00 00 00 30 00 00 00 // ............0... - 00B0: 00 03 00 00 01 00 00 00 02 00 00 00 00 00 00 00 // ................ - 00C0: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00D0: 01 00 00 00 FE FF FF 7F 02 00 00 00 20 00 00 00 // ............ ... - 00E0: 00 00 00 00 00 00 00 00 00 28 00 00 00 00 00 00 // .........(...... - 00F0: 11 11 08 00 00 00 00 00 02 00 00 00 20 00 00 00 // ............ ... - 0100: 01 00 00 00 00 00 00 00 00 28 00 00 00 00 00 00 // .........(...... - 0110: 11 11 08 00 00 00 00 00 // ........ diff --git a/tests/data/acpi/q35/HMAT.dsl b/tests/data/acpi/q35/HMAT.dsl deleted file mode 100644 index 43bc9adc98..0000000000 --- a/tests/data/acpi/q35/HMAT.dsl +++ /dev/null @@ -1,132 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/HMAT.acpihmat, Mon Sep 28 17:24:38 2020 - * - * ACPI Data Table [HMAT] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "HMAT" [Heterogeneous Memory Attributes Table] -[004h 0004 4] Table Length : 00000118 -[008h 0008 1] Revision : 02 -[009h 0009 1] Checksum : 98 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCHMAT" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Reserved : 00000000 - -[028h 0040 2] Structure Type : 0000 [Memory Proximity Domain Attributes] -[02Ah 0042 2] Reserved : 0000 -[02Ch 0044 4] Length : 00000028 -[030h 0048 2] Flags (decoded below) : 0001 - Processor Proximity Domain Valid : 1 -[032h 0050 2] Reserved1 : 0000 -[034h 0052 4] Processor Proximity Domain : 00000000 -[038h 0056 4] Memory Proximity Domain : 00000000 -[03Ch 0060 4] Reserved2 : 00000000 -[040h 0064 8] Reserved3 : 0000000000000000 -[048h 0072 8] Reserved4 : 0000000000000000 - -[050h 0080 2] Structure Type : 0000 [Memory Proximity Domain Attributes] -[052h 0082 2] Reserved : 0000 -[054h 0084 4] Length : 00000028 -[058h 0088 2] Flags (decoded below) : 0001 - Processor Proximity Domain Valid : 1 -[05Ah 0090 2] Reserved1 : 0000 -[05Ch 0092 4] Processor Proximity Domain : 00000000 -[060h 0096 4] Memory Proximity Domain : 00000001 -[064h 0100 4] Reserved2 : 00000000 -[068h 0104 8] Reserved3 : 0000000000000000 -[070h 0112 8] Reserved4 : 0000000000000000 - -[078h 0120 2] Structure Type : 0001 [System Locality Latency and Bandwidth Information] -[07Ah 0122 2] Reserved : 0000 -[07Ch 0124 4] Length : 00000030 -[080h 0128 1] Flags (decoded below) : 00 - Memory Hierarchy : 0 -[081h 0129 1] Data Type : 00 -[082h 0130 2] Reserved1 : 0000 -[084h 0132 4] Initiator Proximity Domains # : 00000001 -[088h 0136 4] Target Proximity Domains # : 00000002 -[08Ch 0140 4] Reserved2 : 00000000 -[090h 0144 8] Entry Base Unit : 00000000000003E8 -[098h 0152 4] Initiator Proximity Domain List : 00000000 -[09Ch 0156 4] Target Proximity Domain List : 00000000 -[0A0h 0160 4] Target Proximity Domain List : 00000001 -[0A4h 0164 2] Entry : 0001 -[0A6h 0166 2] Entry : FFFE - -[0A8h 0168 2] Structure Type : 0001 [System Locality Latency and Bandwidth Information] -[0AAh 0170 2] Reserved : 0000 -[0ACh 0172 4] Length : 00000030 -[0B0h 0176 1] Flags (decoded below) : 00 - Memory Hierarchy : 0 -[0B1h 0177 1] Data Type : 03 -[0B2h 0178 2] Reserved1 : 0000 -[0B4h 0180 4] Initiator Proximity Domains # : 00000001 -[0B8h 0184 4] Target Proximity Domains # : 00000002 -[0BCh 0188 4] Reserved2 : 00000000 -[0C0h 0192 8] Entry Base Unit : 0000000000000001 -[0C8h 0200 4] Initiator Proximity Domain List : 00000000 -[0CCh 0204 4] Target Proximity Domain List : 00000000 -[0D0h 0208 4] Target Proximity Domain List : 00000001 -[0D4h 0212 2] Entry : FFFE -[0D6h 0214 2] Entry : 7FFF - -[0D8h 0216 2] Structure Type : 0002 [Memory Side Cache Information] -[0DAh 0218 2] Reserved : 0000 -[0DCh 0220 4] Length : 00000020 -[0E0h 0224 4] Memory Proximity Domain : 00000000 -[0E4h 0228 4] Reserved1 : 00000000 -[0E8h 0232 8] Memory Side Cache Size : 0000000000002800 -[0F0h 0240 4] Cache Attributes (decoded below) : 00081111 - Total Cache Levels : 1 - Cache Level : 1 - Cache Associativity : 1 - Write Policy : 1 - Cache Line Size : 0008 -[0F4h 0244 2] Reserved2 : 0000 -[0F6h 0246 2] SMBIOS Handle # : 0000 - -[0F8h 0248 2] Structure Type : 0002 [Memory Side Cache Information] -[0FAh 0250 2] Reserved : 0000 -[0FCh 0252 4] Length : 00000020 -[100h 0256 4] Memory Proximity Domain : 00000001 -[104h 0260 4] Reserved1 : 00000000 -[108h 0264 8] Memory Side Cache Size : 0000000000002800 -[110h 0272 4] Cache Attributes (decoded below) : 00081111 - Total Cache Levels : 1 - Cache Level : 1 - Cache Associativity : 1 - Write Policy : 1 - Cache Line Size : 0008 -[114h 0276 2] Reserved2 : 0000 -[116h 0278 2] SMBIOS Handle # : 0000 - -Raw Table Data: Length 280 (0x118) - - 0000: 48 4D 41 54 18 01 00 00 02 98 42 4F 43 48 53 20 // HMAT......BOCHS - 0010: 42 58 50 43 48 4D 41 54 01 00 00 00 42 58 50 43 // BXPCHMAT....BXPC - 0020: 01 00 00 00 00 00 00 00 00 00 00 00 28 00 00 00 // ............(... - 0030: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0050: 00 00 00 00 28 00 00 00 01 00 00 00 00 00 00 00 // ....(........... - 0060: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0070: 00 00 00 00 00 00 00 00 01 00 00 00 30 00 00 00 // ............0... - 0080: 00 00 00 00 01 00 00 00 02 00 00 00 00 00 00 00 // ................ - 0090: E8 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00A0: 01 00 00 00 01 00 FE FF 01 00 00 00 30 00 00 00 // ............0... - 00B0: 00 03 00 00 01 00 00 00 02 00 00 00 00 00 00 00 // ................ - 00C0: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00D0: 01 00 00 00 FE FF FF 7F 02 00 00 00 20 00 00 00 // ............ ... - 00E0: 00 00 00 00 00 00 00 00 00 28 00 00 00 00 00 00 // .........(...... - 00F0: 11 11 08 00 00 00 00 00 02 00 00 00 20 00 00 00 // ............ ... - 0100: 01 00 00 00 00 00 00 00 00 28 00 00 00 00 00 00 // .........(...... - 0110: 11 11 08 00 00 00 00 00 // ........ diff --git a/tests/data/acpi/q35/HPET.acpihmat b/tests/data/acpi/q35/HPET.acpihmat deleted file mode 100644 index df689b8f99c1c43cfd7d63bdede3bcdfd23b7de1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 56 zcmeYWa1F6wU|?WmcJg=j2v%^42ypfYa1CK(U|;~TK{Vr{wgv_;xbP1`GcW)EHY*AN diff --git a/tests/data/acpi/q35/HPET.acpihmat.dsl b/tests/data/acpi/q35/HPET.acpihmat.dsl deleted file mode 100644 index 9806b81069..0000000000 --- a/tests/data/acpi/q35/HPET.acpihmat.dsl +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/HPET.acpihmat, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [HPET] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "HPET" [High Precision Event Timer table] -[004h 0004 4] Table Length : 00000038 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : 03 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCHPET" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Hardware Block ID : 8086A201 - -[028h 0040 12] Timer Block Register : [Generic Address Structure] -[028h 0040 1] Space ID : 00 [SystemMemory] -[029h 0041 1] Bit Width : 00 -[02Ah 0042 1] Bit Offset : 00 -[02Bh 0043 1] Encoded Access Width : 00 [Undefined/Legacy] -[02Ch 0044 8] Address : 00000000FED00000 - -[034h 0052 1] Sequence Number : 00 -[035h 0053 2] Minimum Clock Ticks : 0000 -[037h 0055 1] Flags (decoded below) : 00 - 4K Page Protect : 0 - 64K Page Protect : 0 - -Raw Table Data: Length 56 (0x38) - - 0000: 48 50 45 54 38 00 00 00 01 03 42 4F 43 48 53 20 // HPET8.....BOCHS - 0010: 42 58 50 43 48 50 45 54 01 00 00 00 42 58 50 43 // BXPCHPET....BXPC - 0020: 01 00 00 00 01 A2 86 80 00 00 00 00 00 00 D0 FE // ................ - 0030: 00 00 00 00 00 00 00 00 // ........ diff --git a/tests/data/acpi/q35/HPET.bridge b/tests/data/acpi/q35/HPET.bridge deleted file mode 100644 index df689b8f99c1c43cfd7d63bdede3bcdfd23b7de1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 56 zcmeYWa1F6wU|?WmcJg=j2v%^42ypfYa1CK(U|;~TK{Vr{wgv_;xbP1`GcW)EHY*AN diff --git a/tests/data/acpi/q35/HPET.bridge.dsl b/tests/data/acpi/q35/HPET.bridge.dsl deleted file mode 100644 index 817040df23..0000000000 --- a/tests/data/acpi/q35/HPET.bridge.dsl +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/HPET.bridge, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [HPET] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "HPET" [High Precision Event Timer table] -[004h 0004 4] Table Length : 00000038 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : 03 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCHPET" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Hardware Block ID : 8086A201 - -[028h 0040 12] Timer Block Register : [Generic Address Structure] -[028h 0040 1] Space ID : 00 [SystemMemory] -[029h 0041 1] Bit Width : 00 -[02Ah 0042 1] Bit Offset : 00 -[02Bh 0043 1] Encoded Access Width : 00 [Undefined/Legacy] -[02Ch 0044 8] Address : 00000000FED00000 - -[034h 0052 1] Sequence Number : 00 -[035h 0053 2] Minimum Clock Ticks : 0000 -[037h 0055 1] Flags (decoded below) : 00 - 4K Page Protect : 0 - 64K Page Protect : 0 - -Raw Table Data: Length 56 (0x38) - - 0000: 48 50 45 54 38 00 00 00 01 03 42 4F 43 48 53 20 // HPET8.....BOCHS - 0010: 42 58 50 43 48 50 45 54 01 00 00 00 42 58 50 43 // BXPCHPET....BXPC - 0020: 01 00 00 00 01 A2 86 80 00 00 00 00 00 00 D0 FE // ................ - 0030: 00 00 00 00 00 00 00 00 // ........ diff --git a/tests/data/acpi/q35/HPET.cphp b/tests/data/acpi/q35/HPET.cphp deleted file mode 100644 index df689b8f99c1c43cfd7d63bdede3bcdfd23b7de1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 56 zcmeYWa1F6wU|?WmcJg=j2v%^42ypfYa1CK(U|;~TK{Vr{wgv_;xbP1`GcW)EHY*AN diff --git a/tests/data/acpi/q35/HPET.cphp.dsl b/tests/data/acpi/q35/HPET.cphp.dsl deleted file mode 100644 index 4134b96873..0000000000 --- a/tests/data/acpi/q35/HPET.cphp.dsl +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/HPET.cphp, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [HPET] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "HPET" [High Precision Event Timer table] -[004h 0004 4] Table Length : 00000038 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : 03 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCHPET" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Hardware Block ID : 8086A201 - -[028h 0040 12] Timer Block Register : [Generic Address Structure] -[028h 0040 1] Space ID : 00 [SystemMemory] -[029h 0041 1] Bit Width : 00 -[02Ah 0042 1] Bit Offset : 00 -[02Bh 0043 1] Encoded Access Width : 00 [Undefined/Legacy] -[02Ch 0044 8] Address : 00000000FED00000 - -[034h 0052 1] Sequence Number : 00 -[035h 0053 2] Minimum Clock Ticks : 0000 -[037h 0055 1] Flags (decoded below) : 00 - 4K Page Protect : 0 - 64K Page Protect : 0 - -Raw Table Data: Length 56 (0x38) - - 0000: 48 50 45 54 38 00 00 00 01 03 42 4F 43 48 53 20 // HPET8.....BOCHS - 0010: 42 58 50 43 48 50 45 54 01 00 00 00 42 58 50 43 // BXPCHPET....BXPC - 0020: 01 00 00 00 01 A2 86 80 00 00 00 00 00 00 D0 FE // ................ - 0030: 00 00 00 00 00 00 00 00 // ........ diff --git a/tests/data/acpi/q35/HPET.dimmpxm b/tests/data/acpi/q35/HPET.dimmpxm deleted file mode 100644 index df689b8f99c1c43cfd7d63bdede3bcdfd23b7de1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 56 zcmeYWa1F6wU|?WmcJg=j2v%^42ypfYa1CK(U|;~TK{Vr{wgv_;xbP1`GcW)EHY*AN diff --git a/tests/data/acpi/q35/HPET.dimmpxm.dsl b/tests/data/acpi/q35/HPET.dimmpxm.dsl deleted file mode 100644 index 42a7cc5fd6..0000000000 --- a/tests/data/acpi/q35/HPET.dimmpxm.dsl +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/HPET.dimmpxm, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [HPET] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "HPET" [High Precision Event Timer table] -[004h 0004 4] Table Length : 00000038 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : 03 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCHPET" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Hardware Block ID : 8086A201 - -[028h 0040 12] Timer Block Register : [Generic Address Structure] -[028h 0040 1] Space ID : 00 [SystemMemory] -[029h 0041 1] Bit Width : 00 -[02Ah 0042 1] Bit Offset : 00 -[02Bh 0043 1] Encoded Access Width : 00 [Undefined/Legacy] -[02Ch 0044 8] Address : 00000000FED00000 - -[034h 0052 1] Sequence Number : 00 -[035h 0053 2] Minimum Clock Ticks : 0000 -[037h 0055 1] Flags (decoded below) : 00 - 4K Page Protect : 0 - 64K Page Protect : 0 - -Raw Table Data: Length 56 (0x38) - - 0000: 48 50 45 54 38 00 00 00 01 03 42 4F 43 48 53 20 // HPET8.....BOCHS - 0010: 42 58 50 43 48 50 45 54 01 00 00 00 42 58 50 43 // BXPCHPET....BXPC - 0020: 01 00 00 00 01 A2 86 80 00 00 00 00 00 00 D0 FE // ................ - 0030: 00 00 00 00 00 00 00 00 // ........ diff --git a/tests/data/acpi/q35/HPET.dsl b/tests/data/acpi/q35/HPET.dsl deleted file mode 100644 index 42c40fd653..0000000000 --- a/tests/data/acpi/q35/HPET.dsl +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/HPET.tis, Mon Sep 28 17:24:38 2020 - * - * ACPI Data Table [HPET] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "HPET" [High Precision Event Timer table] -[004h 0004 4] Table Length : 00000038 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : 03 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCHPET" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Hardware Block ID : 8086A201 - -[028h 0040 12] Timer Block Register : [Generic Address Structure] -[028h 0040 1] Space ID : 00 [SystemMemory] -[029h 0041 1] Bit Width : 00 -[02Ah 0042 1] Bit Offset : 00 -[02Bh 0043 1] Encoded Access Width : 00 [Undefined/Legacy] -[02Ch 0044 8] Address : 00000000FED00000 - -[034h 0052 1] Sequence Number : 00 -[035h 0053 2] Minimum Clock Ticks : 0000 -[037h 0055 1] Flags (decoded below) : 00 - 4K Page Protect : 0 - 64K Page Protect : 0 - -Raw Table Data: Length 56 (0x38) - - 0000: 48 50 45 54 38 00 00 00 01 03 42 4F 43 48 53 20 // HPET8.....BOCHS - 0010: 42 58 50 43 48 50 45 54 01 00 00 00 42 58 50 43 // BXPCHPET....BXPC - 0020: 01 00 00 00 01 A2 86 80 00 00 00 00 00 00 D0 FE // ................ - 0030: 00 00 00 00 00 00 00 00 // ........ diff --git a/tests/data/acpi/q35/HPET.ipmibt b/tests/data/acpi/q35/HPET.ipmibt deleted file mode 100644 index df689b8f99c1c43cfd7d63bdede3bcdfd23b7de1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 56 zcmeYWa1F6wU|?WmcJg=j2v%^42ypfYa1CK(U|;~TK{Vr{wgv_;xbP1`GcW)EHY*AN diff --git a/tests/data/acpi/q35/HPET.ipmibt.dsl b/tests/data/acpi/q35/HPET.ipmibt.dsl deleted file mode 100644 index 9637f4cf81..0000000000 --- a/tests/data/acpi/q35/HPET.ipmibt.dsl +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/HPET.ipmibt, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [HPET] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "HPET" [High Precision Event Timer table] -[004h 0004 4] Table Length : 00000038 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : 03 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCHPET" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Hardware Block ID : 8086A201 - -[028h 0040 12] Timer Block Register : [Generic Address Structure] -[028h 0040 1] Space ID : 00 [SystemMemory] -[029h 0041 1] Bit Width : 00 -[02Ah 0042 1] Bit Offset : 00 -[02Bh 0043 1] Encoded Access Width : 00 [Undefined/Legacy] -[02Ch 0044 8] Address : 00000000FED00000 - -[034h 0052 1] Sequence Number : 00 -[035h 0053 2] Minimum Clock Ticks : 0000 -[037h 0055 1] Flags (decoded below) : 00 - 4K Page Protect : 0 - 64K Page Protect : 0 - -Raw Table Data: Length 56 (0x38) - - 0000: 48 50 45 54 38 00 00 00 01 03 42 4F 43 48 53 20 // HPET8.....BOCHS - 0010: 42 58 50 43 48 50 45 54 01 00 00 00 42 58 50 43 // BXPCHPET....BXPC - 0020: 01 00 00 00 01 A2 86 80 00 00 00 00 00 00 D0 FE // ................ - 0030: 00 00 00 00 00 00 00 00 // ........ diff --git a/tests/data/acpi/q35/HPET.memhp b/tests/data/acpi/q35/HPET.memhp deleted file mode 100644 index df689b8f99c1c43cfd7d63bdede3bcdfd23b7de1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 56 zcmeYWa1F6wU|?WmcJg=j2v%^42ypfYa1CK(U|;~TK{Vr{wgv_;xbP1`GcW)EHY*AN diff --git a/tests/data/acpi/q35/HPET.memhp.dsl b/tests/data/acpi/q35/HPET.memhp.dsl deleted file mode 100644 index 2efab15846..0000000000 --- a/tests/data/acpi/q35/HPET.memhp.dsl +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/HPET.memhp, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [HPET] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "HPET" [High Precision Event Timer table] -[004h 0004 4] Table Length : 00000038 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : 03 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCHPET" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Hardware Block ID : 8086A201 - -[028h 0040 12] Timer Block Register : [Generic Address Structure] -[028h 0040 1] Space ID : 00 [SystemMemory] -[029h 0041 1] Bit Width : 00 -[02Ah 0042 1] Bit Offset : 00 -[02Bh 0043 1] Encoded Access Width : 00 [Undefined/Legacy] -[02Ch 0044 8] Address : 00000000FED00000 - -[034h 0052 1] Sequence Number : 00 -[035h 0053 2] Minimum Clock Ticks : 0000 -[037h 0055 1] Flags (decoded below) : 00 - 4K Page Protect : 0 - 64K Page Protect : 0 - -Raw Table Data: Length 56 (0x38) - - 0000: 48 50 45 54 38 00 00 00 01 03 42 4F 43 48 53 20 // HPET8.....BOCHS - 0010: 42 58 50 43 48 50 45 54 01 00 00 00 42 58 50 43 // BXPCHPET....BXPC - 0020: 01 00 00 00 01 A2 86 80 00 00 00 00 00 00 D0 FE // ................ - 0030: 00 00 00 00 00 00 00 00 // ........ diff --git a/tests/data/acpi/q35/HPET.mmio64 b/tests/data/acpi/q35/HPET.mmio64 deleted file mode 100644 index df689b8f99c1c43cfd7d63bdede3bcdfd23b7de1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 56 zcmeYWa1F6wU|?WmcJg=j2v%^42ypfYa1CK(U|;~TK{Vr{wgv_;xbP1`GcW)EHY*AN diff --git a/tests/data/acpi/q35/HPET.mmio64.dsl b/tests/data/acpi/q35/HPET.mmio64.dsl deleted file mode 100644 index dba0368678..0000000000 --- a/tests/data/acpi/q35/HPET.mmio64.dsl +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/HPET.mmio64, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [HPET] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "HPET" [High Precision Event Timer table] -[004h 0004 4] Table Length : 00000038 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : 03 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCHPET" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Hardware Block ID : 8086A201 - -[028h 0040 12] Timer Block Register : [Generic Address Structure] -[028h 0040 1] Space ID : 00 [SystemMemory] -[029h 0041 1] Bit Width : 00 -[02Ah 0042 1] Bit Offset : 00 -[02Bh 0043 1] Encoded Access Width : 00 [Undefined/Legacy] -[02Ch 0044 8] Address : 00000000FED00000 - -[034h 0052 1] Sequence Number : 00 -[035h 0053 2] Minimum Clock Ticks : 0000 -[037h 0055 1] Flags (decoded below) : 00 - 4K Page Protect : 0 - 64K Page Protect : 0 - -Raw Table Data: Length 56 (0x38) - - 0000: 48 50 45 54 38 00 00 00 01 03 42 4F 43 48 53 20 // HPET8.....BOCHS - 0010: 42 58 50 43 48 50 45 54 01 00 00 00 42 58 50 43 // BXPCHPET....BXPC - 0020: 01 00 00 00 01 A2 86 80 00 00 00 00 00 00 D0 FE // ................ - 0030: 00 00 00 00 00 00 00 00 // ........ diff --git a/tests/data/acpi/q35/HPET.numamem b/tests/data/acpi/q35/HPET.numamem deleted file mode 100644 index df689b8f99c1c43cfd7d63bdede3bcdfd23b7de1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 56 zcmeYWa1F6wU|?WmcJg=j2v%^42ypfYa1CK(U|;~TK{Vr{wgv_;xbP1`GcW)EHY*AN diff --git a/tests/data/acpi/q35/HPET.numamem.dsl b/tests/data/acpi/q35/HPET.numamem.dsl deleted file mode 100644 index e9d18a59fd..0000000000 --- a/tests/data/acpi/q35/HPET.numamem.dsl +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/HPET.numamem, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [HPET] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "HPET" [High Precision Event Timer table] -[004h 0004 4] Table Length : 00000038 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : 03 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCHPET" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Hardware Block ID : 8086A201 - -[028h 0040 12] Timer Block Register : [Generic Address Structure] -[028h 0040 1] Space ID : 00 [SystemMemory] -[029h 0041 1] Bit Width : 00 -[02Ah 0042 1] Bit Offset : 00 -[02Bh 0043 1] Encoded Access Width : 00 [Undefined/Legacy] -[02Ch 0044 8] Address : 00000000FED00000 - -[034h 0052 1] Sequence Number : 00 -[035h 0053 2] Minimum Clock Ticks : 0000 -[037h 0055 1] Flags (decoded below) : 00 - 4K Page Protect : 0 - 64K Page Protect : 0 - -Raw Table Data: Length 56 (0x38) - - 0000: 48 50 45 54 38 00 00 00 01 03 42 4F 43 48 53 20 // HPET8.....BOCHS - 0010: 42 58 50 43 48 50 45 54 01 00 00 00 42 58 50 43 // BXPCHPET....BXPC - 0020: 01 00 00 00 01 A2 86 80 00 00 00 00 00 00 D0 FE // ................ - 0030: 00 00 00 00 00 00 00 00 // ........ diff --git a/tests/data/acpi/q35/HPET.tis b/tests/data/acpi/q35/HPET.tis deleted file mode 100644 index df689b8f99c1c43cfd7d63bdede3bcdfd23b7de1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 56 zcmeYWa1F6wU|?WmcJg=j2v%^42ypfYa1CK(U|;~TK{Vr{wgv_;xbP1`GcW)EHY*AN diff --git a/tests/data/acpi/q35/HPET.tis.dsl b/tests/data/acpi/q35/HPET.tis.dsl deleted file mode 100644 index 471cb5b940..0000000000 --- a/tests/data/acpi/q35/HPET.tis.dsl +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/HPET.tis, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [HPET] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "HPET" [High Precision Event Timer table] -[004h 0004 4] Table Length : 00000038 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : 03 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCHPET" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Hardware Block ID : 8086A201 - -[028h 0040 12] Timer Block Register : [Generic Address Structure] -[028h 0040 1] Space ID : 00 [SystemMemory] -[029h 0041 1] Bit Width : 00 -[02Ah 0042 1] Bit Offset : 00 -[02Bh 0043 1] Encoded Access Width : 00 [Undefined/Legacy] -[02Ch 0044 8] Address : 00000000FED00000 - -[034h 0052 1] Sequence Number : 00 -[035h 0053 2] Minimum Clock Ticks : 0000 -[037h 0055 1] Flags (decoded below) : 00 - 4K Page Protect : 0 - 64K Page Protect : 0 - -Raw Table Data: Length 56 (0x38) - - 0000: 48 50 45 54 38 00 00 00 01 03 42 4F 43 48 53 20 // HPET8.....BOCHS - 0010: 42 58 50 43 48 50 45 54 01 00 00 00 42 58 50 43 // BXPCHPET....BXPC - 0020: 01 00 00 00 01 A2 86 80 00 00 00 00 00 00 D0 FE // ................ - 0030: 00 00 00 00 00 00 00 00 // ........ diff --git a/tests/data/acpi/q35/MCFG.acpihmat b/tests/data/acpi/q35/MCFG.acpihmat deleted file mode 100644 index 79ceb27a038c6e29d098b98dda2e229495f96b7c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60 tcmeZuc5}C3U|?W;@8s|75v<@85#a3W?B>qMz`y`vgJ>kM0m}Xlq5)T;2>}2A diff --git a/tests/data/acpi/q35/MCFG.acpihmat.dsl b/tests/data/acpi/q35/MCFG.acpihmat.dsl deleted file mode 100644 index 8d07f64e9d..0000000000 --- a/tests/data/acpi/q35/MCFG.acpihmat.dsl +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/MCFG.acpihmat, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [MCFG] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "MCFG" [Memory Mapped Configuration table] -[004h 0004 4] Table Length : 0000003C -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : EF -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCMCFG" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 8] Reserved : 0000000000000000 - -[02Ch 0044 8] Base Address : 00000000B0000000 -[034h 0052 2] Segment Group Number : 0000 -[036h 0054 1] Start Bus Number : 00 -[037h 0055 1] End Bus Number : FF -[038h 0056 4] Reserved : 00000000 - -Raw Table Data: Length 60 (0x3C) - - 0000: 4D 43 46 47 3C 00 00 00 01 EF 42 4F 43 48 53 20 // MCFG<.....BOCHS - 0010: 42 58 50 43 4D 43 46 47 01 00 00 00 42 58 50 43 // BXPCMCFG....BXPC - 0020: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 B0 // ................ - 0030: 00 00 00 00 00 00 00 FF 00 00 00 00 // ............ diff --git a/tests/data/acpi/q35/MCFG.bridge b/tests/data/acpi/q35/MCFG.bridge deleted file mode 100644 index 79ceb27a038c6e29d098b98dda2e229495f96b7c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60 tcmeZuc5}C3U|?W;@8s|75v<@85#a3W?B>qMz`y`vgJ>kM0m}Xlq5)T;2>}2A diff --git a/tests/data/acpi/q35/MCFG.bridge.dsl b/tests/data/acpi/q35/MCFG.bridge.dsl deleted file mode 100644 index 6ce54d7228..0000000000 --- a/tests/data/acpi/q35/MCFG.bridge.dsl +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/MCFG.bridge, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [MCFG] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "MCFG" [Memory Mapped Configuration table] -[004h 0004 4] Table Length : 0000003C -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : EF -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCMCFG" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 8] Reserved : 0000000000000000 - -[02Ch 0044 8] Base Address : 00000000B0000000 -[034h 0052 2] Segment Group Number : 0000 -[036h 0054 1] Start Bus Number : 00 -[037h 0055 1] End Bus Number : FF -[038h 0056 4] Reserved : 00000000 - -Raw Table Data: Length 60 (0x3C) - - 0000: 4D 43 46 47 3C 00 00 00 01 EF 42 4F 43 48 53 20 // MCFG<.....BOCHS - 0010: 42 58 50 43 4D 43 46 47 01 00 00 00 42 58 50 43 // BXPCMCFG....BXPC - 0020: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 B0 // ................ - 0030: 00 00 00 00 00 00 00 FF 00 00 00 00 // ............ diff --git a/tests/data/acpi/q35/MCFG.cphp b/tests/data/acpi/q35/MCFG.cphp deleted file mode 100644 index 79ceb27a038c6e29d098b98dda2e229495f96b7c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60 tcmeZuc5}C3U|?W;@8s|75v<@85#a3W?B>qMz`y`vgJ>kM0m}Xlq5)T;2>}2A diff --git a/tests/data/acpi/q35/MCFG.cphp.dsl b/tests/data/acpi/q35/MCFG.cphp.dsl deleted file mode 100644 index 7ffd7f30db..0000000000 --- a/tests/data/acpi/q35/MCFG.cphp.dsl +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/MCFG.cphp, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [MCFG] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "MCFG" [Memory Mapped Configuration table] -[004h 0004 4] Table Length : 0000003C -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : EF -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCMCFG" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 8] Reserved : 0000000000000000 - -[02Ch 0044 8] Base Address : 00000000B0000000 -[034h 0052 2] Segment Group Number : 0000 -[036h 0054 1] Start Bus Number : 00 -[037h 0055 1] End Bus Number : FF -[038h 0056 4] Reserved : 00000000 - -Raw Table Data: Length 60 (0x3C) - - 0000: 4D 43 46 47 3C 00 00 00 01 EF 42 4F 43 48 53 20 // MCFG<.....BOCHS - 0010: 42 58 50 43 4D 43 46 47 01 00 00 00 42 58 50 43 // BXPCMCFG....BXPC - 0020: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 B0 // ................ - 0030: 00 00 00 00 00 00 00 FF 00 00 00 00 // ............ diff --git a/tests/data/acpi/q35/MCFG.dimmpxm b/tests/data/acpi/q35/MCFG.dimmpxm deleted file mode 100644 index 79ceb27a038c6e29d098b98dda2e229495f96b7c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60 tcmeZuc5}C3U|?W;@8s|75v<@85#a3W?B>qMz`y`vgJ>kM0m}Xlq5)T;2>}2A diff --git a/tests/data/acpi/q35/MCFG.dimmpxm.dsl b/tests/data/acpi/q35/MCFG.dimmpxm.dsl deleted file mode 100644 index dd7373b692..0000000000 --- a/tests/data/acpi/q35/MCFG.dimmpxm.dsl +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/MCFG.dimmpxm, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [MCFG] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "MCFG" [Memory Mapped Configuration table] -[004h 0004 4] Table Length : 0000003C -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : EF -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCMCFG" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 8] Reserved : 0000000000000000 - -[02Ch 0044 8] Base Address : 00000000B0000000 -[034h 0052 2] Segment Group Number : 0000 -[036h 0054 1] Start Bus Number : 00 -[037h 0055 1] End Bus Number : FF -[038h 0056 4] Reserved : 00000000 - -Raw Table Data: Length 60 (0x3C) - - 0000: 4D 43 46 47 3C 00 00 00 01 EF 42 4F 43 48 53 20 // MCFG<.....BOCHS - 0010: 42 58 50 43 4D 43 46 47 01 00 00 00 42 58 50 43 // BXPCMCFG....BXPC - 0020: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 B0 // ................ - 0030: 00 00 00 00 00 00 00 FF 00 00 00 00 // ............ diff --git a/tests/data/acpi/q35/MCFG.dsl b/tests/data/acpi/q35/MCFG.dsl deleted file mode 100644 index 5179d6d707..0000000000 --- a/tests/data/acpi/q35/MCFG.dsl +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/MCFG.tis, Mon Sep 28 17:24:38 2020 - * - * ACPI Data Table [MCFG] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "MCFG" [Memory Mapped Configuration table] -[004h 0004 4] Table Length : 0000003C -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : EF -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCMCFG" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 8] Reserved : 0000000000000000 - -[02Ch 0044 8] Base Address : 00000000B0000000 -[034h 0052 2] Segment Group Number : 0000 -[036h 0054 1] Start Bus Number : 00 -[037h 0055 1] End Bus Number : FF -[038h 0056 4] Reserved : 00000000 - -Raw Table Data: Length 60 (0x3C) - - 0000: 4D 43 46 47 3C 00 00 00 01 EF 42 4F 43 48 53 20 // MCFG<.....BOCHS - 0010: 42 58 50 43 4D 43 46 47 01 00 00 00 42 58 50 43 // BXPCMCFG....BXPC - 0020: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 B0 // ................ - 0030: 00 00 00 00 00 00 00 FF 00 00 00 00 // ............ diff --git a/tests/data/acpi/q35/MCFG.ipmibt b/tests/data/acpi/q35/MCFG.ipmibt deleted file mode 100644 index 79ceb27a038c6e29d098b98dda2e229495f96b7c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60 tcmeZuc5}C3U|?W;@8s|75v<@85#a3W?B>qMz`y`vgJ>kM0m}Xlq5)T;2>}2A diff --git a/tests/data/acpi/q35/MCFG.ipmibt.dsl b/tests/data/acpi/q35/MCFG.ipmibt.dsl deleted file mode 100644 index 80c372162c..0000000000 --- a/tests/data/acpi/q35/MCFG.ipmibt.dsl +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/MCFG.ipmibt, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [MCFG] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "MCFG" [Memory Mapped Configuration table] -[004h 0004 4] Table Length : 0000003C -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : EF -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCMCFG" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 8] Reserved : 0000000000000000 - -[02Ch 0044 8] Base Address : 00000000B0000000 -[034h 0052 2] Segment Group Number : 0000 -[036h 0054 1] Start Bus Number : 00 -[037h 0055 1] End Bus Number : FF -[038h 0056 4] Reserved : 00000000 - -Raw Table Data: Length 60 (0x3C) - - 0000: 4D 43 46 47 3C 00 00 00 01 EF 42 4F 43 48 53 20 // MCFG<.....BOCHS - 0010: 42 58 50 43 4D 43 46 47 01 00 00 00 42 58 50 43 // BXPCMCFG....BXPC - 0020: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 B0 // ................ - 0030: 00 00 00 00 00 00 00 FF 00 00 00 00 // ............ diff --git a/tests/data/acpi/q35/MCFG.memhp b/tests/data/acpi/q35/MCFG.memhp deleted file mode 100644 index 79ceb27a038c6e29d098b98dda2e229495f96b7c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60 tcmeZuc5}C3U|?W;@8s|75v<@85#a3W?B>qMz`y`vgJ>kM0m}Xlq5)T;2>}2A diff --git a/tests/data/acpi/q35/MCFG.memhp.dsl b/tests/data/acpi/q35/MCFG.memhp.dsl deleted file mode 100644 index 1b1f666833..0000000000 --- a/tests/data/acpi/q35/MCFG.memhp.dsl +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/MCFG.memhp, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [MCFG] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "MCFG" [Memory Mapped Configuration table] -[004h 0004 4] Table Length : 0000003C -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : EF -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCMCFG" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 8] Reserved : 0000000000000000 - -[02Ch 0044 8] Base Address : 00000000B0000000 -[034h 0052 2] Segment Group Number : 0000 -[036h 0054 1] Start Bus Number : 00 -[037h 0055 1] End Bus Number : FF -[038h 0056 4] Reserved : 00000000 - -Raw Table Data: Length 60 (0x3C) - - 0000: 4D 43 46 47 3C 00 00 00 01 EF 42 4F 43 48 53 20 // MCFG<.....BOCHS - 0010: 42 58 50 43 4D 43 46 47 01 00 00 00 42 58 50 43 // BXPCMCFG....BXPC - 0020: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 B0 // ................ - 0030: 00 00 00 00 00 00 00 FF 00 00 00 00 // ............ diff --git a/tests/data/acpi/q35/MCFG.mmio64 b/tests/data/acpi/q35/MCFG.mmio64 deleted file mode 100644 index 79ceb27a038c6e29d098b98dda2e229495f96b7c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60 tcmeZuc5}C3U|?W;@8s|75v<@85#a3W?B>qMz`y`vgJ>kM0m}Xlq5)T;2>}2A diff --git a/tests/data/acpi/q35/MCFG.mmio64.dsl b/tests/data/acpi/q35/MCFG.mmio64.dsl deleted file mode 100644 index 79be440f72..0000000000 --- a/tests/data/acpi/q35/MCFG.mmio64.dsl +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/MCFG.mmio64, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [MCFG] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "MCFG" [Memory Mapped Configuration table] -[004h 0004 4] Table Length : 0000003C -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : EF -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCMCFG" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 8] Reserved : 0000000000000000 - -[02Ch 0044 8] Base Address : 00000000B0000000 -[034h 0052 2] Segment Group Number : 0000 -[036h 0054 1] Start Bus Number : 00 -[037h 0055 1] End Bus Number : FF -[038h 0056 4] Reserved : 00000000 - -Raw Table Data: Length 60 (0x3C) - - 0000: 4D 43 46 47 3C 00 00 00 01 EF 42 4F 43 48 53 20 // MCFG<.....BOCHS - 0010: 42 58 50 43 4D 43 46 47 01 00 00 00 42 58 50 43 // BXPCMCFG....BXPC - 0020: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 B0 // ................ - 0030: 00 00 00 00 00 00 00 FF 00 00 00 00 // ............ diff --git a/tests/data/acpi/q35/MCFG.numamem b/tests/data/acpi/q35/MCFG.numamem deleted file mode 100644 index 79ceb27a038c6e29d098b98dda2e229495f96b7c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60 tcmeZuc5}C3U|?W;@8s|75v<@85#a3W?B>qMz`y`vgJ>kM0m}Xlq5)T;2>}2A diff --git a/tests/data/acpi/q35/MCFG.numamem.dsl b/tests/data/acpi/q35/MCFG.numamem.dsl deleted file mode 100644 index 30b37074d3..0000000000 --- a/tests/data/acpi/q35/MCFG.numamem.dsl +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/MCFG.numamem, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [MCFG] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "MCFG" [Memory Mapped Configuration table] -[004h 0004 4] Table Length : 0000003C -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : EF -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCMCFG" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 8] Reserved : 0000000000000000 - -[02Ch 0044 8] Base Address : 00000000B0000000 -[034h 0052 2] Segment Group Number : 0000 -[036h 0054 1] Start Bus Number : 00 -[037h 0055 1] End Bus Number : FF -[038h 0056 4] Reserved : 00000000 - -Raw Table Data: Length 60 (0x3C) - - 0000: 4D 43 46 47 3C 00 00 00 01 EF 42 4F 43 48 53 20 // MCFG<.....BOCHS - 0010: 42 58 50 43 4D 43 46 47 01 00 00 00 42 58 50 43 // BXPCMCFG....BXPC - 0020: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 B0 // ................ - 0030: 00 00 00 00 00 00 00 FF 00 00 00 00 // ............ diff --git a/tests/data/acpi/q35/MCFG.tis b/tests/data/acpi/q35/MCFG.tis deleted file mode 100644 index 79ceb27a038c6e29d098b98dda2e229495f96b7c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60 tcmeZuc5}C3U|?W;@8s|75v<@85#a3W?B>qMz`y`vgJ>kM0m}Xlq5)T;2>}2A diff --git a/tests/data/acpi/q35/MCFG.tis.dsl b/tests/data/acpi/q35/MCFG.tis.dsl deleted file mode 100644 index 0a92d698e9..0000000000 --- a/tests/data/acpi/q35/MCFG.tis.dsl +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/MCFG.tis, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [MCFG] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "MCFG" [Memory Mapped Configuration table] -[004h 0004 4] Table Length : 0000003C -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : EF -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCMCFG" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 8] Reserved : 0000000000000000 - -[02Ch 0044 8] Base Address : 00000000B0000000 -[034h 0052 2] Segment Group Number : 0000 -[036h 0054 1] Start Bus Number : 00 -[037h 0055 1] End Bus Number : FF -[038h 0056 4] Reserved : 00000000 - -Raw Table Data: Length 60 (0x3C) - - 0000: 4D 43 46 47 3C 00 00 00 01 EF 42 4F 43 48 53 20 // MCFG<.....BOCHS - 0010: 42 58 50 43 4D 43 46 47 01 00 00 00 42 58 50 43 // BXPCMCFG....BXPC - 0020: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 B0 // ................ - 0030: 00 00 00 00 00 00 00 FF 00 00 00 00 // ............ diff --git a/tests/data/acpi/q35/NFIT.dimmpxm.dsl b/tests/data/acpi/q35/NFIT.dimmpxm.dsl deleted file mode 100644 index e29b770dca..0000000000 --- a/tests/data/acpi/q35/NFIT.dimmpxm.dsl +++ /dev/null @@ -1,115 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/NFIT.dimmpxm, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [NFIT] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "NFIT" [NVDIMM Firmware Interface Table] -[004h 0004 4] Table Length : 000000F0 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : 24 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCNFIT" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Reserved : 00000000 - -[028h 0040 2] Subtable Type : 0000 [System Physical Address Range] -[02Ah 0042 2] Length : 0038 - -[02Ch 0044 2] Range Index : 0004 -[02Eh 0046 2] Flags (decoded below) : 0003 - Add/Online Operation Only : 1 - Proximity Domain Valid : 1 -[030h 0048 4] Reserved : 00000000 -[034h 0052 4] Proximity Domain : 00000002 -[038h 0056 16] Region Type GUID : 66F0D379-B4F3-4074-AC43-0D3318B78CDB -[048h 0072 8] Address Range Base : 0000000108000000 -[050h 0080 8] Address Range Length : 0000000008000000 -[058h 0088 8] Memory Map Attribute : 0000000000008008 - -[060h 0096 2] Subtable Type : 0001 [Memory Range Map] -[062h 0098 2] Length : 0030 - -[064h 0100 4] Device Handle : 00000002 -[068h 0104 2] Physical Id : 0000 -[06Ah 0106 2] Region Id : 0000 -[06Ch 0108 2] Range Index : 0004 -[06Eh 0110 2] Control Region Index : 0005 -[070h 0112 8] Region Size : 0000000008000000 -[078h 0120 8] Region Offset : 0000000000000000 -[080h 0128 8] Address Region Base : 0000000000000000 -[088h 0136 2] Interleave Index : 0000 -[08Ah 0138 2] Interleave Ways : 0001 -[08Ch 0140 2] Flags : 0000 - Save to device failed : 0 - Restore from device failed : 0 - Platform flush failed : 0 - Device not armed : 0 - Health events observed : 0 - Health events enabled : 0 - Mapping failed : 0 -[08Eh 0142 2] Reserved : 0000 - -[090h 0144 2] Subtable Type : 0004 [NVDIMM Control Region] -[092h 0146 2] Length : 0050 - -[094h 0148 2] Region Index : 0005 -[096h 0150 2] Vendor Id : 8086 -[098h 0152 2] Device Id : 0001 -[09Ah 0154 2] Revision Id : 0001 -[09Ch 0156 2] Subsystem Vendor Id : 0000 -[09Eh 0158 2] Subsystem Device Id : 0000 -[0A0h 0160 2] Subsystem Revision Id : 0000 -[0A2h 0162 1] Valid Fields : 00 -[0A3h 0163 1] Manufacturing Location : 00 -[0A4h 0164 2] Manufacturing Date : 0000 -[0A6h 0166 2] Reserved : 0000 -[0A8h 0168 4] Serial Number : 00123457 -[0ACh 0172 2] Code : 0301 -[0AEh 0174 2] Window Count : 0000 -[0B0h 0176 8] Window Size : 0000000000000000 -[0B8h 0184 8] Command Offset : 0000000000000000 -[0C0h 0192 8] Command Size : 0000000000000000 -[0C8h 0200 8] Status Offset : 0000000000000000 -[0D0h 0208 8] Status Size : 0000000000000000 -[0D8h 0216 2] Flags : 0000 - Windows buffered : 0 -[0DAh 0218 6] Reserved1 : 000000000000 - -[0E0h 0224 2] Subtable Type : 0007 [Platform Capabilities] -[0E2h 0226 2] Length : 0010 - -[0E4h 0228 1] Highest Capability : 01 -[0E5h 0229 3] Reserved : 000000 -[0E8h 0232 4] Capabilities (decoded below) : 00000003 - Cache Flush to NVDIMM : 1 - Memory Flush to NVDIMM : 1 - Memory Mirroring : 0 -[0ECh 0236 4] Reserved : 00000000 - -Raw Table Data: Length 240 (0xF0) - - 0000: 4E 46 49 54 F0 00 00 00 01 24 42 4F 43 48 53 20 // NFIT.....$BOCHS - 0010: 42 58 50 43 4E 46 49 54 01 00 00 00 42 58 50 43 // BXPCNFIT....BXPC - 0020: 01 00 00 00 00 00 00 00 00 00 38 00 04 00 03 00 // ..........8..... - 0030: 00 00 00 00 02 00 00 00 79 D3 F0 66 F3 B4 74 40 // ........y..f..t@ - 0040: AC 43 0D 33 18 B7 8C DB 00 00 00 08 01 00 00 00 // .C.3............ - 0050: 00 00 00 08 00 00 00 00 08 80 00 00 00 00 00 00 // ................ - 0060: 01 00 30 00 02 00 00 00 00 00 00 00 04 00 05 00 // ..0............. - 0070: 00 00 00 08 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0080: 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 // ................ - 0090: 04 00 50 00 05 00 86 80 01 00 01 00 00 00 00 00 // ..P............. - 00A0: 00 00 00 00 00 00 00 00 57 34 12 00 01 03 00 00 // ........W4...... - 00B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00E0: 07 00 10 00 01 00 00 00 03 00 00 00 00 00 00 00 // ................ diff --git a/tests/data/acpi/q35/NFIT.dsl b/tests/data/acpi/q35/NFIT.dsl deleted file mode 100644 index 8da7718431..0000000000 --- a/tests/data/acpi/q35/NFIT.dsl +++ /dev/null @@ -1,115 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/NFIT.dimmpxm, Mon Sep 28 17:24:38 2020 - * - * ACPI Data Table [NFIT] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "NFIT" [NVDIMM Firmware Interface Table] -[004h 0004 4] Table Length : 000000F0 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : 24 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCNFIT" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Reserved : 00000000 - -[028h 0040 2] Subtable Type : 0000 [System Physical Address Range] -[02Ah 0042 2] Length : 0038 - -[02Ch 0044 2] Range Index : 0004 -[02Eh 0046 2] Flags (decoded below) : 0003 - Add/Online Operation Only : 1 - Proximity Domain Valid : 1 -[030h 0048 4] Reserved : 00000000 -[034h 0052 4] Proximity Domain : 00000002 -[038h 0056 16] Region Type GUID : 66F0D379-B4F3-4074-AC43-0D3318B78CDB -[048h 0072 8] Address Range Base : 0000000108000000 -[050h 0080 8] Address Range Length : 0000000008000000 -[058h 0088 8] Memory Map Attribute : 0000000000008008 - -[060h 0096 2] Subtable Type : 0001 [Memory Range Map] -[062h 0098 2] Length : 0030 - -[064h 0100 4] Device Handle : 00000002 -[068h 0104 2] Physical Id : 0000 -[06Ah 0106 2] Region Id : 0000 -[06Ch 0108 2] Range Index : 0004 -[06Eh 0110 2] Control Region Index : 0005 -[070h 0112 8] Region Size : 0000000008000000 -[078h 0120 8] Region Offset : 0000000000000000 -[080h 0128 8] Address Region Base : 0000000000000000 -[088h 0136 2] Interleave Index : 0000 -[08Ah 0138 2] Interleave Ways : 0001 -[08Ch 0140 2] Flags : 0000 - Save to device failed : 0 - Restore from device failed : 0 - Platform flush failed : 0 - Device not armed : 0 - Health events observed : 0 - Health events enabled : 0 - Mapping failed : 0 -[08Eh 0142 2] Reserved : 0000 - -[090h 0144 2] Subtable Type : 0004 [NVDIMM Control Region] -[092h 0146 2] Length : 0050 - -[094h 0148 2] Region Index : 0005 -[096h 0150 2] Vendor Id : 8086 -[098h 0152 2] Device Id : 0001 -[09Ah 0154 2] Revision Id : 0001 -[09Ch 0156 2] Subsystem Vendor Id : 0000 -[09Eh 0158 2] Subsystem Device Id : 0000 -[0A0h 0160 2] Subsystem Revision Id : 0000 -[0A2h 0162 1] Valid Fields : 00 -[0A3h 0163 1] Manufacturing Location : 00 -[0A4h 0164 2] Manufacturing Date : 0000 -[0A6h 0166 2] Reserved : 0000 -[0A8h 0168 4] Serial Number : 00123457 -[0ACh 0172 2] Code : 0301 -[0AEh 0174 2] Window Count : 0000 -[0B0h 0176 8] Window Size : 0000000000000000 -[0B8h 0184 8] Command Offset : 0000000000000000 -[0C0h 0192 8] Command Size : 0000000000000000 -[0C8h 0200 8] Status Offset : 0000000000000000 -[0D0h 0208 8] Status Size : 0000000000000000 -[0D8h 0216 2] Flags : 0000 - Windows buffered : 0 -[0DAh 0218 6] Reserved1 : 000000000000 - -[0E0h 0224 2] Subtable Type : 0007 [Platform Capabilities] -[0E2h 0226 2] Length : 0010 - -[0E4h 0228 1] Highest Capability : 01 -[0E5h 0229 3] Reserved : 000000 -[0E8h 0232 4] Capabilities (decoded below) : 00000003 - Cache Flush to NVDIMM : 1 - Memory Flush to NVDIMM : 1 - Memory Mirroring : 0 -[0ECh 0236 4] Reserved : 00000000 - -Raw Table Data: Length 240 (0xF0) - - 0000: 4E 46 49 54 F0 00 00 00 01 24 42 4F 43 48 53 20 // NFIT.....$BOCHS - 0010: 42 58 50 43 4E 46 49 54 01 00 00 00 42 58 50 43 // BXPCNFIT....BXPC - 0020: 01 00 00 00 00 00 00 00 00 00 38 00 04 00 03 00 // ..........8..... - 0030: 00 00 00 00 02 00 00 00 79 D3 F0 66 F3 B4 74 40 // ........y..f..t@ - 0040: AC 43 0D 33 18 B7 8C DB 00 00 00 08 01 00 00 00 // .C.3............ - 0050: 00 00 00 08 00 00 00 00 08 80 00 00 00 00 00 00 // ................ - 0060: 01 00 30 00 02 00 00 00 00 00 00 00 04 00 05 00 // ..0............. - 0070: 00 00 00 08 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0080: 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 // ................ - 0090: 04 00 50 00 05 00 86 80 01 00 01 00 00 00 00 00 // ..P............. - 00A0: 00 00 00 00 00 00 00 00 57 34 12 00 01 03 00 00 // ........W4...... - 00B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00E0: 07 00 10 00 01 00 00 00 03 00 00 00 00 00 00 00 // ................ diff --git a/tests/data/acpi/q35/SLIT.cphp.dsl b/tests/data/acpi/q35/SLIT.cphp.dsl deleted file mode 100644 index cb7347fbd4..0000000000 --- a/tests/data/acpi/q35/SLIT.cphp.dsl +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/SLIT.cphp, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [SLIT] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "SLIT" [System Locality Information Table] -[004h 0004 4] Table Length : 00000030 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : 2C -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCSLIT" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 8] Localities : 0000000000000002 -[02Ch 0044 2] Locality 0 : 0A 15 -[02Eh 0046 2] Locality 1 : 15 0A - -Raw Table Data: Length 48 (0x30) - - 0000: 53 4C 49 54 30 00 00 00 01 2C 42 4F 43 48 53 20 // SLIT0....,BOCHS - 0010: 42 58 50 43 53 4C 49 54 01 00 00 00 42 58 50 43 // BXPCSLIT....BXPC - 0020: 01 00 00 00 02 00 00 00 00 00 00 00 0A 15 15 0A // ................ diff --git a/tests/data/acpi/q35/SLIT.dsl b/tests/data/acpi/q35/SLIT.dsl deleted file mode 100644 index 89c381bdd0..0000000000 --- a/tests/data/acpi/q35/SLIT.dsl +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/SLIT.memhp, Mon Sep 28 17:24:38 2020 - * - * ACPI Data Table [SLIT] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "SLIT" [System Locality Information Table] -[004h 0004 4] Table Length : 00000030 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : 2C -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCSLIT" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 8] Localities : 0000000000000002 -[02Ch 0044 2] Locality 0 : 0A 15 -[02Eh 0046 2] Locality 1 : 15 0A - -Raw Table Data: Length 48 (0x30) - - 0000: 53 4C 49 54 30 00 00 00 01 2C 42 4F 43 48 53 20 // SLIT0....,BOCHS - 0010: 42 58 50 43 53 4C 49 54 01 00 00 00 42 58 50 43 // BXPCSLIT....BXPC - 0020: 01 00 00 00 02 00 00 00 00 00 00 00 0A 15 15 0A // ................ diff --git a/tests/data/acpi/q35/SLIT.memhp.dsl b/tests/data/acpi/q35/SLIT.memhp.dsl deleted file mode 100644 index 70b233c0e6..0000000000 --- a/tests/data/acpi/q35/SLIT.memhp.dsl +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/SLIT.memhp, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [SLIT] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "SLIT" [System Locality Information Table] -[004h 0004 4] Table Length : 00000030 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : 2C -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCSLIT" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 8] Localities : 0000000000000002 -[02Ch 0044 2] Locality 0 : 0A 15 -[02Eh 0046 2] Locality 1 : 15 0A - -Raw Table Data: Length 48 (0x30) - - 0000: 53 4C 49 54 30 00 00 00 01 2C 42 4F 43 48 53 20 // SLIT0....,BOCHS - 0010: 42 58 50 43 53 4C 49 54 01 00 00 00 42 58 50 43 // BXPCSLIT....BXPC - 0020: 01 00 00 00 02 00 00 00 00 00 00 00 0A 15 15 0A // ................ diff --git a/tests/data/acpi/q35/SRAT.acpihmat.dsl b/tests/data/acpi/q35/SRAT.acpihmat.dsl deleted file mode 100644 index 8a1b47e6b0..0000000000 --- a/tests/data/acpi/q35/SRAT.acpihmat.dsl +++ /dev/null @@ -1,137 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/SRAT.acpihmat, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [SRAT] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "SRAT" [System Resource Affinity Table] -[004h 0004 4] Table Length : 00000118 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : C0 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCSRAT" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Table Revision : 00000001 -[028h 0040 8] Reserved : 0000000000000000 - -[030h 0048 1] Subtable Type : 00 [Processor Local APIC/SAPIC Affinity] -[031h 0049 1] Length : 10 - -[032h 0050 1] Proximity Domain Low(8) : 00 -[033h 0051 1] Apic ID : 00 -[034h 0052 4] Flags (decoded below) : 00000001 - Enabled : 1 -[038h 0056 1] Local Sapic EID : 00 -[039h 0057 3] Proximity Domain High(24) : 000000 -[03Ch 0060 4] Clock Domain : 00000000 - -[040h 0064 1] Subtable Type : 00 [Processor Local APIC/SAPIC Affinity] -[041h 0065 1] Length : 10 - -[042h 0066 1] Proximity Domain Low(8) : 00 -[043h 0067 1] Apic ID : 01 -[044h 0068 4] Flags (decoded below) : 00000001 - Enabled : 1 -[048h 0072 1] Local Sapic EID : 00 -[049h 0073 3] Proximity Domain High(24) : 000000 -[04Ch 0076 4] Clock Domain : 00000000 - -[050h 0080 1] Subtable Type : 01 [Memory Affinity] -[051h 0081 1] Length : 28 - -[052h 0082 4] Proximity Domain : 00000000 -[056h 0086 2] Reserved1 : 0000 -[058h 0088 8] Base Address : 0000000000000000 -[060h 0096 8] Address Length : 00000000000A0000 -[068h 0104 4] Reserved2 : 00000000 -[06Ch 0108 4] Flags (decoded below) : 00000001 - Enabled : 1 - Hot Pluggable : 0 - Non-Volatile : 0 -[070h 0112 8] Reserved3 : 0000000000000000 - -[078h 0120 1] Subtable Type : 01 [Memory Affinity] -[079h 0121 1] Length : 28 - -[07Ah 0122 4] Proximity Domain : 00000000 -[07Eh 0126 2] Reserved1 : 0000 -[080h 0128 8] Base Address : 0000000000100000 -[088h 0136 8] Address Length : 0000000003F00000 -[090h 0144 4] Reserved2 : 00000000 -[094h 0148 4] Flags (decoded below) : 00000001 - Enabled : 1 - Hot Pluggable : 0 - Non-Volatile : 0 -[098h 0152 8] Reserved3 : 0000000000000000 - -[0A0h 0160 1] Subtable Type : 01 [Memory Affinity] -[0A1h 0161 1] Length : 28 - -[0A2h 0162 4] Proximity Domain : 00000001 -[0A6h 0166 2] Reserved1 : 0000 -[0A8h 0168 8] Base Address : 0000000004000000 -[0B0h 0176 8] Address Length : 0000000004000000 -[0B8h 0184 4] Reserved2 : 00000000 -[0BCh 0188 4] Flags (decoded below) : 00000001 - Enabled : 1 - Hot Pluggable : 0 - Non-Volatile : 0 -[0C0h 0192 8] Reserved3 : 0000000000000000 - -[0C8h 0200 1] Subtable Type : 01 [Memory Affinity] -[0C9h 0201 1] Length : 28 - -[0CAh 0202 4] Proximity Domain : 00000000 -[0CEh 0206 2] Reserved1 : 0000 -[0D0h 0208 8] Base Address : 0000000000000000 -[0D8h 0216 8] Address Length : 0000000000000000 -[0E0h 0224 4] Reserved2 : 00000000 -[0E4h 0228 4] Flags (decoded below) : 00000000 - Enabled : 0 - Hot Pluggable : 0 - Non-Volatile : 0 -[0E8h 0232 8] Reserved3 : 0000000000000000 - -[0F0h 0240 1] Subtable Type : 01 [Memory Affinity] -[0F1h 0241 1] Length : 28 - -[0F2h 0242 4] Proximity Domain : 00000001 -[0F6h 0246 2] Reserved1 : 0000 -[0F8h 0248 8] Base Address : 0000000100000000 -[100h 0256 8] Address Length : 00000000B8000000 -[108h 0264 4] Reserved2 : 00000000 -[10Ch 0268 4] Flags (decoded below) : 00000003 - Enabled : 1 - Hot Pluggable : 1 - Non-Volatile : 0 -[110h 0272 8] Reserved3 : 0000000000000000 - -Raw Table Data: Length 280 (0x118) - - 0000: 53 52 41 54 18 01 00 00 01 C0 42 4F 43 48 53 20 // SRAT......BOCHS - 0010: 42 58 50 43 53 52 41 54 01 00 00 00 42 58 50 43 // BXPCSRAT....BXPC - 0020: 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0030: 00 10 00 00 01 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0040: 00 10 00 01 01 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0050: 01 28 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // .(.............. - 0060: 00 00 0A 00 00 00 00 00 00 00 00 00 01 00 00 00 // ................ - 0070: 00 00 00 00 00 00 00 00 01 28 00 00 00 00 00 00 // .........(...... - 0080: 00 00 10 00 00 00 00 00 00 00 F0 03 00 00 00 00 // ................ - 0090: 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00A0: 01 28 01 00 00 00 00 00 00 00 00 04 00 00 00 00 // .(.............. - 00B0: 00 00 00 04 00 00 00 00 00 00 00 00 01 00 00 00 // ................ - 00C0: 00 00 00 00 00 00 00 00 01 28 00 00 00 00 00 00 // .........(...... - 00D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00F0: 01 28 01 00 00 00 00 00 00 00 00 00 01 00 00 00 // .(.............. - 0100: 00 00 00 B8 00 00 00 00 00 00 00 00 03 00 00 00 // ................ - 0110: 00 00 00 00 00 00 00 00 // ........ diff --git a/tests/data/acpi/q35/SRAT.cphp.dsl b/tests/data/acpi/q35/SRAT.cphp.dsl deleted file mode 100644 index f0023db38d..0000000000 --- a/tests/data/acpi/q35/SRAT.cphp.dsl +++ /dev/null @@ -1,168 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/SRAT.cphp, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [SRAT] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "SRAT" [System Resource Affinity Table] -[004h 0004 4] Table Length : 00000130 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : 36 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCSRAT" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Table Revision : 00000001 -[028h 0040 8] Reserved : 0000000000000000 - -[030h 0048 1] Subtable Type : 00 [Processor Local APIC/SAPIC Affinity] -[031h 0049 1] Length : 10 - -[032h 0050 1] Proximity Domain Low(8) : 00 -[033h 0051 1] Apic ID : 00 -[034h 0052 4] Flags (decoded below) : 00000001 - Enabled : 1 -[038h 0056 1] Local Sapic EID : 00 -[039h 0057 3] Proximity Domain High(24) : 000000 -[03Ch 0060 4] Clock Domain : 00000000 - -[040h 0064 1] Subtable Type : 00 [Processor Local APIC/SAPIC Affinity] -[041h 0065 1] Length : 10 - -[042h 0066 1] Proximity Domain Low(8) : 00 -[043h 0067 1] Apic ID : 01 -[044h 0068 4] Flags (decoded below) : 00000001 - Enabled : 1 -[048h 0072 1] Local Sapic EID : 00 -[049h 0073 3] Proximity Domain High(24) : 000000 -[04Ch 0076 4] Clock Domain : 00000000 - -[050h 0080 1] Subtable Type : 00 [Processor Local APIC/SAPIC Affinity] -[051h 0081 1] Length : 10 - -[052h 0082 1] Proximity Domain Low(8) : 00 -[053h 0083 1] Apic ID : 02 -[054h 0084 4] Flags (decoded below) : 00000001 - Enabled : 1 -[058h 0088 1] Local Sapic EID : 00 -[059h 0089 3] Proximity Domain High(24) : 000000 -[05Ch 0092 4] Clock Domain : 00000000 - -[060h 0096 1] Subtable Type : 00 [Processor Local APIC/SAPIC Affinity] -[061h 0097 1] Length : 10 - -[062h 0098 1] Proximity Domain Low(8) : 01 -[063h 0099 1] Apic ID : 04 -[064h 0100 4] Flags (decoded below) : 00000001 - Enabled : 1 -[068h 0104 1] Local Sapic EID : 00 -[069h 0105 3] Proximity Domain High(24) : 000000 -[06Ch 0108 4] Clock Domain : 00000000 - -[070h 0112 1] Subtable Type : 00 [Processor Local APIC/SAPIC Affinity] -[071h 0113 1] Length : 10 - -[072h 0114 1] Proximity Domain Low(8) : 01 -[073h 0115 1] Apic ID : 05 -[074h 0116 4] Flags (decoded below) : 00000001 - Enabled : 1 -[078h 0120 1] Local Sapic EID : 00 -[079h 0121 3] Proximity Domain High(24) : 000000 -[07Ch 0124 4] Clock Domain : 00000000 - -[080h 0128 1] Subtable Type : 00 [Processor Local APIC/SAPIC Affinity] -[081h 0129 1] Length : 10 - -[082h 0130 1] Proximity Domain Low(8) : 01 -[083h 0131 1] Apic ID : 06 -[084h 0132 4] Flags (decoded below) : 00000001 - Enabled : 1 -[088h 0136 1] Local Sapic EID : 00 -[089h 0137 3] Proximity Domain High(24) : 000000 -[08Ch 0140 4] Clock Domain : 00000000 - -[090h 0144 1] Subtable Type : 01 [Memory Affinity] -[091h 0145 1] Length : 28 - -[092h 0146 4] Proximity Domain : 00000000 -[096h 0150 2] Reserved1 : 0000 -[098h 0152 8] Base Address : 0000000000000000 -[0A0h 0160 8] Address Length : 00000000000A0000 -[0A8h 0168 4] Reserved2 : 00000000 -[0ACh 0172 4] Flags (decoded below) : 00000001 - Enabled : 1 - Hot Pluggable : 0 - Non-Volatile : 0 -[0B0h 0176 8] Reserved3 : 0000000000000000 - -[0B8h 0184 1] Subtable Type : 01 [Memory Affinity] -[0B9h 0185 1] Length : 28 - -[0BAh 0186 4] Proximity Domain : 00000000 -[0BEh 0190 2] Reserved1 : 0000 -[0C0h 0192 8] Base Address : 0000000000100000 -[0C8h 0200 8] Address Length : 0000000003F00000 -[0D0h 0208 4] Reserved2 : 00000000 -[0D4h 0212 4] Flags (decoded below) : 00000001 - Enabled : 1 - Hot Pluggable : 0 - Non-Volatile : 0 -[0D8h 0216 8] Reserved3 : 0000000000000000 - -[0E0h 0224 1] Subtable Type : 01 [Memory Affinity] -[0E1h 0225 1] Length : 28 - -[0E2h 0226 4] Proximity Domain : 00000001 -[0E6h 0230 2] Reserved1 : 0000 -[0E8h 0232 8] Base Address : 0000000004000000 -[0F0h 0240 8] Address Length : 0000000004000000 -[0F8h 0248 4] Reserved2 : 00000000 -[0FCh 0252 4] Flags (decoded below) : 00000001 - Enabled : 1 - Hot Pluggable : 0 - Non-Volatile : 0 -[100h 0256 8] Reserved3 : 0000000000000000 - -[108h 0264 1] Subtable Type : 01 [Memory Affinity] -[109h 0265 1] Length : 28 - -[10Ah 0266 4] Proximity Domain : 00000000 -[10Eh 0270 2] Reserved1 : 0000 -[110h 0272 8] Base Address : 0000000000000000 -[118h 0280 8] Address Length : 0000000000000000 -[120h 0288 4] Reserved2 : 00000000 -[124h 0292 4] Flags (decoded below) : 00000000 - Enabled : 0 - Hot Pluggable : 0 - Non-Volatile : 0 -[128h 0296 8] Reserved3 : 0000000000000000 - -Raw Table Data: Length 304 (0x130) - - 0000: 53 52 41 54 30 01 00 00 01 36 42 4F 43 48 53 20 // SRAT0....6BOCHS - 0010: 42 58 50 43 53 52 41 54 01 00 00 00 42 58 50 43 // BXPCSRAT....BXPC - 0020: 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0030: 00 10 00 00 01 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0040: 00 10 00 01 01 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0050: 00 10 00 02 01 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0060: 00 10 01 04 01 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0070: 00 10 01 05 01 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0080: 00 10 01 06 01 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0090: 01 28 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // .(.............. - 00A0: 00 00 0A 00 00 00 00 00 00 00 00 00 01 00 00 00 // ................ - 00B0: 00 00 00 00 00 00 00 00 01 28 00 00 00 00 00 00 // .........(...... - 00C0: 00 00 10 00 00 00 00 00 00 00 F0 03 00 00 00 00 // ................ - 00D0: 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00E0: 01 28 01 00 00 00 00 00 00 00 00 04 00 00 00 00 // .(.............. - 00F0: 00 00 00 04 00 00 00 00 00 00 00 00 01 00 00 00 // ................ - 0100: 00 00 00 00 00 00 00 00 01 28 00 00 00 00 00 00 // .........(...... - 0110: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0120: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ diff --git a/tests/data/acpi/q35/SRAT.dimmpxm.dsl b/tests/data/acpi/q35/SRAT.dimmpxm.dsl deleted file mode 100644 index 2cfe6994f5..0000000000 --- a/tests/data/acpi/q35/SRAT.dimmpxm.dsl +++ /dev/null @@ -1,194 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/SRAT.dimmpxm, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [SRAT] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "SRAT" [System Resource Affinity Table] -[004h 0004 4] Table Length : 00000188 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : 68 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCSRAT" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Table Revision : 00000001 -[028h 0040 8] Reserved : 0000000000000000 - -[030h 0048 1] Subtable Type : 00 [Processor Local APIC/SAPIC Affinity] -[031h 0049 1] Length : 10 - -[032h 0050 1] Proximity Domain Low(8) : 00 -[033h 0051 1] Apic ID : 00 -[034h 0052 4] Flags (decoded below) : 00000001 - Enabled : 1 -[038h 0056 1] Local Sapic EID : 00 -[039h 0057 3] Proximity Domain High(24) : 000000 -[03Ch 0060 4] Clock Domain : 00000000 - -[040h 0064 1] Subtable Type : 00 [Processor Local APIC/SAPIC Affinity] -[041h 0065 1] Length : 10 - -[042h 0066 1] Proximity Domain Low(8) : 01 -[043h 0067 1] Apic ID : 01 -[044h 0068 4] Flags (decoded below) : 00000001 - Enabled : 1 -[048h 0072 1] Local Sapic EID : 00 -[049h 0073 3] Proximity Domain High(24) : 000000 -[04Ch 0076 4] Clock Domain : 00000000 - -[050h 0080 1] Subtable Type : 00 [Processor Local APIC/SAPIC Affinity] -[051h 0081 1] Length : 10 - -[052h 0082 1] Proximity Domain Low(8) : 02 -[053h 0083 1] Apic ID : 02 -[054h 0084 4] Flags (decoded below) : 00000001 - Enabled : 1 -[058h 0088 1] Local Sapic EID : 00 -[059h 0089 3] Proximity Domain High(24) : 000000 -[05Ch 0092 4] Clock Domain : 00000000 - -[060h 0096 1] Subtable Type : 00 [Processor Local APIC/SAPIC Affinity] -[061h 0097 1] Length : 10 - -[062h 0098 1] Proximity Domain Low(8) : 03 -[063h 0099 1] Apic ID : 03 -[064h 0100 4] Flags (decoded below) : 00000001 - Enabled : 1 -[068h 0104 1] Local Sapic EID : 00 -[069h 0105 3] Proximity Domain High(24) : 000000 -[06Ch 0108 4] Clock Domain : 00000000 - -[070h 0112 1] Subtable Type : 01 [Memory Affinity] -[071h 0113 1] Length : 28 - -[072h 0114 4] Proximity Domain : 00000000 -[076h 0118 2] Reserved1 : 0000 -[078h 0120 8] Base Address : 0000000000000000 -[080h 0128 8] Address Length : 00000000000A0000 -[088h 0136 4] Reserved2 : 00000000 -[08Ch 0140 4] Flags (decoded below) : 00000001 - Enabled : 1 - Hot Pluggable : 0 - Non-Volatile : 0 -[090h 0144 8] Reserved3 : 0000000000000000 - -[098h 0152 1] Subtable Type : 01 [Memory Affinity] -[099h 0153 1] Length : 28 - -[09Ah 0154 4] Proximity Domain : 00000000 -[09Eh 0158 2] Reserved1 : 0000 -[0A0h 0160 8] Base Address : 0000000000100000 -[0A8h 0168 8] Address Length : 0000000001F00000 -[0B0h 0176 4] Reserved2 : 00000000 -[0B4h 0180 4] Flags (decoded below) : 00000001 - Enabled : 1 - Hot Pluggable : 0 - Non-Volatile : 0 -[0B8h 0184 8] Reserved3 : 0000000000000000 - -[0C0h 0192 1] Subtable Type : 01 [Memory Affinity] -[0C1h 0193 1] Length : 28 - -[0C2h 0194 4] Proximity Domain : 00000001 -[0C6h 0198 2] Reserved1 : 0000 -[0C8h 0200 8] Base Address : 0000000002000000 -[0D0h 0208 8] Address Length : 0000000002000000 -[0D8h 0216 4] Reserved2 : 00000000 -[0DCh 0220 4] Flags (decoded below) : 00000001 - Enabled : 1 - Hot Pluggable : 0 - Non-Volatile : 0 -[0E0h 0224 8] Reserved3 : 0000000000000000 - -[0E8h 0232 1] Subtable Type : 01 [Memory Affinity] -[0E9h 0233 1] Length : 28 - -[0EAh 0234 4] Proximity Domain : 00000002 -[0EEh 0238 2] Reserved1 : 0000 -[0F0h 0240 8] Base Address : 0000000004000000 -[0F8h 0248 8] Address Length : 0000000002000000 -[100h 0256 4] Reserved2 : 00000000 -[104h 0260 4] Flags (decoded below) : 00000001 - Enabled : 1 - Hot Pluggable : 0 - Non-Volatile : 0 -[108h 0264 8] Reserved3 : 0000000000000000 - -[110h 0272 1] Subtable Type : 01 [Memory Affinity] -[111h 0273 1] Length : 28 - -[112h 0274 4] Proximity Domain : 00000003 -[116h 0278 2] Reserved1 : 0000 -[118h 0280 8] Base Address : 0000000006000000 -[120h 0288 8] Address Length : 0000000002000000 -[128h 0296 4] Reserved2 : 00000000 -[12Ch 0300 4] Flags (decoded below) : 00000001 - Enabled : 1 - Hot Pluggable : 0 - Non-Volatile : 0 -[130h 0304 8] Reserved3 : 0000000000000000 - -[138h 0312 1] Subtable Type : 01 [Memory Affinity] -[139h 0313 1] Length : 28 - -[13Ah 0314 4] Proximity Domain : 00000002 -[13Eh 0318 2] Reserved1 : 0000 -[140h 0320 8] Base Address : 0000000108000000 -[148h 0328 8] Address Length : 0000000008000000 -[150h 0336 4] Reserved2 : 00000000 -[154h 0340 4] Flags (decoded below) : 00000005 - Enabled : 1 - Hot Pluggable : 0 - Non-Volatile : 1 -[158h 0344 8] Reserved3 : 0000000000000000 - -[160h 0352 1] Subtable Type : 01 [Memory Affinity] -[161h 0353 1] Length : 28 - -[162h 0354 4] Proximity Domain : 00000003 -[166h 0358 2] Reserved1 : 0000 -[168h 0360 8] Base Address : 0000000100000000 -[170h 0368 8] Address Length : 00000000F8000000 -[178h 0376 4] Reserved2 : 00000000 -[17Ch 0380 4] Flags (decoded below) : 00000003 - Enabled : 1 - Hot Pluggable : 1 - Non-Volatile : 0 -[180h 0384 8] Reserved3 : 0000000000000000 - -Raw Table Data: Length 392 (0x188) - - 0000: 53 52 41 54 88 01 00 00 01 68 42 4F 43 48 53 20 // SRAT.....hBOCHS - 0010: 42 58 50 43 53 52 41 54 01 00 00 00 42 58 50 43 // BXPCSRAT....BXPC - 0020: 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0030: 00 10 00 00 01 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0040: 00 10 01 01 01 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0050: 00 10 02 02 01 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0060: 00 10 03 03 01 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0070: 01 28 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // .(.............. - 0080: 00 00 0A 00 00 00 00 00 00 00 00 00 01 00 00 00 // ................ - 0090: 00 00 00 00 00 00 00 00 01 28 00 00 00 00 00 00 // .........(...... - 00A0: 00 00 10 00 00 00 00 00 00 00 F0 01 00 00 00 00 // ................ - 00B0: 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00C0: 01 28 01 00 00 00 00 00 00 00 00 02 00 00 00 00 // .(.............. - 00D0: 00 00 00 02 00 00 00 00 00 00 00 00 01 00 00 00 // ................ - 00E0: 00 00 00 00 00 00 00 00 01 28 02 00 00 00 00 00 // .........(...... - 00F0: 00 00 00 04 00 00 00 00 00 00 00 02 00 00 00 00 // ................ - 0100: 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0110: 01 28 03 00 00 00 00 00 00 00 00 06 00 00 00 00 // .(.............. - 0120: 00 00 00 02 00 00 00 00 00 00 00 00 01 00 00 00 // ................ - 0130: 00 00 00 00 00 00 00 00 01 28 02 00 00 00 00 00 // .........(...... - 0140: 00 00 00 08 01 00 00 00 00 00 00 08 00 00 00 00 // ................ - 0150: 00 00 00 00 05 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0160: 01 28 03 00 00 00 00 00 00 00 00 00 01 00 00 00 // .(.............. - 0170: 00 00 00 F8 00 00 00 00 00 00 00 00 03 00 00 00 // ................ - 0180: 00 00 00 00 00 00 00 00 // ........ diff --git a/tests/data/acpi/q35/SRAT.dsl b/tests/data/acpi/q35/SRAT.dsl deleted file mode 100644 index 5f4278994e..0000000000 --- a/tests/data/acpi/q35/SRAT.dsl +++ /dev/null @@ -1,108 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/SRAT.numamem, Mon Sep 28 17:24:38 2020 - * - * ACPI Data Table [SRAT] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "SRAT" [System Resource Affinity Table] -[004h 0004 4] Table Length : 000000E0 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : F5 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCSRAT" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Table Revision : 00000001 -[028h 0040 8] Reserved : 0000000000000000 - -[030h 0048 1] Subtable Type : 00 [Processor Local APIC/SAPIC Affinity] -[031h 0049 1] Length : 10 - -[032h 0050 1] Proximity Domain Low(8) : 00 -[033h 0051 1] Apic ID : 00 -[034h 0052 4] Flags (decoded below) : 00000001 - Enabled : 1 -[038h 0056 1] Local Sapic EID : 00 -[039h 0057 3] Proximity Domain High(24) : 000000 -[03Ch 0060 4] Clock Domain : 00000000 - -[040h 0064 1] Subtable Type : 01 [Memory Affinity] -[041h 0065 1] Length : 28 - -[042h 0066 4] Proximity Domain : 00000001 -[046h 0070 2] Reserved1 : 0000 -[048h 0072 8] Base Address : 0000000000000000 -[050h 0080 8] Address Length : 00000000000A0000 -[058h 0088 4] Reserved2 : 00000000 -[05Ch 0092 4] Flags (decoded below) : 00000001 - Enabled : 1 - Hot Pluggable : 0 - Non-Volatile : 0 -[060h 0096 8] Reserved3 : 0000000000000000 - -[068h 0104 1] Subtable Type : 01 [Memory Affinity] -[069h 0105 1] Length : 28 - -[06Ah 0106 4] Proximity Domain : 00000001 -[06Eh 0110 2] Reserved1 : 0000 -[070h 0112 8] Base Address : 0000000000100000 -[078h 0120 8] Address Length : 0000000007F00000 -[080h 0128 4] Reserved2 : 00000000 -[084h 0132 4] Flags (decoded below) : 00000001 - Enabled : 1 - Hot Pluggable : 0 - Non-Volatile : 0 -[088h 0136 8] Reserved3 : 0000000000000000 - -[090h 0144 1] Subtable Type : 01 [Memory Affinity] -[091h 0145 1] Length : 28 - -[092h 0146 4] Proximity Domain : 00000000 -[096h 0150 2] Reserved1 : 0000 -[098h 0152 8] Base Address : 0000000000000000 -[0A0h 0160 8] Address Length : 0000000000000000 -[0A8h 0168 4] Reserved2 : 00000000 -[0ACh 0172 4] Flags (decoded below) : 00000000 - Enabled : 0 - Hot Pluggable : 0 - Non-Volatile : 0 -[0B0h 0176 8] Reserved3 : 0000000000000000 - -[0B8h 0184 1] Subtable Type : 01 [Memory Affinity] -[0B9h 0185 1] Length : 28 - -[0BAh 0186 4] Proximity Domain : 00000000 -[0BEh 0190 2] Reserved1 : 0000 -[0C0h 0192 8] Base Address : 0000000000000000 -[0C8h 0200 8] Address Length : 0000000000000000 -[0D0h 0208 4] Reserved2 : 00000000 -[0D4h 0212 4] Flags (decoded below) : 00000000 - Enabled : 0 - Hot Pluggable : 0 - Non-Volatile : 0 -[0D8h 0216 8] Reserved3 : 0000000000000000 - -Raw Table Data: Length 224 (0xE0) - - 0000: 53 52 41 54 E0 00 00 00 01 F5 42 4F 43 48 53 20 // SRAT......BOCHS - 0010: 42 58 50 43 53 52 41 54 01 00 00 00 42 58 50 43 // BXPCSRAT....BXPC - 0020: 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0030: 00 10 00 00 01 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0040: 01 28 01 00 00 00 00 00 00 00 00 00 00 00 00 00 // .(.............. - 0050: 00 00 0A 00 00 00 00 00 00 00 00 00 01 00 00 00 // ................ - 0060: 00 00 00 00 00 00 00 00 01 28 01 00 00 00 00 00 // .........(...... - 0070: 00 00 10 00 00 00 00 00 00 00 F0 07 00 00 00 00 // ................ - 0080: 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0090: 01 28 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // .(.............. - 00A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00B0: 00 00 00 00 00 00 00 00 01 28 00 00 00 00 00 00 // .........(...... - 00C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ diff --git a/tests/data/acpi/q35/SRAT.memhp.dsl b/tests/data/acpi/q35/SRAT.memhp.dsl deleted file mode 100644 index a5f27214eb..0000000000 --- a/tests/data/acpi/q35/SRAT.memhp.dsl +++ /dev/null @@ -1,125 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/SRAT.memhp, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [SRAT] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "SRAT" [System Resource Affinity Table] -[004h 0004 4] Table Length : 00000108 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : A2 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCSRAT" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Table Revision : 00000001 -[028h 0040 8] Reserved : 0000000000000000 - -[030h 0048 1] Subtable Type : 00 [Processor Local APIC/SAPIC Affinity] -[031h 0049 1] Length : 10 - -[032h 0050 1] Proximity Domain Low(8) : 00 -[033h 0051 1] Apic ID : 00 -[034h 0052 4] Flags (decoded below) : 00000001 - Enabled : 1 -[038h 0056 1] Local Sapic EID : 00 -[039h 0057 3] Proximity Domain High(24) : 000000 -[03Ch 0060 4] Clock Domain : 00000000 - -[040h 0064 1] Subtable Type : 01 [Memory Affinity] -[041h 0065 1] Length : 28 - -[042h 0066 4] Proximity Domain : 00000000 -[046h 0070 2] Reserved1 : 0000 -[048h 0072 8] Base Address : 0000000000000000 -[050h 0080 8] Address Length : 00000000000A0000 -[058h 0088 4] Reserved2 : 00000000 -[05Ch 0092 4] Flags (decoded below) : 00000001 - Enabled : 1 - Hot Pluggable : 0 - Non-Volatile : 0 -[060h 0096 8] Reserved3 : 0000000000000000 - -[068h 0104 1] Subtable Type : 01 [Memory Affinity] -[069h 0105 1] Length : 28 - -[06Ah 0106 4] Proximity Domain : 00000000 -[06Eh 0110 2] Reserved1 : 0000 -[070h 0112 8] Base Address : 0000000000100000 -[078h 0120 8] Address Length : 0000000003F00000 -[080h 0128 4] Reserved2 : 00000000 -[084h 0132 4] Flags (decoded below) : 00000001 - Enabled : 1 - Hot Pluggable : 0 - Non-Volatile : 0 -[088h 0136 8] Reserved3 : 0000000000000000 - -[090h 0144 1] Subtable Type : 01 [Memory Affinity] -[091h 0145 1] Length : 28 - -[092h 0146 4] Proximity Domain : 00000001 -[096h 0150 2] Reserved1 : 0000 -[098h 0152 8] Base Address : 0000000004000000 -[0A0h 0160 8] Address Length : 0000000004000000 -[0A8h 0168 4] Reserved2 : 00000000 -[0ACh 0172 4] Flags (decoded below) : 00000001 - Enabled : 1 - Hot Pluggable : 0 - Non-Volatile : 0 -[0B0h 0176 8] Reserved3 : 0000000000000000 - -[0B8h 0184 1] Subtable Type : 01 [Memory Affinity] -[0B9h 0185 1] Length : 28 - -[0BAh 0186 4] Proximity Domain : 00000000 -[0BEh 0190 2] Reserved1 : 0000 -[0C0h 0192 8] Base Address : 0000000000000000 -[0C8h 0200 8] Address Length : 0000000000000000 -[0D0h 0208 4] Reserved2 : 00000000 -[0D4h 0212 4] Flags (decoded below) : 00000000 - Enabled : 0 - Hot Pluggable : 0 - Non-Volatile : 0 -[0D8h 0216 8] Reserved3 : 0000000000000000 - -[0E0h 0224 1] Subtable Type : 01 [Memory Affinity] -[0E1h 0225 1] Length : 28 - -[0E2h 0226 4] Proximity Domain : 00000001 -[0E6h 0230 2] Reserved1 : 0000 -[0E8h 0232 8] Base Address : 0000000100000000 -[0F0h 0240 8] Address Length : 00000000F8000000 -[0F8h 0248 4] Reserved2 : 00000000 -[0FCh 0252 4] Flags (decoded below) : 00000003 - Enabled : 1 - Hot Pluggable : 1 - Non-Volatile : 0 -[100h 0256 8] Reserved3 : 0000000000000000 - -Raw Table Data: Length 264 (0x108) - - 0000: 53 52 41 54 08 01 00 00 01 A2 42 4F 43 48 53 20 // SRAT......BOCHS - 0010: 42 58 50 43 53 52 41 54 01 00 00 00 42 58 50 43 // BXPCSRAT....BXPC - 0020: 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0030: 00 10 00 00 01 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0040: 01 28 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // .(.............. - 0050: 00 00 0A 00 00 00 00 00 00 00 00 00 01 00 00 00 // ................ - 0060: 00 00 00 00 00 00 00 00 01 28 00 00 00 00 00 00 // .........(...... - 0070: 00 00 10 00 00 00 00 00 00 00 F0 03 00 00 00 00 // ................ - 0080: 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0090: 01 28 01 00 00 00 00 00 00 00 00 04 00 00 00 00 // .(.............. - 00A0: 00 00 00 04 00 00 00 00 00 00 00 00 01 00 00 00 // ................ - 00B0: 00 00 00 00 00 00 00 00 01 28 00 00 00 00 00 00 // .........(...... - 00C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00E0: 01 28 01 00 00 00 00 00 00 00 00 00 01 00 00 00 // .(.............. - 00F0: 00 00 00 F8 00 00 00 00 00 00 00 00 03 00 00 00 // ................ - 0100: 00 00 00 00 00 00 00 00 // ........ diff --git a/tests/data/acpi/q35/SRAT.mmio64.dsl b/tests/data/acpi/q35/SRAT.mmio64.dsl deleted file mode 100644 index 0065c21de4..0000000000 --- a/tests/data/acpi/q35/SRAT.mmio64.dsl +++ /dev/null @@ -1,108 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/SRAT.mmio64, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [SRAT] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "SRAT" [System Resource Affinity Table] -[004h 0004 4] Table Length : 000000E0 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : 3B -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCSRAT" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Table Revision : 00000001 -[028h 0040 8] Reserved : 0000000000000000 - -[030h 0048 1] Subtable Type : 00 [Processor Local APIC/SAPIC Affinity] -[031h 0049 1] Length : 10 - -[032h 0050 1] Proximity Domain Low(8) : 00 -[033h 0051 1] Apic ID : 00 -[034h 0052 4] Flags (decoded below) : 00000001 - Enabled : 1 -[038h 0056 1] Local Sapic EID : 00 -[039h 0057 3] Proximity Domain High(24) : 000000 -[03Ch 0060 4] Clock Domain : 00000000 - -[040h 0064 1] Subtable Type : 01 [Memory Affinity] -[041h 0065 1] Length : 28 - -[042h 0066 4] Proximity Domain : 00000000 -[046h 0070 2] Reserved1 : 0000 -[048h 0072 8] Base Address : 0000000000000000 -[050h 0080 8] Address Length : 00000000000A0000 -[058h 0088 4] Reserved2 : 00000000 -[05Ch 0092 4] Flags (decoded below) : 00000001 - Enabled : 1 - Hot Pluggable : 0 - Non-Volatile : 0 -[060h 0096 8] Reserved3 : 0000000000000000 - -[068h 0104 1] Subtable Type : 01 [Memory Affinity] -[069h 0105 1] Length : 28 - -[06Ah 0106 4] Proximity Domain : 00000000 -[06Eh 0110 2] Reserved1 : 0000 -[070h 0112 8] Base Address : 0000000000100000 -[078h 0120 8] Address Length : 0000000007F00000 -[080h 0128 4] Reserved2 : 00000000 -[084h 0132 4] Flags (decoded below) : 00000001 - Enabled : 1 - Hot Pluggable : 0 - Non-Volatile : 0 -[088h 0136 8] Reserved3 : 0000000000000000 - -[090h 0144 1] Subtable Type : 01 [Memory Affinity] -[091h 0145 1] Length : 28 - -[092h 0146 4] Proximity Domain : 00000000 -[096h 0150 2] Reserved1 : 0000 -[098h 0152 8] Base Address : 0000000000000000 -[0A0h 0160 8] Address Length : 0000000000000000 -[0A8h 0168 4] Reserved2 : 00000000 -[0ACh 0172 4] Flags (decoded below) : 00000000 - Enabled : 0 - Hot Pluggable : 0 - Non-Volatile : 0 -[0B0h 0176 8] Reserved3 : 0000000000000000 - -[0B8h 0184 1] Subtable Type : 01 [Memory Affinity] -[0B9h 0185 1] Length : 28 - -[0BAh 0186 4] Proximity Domain : 00000000 -[0BEh 0190 2] Reserved1 : 0000 -[0C0h 0192 8] Base Address : 0000000100000000 -[0C8h 0200 8] Address Length : 00000000B8000000 -[0D0h 0208 4] Reserved2 : 00000000 -[0D4h 0212 4] Flags (decoded below) : 00000003 - Enabled : 1 - Hot Pluggable : 1 - Non-Volatile : 0 -[0D8h 0216 8] Reserved3 : 0000000000000000 - -Raw Table Data: Length 224 (0xE0) - - 0000: 53 52 41 54 E0 00 00 00 01 3B 42 4F 43 48 53 20 // SRAT.....;BOCHS - 0010: 42 58 50 43 53 52 41 54 01 00 00 00 42 58 50 43 // BXPCSRAT....BXPC - 0020: 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0030: 00 10 00 00 01 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0040: 01 28 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // .(.............. - 0050: 00 00 0A 00 00 00 00 00 00 00 00 00 01 00 00 00 // ................ - 0060: 00 00 00 00 00 00 00 00 01 28 00 00 00 00 00 00 // .........(...... - 0070: 00 00 10 00 00 00 00 00 00 00 F0 07 00 00 00 00 // ................ - 0080: 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0090: 01 28 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // .(.............. - 00A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00B0: 00 00 00 00 00 00 00 00 01 28 00 00 00 00 00 00 // .........(...... - 00C0: 00 00 00 00 01 00 00 00 00 00 00 B8 00 00 00 00 // ................ - 00D0: 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 // ................ diff --git a/tests/data/acpi/q35/SRAT.numamem.dsl b/tests/data/acpi/q35/SRAT.numamem.dsl deleted file mode 100644 index e8de953ae2..0000000000 --- a/tests/data/acpi/q35/SRAT.numamem.dsl +++ /dev/null @@ -1,108 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/SRAT.numamem, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [SRAT] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "SRAT" [System Resource Affinity Table] -[004h 0004 4] Table Length : 000000E0 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : F5 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCSRAT" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Table Revision : 00000001 -[028h 0040 8] Reserved : 0000000000000000 - -[030h 0048 1] Subtable Type : 00 [Processor Local APIC/SAPIC Affinity] -[031h 0049 1] Length : 10 - -[032h 0050 1] Proximity Domain Low(8) : 00 -[033h 0051 1] Apic ID : 00 -[034h 0052 4] Flags (decoded below) : 00000001 - Enabled : 1 -[038h 0056 1] Local Sapic EID : 00 -[039h 0057 3] Proximity Domain High(24) : 000000 -[03Ch 0060 4] Clock Domain : 00000000 - -[040h 0064 1] Subtable Type : 01 [Memory Affinity] -[041h 0065 1] Length : 28 - -[042h 0066 4] Proximity Domain : 00000001 -[046h 0070 2] Reserved1 : 0000 -[048h 0072 8] Base Address : 0000000000000000 -[050h 0080 8] Address Length : 00000000000A0000 -[058h 0088 4] Reserved2 : 00000000 -[05Ch 0092 4] Flags (decoded below) : 00000001 - Enabled : 1 - Hot Pluggable : 0 - Non-Volatile : 0 -[060h 0096 8] Reserved3 : 0000000000000000 - -[068h 0104 1] Subtable Type : 01 [Memory Affinity] -[069h 0105 1] Length : 28 - -[06Ah 0106 4] Proximity Domain : 00000001 -[06Eh 0110 2] Reserved1 : 0000 -[070h 0112 8] Base Address : 0000000000100000 -[078h 0120 8] Address Length : 0000000007F00000 -[080h 0128 4] Reserved2 : 00000000 -[084h 0132 4] Flags (decoded below) : 00000001 - Enabled : 1 - Hot Pluggable : 0 - Non-Volatile : 0 -[088h 0136 8] Reserved3 : 0000000000000000 - -[090h 0144 1] Subtable Type : 01 [Memory Affinity] -[091h 0145 1] Length : 28 - -[092h 0146 4] Proximity Domain : 00000000 -[096h 0150 2] Reserved1 : 0000 -[098h 0152 8] Base Address : 0000000000000000 -[0A0h 0160 8] Address Length : 0000000000000000 -[0A8h 0168 4] Reserved2 : 00000000 -[0ACh 0172 4] Flags (decoded below) : 00000000 - Enabled : 0 - Hot Pluggable : 0 - Non-Volatile : 0 -[0B0h 0176 8] Reserved3 : 0000000000000000 - -[0B8h 0184 1] Subtable Type : 01 [Memory Affinity] -[0B9h 0185 1] Length : 28 - -[0BAh 0186 4] Proximity Domain : 00000000 -[0BEh 0190 2] Reserved1 : 0000 -[0C0h 0192 8] Base Address : 0000000000000000 -[0C8h 0200 8] Address Length : 0000000000000000 -[0D0h 0208 4] Reserved2 : 00000000 -[0D4h 0212 4] Flags (decoded below) : 00000000 - Enabled : 0 - Hot Pluggable : 0 - Non-Volatile : 0 -[0D8h 0216 8] Reserved3 : 0000000000000000 - -Raw Table Data: Length 224 (0xE0) - - 0000: 53 52 41 54 E0 00 00 00 01 F5 42 4F 43 48 53 20 // SRAT......BOCHS - 0010: 42 58 50 43 53 52 41 54 01 00 00 00 42 58 50 43 // BXPCSRAT....BXPC - 0020: 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0030: 00 10 00 00 01 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0040: 01 28 01 00 00 00 00 00 00 00 00 00 00 00 00 00 // .(.............. - 0050: 00 00 0A 00 00 00 00 00 00 00 00 00 01 00 00 00 // ................ - 0060: 00 00 00 00 00 00 00 00 01 28 01 00 00 00 00 00 // .........(...... - 0070: 00 00 10 00 00 00 00 00 00 00 F0 07 00 00 00 00 // ................ - 0080: 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0090: 01 28 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // .(.............. - 00A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00B0: 00 00 00 00 00 00 00 00 01 28 00 00 00 00 00 00 // .........(...... - 00C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ diff --git a/tests/data/acpi/q35/SSDT.dsl b/tests/data/acpi/q35/SSDT.dsl deleted file mode 100644 index 49df22f93d..0000000000 --- a/tests/data/acpi/q35/SSDT.dsl +++ /dev/null @@ -1,205 +0,0 @@ -/* - * 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/q35/SSDT.dimmpxm, Mon Sep 28 17:24:38 2020 - * - * Original Table Header: - * Signature "SSDT" - * Length 0x000002DE (734) - * Revision 0x01 - * Checksum 0x46 - * OEM ID "BOCHS " - * OEM Table ID "NVDIMM" - * OEM Revision 0x00000001 (1) - * Compiler ID "BXPC" - * Compiler Version 0x00000001 (1) - */ -DefinitionBlock ("", "SSDT", 1, "BOCHS ", "NVDIMM", 0x00000001) -{ - Scope (\_SB) - { - Device (NVDR) - { - Name (_HID, "ACPI0012" /* NVDIMM Root Device */) // _HID: Hardware ID - Method (NCAL, 5, Serialized) - { - Local6 = MEMA /* \MEMA */ - OperationRegion (NPIO, SystemIO, 0x0A18, 0x04) - OperationRegion (NRAM, SystemMemory, Local6, 0x1000) - Field (NPIO, DWordAcc, NoLock, Preserve) - { - NTFI, 32 - } - - Field (NRAM, DWordAcc, NoLock, Preserve) - { - HDLE, 32, - REVS, 32, - FUNC, 32, - FARG, 32672 - } - - Field (NRAM, DWordAcc, NoLock, Preserve) - { - RLEN, 32, - ODAT, 32736 - } - - If ((Arg4 == Zero)) - { - Local0 = ToUUID ("2f10e7a4-9e91-11e4-89d3-123b93f75cba") - } - ElseIf ((Arg4 == 0x00010000)) - { - Local0 = ToUUID ("648b9cf2-cda1-4312-8ad9-49c4af32bd62") - } - Else - { - Local0 = ToUUID ("4309ac30-0d11-11e4-9191-0800200c9a66") - } - - If (((Local6 == Zero) | (Arg0 != Local0))) - { - If ((Arg2 == Zero)) - { - Return (Buffer (One) - { - 0x00 // . - }) - } - - Return (Buffer (One) - { - 0x01 // . - }) - } - - HDLE = Arg4 - REVS = Arg1 - FUNC = Arg2 - If (((ObjectType (Arg3) == 0x04) & (SizeOf (Arg3) == One))) - { - Local2 = Arg3 [Zero] - Local3 = DerefOf (Local2) - FARG = Local3 - } - - NTFI = Local6 - Local1 = (RLEN - 0x04) - If ((Local1 < 0x08)) - { - Local2 = Zero - Name (TBUF, Buffer (One) - { - 0x00 // . - }) - Local7 = Buffer (Zero){} - While ((Local2 < Local1)) - { - TBUF [Zero] = DerefOf (ODAT [Local2]) - Concatenate (Local7, TBUF, Local7) - Local2++ - } - - Return (Local7) - } - - Local1 = (Local1 << 0x03) - CreateField (ODAT, Zero, Local1, OBUF) - Return (OBUF) /* \_SB_.NVDR.NCAL.OBUF */ - } - - Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method - { - Return (NCAL (Arg0, Arg1, Arg2, Arg3, Zero)) - } - - Name (RSTA, Zero) - Method (RFIT, 1, Serialized) - { - Name (OFST, Zero) - OFST = Arg0 - Local0 = NCAL (ToUUID ("648b9cf2-cda1-4312-8ad9-49c4af32bd62"), One, One, Package (0x01) - { - OFST - }, 0x00010000) - CreateDWordField (Local0, Zero, STAU) - RSTA = STAU /* \_SB_.NVDR.RFIT.STAU */ - If ((Zero != STAU)) - { - Return (Buffer (Zero){}) - } - - Local1 = SizeOf (Local0) - Local1 -= 0x04 - If ((Local1 == Zero)) - { - Return (Buffer (Zero){}) - } - - CreateField (Local0, 0x20, (Local1 << 0x03), BUFF) - Return (BUFF) /* \_SB_.NVDR.RFIT.BUFF */ - } - - Method (_FIT, 0, Serialized) // _FIT: Firmware Interface Table - { - Local2 = Buffer (Zero){} - Local3 = Zero - While (One) - { - Local0 = RFIT (Local3) - Local1 = SizeOf (Local0) - If ((RSTA == 0x0100)) - { - Local2 = Buffer (Zero){} - Local3 = Zero - } - Else - { - If ((Local1 == Zero)) - { - Return (Local2) - } - - Local3 += Local1 - Concatenate (Local2, Local0, Local2) - } - } - } - - Device (NV00) - { - Name (_ADR, One) // _ADR: Address - Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method - { - Return (NCAL (Arg0, Arg1, Arg2, Arg3, One)) - } - } - - Device (NV01) - { - Name (_ADR, 0x02) // _ADR: Address - Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method - { - Return (NCAL (Arg0, Arg1, Arg2, Arg3, 0x02)) - } - } - - Device (NV02) - { - Name (_ADR, 0x03) // _ADR: Address - Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method - { - Return (NCAL (Arg0, Arg1, Arg2, Arg3, 0x03)) - } - } - } - } - - Name (MEMA, 0x07FFF000) -} - diff --git a/tests/data/acpi/q35/TPM2.dsl b/tests/data/acpi/q35/TPM2.dsl deleted file mode 100644 index 8568152ccf..0000000000 --- a/tests/data/acpi/q35/TPM2.dsl +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/TPM2.tis, Mon Sep 28 17:24:38 2020 - * - * ACPI Data Table [TPM2] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "TPM2" [Trusted Platform Module hardware interface table] -[004h 0004 4] Table Length : 0000004C -[008h 0008 1] Revision : 04 -[009h 0009 1] Checksum : 72 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCTPM2" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 2] Platform Class : 0000 -[026h 0038 2] Reserved : 0000 -[028h 0040 8] Control Address : 0000000000000000 -[030h 0048 4] Start Method : 06 [Memory Mapped I/O] - -[034h 0052 12] Method Parameters : 00 00 00 00 00 00 00 00 00 00 00 00 -[040h 0064 4] Minimum Log Length : 00010000 -[044h 0068 8] Log Address : 0000000007FF0000 - -Raw Table Data: Length 76 (0x4C) - - 0000: 54 50 4D 32 4C 00 00 00 04 72 42 4F 43 48 53 20 // TPM2L....rBOCHS - 0010: 42 58 50 43 54 50 4D 32 01 00 00 00 42 58 50 43 // BXPCTPM2....BXPC - 0020: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0030: 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0040: 00 00 01 00 00 00 FF 07 00 00 00 00 // ............ diff --git a/tests/data/acpi/q35/TPM2.tis.dsl b/tests/data/acpi/q35/TPM2.tis.dsl deleted file mode 100644 index 420643ab2b..0000000000 --- a/tests/data/acpi/q35/TPM2.tis.dsl +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/TPM2.tis, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [TPM2] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "TPM2" [Trusted Platform Module hardware interface table] -[004h 0004 4] Table Length : 0000004C -[008h 0008 1] Revision : 04 -[009h 0009 1] Checksum : 72 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCTPM2" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 2] Platform Class : 0000 -[026h 0038 2] Reserved : 0000 -[028h 0040 8] Control Address : 0000000000000000 -[030h 0048 4] Start Method : 06 [Memory Mapped I/O] - -[034h 0052 12] Method Parameters : 00 00 00 00 00 00 00 00 00 00 00 00 -[040h 0064 4] Minimum Log Length : 00010000 -[044h 0068 8] Log Address : 0000000007FF0000 - -Raw Table Data: Length 76 (0x4C) - - 0000: 54 50 4D 32 4C 00 00 00 04 72 42 4F 43 48 53 20 // TPM2L....rBOCHS - 0010: 42 58 50 43 54 50 4D 32 01 00 00 00 42 58 50 43 // BXPCTPM2....BXPC - 0020: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0030: 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0040: 00 00 01 00 00 00 FF 07 00 00 00 00 // ............ diff --git a/tests/data/acpi/q35/WAET.acpihmat b/tests/data/acpi/q35/WAET.acpihmat deleted file mode 100644 index c2240f58dff6b2f765386b5a2e506fda4800be3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40 qcmWG{bPds9U|?YEaPoKd2v%^42yhN}bPZu-U|;~TK{OKs0|Nl8X$JuS diff --git a/tests/data/acpi/q35/WAET.acpihmat.dsl b/tests/data/acpi/q35/WAET.acpihmat.dsl deleted file mode 100644 index 12a4fced5c..0000000000 --- a/tests/data/acpi/q35/WAET.acpihmat.dsl +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/WAET.acpihmat, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [WAET] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "WAET" [Windows ACPI Emulated Devices Table] -[004h 0004 4] Table Length : 00000028 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : 88 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCWAET" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Flags (decoded below) : 00000002 - RTC needs no INT ack : 0 - PM timer, one read only : 1 - -Raw Table Data: Length 40 (0x28) - - 0000: 57 41 45 54 28 00 00 00 01 88 42 4F 43 48 53 20 // WAET(.....BOCHS - 0010: 42 58 50 43 57 41 45 54 01 00 00 00 42 58 50 43 // BXPCWAET....BXPC - 0020: 01 00 00 00 02 00 00 00 // ........ diff --git a/tests/data/acpi/q35/WAET.bridge b/tests/data/acpi/q35/WAET.bridge deleted file mode 100644 index c2240f58dff6b2f765386b5a2e506fda4800be3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40 qcmWG{bPds9U|?YEaPoKd2v%^42yhN}bPZu-U|;~TK{OKs0|Nl8X$JuS diff --git a/tests/data/acpi/q35/WAET.bridge.dsl b/tests/data/acpi/q35/WAET.bridge.dsl deleted file mode 100644 index 48effe4c6e..0000000000 --- a/tests/data/acpi/q35/WAET.bridge.dsl +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/WAET.bridge, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [WAET] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "WAET" [Windows ACPI Emulated Devices Table] -[004h 0004 4] Table Length : 00000028 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : 88 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCWAET" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Flags (decoded below) : 00000002 - RTC needs no INT ack : 0 - PM timer, one read only : 1 - -Raw Table Data: Length 40 (0x28) - - 0000: 57 41 45 54 28 00 00 00 01 88 42 4F 43 48 53 20 // WAET(.....BOCHS - 0010: 42 58 50 43 57 41 45 54 01 00 00 00 42 58 50 43 // BXPCWAET....BXPC - 0020: 01 00 00 00 02 00 00 00 // ........ diff --git a/tests/data/acpi/q35/WAET.cphp b/tests/data/acpi/q35/WAET.cphp deleted file mode 100644 index c2240f58dff6b2f765386b5a2e506fda4800be3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40 qcmWG{bPds9U|?YEaPoKd2v%^42yhN}bPZu-U|;~TK{OKs0|Nl8X$JuS diff --git a/tests/data/acpi/q35/WAET.cphp.dsl b/tests/data/acpi/q35/WAET.cphp.dsl deleted file mode 100644 index aadebd53e8..0000000000 --- a/tests/data/acpi/q35/WAET.cphp.dsl +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/WAET.cphp, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [WAET] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "WAET" [Windows ACPI Emulated Devices Table] -[004h 0004 4] Table Length : 00000028 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : 88 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCWAET" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Flags (decoded below) : 00000002 - RTC needs no INT ack : 0 - PM timer, one read only : 1 - -Raw Table Data: Length 40 (0x28) - - 0000: 57 41 45 54 28 00 00 00 01 88 42 4F 43 48 53 20 // WAET(.....BOCHS - 0010: 42 58 50 43 57 41 45 54 01 00 00 00 42 58 50 43 // BXPCWAET....BXPC - 0020: 01 00 00 00 02 00 00 00 // ........ diff --git a/tests/data/acpi/q35/WAET.dimmpxm b/tests/data/acpi/q35/WAET.dimmpxm deleted file mode 100644 index c2240f58dff6b2f765386b5a2e506fda4800be3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40 qcmWG{bPds9U|?YEaPoKd2v%^42yhN}bPZu-U|;~TK{OKs0|Nl8X$JuS diff --git a/tests/data/acpi/q35/WAET.dimmpxm.dsl b/tests/data/acpi/q35/WAET.dimmpxm.dsl deleted file mode 100644 index 7ad316b118..0000000000 --- a/tests/data/acpi/q35/WAET.dimmpxm.dsl +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/WAET.dimmpxm, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [WAET] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "WAET" [Windows ACPI Emulated Devices Table] -[004h 0004 4] Table Length : 00000028 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : 88 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCWAET" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Flags (decoded below) : 00000002 - RTC needs no INT ack : 0 - PM timer, one read only : 1 - -Raw Table Data: Length 40 (0x28) - - 0000: 57 41 45 54 28 00 00 00 01 88 42 4F 43 48 53 20 // WAET(.....BOCHS - 0010: 42 58 50 43 57 41 45 54 01 00 00 00 42 58 50 43 // BXPCWAET....BXPC - 0020: 01 00 00 00 02 00 00 00 // ........ diff --git a/tests/data/acpi/q35/WAET.dsl b/tests/data/acpi/q35/WAET.dsl deleted file mode 100644 index b48db4efca..0000000000 --- a/tests/data/acpi/q35/WAET.dsl +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/WAET.tis, Mon Sep 28 17:24:38 2020 - * - * ACPI Data Table [WAET] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "WAET" [Windows ACPI Emulated Devices Table] -[004h 0004 4] Table Length : 00000028 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : 88 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCWAET" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Flags (decoded below) : 00000002 - RTC needs no INT ack : 0 - PM timer, one read only : 1 - -Raw Table Data: Length 40 (0x28) - - 0000: 57 41 45 54 28 00 00 00 01 88 42 4F 43 48 53 20 // WAET(.....BOCHS - 0010: 42 58 50 43 57 41 45 54 01 00 00 00 42 58 50 43 // BXPCWAET....BXPC - 0020: 01 00 00 00 02 00 00 00 // ........ diff --git a/tests/data/acpi/q35/WAET.ipmibt b/tests/data/acpi/q35/WAET.ipmibt deleted file mode 100644 index c2240f58dff6b2f765386b5a2e506fda4800be3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40 qcmWG{bPds9U|?YEaPoKd2v%^42yhN}bPZu-U|;~TK{OKs0|Nl8X$JuS diff --git a/tests/data/acpi/q35/WAET.ipmibt.dsl b/tests/data/acpi/q35/WAET.ipmibt.dsl deleted file mode 100644 index 40cb1d5649..0000000000 --- a/tests/data/acpi/q35/WAET.ipmibt.dsl +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/WAET.ipmibt, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [WAET] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "WAET" [Windows ACPI Emulated Devices Table] -[004h 0004 4] Table Length : 00000028 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : 88 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCWAET" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Flags (decoded below) : 00000002 - RTC needs no INT ack : 0 - PM timer, one read only : 1 - -Raw Table Data: Length 40 (0x28) - - 0000: 57 41 45 54 28 00 00 00 01 88 42 4F 43 48 53 20 // WAET(.....BOCHS - 0010: 42 58 50 43 57 41 45 54 01 00 00 00 42 58 50 43 // BXPCWAET....BXPC - 0020: 01 00 00 00 02 00 00 00 // ........ diff --git a/tests/data/acpi/q35/WAET.memhp b/tests/data/acpi/q35/WAET.memhp deleted file mode 100644 index c2240f58dff6b2f765386b5a2e506fda4800be3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40 qcmWG{bPds9U|?YEaPoKd2v%^42yhN}bPZu-U|;~TK{OKs0|Nl8X$JuS diff --git a/tests/data/acpi/q35/WAET.memhp.dsl b/tests/data/acpi/q35/WAET.memhp.dsl deleted file mode 100644 index e27f54d4dd..0000000000 --- a/tests/data/acpi/q35/WAET.memhp.dsl +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/WAET.memhp, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [WAET] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "WAET" [Windows ACPI Emulated Devices Table] -[004h 0004 4] Table Length : 00000028 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : 88 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCWAET" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Flags (decoded below) : 00000002 - RTC needs no INT ack : 0 - PM timer, one read only : 1 - -Raw Table Data: Length 40 (0x28) - - 0000: 57 41 45 54 28 00 00 00 01 88 42 4F 43 48 53 20 // WAET(.....BOCHS - 0010: 42 58 50 43 57 41 45 54 01 00 00 00 42 58 50 43 // BXPCWAET....BXPC - 0020: 01 00 00 00 02 00 00 00 // ........ diff --git a/tests/data/acpi/q35/WAET.mmio64 b/tests/data/acpi/q35/WAET.mmio64 deleted file mode 100644 index c2240f58dff6b2f765386b5a2e506fda4800be3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40 qcmWG{bPds9U|?YEaPoKd2v%^42yhN}bPZu-U|;~TK{OKs0|Nl8X$JuS diff --git a/tests/data/acpi/q35/WAET.mmio64.dsl b/tests/data/acpi/q35/WAET.mmio64.dsl deleted file mode 100644 index 98f3aaf569..0000000000 --- a/tests/data/acpi/q35/WAET.mmio64.dsl +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/WAET.mmio64, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [WAET] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "WAET" [Windows ACPI Emulated Devices Table] -[004h 0004 4] Table Length : 00000028 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : 88 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCWAET" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Flags (decoded below) : 00000002 - RTC needs no INT ack : 0 - PM timer, one read only : 1 - -Raw Table Data: Length 40 (0x28) - - 0000: 57 41 45 54 28 00 00 00 01 88 42 4F 43 48 53 20 // WAET(.....BOCHS - 0010: 42 58 50 43 57 41 45 54 01 00 00 00 42 58 50 43 // BXPCWAET....BXPC - 0020: 01 00 00 00 02 00 00 00 // ........ diff --git a/tests/data/acpi/q35/WAET.numamem b/tests/data/acpi/q35/WAET.numamem deleted file mode 100644 index c2240f58dff6b2f765386b5a2e506fda4800be3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40 qcmWG{bPds9U|?YEaPoKd2v%^42yhN}bPZu-U|;~TK{OKs0|Nl8X$JuS diff --git a/tests/data/acpi/q35/WAET.numamem.dsl b/tests/data/acpi/q35/WAET.numamem.dsl deleted file mode 100644 index 738c75ca6c..0000000000 --- a/tests/data/acpi/q35/WAET.numamem.dsl +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/WAET.numamem, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [WAET] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "WAET" [Windows ACPI Emulated Devices Table] -[004h 0004 4] Table Length : 00000028 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : 88 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCWAET" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Flags (decoded below) : 00000002 - RTC needs no INT ack : 0 - PM timer, one read only : 1 - -Raw Table Data: Length 40 (0x28) - - 0000: 57 41 45 54 28 00 00 00 01 88 42 4F 43 48 53 20 // WAET(.....BOCHS - 0010: 42 58 50 43 57 41 45 54 01 00 00 00 42 58 50 43 // BXPCWAET....BXPC - 0020: 01 00 00 00 02 00 00 00 // ........ diff --git a/tests/data/acpi/q35/WAET.tis b/tests/data/acpi/q35/WAET.tis deleted file mode 100644 index c2240f58dff6b2f765386b5a2e506fda4800be3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40 qcmWG{bPds9U|?YEaPoKd2v%^42yhN}bPZu-U|;~TK{OKs0|Nl8X$JuS diff --git a/tests/data/acpi/q35/WAET.tis.dsl b/tests/data/acpi/q35/WAET.tis.dsl deleted file mode 100644 index 869ebe2b4a..0000000000 --- a/tests/data/acpi/q35/WAET.tis.dsl +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/q35/WAET.tis, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [WAET] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "WAET" [Windows ACPI Emulated Devices Table] -[004h 0004 4] Table Length : 00000028 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : 88 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCWAET" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Flags (decoded below) : 00000002 - RTC needs no INT ack : 0 - PM timer, one read only : 1 - -Raw Table Data: Length 40 (0x28) - - 0000: 57 41 45 54 28 00 00 00 01 88 42 4F 43 48 53 20 // WAET(.....BOCHS - 0010: 42 58 50 43 57 41 45 54 01 00 00 00 42 58 50 43 // BXPCWAET....BXPC - 0020: 01 00 00 00 02 00 00 00 // ........ diff --git a/tests/data/acpi/virt/APIC.dsl b/tests/data/acpi/virt/APIC.dsl deleted file mode 100644 index d334cef533..0000000000 --- a/tests/data/acpi/virt/APIC.dsl +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/virt/APIC.numamem, Mon Sep 28 17:24:38 2020 - * - * ACPI Data Table [APIC] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "APIC" [Multiple APIC Description Table (MADT)] -[004h 0004 4] Table Length : 000000A8 -[008h 0008 1] Revision : 03 -[009h 0009 1] Checksum : B3 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCAPIC" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Local Apic Address : 00000000 -[028h 0040 4] Flags (decoded below) : 00000000 - PC-AT Compatibility : 0 - -[02Ch 0044 1] Subtable Type : 0C [Generic Interrupt Distributor] -[02Dh 0045 1] Length : 18 -[02Eh 0046 2] Reserved : 0000 -[030h 0048 4] Local GIC Hardware ID : 00000000 -[034h 0052 8] Base Address : 0000000008000000 -[03Ch 0060 4] Interrupt Base : 00000000 -[040h 0064 1] Version : 02 -[041h 0065 3] Reserved : 000000 - -[044h 0068 1] Subtable Type : 0B [Generic Interrupt Controller] -[045h 0069 1] Length : 4C -[046h 0070 2] Reserved : 0000 -[048h 0072 4] CPU Interface Number : 00000000 -[04Ch 0076 4] Processor UID : 00000000 -[050h 0080 4] Flags (decoded below) : 00000001 - Processor Enabled : 1 - Performance Interrupt Trigger Mode : 0 - Virtual GIC Interrupt Trigger Mode : 0 -[054h 0084 4] Parking Protocol Version : 00000000 -[058h 0088 4] Performance Interrupt : 00000017 -[05Ch 0092 8] Parked Address : 0000000000000000 -[064h 0100 8] Base Address : 0000000008010000 -[06Ch 0108 8] Virtual GIC Base Address : 0000000008040000 -[074h 0116 8] Hypervisor GIC Base Address : 0000000008030000 -[07Ch 0124 4] Virtual GIC Interrupt : 00000000 -[080h 0128 8] Redistributor Base Address : 0000000000000000 -[088h 0136 8] ARM MPIDR : 0000000000000000 -/**** ACPI subtable terminates early - may be older version (dump table) */ - -[090h 0144 1] Subtable Type : 0D [Generic MSI Frame] -[091h 0145 1] Length : 18 -[092h 0146 2] Reserved : 0000 -[094h 0148 4] MSI Frame ID : 00000000 -[098h 0152 8] Base Address : 0000000008020000 -[0A0h 0160 4] Flags (decoded below) : 00000001 - Select SPI : 1 -[0A4h 0164 2] SPI Count : 0040 -[0A6h 0166 2] SPI Base : 0050 - -Raw Table Data: Length 168 (0xA8) - - 0000: 41 50 49 43 A8 00 00 00 03 B3 42 4F 43 48 53 20 // APIC......BOCHS - 0010: 42 58 50 43 41 50 49 43 01 00 00 00 42 58 50 43 // BXPCAPIC....BXPC - 0020: 01 00 00 00 00 00 00 00 00 00 00 00 0C 18 00 00 // ................ - 0030: 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 00 // ................ - 0040: 02 00 00 00 0B 4C 00 00 00 00 00 00 00 00 00 00 // .....L.......... - 0050: 01 00 00 00 00 00 00 00 17 00 00 00 00 00 00 00 // ................ - 0060: 00 00 00 00 00 00 01 08 00 00 00 00 00 00 04 08 // ................ - 0070: 00 00 00 00 00 00 03 08 00 00 00 00 00 00 00 00 // ................ - 0080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0090: 0D 18 00 00 00 00 00 00 00 00 02 08 00 00 00 00 // ................ - 00A0: 01 00 00 00 40 00 50 00 // ....@.P. diff --git a/tests/data/acpi/virt/APIC.memhp.dsl b/tests/data/acpi/virt/APIC.memhp.dsl deleted file mode 100644 index 9b86f7b984..0000000000 --- a/tests/data/acpi/virt/APIC.memhp.dsl +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/virt/APIC.memhp, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [APIC] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "APIC" [Multiple APIC Description Table (MADT)] -[004h 0004 4] Table Length : 000000A8 -[008h 0008 1] Revision : 03 -[009h 0009 1] Checksum : B3 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCAPIC" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Local Apic Address : 00000000 -[028h 0040 4] Flags (decoded below) : 00000000 - PC-AT Compatibility : 0 - -[02Ch 0044 1] Subtable Type : 0C [Generic Interrupt Distributor] -[02Dh 0045 1] Length : 18 -[02Eh 0046 2] Reserved : 0000 -[030h 0048 4] Local GIC Hardware ID : 00000000 -[034h 0052 8] Base Address : 0000000008000000 -[03Ch 0060 4] Interrupt Base : 00000000 -[040h 0064 1] Version : 02 -[041h 0065 3] Reserved : 000000 - -[044h 0068 1] Subtable Type : 0B [Generic Interrupt Controller] -[045h 0069 1] Length : 4C -[046h 0070 2] Reserved : 0000 -[048h 0072 4] CPU Interface Number : 00000000 -[04Ch 0076 4] Processor UID : 00000000 -[050h 0080 4] Flags (decoded below) : 00000001 - Processor Enabled : 1 - Performance Interrupt Trigger Mode : 0 - Virtual GIC Interrupt Trigger Mode : 0 -[054h 0084 4] Parking Protocol Version : 00000000 -[058h 0088 4] Performance Interrupt : 00000017 -[05Ch 0092 8] Parked Address : 0000000000000000 -[064h 0100 8] Base Address : 0000000008010000 -[06Ch 0108 8] Virtual GIC Base Address : 0000000008040000 -[074h 0116 8] Hypervisor GIC Base Address : 0000000008030000 -[07Ch 0124 4] Virtual GIC Interrupt : 00000000 -[080h 0128 8] Redistributor Base Address : 0000000000000000 -[088h 0136 8] ARM MPIDR : 0000000000000000 -/**** ACPI subtable terminates early - may be older version (dump table) */ - -[090h 0144 1] Subtable Type : 0D [Generic MSI Frame] -[091h 0145 1] Length : 18 -[092h 0146 2] Reserved : 0000 -[094h 0148 4] MSI Frame ID : 00000000 -[098h 0152 8] Base Address : 0000000008020000 -[0A0h 0160 4] Flags (decoded below) : 00000001 - Select SPI : 1 -[0A4h 0164 2] SPI Count : 0040 -[0A6h 0166 2] SPI Base : 0050 - -Raw Table Data: Length 168 (0xA8) - - 0000: 41 50 49 43 A8 00 00 00 03 B3 42 4F 43 48 53 20 // APIC......BOCHS - 0010: 42 58 50 43 41 50 49 43 01 00 00 00 42 58 50 43 // BXPCAPIC....BXPC - 0020: 01 00 00 00 00 00 00 00 00 00 00 00 0C 18 00 00 // ................ - 0030: 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 00 // ................ - 0040: 02 00 00 00 0B 4C 00 00 00 00 00 00 00 00 00 00 // .....L.......... - 0050: 01 00 00 00 00 00 00 00 17 00 00 00 00 00 00 00 // ................ - 0060: 00 00 00 00 00 00 01 08 00 00 00 00 00 00 04 08 // ................ - 0070: 00 00 00 00 00 00 03 08 00 00 00 00 00 00 00 00 // ................ - 0080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0090: 0D 18 00 00 00 00 00 00 00 00 02 08 00 00 00 00 // ................ - 00A0: 01 00 00 00 40 00 50 00 // ....@.P. diff --git a/tests/data/acpi/virt/APIC.numamem.dsl b/tests/data/acpi/virt/APIC.numamem.dsl deleted file mode 100644 index 2d43338766..0000000000 --- a/tests/data/acpi/virt/APIC.numamem.dsl +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/virt/APIC.numamem, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [APIC] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "APIC" [Multiple APIC Description Table (MADT)] -[004h 0004 4] Table Length : 000000A8 -[008h 0008 1] Revision : 03 -[009h 0009 1] Checksum : B3 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCAPIC" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Local Apic Address : 00000000 -[028h 0040 4] Flags (decoded below) : 00000000 - PC-AT Compatibility : 0 - -[02Ch 0044 1] Subtable Type : 0C [Generic Interrupt Distributor] -[02Dh 0045 1] Length : 18 -[02Eh 0046 2] Reserved : 0000 -[030h 0048 4] Local GIC Hardware ID : 00000000 -[034h 0052 8] Base Address : 0000000008000000 -[03Ch 0060 4] Interrupt Base : 00000000 -[040h 0064 1] Version : 02 -[041h 0065 3] Reserved : 000000 - -[044h 0068 1] Subtable Type : 0B [Generic Interrupt Controller] -[045h 0069 1] Length : 4C -[046h 0070 2] Reserved : 0000 -[048h 0072 4] CPU Interface Number : 00000000 -[04Ch 0076 4] Processor UID : 00000000 -[050h 0080 4] Flags (decoded below) : 00000001 - Processor Enabled : 1 - Performance Interrupt Trigger Mode : 0 - Virtual GIC Interrupt Trigger Mode : 0 -[054h 0084 4] Parking Protocol Version : 00000000 -[058h 0088 4] Performance Interrupt : 00000017 -[05Ch 0092 8] Parked Address : 0000000000000000 -[064h 0100 8] Base Address : 0000000008010000 -[06Ch 0108 8] Virtual GIC Base Address : 0000000008040000 -[074h 0116 8] Hypervisor GIC Base Address : 0000000008030000 -[07Ch 0124 4] Virtual GIC Interrupt : 00000000 -[080h 0128 8] Redistributor Base Address : 0000000000000000 -[088h 0136 8] ARM MPIDR : 0000000000000000 -/**** ACPI subtable terminates early - may be older version (dump table) */ - -[090h 0144 1] Subtable Type : 0D [Generic MSI Frame] -[091h 0145 1] Length : 18 -[092h 0146 2] Reserved : 0000 -[094h 0148 4] MSI Frame ID : 00000000 -[098h 0152 8] Base Address : 0000000008020000 -[0A0h 0160 4] Flags (decoded below) : 00000001 - Select SPI : 1 -[0A4h 0164 2] SPI Count : 0040 -[0A6h 0166 2] SPI Base : 0050 - -Raw Table Data: Length 168 (0xA8) - - 0000: 41 50 49 43 A8 00 00 00 03 B3 42 4F 43 48 53 20 // APIC......BOCHS - 0010: 42 58 50 43 41 50 49 43 01 00 00 00 42 58 50 43 // BXPCAPIC....BXPC - 0020: 01 00 00 00 00 00 00 00 00 00 00 00 0C 18 00 00 // ................ - 0030: 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 00 // ................ - 0040: 02 00 00 00 0B 4C 00 00 00 00 00 00 00 00 00 00 // .....L.......... - 0050: 01 00 00 00 00 00 00 00 17 00 00 00 00 00 00 00 // ................ - 0060: 00 00 00 00 00 00 01 08 00 00 00 00 00 00 04 08 // ................ - 0070: 00 00 00 00 00 00 03 08 00 00 00 00 00 00 00 00 // ................ - 0080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0090: 0D 18 00 00 00 00 00 00 00 00 02 08 00 00 00 00 // ................ - 00A0: 01 00 00 00 40 00 50 00 // ....@.P. diff --git a/tests/data/acpi/virt/DSDT.dsl b/tests/data/acpi/virt/DSDT.dsl deleted file mode 100644 index 58368ff44c..0000000000 --- a/tests/data/acpi/virt/DSDT.dsl +++ /dev/null @@ -1,1906 +0,0 @@ -/* - * 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/virt/DSDT.numamem, Mon Sep 28 17:24:38 2020 - * - * Original Table Header: - * Signature "DSDT" - * Length 0x00001450 (5200) - * Revision 0x02 - * Checksum 0xFA - * OEM ID "BOCHS " - * OEM Table ID "BXPCDSDT" - * OEM Revision 0x00000001 (1) - * Compiler ID "BXPC" - * Compiler Version 0x00000001 (1) - */ -DefinitionBlock ("", "DSDT", 2, "BOCHS ", "BXPCDSDT", 0x00000001) -{ - Scope (\_SB) - { - Device (C000) - { - Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID - Name (_UID, Zero) // _UID: Unique ID - } - - Device (COM0) - { - Name (_HID, "ARMH0011") // _HID: Hardware ID - Name (_UID, Zero) // _UID: Unique ID - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x09000000, // Address Base - 0x00001000, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000021, - } - }) - } - - Device (FWCF) - { - Name (_HID, "QEMU0002") // _HID: Hardware ID - Name (_STA, 0x0B) // _STA: Status - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x09020000, // Address Base - 0x00000018, // Address Length - ) - }) - } - - Device (VR00) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, Zero) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A000000, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000030, - } - }) - } - - Device (VR01) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, One) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A000200, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000031, - } - }) - } - - Device (VR02) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x02) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A000400, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000032, - } - }) - } - - Device (VR03) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x03) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A000600, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000033, - } - }) - } - - Device (VR04) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x04) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A000800, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000034, - } - }) - } - - Device (VR05) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x05) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A000A00, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000035, - } - }) - } - - Device (VR06) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x06) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A000C00, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000036, - } - }) - } - - Device (VR07) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x07) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A000E00, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000037, - } - }) - } - - Device (VR08) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x08) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A001000, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000038, - } - }) - } - - Device (VR09) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x09) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A001200, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000039, - } - }) - } - - Device (VR10) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x0A) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A001400, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x0000003A, - } - }) - } - - Device (VR11) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x0B) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A001600, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x0000003B, - } - }) - } - - Device (VR12) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x0C) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A001800, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x0000003C, - } - }) - } - - Device (VR13) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x0D) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A001A00, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x0000003D, - } - }) - } - - Device (VR14) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x0E) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A001C00, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x0000003E, - } - }) - } - - Device (VR15) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x0F) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A001E00, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x0000003F, - } - }) - } - - Device (VR16) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x10) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A002000, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000040, - } - }) - } - - Device (VR17) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x11) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A002200, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000041, - } - }) - } - - Device (VR18) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x12) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A002400, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000042, - } - }) - } - - Device (VR19) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x13) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A002600, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000043, - } - }) - } - - Device (VR20) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x14) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A002800, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000044, - } - }) - } - - Device (VR21) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x15) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A002A00, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000045, - } - }) - } - - Device (VR22) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x16) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A002C00, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000046, - } - }) - } - - Device (VR23) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x17) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A002E00, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000047, - } - }) - } - - Device (VR24) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x18) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A003000, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000048, - } - }) - } - - Device (VR25) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x19) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A003200, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000049, - } - }) - } - - Device (VR26) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x1A) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A003400, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x0000004A, - } - }) - } - - Device (VR27) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x1B) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A003600, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x0000004B, - } - }) - } - - Device (VR28) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x1C) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A003800, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x0000004C, - } - }) - } - - Device (VR29) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x1D) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A003A00, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x0000004D, - } - }) - } - - Device (VR30) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x1E) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A003C00, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x0000004E, - } - }) - } - - Device (VR31) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x1F) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A003E00, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x0000004F, - } - }) - } - - Device (PCI0) - { - Name (_HID, "PNP0A08" /* PCI Express Bus */) // _HID: Hardware ID - Name (_CID, "PNP0A03" /* PCI Bus */) // _CID: Compatible ID - Name (_SEG, Zero) // _SEG: PCI Segment - Name (_BBN, Zero) // _BBN: BIOS Bus Number - Name (_UID, Zero) // _UID: Unique ID - Name (_STR, Unicode ("PCIe 0 Device")) // _STR: Description String - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_PRT, Package (0x80) // _PRT: PCI Routing Table - { - Package (0x04) - { - 0xFFFF, - Zero, - GSI0, - Zero - }, - - Package (0x04) - { - 0xFFFF, - One, - GSI1, - Zero - }, - - Package (0x04) - { - 0xFFFF, - 0x02, - GSI2, - Zero - }, - - Package (0x04) - { - 0xFFFF, - 0x03, - GSI3, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - Zero, - GSI1, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - One, - GSI2, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - 0x02, - GSI3, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - 0x03, - GSI0, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - Zero, - GSI2, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - One, - GSI3, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - 0x02, - GSI0, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - 0x03, - GSI1, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - Zero, - GSI3, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - One, - GSI0, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - 0x02, - GSI1, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - 0x03, - GSI2, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - Zero, - GSI0, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - One, - GSI1, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - 0x02, - GSI2, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - 0x03, - GSI3, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - Zero, - GSI1, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - One, - GSI2, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - 0x02, - GSI3, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - 0x03, - GSI0, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - Zero, - GSI2, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - One, - GSI3, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - 0x02, - GSI0, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - 0x03, - GSI1, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - Zero, - GSI3, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - One, - GSI0, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - 0x02, - GSI1, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - 0x03, - GSI2, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - Zero, - GSI0, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - One, - GSI1, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - 0x02, - GSI2, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - 0x03, - GSI3, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - Zero, - GSI1, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - One, - GSI2, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - 0x02, - GSI3, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - 0x03, - GSI0, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - Zero, - GSI2, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - One, - GSI3, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - 0x02, - GSI0, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - 0x03, - GSI1, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - Zero, - GSI3, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - One, - GSI0, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - 0x02, - GSI1, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - 0x03, - GSI2, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - Zero, - GSI0, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - One, - GSI1, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - 0x02, - GSI2, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - 0x03, - GSI3, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - Zero, - GSI1, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - One, - GSI2, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - 0x02, - GSI3, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - 0x03, - GSI0, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - Zero, - GSI2, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - One, - GSI3, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - 0x02, - GSI0, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - 0x03, - GSI1, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - Zero, - GSI3, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - One, - GSI0, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - 0x02, - GSI1, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - 0x03, - GSI2, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - Zero, - GSI0, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - One, - GSI1, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - 0x02, - GSI2, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - 0x03, - GSI3, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - Zero, - GSI1, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - One, - GSI2, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - 0x02, - GSI3, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - 0x03, - GSI0, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - Zero, - GSI2, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - One, - GSI3, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - 0x02, - GSI0, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - 0x03, - GSI1, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - Zero, - GSI3, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - One, - GSI0, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - 0x02, - GSI1, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - 0x03, - GSI2, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - Zero, - GSI0, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - One, - GSI1, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - 0x02, - GSI2, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - 0x03, - GSI3, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - Zero, - GSI1, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - One, - GSI2, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - 0x02, - GSI3, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - 0x03, - GSI0, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - Zero, - GSI2, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - One, - GSI3, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - 0x02, - GSI0, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - 0x03, - GSI1, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - Zero, - GSI3, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - One, - GSI0, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - 0x02, - GSI1, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - 0x03, - GSI2, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - Zero, - GSI0, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - One, - GSI1, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - 0x02, - GSI2, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - 0x03, - GSI3, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - Zero, - GSI1, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - One, - GSI2, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - 0x02, - GSI3, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - 0x03, - GSI0, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - Zero, - GSI2, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - One, - GSI3, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - 0x02, - GSI0, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - 0x03, - GSI1, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - Zero, - GSI3, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - One, - GSI0, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - 0x02, - GSI1, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - 0x03, - GSI2, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - Zero, - GSI0, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - One, - GSI1, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - 0x02, - GSI2, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - 0x03, - GSI3, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - Zero, - GSI1, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - One, - GSI2, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - 0x02, - GSI3, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - 0x03, - GSI0, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - Zero, - GSI2, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - One, - GSI3, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - 0x02, - GSI0, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - 0x03, - GSI1, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - Zero, - GSI3, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - One, - GSI0, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - 0x02, - GSI1, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - 0x03, - GSI2, - Zero - } - }) - Device (GSI0) - { - Name (_HID, "PNP0C0F" /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, Zero) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000023, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000023, - } - }) - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSI1) - { - Name (_HID, "PNP0C0F" /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, One) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000024, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000024, - } - }) - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSI2) - { - Name (_HID, "PNP0C0F" /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x02) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000025, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000025, - } - }) - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSI3) - { - Name (_HID, "PNP0C0F" /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x03) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000026, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000026, - } - }) - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Method (_CBA, 0, NotSerialized) // _CBA: Configuration Base Address - { - Return (0x0000004010000000) - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (ResourceTemplate () - { - WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode, - 0x0000, // Granularity - 0x0000, // Range Minimum - 0x00FF, // Range Maximum - 0x0000, // Translation Offset - 0x0100, // Length - ,, ) - DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, - 0x00000000, // Granularity - 0x10000000, // Range Minimum - 0x3EFEFFFF, // Range Maximum - 0x00000000, // Translation Offset - 0x2EFF0000, // Length - ,, , AddressRangeMemory, TypeStatic) - DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, - 0x00000000, // Granularity - 0x00000000, // Range Minimum - 0x0000FFFF, // Range Maximum - 0x3EFF0000, // Translation Offset - 0x00010000, // Length - ,, , TypeStatic, DenseTranslation) - QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, - 0x0000000000000000, // Granularity - 0x0000008000000000, // Range Minimum - 0x000000FFFFFFFFFF, // Range Maximum - 0x0000000000000000, // Translation Offset - 0x0000008000000000, // Length - ,, , AddressRangeMemory, TypeStatic) - }) - } - - Name (SUPP, Zero) - Name (CTRL, Zero) - Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities - { - CreateDWordField (Arg3, Zero, CDW1) - If ((Arg0 == ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd766") /* PCI Host Bridge Device */)) - { - CreateDWordField (Arg3, 0x04, CDW2) - CreateDWordField (Arg3, 0x08, CDW3) - SUPP = CDW2 /* \_SB_.PCI0._OSC.CDW2 */ - CTRL = CDW3 /* \_SB_.PCI0._OSC.CDW3 */ - CTRL &= 0x1F - If ((Arg1 != One)) - { - CDW1 |= 0x08 - } - - If ((CDW3 != CTRL)) - { - CDW1 |= 0x10 - } - - CDW3 = CTRL /* \_SB_.PCI0.CTRL */ - Return (Arg3) - } - Else - { - CDW1 |= 0x04 - Return (Arg3) - } - } - - Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method - { - If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */)) - { - If ((Arg2 == Zero)) - { - Return (Buffer (One) - { - 0x01 // . - }) - } - } - - Return (Buffer (One) - { - 0x00 // . - }) - } - - Device (RES0) - { - Name (_HID, "PNP0C02" /* PNP Motherboard Resources */) // _HID: Hardware ID - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, - 0x0000000000000000, // Granularity - 0x0000004010000000, // Range Minimum - 0x000000401FFFFFFF, // Range Maximum - 0x0000000000000000, // Translation Offset - 0x0000000010000000, // Length - ,, , AddressRangeMemory, TypeStatic) - }) - } - } - - Device (\_SB.GED) - { - Name (_HID, "ACPI0013" /* Generic Event Device */) // _HID: Hardware ID - Name (_UID, "GED") // _UID: Unique ID - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Edge, ActiveHigh, Exclusive, ,, ) - { - 0x00000029, - } - }) - OperationRegion (EREG, SystemMemory, 0x09080000, 0x04) - Field (EREG, DWordAcc, NoLock, WriteAsZeros) - { - ESEL, 32 - } - - Method (_EVT, 1, Serialized) // _EVT: Event - { - Local0 = ESEL /* \_SB_.GED_.ESEL */ - If (((Local0 & 0x02) == 0x02)) - { - Notify (PWRB, 0x80) // Status Change - } - } - } - - Device (PWRB) - { - Name (_HID, "PNP0C0C" /* Power Button Device */) // _HID: Hardware ID - Name (_UID, Zero) // _UID: Unique ID - } - } -} - diff --git a/tests/data/acpi/virt/DSDT.memhp.dsl b/tests/data/acpi/virt/DSDT.memhp.dsl deleted file mode 100644 index 84f3c51867..0000000000 --- a/tests/data/acpi/virt/DSDT.memhp.dsl +++ /dev/null @@ -1,2215 +0,0 @@ -/* - * 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/virt/DSDT.memhp, Tue Aug 4 11:14:15 2020 - * - * Original Table Header: - * Signature "DSDT" - * Length 0x000019A6 (6566) - * Revision 0x02 - * Checksum 0x02 - * OEM ID "BOCHS " - * OEM Table ID "BXPCDSDT" - * OEM Revision 0x00000001 (1) - * Compiler ID "BXPC" - * Compiler Version 0x00000001 (1) - */ -DefinitionBlock ("", "DSDT", 2, "BOCHS ", "BXPCDSDT", 0x00000001) -{ - External (_SB_.NVDR, UnknownObj) - - Scope (\_SB) - { - Device (C000) - { - Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID - Name (_UID, Zero) // _UID: Unique ID - } - - Device (COM0) - { - Name (_HID, "ARMH0011") // _HID: Hardware ID - Name (_UID, Zero) // _UID: Unique ID - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x09000000, // Address Base - 0x00001000, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000021, - } - }) - } - - Device (FWCF) - { - Name (_HID, "QEMU0002") // _HID: Hardware ID - Name (_STA, 0x0B) // _STA: Status - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x09020000, // Address Base - 0x00000018, // Address Length - ) - }) - } - - Device (VR00) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, Zero) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A000000, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000030, - } - }) - } - - Device (VR01) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, One) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A000200, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000031, - } - }) - } - - Device (VR02) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x02) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A000400, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000032, - } - }) - } - - Device (VR03) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x03) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A000600, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000033, - } - }) - } - - Device (VR04) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x04) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A000800, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000034, - } - }) - } - - Device (VR05) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x05) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A000A00, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000035, - } - }) - } - - Device (VR06) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x06) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A000C00, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000036, - } - }) - } - - Device (VR07) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x07) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A000E00, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000037, - } - }) - } - - Device (VR08) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x08) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A001000, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000038, - } - }) - } - - Device (VR09) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x09) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A001200, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000039, - } - }) - } - - Device (VR10) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x0A) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A001400, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x0000003A, - } - }) - } - - Device (VR11) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x0B) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A001600, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x0000003B, - } - }) - } - - Device (VR12) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x0C) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A001800, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x0000003C, - } - }) - } - - Device (VR13) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x0D) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A001A00, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x0000003D, - } - }) - } - - Device (VR14) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x0E) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A001C00, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x0000003E, - } - }) - } - - Device (VR15) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x0F) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A001E00, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x0000003F, - } - }) - } - - Device (VR16) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x10) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A002000, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000040, - } - }) - } - - Device (VR17) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x11) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A002200, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000041, - } - }) - } - - Device (VR18) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x12) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A002400, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000042, - } - }) - } - - Device (VR19) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x13) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A002600, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000043, - } - }) - } - - Device (VR20) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x14) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A002800, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000044, - } - }) - } - - Device (VR21) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x15) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A002A00, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000045, - } - }) - } - - Device (VR22) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x16) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A002C00, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000046, - } - }) - } - - Device (VR23) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x17) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A002E00, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000047, - } - }) - } - - Device (VR24) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x18) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A003000, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000048, - } - }) - } - - Device (VR25) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x19) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A003200, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000049, - } - }) - } - - Device (VR26) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x1A) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A003400, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x0000004A, - } - }) - } - - Device (VR27) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x1B) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A003600, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x0000004B, - } - }) - } - - Device (VR28) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x1C) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A003800, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x0000004C, - } - }) - } - - Device (VR29) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x1D) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A003A00, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x0000004D, - } - }) - } - - Device (VR30) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x1E) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A003C00, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x0000004E, - } - }) - } - - Device (VR31) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x1F) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A003E00, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x0000004F, - } - }) - } - - Device (PCI0) - { - Name (_HID, "PNP0A08" /* PCI Express Bus */) // _HID: Hardware ID - Name (_CID, "PNP0A03" /* PCI Bus */) // _CID: Compatible ID - Name (_SEG, Zero) // _SEG: PCI Segment - Name (_BBN, Zero) // _BBN: BIOS Bus Number - Name (_UID, "PCI0") // _UID: Unique ID - Name (_STR, Unicode ("PCIe 0 Device")) // _STR: Description String - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_PRT, Package (0x80) // _PRT: PCI Routing Table - { - Package (0x04) - { - 0xFFFF, - Zero, - GSI0, - Zero - }, - - Package (0x04) - { - 0xFFFF, - One, - GSI1, - Zero - }, - - Package (0x04) - { - 0xFFFF, - 0x02, - GSI2, - Zero - }, - - Package (0x04) - { - 0xFFFF, - 0x03, - GSI3, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - Zero, - GSI1, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - One, - GSI2, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - 0x02, - GSI3, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - 0x03, - GSI0, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - Zero, - GSI2, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - One, - GSI3, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - 0x02, - GSI0, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - 0x03, - GSI1, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - Zero, - GSI3, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - One, - GSI0, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - 0x02, - GSI1, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - 0x03, - GSI2, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - Zero, - GSI0, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - One, - GSI1, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - 0x02, - GSI2, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - 0x03, - GSI3, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - Zero, - GSI1, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - One, - GSI2, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - 0x02, - GSI3, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - 0x03, - GSI0, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - Zero, - GSI2, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - One, - GSI3, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - 0x02, - GSI0, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - 0x03, - GSI1, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - Zero, - GSI3, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - One, - GSI0, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - 0x02, - GSI1, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - 0x03, - GSI2, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - Zero, - GSI0, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - One, - GSI1, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - 0x02, - GSI2, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - 0x03, - GSI3, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - Zero, - GSI1, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - One, - GSI2, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - 0x02, - GSI3, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - 0x03, - GSI0, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - Zero, - GSI2, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - One, - GSI3, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - 0x02, - GSI0, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - 0x03, - GSI1, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - Zero, - GSI3, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - One, - GSI0, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - 0x02, - GSI1, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - 0x03, - GSI2, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - Zero, - GSI0, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - One, - GSI1, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - 0x02, - GSI2, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - 0x03, - GSI3, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - Zero, - GSI1, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - One, - GSI2, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - 0x02, - GSI3, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - 0x03, - GSI0, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - Zero, - GSI2, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - One, - GSI3, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - 0x02, - GSI0, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - 0x03, - GSI1, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - Zero, - GSI3, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - One, - GSI0, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - 0x02, - GSI1, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - 0x03, - GSI2, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - Zero, - GSI0, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - One, - GSI1, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - 0x02, - GSI2, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - 0x03, - GSI3, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - Zero, - GSI1, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - One, - GSI2, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - 0x02, - GSI3, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - 0x03, - GSI0, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - Zero, - GSI2, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - One, - GSI3, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - 0x02, - GSI0, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - 0x03, - GSI1, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - Zero, - GSI3, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - One, - GSI0, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - 0x02, - GSI1, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - 0x03, - GSI2, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - Zero, - GSI0, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - One, - GSI1, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - 0x02, - GSI2, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - 0x03, - GSI3, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - Zero, - GSI1, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - One, - GSI2, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - 0x02, - GSI3, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - 0x03, - GSI0, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - Zero, - GSI2, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - One, - GSI3, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - 0x02, - GSI0, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - 0x03, - GSI1, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - Zero, - GSI3, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - One, - GSI0, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - 0x02, - GSI1, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - 0x03, - GSI2, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - Zero, - GSI0, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - One, - GSI1, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - 0x02, - GSI2, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - 0x03, - GSI3, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - Zero, - GSI1, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - One, - GSI2, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - 0x02, - GSI3, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - 0x03, - GSI0, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - Zero, - GSI2, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - One, - GSI3, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - 0x02, - GSI0, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - 0x03, - GSI1, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - Zero, - GSI3, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - One, - GSI0, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - 0x02, - GSI1, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - 0x03, - GSI2, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - Zero, - GSI0, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - One, - GSI1, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - 0x02, - GSI2, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - 0x03, - GSI3, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - Zero, - GSI1, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - One, - GSI2, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - 0x02, - GSI3, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - 0x03, - GSI0, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - Zero, - GSI2, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - One, - GSI3, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - 0x02, - GSI0, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - 0x03, - GSI1, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - Zero, - GSI3, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - One, - GSI0, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - 0x02, - GSI1, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - 0x03, - GSI2, - Zero - } - }) - Device (GSI0) - { - Name (_HID, "PNP0C0F" /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, Zero) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000023, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000023, - } - }) - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSI1) - { - Name (_HID, "PNP0C0F" /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, One) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000024, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000024, - } - }) - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSI2) - { - Name (_HID, "PNP0C0F" /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x02) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000025, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000025, - } - }) - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSI3) - { - Name (_HID, "PNP0C0F" /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x03) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000026, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000026, - } - }) - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Method (_CBA, 0, NotSerialized) // _CBA: Configuration Base Address - { - Return (0x0000004010000000) - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (ResourceTemplate () - { - WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode, - 0x0000, // Granularity - 0x0000, // Range Minimum - 0x00FF, // Range Maximum - 0x0000, // Translation Offset - 0x0100, // Length - ,, ) - DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, - 0x00000000, // Granularity - 0x10000000, // Range Minimum - 0x3EFEFFFF, // Range Maximum - 0x00000000, // Translation Offset - 0x2EFF0000, // Length - ,, , AddressRangeMemory, TypeStatic) - DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, - 0x00000000, // Granularity - 0x00000000, // Range Minimum - 0x0000FFFF, // Range Maximum - 0x3EFF0000, // Translation Offset - 0x00010000, // Length - ,, , TypeStatic, DenseTranslation) - QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, - 0x0000000000000000, // Granularity - 0x0000008000000000, // Range Minimum - 0x000000FFFFFFFFFF, // Range Maximum - 0x0000000000000000, // Translation Offset - 0x0000008000000000, // Length - ,, , AddressRangeMemory, TypeStatic) - }) - } - - Name (SUPP, Zero) - Name (CTRL, Zero) - Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities - { - CreateDWordField (Arg3, Zero, CDW1) - If ((Arg0 == ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd766") /* PCI Host Bridge Device */)) - { - CreateDWordField (Arg3, 0x04, CDW2) - CreateDWordField (Arg3, 0x08, CDW3) - SUPP = CDW2 /* \_SB_.PCI0._OSC.CDW2 */ - CTRL = CDW3 /* \_SB_.PCI0._OSC.CDW3 */ - CTRL &= 0x1F - If ((Arg1 != One)) - { - CDW1 |= 0x08 - } - - If ((CDW3 != CTRL)) - { - CDW1 |= 0x10 - } - - CDW3 = CTRL /* \_SB_.PCI0.CTRL */ - Return (Arg3) - } - Else - { - CDW1 |= 0x04 - Return (Arg3) - } - } - - Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method - { - If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */)) - { - If ((Arg2 == Zero)) - { - Return (Buffer (One) - { - 0x01 // . - }) - } - } - - Return (Buffer (One) - { - 0x00 // . - }) - } - - Device (RES0) - { - Name (_HID, "PNP0C02" /* PNP Motherboard Resources */) // _HID: Hardware ID - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, - 0x0000000000000000, // Granularity - 0x0000004010000000, // Range Minimum - 0x000000401FFFFFFF, // Range Maximum - 0x0000000000000000, // Translation Offset - 0x0000000010000000, // Length - ,, , AddressRangeMemory, TypeStatic) - }) - } - } - - Device (\_SB.GED) - { - Name (_HID, "ACPI0013" /* Generic Event Device */) // _HID: Hardware ID - Name (_UID, "GED") // _UID: Unique ID - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Edge, ActiveHigh, Exclusive, ,, ) - { - 0x00000029, - } - }) - OperationRegion (EREG, SystemMemory, 0x09080000, 0x04) - Field (EREG, DWordAcc, NoLock, WriteAsZeros) - { - ESEL, 32 - } - - Method (_EVT, 1, Serialized) // _EVT: Event - { - Local0 = ESEL /* \_SB_.GED_.ESEL */ - If (((Local0 & One) == One)) - { - \_SB.MHPC.MSCN () - } - - If (((Local0 & 0x02) == 0x02)) - { - Notify (PWRB, 0x80) // Status Change - } - - If (((Local0 & 0x04) == 0x04)) - { - Notify (\_SB.NVDR, 0x80) // Status Change - } - } - } - - Device (\_SB.MHPD) - { - Name (_HID, "PNP0A06" /* Generic Container Device */) // _HID: Hardware ID - Name (_UID, "Memory hotplug resources") // _UID: Unique ID - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x09070000, // Address Base - 0x00000018, // Address Length - ) - }) - OperationRegion (HPMR, SystemMemory, 0x09070000, 0x18) - } - - Device (\_SB.MHPC) - { - Name (_HID, "PNP0A06" /* Generic Container Device */) // _HID: Hardware ID - Name (_UID, "DIMM devices") // _UID: Unique ID - Name (MDNR, 0x03) - Field (\_SB.MHPD.HPMR, DWordAcc, NoLock, Preserve) - { - MRBL, 32, - MRBH, 32, - MRLL, 32, - MRLH, 32, - MPX, 32 - } - - Field (\_SB.MHPD.HPMR, ByteAcc, NoLock, WriteAsZeros) - { - Offset (0x14), - MES, 1, - MINS, 1, - MRMV, 1, - MEJ, 1 - } - - Field (\_SB.MHPD.HPMR, DWordAcc, NoLock, Preserve) - { - MSEL, 32, - MOEV, 32, - MOSC, 32 - } - - Method (_STA, 0, NotSerialized) // _STA: Status - { - If ((MDNR == Zero)) - { - Return (Zero) - } - - Return (0x0B) - } - - Mutex (MLCK, 0x00) - Method (MSCN, 0, NotSerialized) - { - If ((MDNR == Zero)) - { - Return (Zero) - } - - Local0 = Zero - Acquire (MLCK, 0xFFFF) - While ((Local0 < MDNR)) - { - MSEL = Local0 - If ((MINS == One)) - { - MTFY (Local0, One) - MINS = One - } - ElseIf ((MRMV == One)) - { - MTFY (Local0, 0x03) - MRMV = One - } - - Local0 += One - } - - Release (MLCK) - Return (One) - } - - Method (MRST, 1, NotSerialized) - { - Local0 = Zero - Acquire (MLCK, 0xFFFF) - MSEL = ToInteger (Arg0) - If ((MES == One)) - { - Local0 = 0x0F - } - - Release (MLCK) - Return (Local0) - } - - Method (MCRS, 1, Serialized) - { - Acquire (MLCK, 0xFFFF) - MSEL = ToInteger (Arg0) - Name (MR64, ResourceTemplate () - { - QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, - 0x0000000000000000, // Granularity - 0x0000000000000000, // Range Minimum - 0xFFFFFFFFFFFFFFFE, // Range Maximum - 0x0000000000000000, // Translation Offset - 0xFFFFFFFFFFFFFFFF, // Length - ,, _Y00, AddressRangeMemory, TypeStatic) - }) - CreateDWordField (MR64, \_SB.MHPC.MCRS._Y00._MIN, MINL) // _MIN: Minimum Base Address - CreateDWordField (MR64, 0x12, MINH) - CreateDWordField (MR64, \_SB.MHPC.MCRS._Y00._LEN, LENL) // _LEN: Length - CreateDWordField (MR64, 0x2A, LENH) - CreateDWordField (MR64, \_SB.MHPC.MCRS._Y00._MAX, MAXL) // _MAX: Maximum Base Address - CreateDWordField (MR64, 0x1A, MAXH) - MINH = MRBH /* \_SB_.MHPC.MRBH */ - MINL = MRBL /* \_SB_.MHPC.MRBL */ - LENH = MRLH /* \_SB_.MHPC.MRLH */ - LENL = MRLL /* \_SB_.MHPC.MRLL */ - MAXL = (MINL + LENL) /* \_SB_.MHPC.MCRS.LENL */ - MAXH = (MINH + LENH) /* \_SB_.MHPC.MCRS.LENH */ - If ((MAXL < MINL)) - { - MAXH += One - } - - If ((MAXL < One)) - { - MAXH -= One - } - - MAXL -= One - If ((MAXH == Zero)) - { - Name (MR32, ResourceTemplate () - { - DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, - 0x00000000, // Granularity - 0x00000000, // Range Minimum - 0xFFFFFFFE, // Range Maximum - 0x00000000, // Translation Offset - 0xFFFFFFFF, // Length - ,, _Y01, AddressRangeMemory, TypeStatic) - }) - CreateDWordField (MR32, \_SB.MHPC.MCRS._Y01._MIN, MIN) // _MIN: Minimum Base Address - CreateDWordField (MR32, \_SB.MHPC.MCRS._Y01._MAX, MAX) // _MAX: Maximum Base Address - CreateDWordField (MR32, \_SB.MHPC.MCRS._Y01._LEN, LEN) // _LEN: Length - MIN = MINL /* \_SB_.MHPC.MCRS.MINL */ - MAX = MAXL /* \_SB_.MHPC.MCRS.MAXL */ - LEN = LENL /* \_SB_.MHPC.MCRS.LENL */ - Release (MLCK) - Return (MR32) /* \_SB_.MHPC.MCRS.MR32 */ - } - - Release (MLCK) - Return (MR64) /* \_SB_.MHPC.MCRS.MR64 */ - } - - Method (MPXM, 1, NotSerialized) - { - Acquire (MLCK, 0xFFFF) - MSEL = ToInteger (Arg0) - Local0 = MPX /* \_SB_.MHPC.MPX_ */ - Release (MLCK) - Return (Local0) - } - - Method (MOST, 4, NotSerialized) - { - Acquire (MLCK, 0xFFFF) - MSEL = ToInteger (Arg0) - MOEV = Arg1 - MOSC = Arg2 - Release (MLCK) - } - - Method (MEJ0, 2, NotSerialized) - { - Acquire (MLCK, 0xFFFF) - MSEL = ToInteger (Arg0) - MEJ = One - Release (MLCK) - } - - Device (MP00) - { - Name (_UID, "0x00") // _UID: Unique ID - Name (_HID, EisaId ("PNP0C80") /* Memory Device */) // _HID: Hardware ID - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (MCRS (_UID)) - } - - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (MRST (_UID)) - } - - Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity - { - Return (MPXM (_UID)) - } - - Method (_OST, 3, NotSerialized) // _OST: OSPM Status Indication - { - MOST (_UID, Arg0, Arg1, Arg2) - } - - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device, x=0-9 - { - MEJ0 (_UID, Arg0) - } - } - - Device (MP01) - { - Name (_UID, "0x01") // _UID: Unique ID - Name (_HID, EisaId ("PNP0C80") /* Memory Device */) // _HID: Hardware ID - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (MCRS (_UID)) - } - - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (MRST (_UID)) - } - - Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity - { - Return (MPXM (_UID)) - } - - Method (_OST, 3, NotSerialized) // _OST: OSPM Status Indication - { - MOST (_UID, Arg0, Arg1, Arg2) - } - - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device, x=0-9 - { - MEJ0 (_UID, Arg0) - } - } - - Device (MP02) - { - Name (_UID, "0x02") // _UID: Unique ID - Name (_HID, EisaId ("PNP0C80") /* Memory Device */) // _HID: Hardware ID - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (MCRS (_UID)) - } - - Method (_STA, 0, NotSerialized) // _STA: Status - { - Return (MRST (_UID)) - } - - Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity - { - Return (MPXM (_UID)) - } - - Method (_OST, 3, NotSerialized) // _OST: OSPM Status Indication - { - MOST (_UID, Arg0, Arg1, Arg2) - } - - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device, x=0-9 - { - MEJ0 (_UID, Arg0) - } - } - - Method (MTFY, 2, NotSerialized) - { - If ((Arg0 == Zero)) - { - Notify (MP00, Arg1) - } - - If ((Arg0 == One)) - { - Notify (MP01, Arg1) - } - - If ((Arg0 == 0x02)) - { - Notify (MP02, Arg1) - } - } - } - - Device (PWRB) - { - Name (_HID, "PNP0C0C" /* Power Button Device */) // _HID: Hardware ID - Name (_UID, Zero) // _UID: Unique ID - } - } -} - diff --git a/tests/data/acpi/virt/DSDT.numamem.dsl b/tests/data/acpi/virt/DSDT.numamem.dsl deleted file mode 100644 index 6603d31a01..0000000000 --- a/tests/data/acpi/virt/DSDT.numamem.dsl +++ /dev/null @@ -1,1906 +0,0 @@ -/* - * 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/virt/DSDT.numamem, Tue Aug 4 11:14:15 2020 - * - * Original Table Header: - * Signature "DSDT" - * Length 0x00001455 (5205) - * Revision 0x02 - * Checksum 0xE1 - * OEM ID "BOCHS " - * OEM Table ID "BXPCDSDT" - * OEM Revision 0x00000001 (1) - * Compiler ID "BXPC" - * Compiler Version 0x00000001 (1) - */ -DefinitionBlock ("", "DSDT", 2, "BOCHS ", "BXPCDSDT", 0x00000001) -{ - Scope (\_SB) - { - Device (C000) - { - Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID - Name (_UID, Zero) // _UID: Unique ID - } - - Device (COM0) - { - Name (_HID, "ARMH0011") // _HID: Hardware ID - Name (_UID, Zero) // _UID: Unique ID - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x09000000, // Address Base - 0x00001000, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000021, - } - }) - } - - Device (FWCF) - { - Name (_HID, "QEMU0002") // _HID: Hardware ID - Name (_STA, 0x0B) // _STA: Status - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x09020000, // Address Base - 0x00000018, // Address Length - ) - }) - } - - Device (VR00) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, Zero) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A000000, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000030, - } - }) - } - - Device (VR01) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, One) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A000200, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000031, - } - }) - } - - Device (VR02) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x02) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A000400, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000032, - } - }) - } - - Device (VR03) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x03) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A000600, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000033, - } - }) - } - - Device (VR04) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x04) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A000800, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000034, - } - }) - } - - Device (VR05) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x05) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A000A00, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000035, - } - }) - } - - Device (VR06) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x06) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A000C00, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000036, - } - }) - } - - Device (VR07) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x07) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A000E00, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000037, - } - }) - } - - Device (VR08) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x08) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A001000, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000038, - } - }) - } - - Device (VR09) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x09) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A001200, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000039, - } - }) - } - - Device (VR10) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x0A) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A001400, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x0000003A, - } - }) - } - - Device (VR11) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x0B) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A001600, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x0000003B, - } - }) - } - - Device (VR12) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x0C) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A001800, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x0000003C, - } - }) - } - - Device (VR13) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x0D) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A001A00, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x0000003D, - } - }) - } - - Device (VR14) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x0E) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A001C00, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x0000003E, - } - }) - } - - Device (VR15) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x0F) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A001E00, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x0000003F, - } - }) - } - - Device (VR16) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x10) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A002000, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000040, - } - }) - } - - Device (VR17) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x11) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A002200, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000041, - } - }) - } - - Device (VR18) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x12) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A002400, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000042, - } - }) - } - - Device (VR19) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x13) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A002600, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000043, - } - }) - } - - Device (VR20) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x14) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A002800, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000044, - } - }) - } - - Device (VR21) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x15) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A002A00, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000045, - } - }) - } - - Device (VR22) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x16) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A002C00, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000046, - } - }) - } - - Device (VR23) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x17) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A002E00, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000047, - } - }) - } - - Device (VR24) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x18) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A003000, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000048, - } - }) - } - - Device (VR25) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x19) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A003200, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000049, - } - }) - } - - Device (VR26) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x1A) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A003400, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x0000004A, - } - }) - } - - Device (VR27) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x1B) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A003600, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x0000004B, - } - }) - } - - Device (VR28) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x1C) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A003800, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x0000004C, - } - }) - } - - Device (VR29) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x1D) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A003A00, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x0000004D, - } - }) - } - - Device (VR30) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x1E) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A003C00, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x0000004E, - } - }) - } - - Device (VR31) - { - Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x1F) // _UID: Unique ID - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Memory32Fixed (ReadWrite, - 0x0A003E00, // Address Base - 0x00000200, // Address Length - ) - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x0000004F, - } - }) - } - - Device (PCI0) - { - Name (_HID, "PNP0A08" /* PCI Express Bus */) // _HID: Hardware ID - Name (_CID, "PNP0A03" /* PCI Bus */) // _CID: Compatible ID - Name (_SEG, Zero) // _SEG: PCI Segment - Name (_BBN, Zero) // _BBN: BIOS Bus Number - Name (_UID, "PCI0") // _UID: Unique ID - Name (_STR, Unicode ("PCIe 0 Device")) // _STR: Description String - Name (_CCA, One) // _CCA: Cache Coherency Attribute - Name (_PRT, Package (0x80) // _PRT: PCI Routing Table - { - Package (0x04) - { - 0xFFFF, - Zero, - GSI0, - Zero - }, - - Package (0x04) - { - 0xFFFF, - One, - GSI1, - Zero - }, - - Package (0x04) - { - 0xFFFF, - 0x02, - GSI2, - Zero - }, - - Package (0x04) - { - 0xFFFF, - 0x03, - GSI3, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - Zero, - GSI1, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - One, - GSI2, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - 0x02, - GSI3, - Zero - }, - - Package (0x04) - { - 0x0001FFFF, - 0x03, - GSI0, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - Zero, - GSI2, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - One, - GSI3, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - 0x02, - GSI0, - Zero - }, - - Package (0x04) - { - 0x0002FFFF, - 0x03, - GSI1, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - Zero, - GSI3, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - One, - GSI0, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - 0x02, - GSI1, - Zero - }, - - Package (0x04) - { - 0x0003FFFF, - 0x03, - GSI2, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - Zero, - GSI0, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - One, - GSI1, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - 0x02, - GSI2, - Zero - }, - - Package (0x04) - { - 0x0004FFFF, - 0x03, - GSI3, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - Zero, - GSI1, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - One, - GSI2, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - 0x02, - GSI3, - Zero - }, - - Package (0x04) - { - 0x0005FFFF, - 0x03, - GSI0, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - Zero, - GSI2, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - One, - GSI3, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - 0x02, - GSI0, - Zero - }, - - Package (0x04) - { - 0x0006FFFF, - 0x03, - GSI1, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - Zero, - GSI3, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - One, - GSI0, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - 0x02, - GSI1, - Zero - }, - - Package (0x04) - { - 0x0007FFFF, - 0x03, - GSI2, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - Zero, - GSI0, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - One, - GSI1, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - 0x02, - GSI2, - Zero - }, - - Package (0x04) - { - 0x0008FFFF, - 0x03, - GSI3, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - Zero, - GSI1, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - One, - GSI2, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - 0x02, - GSI3, - Zero - }, - - Package (0x04) - { - 0x0009FFFF, - 0x03, - GSI0, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - Zero, - GSI2, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - One, - GSI3, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - 0x02, - GSI0, - Zero - }, - - Package (0x04) - { - 0x000AFFFF, - 0x03, - GSI1, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - Zero, - GSI3, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - One, - GSI0, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - 0x02, - GSI1, - Zero - }, - - Package (0x04) - { - 0x000BFFFF, - 0x03, - GSI2, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - Zero, - GSI0, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - One, - GSI1, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - 0x02, - GSI2, - Zero - }, - - Package (0x04) - { - 0x000CFFFF, - 0x03, - GSI3, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - Zero, - GSI1, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - One, - GSI2, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - 0x02, - GSI3, - Zero - }, - - Package (0x04) - { - 0x000DFFFF, - 0x03, - GSI0, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - Zero, - GSI2, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - One, - GSI3, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - 0x02, - GSI0, - Zero - }, - - Package (0x04) - { - 0x000EFFFF, - 0x03, - GSI1, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - Zero, - GSI3, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - One, - GSI0, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - 0x02, - GSI1, - Zero - }, - - Package (0x04) - { - 0x000FFFFF, - 0x03, - GSI2, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - Zero, - GSI0, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - One, - GSI1, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - 0x02, - GSI2, - Zero - }, - - Package (0x04) - { - 0x0010FFFF, - 0x03, - GSI3, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - Zero, - GSI1, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - One, - GSI2, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - 0x02, - GSI3, - Zero - }, - - Package (0x04) - { - 0x0011FFFF, - 0x03, - GSI0, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - Zero, - GSI2, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - One, - GSI3, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - 0x02, - GSI0, - Zero - }, - - Package (0x04) - { - 0x0012FFFF, - 0x03, - GSI1, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - Zero, - GSI3, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - One, - GSI0, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - 0x02, - GSI1, - Zero - }, - - Package (0x04) - { - 0x0013FFFF, - 0x03, - GSI2, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - Zero, - GSI0, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - One, - GSI1, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - 0x02, - GSI2, - Zero - }, - - Package (0x04) - { - 0x0014FFFF, - 0x03, - GSI3, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - Zero, - GSI1, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - One, - GSI2, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - 0x02, - GSI3, - Zero - }, - - Package (0x04) - { - 0x0015FFFF, - 0x03, - GSI0, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - Zero, - GSI2, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - One, - GSI3, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - 0x02, - GSI0, - Zero - }, - - Package (0x04) - { - 0x0016FFFF, - 0x03, - GSI1, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - Zero, - GSI3, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - One, - GSI0, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - 0x02, - GSI1, - Zero - }, - - Package (0x04) - { - 0x0017FFFF, - 0x03, - GSI2, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - Zero, - GSI0, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - One, - GSI1, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - 0x02, - GSI2, - Zero - }, - - Package (0x04) - { - 0x0018FFFF, - 0x03, - GSI3, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - Zero, - GSI1, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - One, - GSI2, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - 0x02, - GSI3, - Zero - }, - - Package (0x04) - { - 0x0019FFFF, - 0x03, - GSI0, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - Zero, - GSI2, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - One, - GSI3, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - 0x02, - GSI0, - Zero - }, - - Package (0x04) - { - 0x001AFFFF, - 0x03, - GSI1, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - Zero, - GSI3, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - One, - GSI0, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - 0x02, - GSI1, - Zero - }, - - Package (0x04) - { - 0x001BFFFF, - 0x03, - GSI2, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - Zero, - GSI0, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - One, - GSI1, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - 0x02, - GSI2, - Zero - }, - - Package (0x04) - { - 0x001CFFFF, - 0x03, - GSI3, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - Zero, - GSI1, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - One, - GSI2, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - 0x02, - GSI3, - Zero - }, - - Package (0x04) - { - 0x001DFFFF, - 0x03, - GSI0, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - Zero, - GSI2, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - One, - GSI3, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - 0x02, - GSI0, - Zero - }, - - Package (0x04) - { - 0x001EFFFF, - 0x03, - GSI1, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - Zero, - GSI3, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - One, - GSI0, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - 0x02, - GSI1, - Zero - }, - - Package (0x04) - { - 0x001FFFFF, - 0x03, - GSI2, - Zero - } - }) - Device (GSI0) - { - Name (_HID, "PNP0C0F" /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, Zero) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000023, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000023, - } - }) - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSI1) - { - Name (_HID, "PNP0C0F" /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, One) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000024, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000024, - } - }) - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSI2) - { - Name (_HID, "PNP0C0F" /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x02) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000025, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000025, - } - }) - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Device (GSI3) - { - Name (_HID, "PNP0C0F" /* PCI Interrupt Link Device */) // _HID: Hardware ID - Name (_UID, 0x03) // _UID: Unique ID - Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000026, - } - }) - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) - { - 0x00000026, - } - }) - Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings - { - } - } - - Method (_CBA, 0, NotSerialized) // _CBA: Configuration Base Address - { - Return (0x0000004010000000) - } - - Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings - { - Return (ResourceTemplate () - { - WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode, - 0x0000, // Granularity - 0x0000, // Range Minimum - 0x00FF, // Range Maximum - 0x0000, // Translation Offset - 0x0100, // Length - ,, ) - DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, - 0x00000000, // Granularity - 0x10000000, // Range Minimum - 0x3EFEFFFF, // Range Maximum - 0x00000000, // Translation Offset - 0x2EFF0000, // Length - ,, , AddressRangeMemory, TypeStatic) - DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, - 0x00000000, // Granularity - 0x00000000, // Range Minimum - 0x0000FFFF, // Range Maximum - 0x3EFF0000, // Translation Offset - 0x00010000, // Length - ,, , TypeStatic, DenseTranslation) - QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, - 0x0000000000000000, // Granularity - 0x0000008000000000, // Range Minimum - 0x000000FFFFFFFFFF, // Range Maximum - 0x0000000000000000, // Translation Offset - 0x0000008000000000, // Length - ,, , AddressRangeMemory, TypeStatic) - }) - } - - Name (SUPP, Zero) - Name (CTRL, Zero) - Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities - { - CreateDWordField (Arg3, Zero, CDW1) - If ((Arg0 == ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd766") /* PCI Host Bridge Device */)) - { - CreateDWordField (Arg3, 0x04, CDW2) - CreateDWordField (Arg3, 0x08, CDW3) - SUPP = CDW2 /* \_SB_.PCI0._OSC.CDW2 */ - CTRL = CDW3 /* \_SB_.PCI0._OSC.CDW3 */ - CTRL &= 0x1F - If ((Arg1 != One)) - { - CDW1 |= 0x08 - } - - If ((CDW3 != CTRL)) - { - CDW1 |= 0x10 - } - - CDW3 = CTRL /* \_SB_.PCI0.CTRL */ - Return (Arg3) - } - Else - { - CDW1 |= 0x04 - Return (Arg3) - } - } - - Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method - { - If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */)) - { - If ((Arg2 == Zero)) - { - Return (Buffer (One) - { - 0x01 // . - }) - } - } - - Return (Buffer (One) - { - 0x00 // . - }) - } - - Device (RES0) - { - Name (_HID, "PNP0C02" /* PNP Motherboard Resources */) // _HID: Hardware ID - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, - 0x0000000000000000, // Granularity - 0x0000004010000000, // Range Minimum - 0x000000401FFFFFFF, // Range Maximum - 0x0000000000000000, // Translation Offset - 0x0000000010000000, // Length - ,, , AddressRangeMemory, TypeStatic) - }) - } - } - - Device (\_SB.GED) - { - Name (_HID, "ACPI0013" /* Generic Event Device */) // _HID: Hardware ID - Name (_UID, "GED") // _UID: Unique ID - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - Interrupt (ResourceConsumer, Edge, ActiveHigh, Exclusive, ,, ) - { - 0x00000029, - } - }) - OperationRegion (EREG, SystemMemory, 0x09080000, 0x04) - Field (EREG, DWordAcc, NoLock, WriteAsZeros) - { - ESEL, 32 - } - - Method (_EVT, 1, Serialized) // _EVT: Event - { - Local0 = ESEL /* \_SB_.GED_.ESEL */ - If (((Local0 & 0x02) == 0x02)) - { - Notify (PWRB, 0x80) // Status Change - } - } - } - - Device (PWRB) - { - Name (_HID, "PNP0C0C" /* Power Button Device */) // _HID: Hardware ID - Name (_UID, Zero) // _UID: Unique ID - } - } -} - diff --git a/tests/data/acpi/virt/FACP.dsl b/tests/data/acpi/virt/FACP.dsl deleted file mode 100644 index 2c73796f89..0000000000 --- a/tests/data/acpi/virt/FACP.dsl +++ /dev/null @@ -1,196 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/virt/FACP.numamem, Mon Sep 28 17:24:38 2020 - * - * ACPI Data Table [FACP] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "FACP" [Fixed ACPI Description Table (FADT)] -[004h 0004 4] Table Length : 0000010C -[008h 0008 1] Revision : 05 -[009h 0009 1] Checksum : BB -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCFACP" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] FACS Address : 00000000 -[028h 0040 4] DSDT Address : 00000000 -[02Ch 0044 1] Model : 00 -[02Dh 0045 1] PM Profile : 00 [Unspecified] -[02Eh 0046 2] SCI Interrupt : 0000 -[030h 0048 4] SMI Command Port : 00000000 -[034h 0052 1] ACPI Enable Value : 00 -[035h 0053 1] ACPI Disable Value : 00 -[036h 0054 1] S4BIOS Command : 00 -[037h 0055 1] P-State Control : 00 -[038h 0056 4] PM1A Event Block Address : 00000000 -[03Ch 0060 4] PM1B Event Block Address : 00000000 -[040h 0064 4] PM1A Control Block Address : 00000000 -[044h 0068 4] PM1B Control Block Address : 00000000 -[048h 0072 4] PM2 Control Block Address : 00000000 -[04Ch 0076 4] PM Timer Block Address : 00000000 -[050h 0080 4] GPE0 Block Address : 00000000 -[054h 0084 4] GPE1 Block Address : 00000000 -[058h 0088 1] PM1 Event Block Length : 00 -[059h 0089 1] PM1 Control Block Length : 00 -[05Ah 0090 1] PM2 Control Block Length : 00 -[05Bh 0091 1] PM Timer Block Length : 00 -[05Ch 0092 1] GPE0 Block Length : 00 -[05Dh 0093 1] GPE1 Block Length : 00 -[05Eh 0094 1] GPE1 Base Offset : 00 -[05Fh 0095 1] _CST Support : 00 -[060h 0096 2] C2 Latency : 0000 -[062h 0098 2] C3 Latency : 0000 -[064h 0100 2] CPU Cache Size : 0000 -[066h 0102 2] Cache Flush Stride : 0000 -[068h 0104 1] Duty Cycle Offset : 00 -[069h 0105 1] Duty Cycle Width : 00 -[06Ah 0106 1] RTC Day Alarm Index : 00 -[06Bh 0107 1] RTC Month Alarm Index : 00 -[06Ch 0108 1] RTC Century Index : 00 -[06Dh 0109 2] Boot Flags (decoded below) : 0000 - Legacy Devices Supported (V2) : 0 - 8042 Present on ports 60/64 (V2) : 0 - VGA Not Present (V4) : 0 - MSI Not Supported (V4) : 0 - PCIe ASPM Not Supported (V4) : 0 - CMOS RTC Not Present (V5) : 0 -[06Fh 0111 1] Reserved : 00 -[070h 0112 4] Flags (decoded below) : 00100000 - WBINVD instruction is operational (V1) : 0 - WBINVD flushes all caches (V1) : 0 - All CPUs support C1 (V1) : 0 - C2 works on MP system (V1) : 0 - Control Method Power Button (V1) : 0 - Control Method Sleep Button (V1) : 0 - RTC wake not in fixed reg space (V1) : 0 - RTC can wake system from S4 (V1) : 0 - 32-bit PM Timer (V1) : 0 - Docking Supported (V1) : 0 - Reset Register Supported (V2) : 0 - Sealed Case (V3) : 0 - Headless - No Video (V3) : 0 - Use native instr after SLP_TYPx (V3) : 0 - PCIEXP_WAK Bits Supported (V4) : 0 - Use Platform Timer (V4) : 0 - RTC_STS valid on S4 wake (V4) : 0 - Remote Power-on capable (V4) : 0 - Use APIC Cluster Model (V4) : 0 - Use APIC Physical Destination Mode (V4) : 0 - Hardware Reduced (V5) : 1 - Low Power S0 Idle (V5) : 0 - -[074h 0116 12] Reset Register : [Generic Address Structure] -[074h 0116 1] Space ID : 00 [SystemMemory] -[075h 0117 1] Bit Width : 00 -[076h 0118 1] Bit Offset : 00 -[077h 0119 1] Encoded Access Width : 00 [Undefined/Legacy] -[078h 0120 8] Address : 0000000000000000 - -[080h 0128 1] Value to cause reset : 00 -[081h 0129 2] ARM Flags (decoded below) : 0003 - PSCI Compliant : 1 - Must use HVC for PSCI : 1 - -[083h 0131 1] FADT Minor Revision : 01 -[084h 0132 8] FACS Address : 0000000000000000 -[08Ch 0140 8] DSDT Address : 0000000000000000 -[094h 0148 12] PM1A Event Block : [Generic Address Structure] -[094h 0148 1] Space ID : 00 [SystemMemory] -[095h 0149 1] Bit Width : 00 -[096h 0150 1] Bit Offset : 00 -[097h 0151 1] Encoded Access Width : 00 [Undefined/Legacy] -[098h 0152 8] Address : 0000000000000000 - -[0A0h 0160 12] PM1B Event Block : [Generic Address Structure] -[0A0h 0160 1] Space ID : 00 [SystemMemory] -[0A1h 0161 1] Bit Width : 00 -[0A2h 0162 1] Bit Offset : 00 -[0A3h 0163 1] Encoded Access Width : 00 [Undefined/Legacy] -[0A4h 0164 8] Address : 0000000000000000 - -[0ACh 0172 12] PM1A Control Block : [Generic Address Structure] -[0ACh 0172 1] Space ID : 00 [SystemMemory] -[0ADh 0173 1] Bit Width : 00 -[0AEh 0174 1] Bit Offset : 00 -[0AFh 0175 1] Encoded Access Width : 00 [Undefined/Legacy] -[0B0h 0176 8] Address : 0000000000000000 - -[0B8h 0184 12] PM1B Control Block : [Generic Address Structure] -[0B8h 0184 1] Space ID : 00 [SystemMemory] -[0B9h 0185 1] Bit Width : 00 -[0BAh 0186 1] Bit Offset : 00 -[0BBh 0187 1] Encoded Access Width : 00 [Undefined/Legacy] -[0BCh 0188 8] Address : 0000000000000000 - -[0C4h 0196 12] PM2 Control Block : [Generic Address Structure] -[0C4h 0196 1] Space ID : 00 [SystemMemory] -[0C5h 0197 1] Bit Width : 00 -[0C6h 0198 1] Bit Offset : 00 -[0C7h 0199 1] Encoded Access Width : 00 [Undefined/Legacy] -[0C8h 0200 8] Address : 0000000000000000 - -[0D0h 0208 12] PM Timer Block : [Generic Address Structure] -[0D0h 0208 1] Space ID : 00 [SystemMemory] -[0D1h 0209 1] Bit Width : 00 -[0D2h 0210 1] Bit Offset : 00 -[0D3h 0211 1] Encoded Access Width : 00 [Undefined/Legacy] -[0D4h 0212 8] Address : 0000000000000000 - -[0DCh 0220 12] GPE0 Block : [Generic Address Structure] -[0DCh 0220 1] Space ID : 00 [SystemMemory] -[0DDh 0221 1] Bit Width : 00 -[0DEh 0222 1] Bit Offset : 00 -[0DFh 0223 1] Encoded Access Width : 00 [Undefined/Legacy] -[0E0h 0224 8] Address : 0000000000000000 - -[0E8h 0232 12] GPE1 Block : [Generic Address Structure] -[0E8h 0232 1] Space ID : 00 [SystemMemory] -[0E9h 0233 1] Bit Width : 00 -[0EAh 0234 1] Bit Offset : 00 -[0EBh 0235 1] Encoded Access Width : 00 [Undefined/Legacy] -[0ECh 0236 8] Address : 0000000000000000 - - -[0F4h 0244 12] Sleep Control Register : [Generic Address Structure] -[0F4h 0244 1] Space ID : 00 [SystemMemory] -[0F5h 0245 1] Bit Width : 00 -[0F6h 0246 1] Bit Offset : 00 -[0F7h 0247 1] Encoded Access Width : 00 [Undefined/Legacy] -[0F8h 0248 8] Address : 0000000000000000 - -[100h 0256 12] Sleep Status Register : [Generic Address Structure] -[100h 0256 1] Space ID : 00 [SystemMemory] -[101h 0257 1] Bit Width : 00 -[102h 0258 1] Bit Offset : 00 -[103h 0259 1] Encoded Access Width : 00 [Undefined/Legacy] -[104h 0260 8] Address : 0000000000000000 - -/**** ACPI table terminates in the middle of a data structure! (dump table) */ - -Raw Table Data: Length 268 (0x10C) - - 0000: 46 41 43 50 0C 01 00 00 05 BB 42 4F 43 48 53 20 // FACP......BOCHS - 0010: 42 58 50 43 46 41 43 50 01 00 00 00 42 58 50 43 // BXPCFACP....BXPC - 0020: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0070: 00 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0080: 00 03 00 01 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0100: 00 00 00 00 00 00 00 00 00 00 00 00 // ............ diff --git a/tests/data/acpi/virt/FACP.memhp.dsl b/tests/data/acpi/virt/FACP.memhp.dsl deleted file mode 100644 index 0083b95ef7..0000000000 --- a/tests/data/acpi/virt/FACP.memhp.dsl +++ /dev/null @@ -1,196 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/virt/FACP.memhp, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [FACP] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "FACP" [Fixed ACPI Description Table (FADT)] -[004h 0004 4] Table Length : 0000010C -[008h 0008 1] Revision : 05 -[009h 0009 1] Checksum : BB -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCFACP" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] FACS Address : 00000000 -[028h 0040 4] DSDT Address : 00000000 -[02Ch 0044 1] Model : 00 -[02Dh 0045 1] PM Profile : 00 [Unspecified] -[02Eh 0046 2] SCI Interrupt : 0000 -[030h 0048 4] SMI Command Port : 00000000 -[034h 0052 1] ACPI Enable Value : 00 -[035h 0053 1] ACPI Disable Value : 00 -[036h 0054 1] S4BIOS Command : 00 -[037h 0055 1] P-State Control : 00 -[038h 0056 4] PM1A Event Block Address : 00000000 -[03Ch 0060 4] PM1B Event Block Address : 00000000 -[040h 0064 4] PM1A Control Block Address : 00000000 -[044h 0068 4] PM1B Control Block Address : 00000000 -[048h 0072 4] PM2 Control Block Address : 00000000 -[04Ch 0076 4] PM Timer Block Address : 00000000 -[050h 0080 4] GPE0 Block Address : 00000000 -[054h 0084 4] GPE1 Block Address : 00000000 -[058h 0088 1] PM1 Event Block Length : 00 -[059h 0089 1] PM1 Control Block Length : 00 -[05Ah 0090 1] PM2 Control Block Length : 00 -[05Bh 0091 1] PM Timer Block Length : 00 -[05Ch 0092 1] GPE0 Block Length : 00 -[05Dh 0093 1] GPE1 Block Length : 00 -[05Eh 0094 1] GPE1 Base Offset : 00 -[05Fh 0095 1] _CST Support : 00 -[060h 0096 2] C2 Latency : 0000 -[062h 0098 2] C3 Latency : 0000 -[064h 0100 2] CPU Cache Size : 0000 -[066h 0102 2] Cache Flush Stride : 0000 -[068h 0104 1] Duty Cycle Offset : 00 -[069h 0105 1] Duty Cycle Width : 00 -[06Ah 0106 1] RTC Day Alarm Index : 00 -[06Bh 0107 1] RTC Month Alarm Index : 00 -[06Ch 0108 1] RTC Century Index : 00 -[06Dh 0109 2] Boot Flags (decoded below) : 0000 - Legacy Devices Supported (V2) : 0 - 8042 Present on ports 60/64 (V2) : 0 - VGA Not Present (V4) : 0 - MSI Not Supported (V4) : 0 - PCIe ASPM Not Supported (V4) : 0 - CMOS RTC Not Present (V5) : 0 -[06Fh 0111 1] Reserved : 00 -[070h 0112 4] Flags (decoded below) : 00100000 - WBINVD instruction is operational (V1) : 0 - WBINVD flushes all caches (V1) : 0 - All CPUs support C1 (V1) : 0 - C2 works on MP system (V1) : 0 - Control Method Power Button (V1) : 0 - Control Method Sleep Button (V1) : 0 - RTC wake not in fixed reg space (V1) : 0 - RTC can wake system from S4 (V1) : 0 - 32-bit PM Timer (V1) : 0 - Docking Supported (V1) : 0 - Reset Register Supported (V2) : 0 - Sealed Case (V3) : 0 - Headless - No Video (V3) : 0 - Use native instr after SLP_TYPx (V3) : 0 - PCIEXP_WAK Bits Supported (V4) : 0 - Use Platform Timer (V4) : 0 - RTC_STS valid on S4 wake (V4) : 0 - Remote Power-on capable (V4) : 0 - Use APIC Cluster Model (V4) : 0 - Use APIC Physical Destination Mode (V4) : 0 - Hardware Reduced (V5) : 1 - Low Power S0 Idle (V5) : 0 - -[074h 0116 12] Reset Register : [Generic Address Structure] -[074h 0116 1] Space ID : 00 [SystemMemory] -[075h 0117 1] Bit Width : 00 -[076h 0118 1] Bit Offset : 00 -[077h 0119 1] Encoded Access Width : 00 [Undefined/Legacy] -[078h 0120 8] Address : 0000000000000000 - -[080h 0128 1] Value to cause reset : 00 -[081h 0129 2] ARM Flags (decoded below) : 0003 - PSCI Compliant : 1 - Must use HVC for PSCI : 1 - -[083h 0131 1] FADT Minor Revision : 01 -[084h 0132 8] FACS Address : 0000000000000000 -[08Ch 0140 8] DSDT Address : 0000000000000000 -[094h 0148 12] PM1A Event Block : [Generic Address Structure] -[094h 0148 1] Space ID : 00 [SystemMemory] -[095h 0149 1] Bit Width : 00 -[096h 0150 1] Bit Offset : 00 -[097h 0151 1] Encoded Access Width : 00 [Undefined/Legacy] -[098h 0152 8] Address : 0000000000000000 - -[0A0h 0160 12] PM1B Event Block : [Generic Address Structure] -[0A0h 0160 1] Space ID : 00 [SystemMemory] -[0A1h 0161 1] Bit Width : 00 -[0A2h 0162 1] Bit Offset : 00 -[0A3h 0163 1] Encoded Access Width : 00 [Undefined/Legacy] -[0A4h 0164 8] Address : 0000000000000000 - -[0ACh 0172 12] PM1A Control Block : [Generic Address Structure] -[0ACh 0172 1] Space ID : 00 [SystemMemory] -[0ADh 0173 1] Bit Width : 00 -[0AEh 0174 1] Bit Offset : 00 -[0AFh 0175 1] Encoded Access Width : 00 [Undefined/Legacy] -[0B0h 0176 8] Address : 0000000000000000 - -[0B8h 0184 12] PM1B Control Block : [Generic Address Structure] -[0B8h 0184 1] Space ID : 00 [SystemMemory] -[0B9h 0185 1] Bit Width : 00 -[0BAh 0186 1] Bit Offset : 00 -[0BBh 0187 1] Encoded Access Width : 00 [Undefined/Legacy] -[0BCh 0188 8] Address : 0000000000000000 - -[0C4h 0196 12] PM2 Control Block : [Generic Address Structure] -[0C4h 0196 1] Space ID : 00 [SystemMemory] -[0C5h 0197 1] Bit Width : 00 -[0C6h 0198 1] Bit Offset : 00 -[0C7h 0199 1] Encoded Access Width : 00 [Undefined/Legacy] -[0C8h 0200 8] Address : 0000000000000000 - -[0D0h 0208 12] PM Timer Block : [Generic Address Structure] -[0D0h 0208 1] Space ID : 00 [SystemMemory] -[0D1h 0209 1] Bit Width : 00 -[0D2h 0210 1] Bit Offset : 00 -[0D3h 0211 1] Encoded Access Width : 00 [Undefined/Legacy] -[0D4h 0212 8] Address : 0000000000000000 - -[0DCh 0220 12] GPE0 Block : [Generic Address Structure] -[0DCh 0220 1] Space ID : 00 [SystemMemory] -[0DDh 0221 1] Bit Width : 00 -[0DEh 0222 1] Bit Offset : 00 -[0DFh 0223 1] Encoded Access Width : 00 [Undefined/Legacy] -[0E0h 0224 8] Address : 0000000000000000 - -[0E8h 0232 12] GPE1 Block : [Generic Address Structure] -[0E8h 0232 1] Space ID : 00 [SystemMemory] -[0E9h 0233 1] Bit Width : 00 -[0EAh 0234 1] Bit Offset : 00 -[0EBh 0235 1] Encoded Access Width : 00 [Undefined/Legacy] -[0ECh 0236 8] Address : 0000000000000000 - - -[0F4h 0244 12] Sleep Control Register : [Generic Address Structure] -[0F4h 0244 1] Space ID : 00 [SystemMemory] -[0F5h 0245 1] Bit Width : 00 -[0F6h 0246 1] Bit Offset : 00 -[0F7h 0247 1] Encoded Access Width : 00 [Undefined/Legacy] -[0F8h 0248 8] Address : 0000000000000000 - -[100h 0256 12] Sleep Status Register : [Generic Address Structure] -[100h 0256 1] Space ID : 00 [SystemMemory] -[101h 0257 1] Bit Width : 00 -[102h 0258 1] Bit Offset : 00 -[103h 0259 1] Encoded Access Width : 00 [Undefined/Legacy] -[104h 0260 8] Address : 0000000000000000 - -/**** ACPI table terminates in the middle of a data structure! (dump table) */ - -Raw Table Data: Length 268 (0x10C) - - 0000: 46 41 43 50 0C 01 00 00 05 BB 42 4F 43 48 53 20 // FACP......BOCHS - 0010: 42 58 50 43 46 41 43 50 01 00 00 00 42 58 50 43 // BXPCFACP....BXPC - 0020: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0070: 00 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0080: 00 03 00 01 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0100: 00 00 00 00 00 00 00 00 00 00 00 00 // ............ diff --git a/tests/data/acpi/virt/FACP.numamem.dsl b/tests/data/acpi/virt/FACP.numamem.dsl deleted file mode 100644 index aee15bd4c2..0000000000 --- a/tests/data/acpi/virt/FACP.numamem.dsl +++ /dev/null @@ -1,196 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/virt/FACP.numamem, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [FACP] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "FACP" [Fixed ACPI Description Table (FADT)] -[004h 0004 4] Table Length : 0000010C -[008h 0008 1] Revision : 05 -[009h 0009 1] Checksum : BB -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCFACP" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] FACS Address : 00000000 -[028h 0040 4] DSDT Address : 00000000 -[02Ch 0044 1] Model : 00 -[02Dh 0045 1] PM Profile : 00 [Unspecified] -[02Eh 0046 2] SCI Interrupt : 0000 -[030h 0048 4] SMI Command Port : 00000000 -[034h 0052 1] ACPI Enable Value : 00 -[035h 0053 1] ACPI Disable Value : 00 -[036h 0054 1] S4BIOS Command : 00 -[037h 0055 1] P-State Control : 00 -[038h 0056 4] PM1A Event Block Address : 00000000 -[03Ch 0060 4] PM1B Event Block Address : 00000000 -[040h 0064 4] PM1A Control Block Address : 00000000 -[044h 0068 4] PM1B Control Block Address : 00000000 -[048h 0072 4] PM2 Control Block Address : 00000000 -[04Ch 0076 4] PM Timer Block Address : 00000000 -[050h 0080 4] GPE0 Block Address : 00000000 -[054h 0084 4] GPE1 Block Address : 00000000 -[058h 0088 1] PM1 Event Block Length : 00 -[059h 0089 1] PM1 Control Block Length : 00 -[05Ah 0090 1] PM2 Control Block Length : 00 -[05Bh 0091 1] PM Timer Block Length : 00 -[05Ch 0092 1] GPE0 Block Length : 00 -[05Dh 0093 1] GPE1 Block Length : 00 -[05Eh 0094 1] GPE1 Base Offset : 00 -[05Fh 0095 1] _CST Support : 00 -[060h 0096 2] C2 Latency : 0000 -[062h 0098 2] C3 Latency : 0000 -[064h 0100 2] CPU Cache Size : 0000 -[066h 0102 2] Cache Flush Stride : 0000 -[068h 0104 1] Duty Cycle Offset : 00 -[069h 0105 1] Duty Cycle Width : 00 -[06Ah 0106 1] RTC Day Alarm Index : 00 -[06Bh 0107 1] RTC Month Alarm Index : 00 -[06Ch 0108 1] RTC Century Index : 00 -[06Dh 0109 2] Boot Flags (decoded below) : 0000 - Legacy Devices Supported (V2) : 0 - 8042 Present on ports 60/64 (V2) : 0 - VGA Not Present (V4) : 0 - MSI Not Supported (V4) : 0 - PCIe ASPM Not Supported (V4) : 0 - CMOS RTC Not Present (V5) : 0 -[06Fh 0111 1] Reserved : 00 -[070h 0112 4] Flags (decoded below) : 00100000 - WBINVD instruction is operational (V1) : 0 - WBINVD flushes all caches (V1) : 0 - All CPUs support C1 (V1) : 0 - C2 works on MP system (V1) : 0 - Control Method Power Button (V1) : 0 - Control Method Sleep Button (V1) : 0 - RTC wake not in fixed reg space (V1) : 0 - RTC can wake system from S4 (V1) : 0 - 32-bit PM Timer (V1) : 0 - Docking Supported (V1) : 0 - Reset Register Supported (V2) : 0 - Sealed Case (V3) : 0 - Headless - No Video (V3) : 0 - Use native instr after SLP_TYPx (V3) : 0 - PCIEXP_WAK Bits Supported (V4) : 0 - Use Platform Timer (V4) : 0 - RTC_STS valid on S4 wake (V4) : 0 - Remote Power-on capable (V4) : 0 - Use APIC Cluster Model (V4) : 0 - Use APIC Physical Destination Mode (V4) : 0 - Hardware Reduced (V5) : 1 - Low Power S0 Idle (V5) : 0 - -[074h 0116 12] Reset Register : [Generic Address Structure] -[074h 0116 1] Space ID : 00 [SystemMemory] -[075h 0117 1] Bit Width : 00 -[076h 0118 1] Bit Offset : 00 -[077h 0119 1] Encoded Access Width : 00 [Undefined/Legacy] -[078h 0120 8] Address : 0000000000000000 - -[080h 0128 1] Value to cause reset : 00 -[081h 0129 2] ARM Flags (decoded below) : 0003 - PSCI Compliant : 1 - Must use HVC for PSCI : 1 - -[083h 0131 1] FADT Minor Revision : 01 -[084h 0132 8] FACS Address : 0000000000000000 -[08Ch 0140 8] DSDT Address : 0000000000000000 -[094h 0148 12] PM1A Event Block : [Generic Address Structure] -[094h 0148 1] Space ID : 00 [SystemMemory] -[095h 0149 1] Bit Width : 00 -[096h 0150 1] Bit Offset : 00 -[097h 0151 1] Encoded Access Width : 00 [Undefined/Legacy] -[098h 0152 8] Address : 0000000000000000 - -[0A0h 0160 12] PM1B Event Block : [Generic Address Structure] -[0A0h 0160 1] Space ID : 00 [SystemMemory] -[0A1h 0161 1] Bit Width : 00 -[0A2h 0162 1] Bit Offset : 00 -[0A3h 0163 1] Encoded Access Width : 00 [Undefined/Legacy] -[0A4h 0164 8] Address : 0000000000000000 - -[0ACh 0172 12] PM1A Control Block : [Generic Address Structure] -[0ACh 0172 1] Space ID : 00 [SystemMemory] -[0ADh 0173 1] Bit Width : 00 -[0AEh 0174 1] Bit Offset : 00 -[0AFh 0175 1] Encoded Access Width : 00 [Undefined/Legacy] -[0B0h 0176 8] Address : 0000000000000000 - -[0B8h 0184 12] PM1B Control Block : [Generic Address Structure] -[0B8h 0184 1] Space ID : 00 [SystemMemory] -[0B9h 0185 1] Bit Width : 00 -[0BAh 0186 1] Bit Offset : 00 -[0BBh 0187 1] Encoded Access Width : 00 [Undefined/Legacy] -[0BCh 0188 8] Address : 0000000000000000 - -[0C4h 0196 12] PM2 Control Block : [Generic Address Structure] -[0C4h 0196 1] Space ID : 00 [SystemMemory] -[0C5h 0197 1] Bit Width : 00 -[0C6h 0198 1] Bit Offset : 00 -[0C7h 0199 1] Encoded Access Width : 00 [Undefined/Legacy] -[0C8h 0200 8] Address : 0000000000000000 - -[0D0h 0208 12] PM Timer Block : [Generic Address Structure] -[0D0h 0208 1] Space ID : 00 [SystemMemory] -[0D1h 0209 1] Bit Width : 00 -[0D2h 0210 1] Bit Offset : 00 -[0D3h 0211 1] Encoded Access Width : 00 [Undefined/Legacy] -[0D4h 0212 8] Address : 0000000000000000 - -[0DCh 0220 12] GPE0 Block : [Generic Address Structure] -[0DCh 0220 1] Space ID : 00 [SystemMemory] -[0DDh 0221 1] Bit Width : 00 -[0DEh 0222 1] Bit Offset : 00 -[0DFh 0223 1] Encoded Access Width : 00 [Undefined/Legacy] -[0E0h 0224 8] Address : 0000000000000000 - -[0E8h 0232 12] GPE1 Block : [Generic Address Structure] -[0E8h 0232 1] Space ID : 00 [SystemMemory] -[0E9h 0233 1] Bit Width : 00 -[0EAh 0234 1] Bit Offset : 00 -[0EBh 0235 1] Encoded Access Width : 00 [Undefined/Legacy] -[0ECh 0236 8] Address : 0000000000000000 - - -[0F4h 0244 12] Sleep Control Register : [Generic Address Structure] -[0F4h 0244 1] Space ID : 00 [SystemMemory] -[0F5h 0245 1] Bit Width : 00 -[0F6h 0246 1] Bit Offset : 00 -[0F7h 0247 1] Encoded Access Width : 00 [Undefined/Legacy] -[0F8h 0248 8] Address : 0000000000000000 - -[100h 0256 12] Sleep Status Register : [Generic Address Structure] -[100h 0256 1] Space ID : 00 [SystemMemory] -[101h 0257 1] Bit Width : 00 -[102h 0258 1] Bit Offset : 00 -[103h 0259 1] Encoded Access Width : 00 [Undefined/Legacy] -[104h 0260 8] Address : 0000000000000000 - -/**** ACPI table terminates in the middle of a data structure! (dump table) */ - -Raw Table Data: Length 268 (0x10C) - - 0000: 46 41 43 50 0C 01 00 00 05 BB 42 4F 43 48 53 20 // FACP......BOCHS - 0010: 42 58 50 43 46 41 43 50 01 00 00 00 42 58 50 43 // BXPCFACP....BXPC - 0020: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0070: 00 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0080: 00 03 00 01 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0100: 00 00 00 00 00 00 00 00 00 00 00 00 // ............ diff --git a/tests/data/acpi/virt/GTDT.dsl b/tests/data/acpi/virt/GTDT.dsl deleted file mode 100644 index 1ab06dd3c2..0000000000 --- a/tests/data/acpi/virt/GTDT.dsl +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/virt/GTDT.numamem, Mon Sep 28 17:24:38 2020 - * - * ACPI Data Table [GTDT] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "GTDT" [Generic Timer Description Table] -[004h 0004 4] Table Length : 00000060 -[008h 0008 1] Revision : 02 -[009h 0009 1] Checksum : D9 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCGTDT" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 8] Counter Block Address : 0000000000000000 -[02Ch 0044 4] Reserved : 00000000 - -[030h 0048 4] Secure EL1 Interrupt : 0000001D -[034h 0052 4] EL1 Flags (decoded below) : 00000000 - Trigger Mode : 0 - Polarity : 0 - Always On : 0 - -[038h 0056 4] Non-Secure EL1 Interrupt : 0000001E -[03Ch 0060 4] NEL1 Flags (decoded below) : 00000004 - Trigger Mode : 0 - Polarity : 0 - Always On : 1 - -[040h 0064 4] Virtual Timer Interrupt : 0000001B -[044h 0068 4] VT Flags (decoded below) : 00000000 - Trigger Mode : 0 - Polarity : 0 - Always On : 0 - -[048h 0072 4] Non-Secure EL2 Interrupt : 0000001A -[04Ch 0076 4] NEL2 Flags (decoded below) : 00000000 - Trigger Mode : 0 - Polarity : 0 - Always On : 0 -[050h 0080 8] Counter Read Block Address : 0000000000000000 - -[058h 0088 4] Platform Timer Count : 00000000 -[05Ch 0092 4] Platform Timer Offset : 00000000 - -Raw Table Data: Length 96 (0x60) - - 0000: 47 54 44 54 60 00 00 00 02 D9 42 4F 43 48 53 20 // GTDT`.....BOCHS - 0010: 42 58 50 43 47 54 44 54 01 00 00 00 42 58 50 43 // BXPCGTDT....BXPC - 0020: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0030: 1D 00 00 00 00 00 00 00 1E 00 00 00 04 00 00 00 // ................ - 0040: 1B 00 00 00 00 00 00 00 1A 00 00 00 00 00 00 00 // ................ - 0050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ diff --git a/tests/data/acpi/virt/GTDT.memhp.dsl b/tests/data/acpi/virt/GTDT.memhp.dsl deleted file mode 100644 index d78bb092c5..0000000000 --- a/tests/data/acpi/virt/GTDT.memhp.dsl +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/virt/GTDT.memhp, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [GTDT] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "GTDT" [Generic Timer Description Table] -[004h 0004 4] Table Length : 00000060 -[008h 0008 1] Revision : 02 -[009h 0009 1] Checksum : D9 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCGTDT" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 8] Counter Block Address : 0000000000000000 -[02Ch 0044 4] Reserved : 00000000 - -[030h 0048 4] Secure EL1 Interrupt : 0000001D -[034h 0052 4] EL1 Flags (decoded below) : 00000000 - Trigger Mode : 0 - Polarity : 0 - Always On : 0 - -[038h 0056 4] Non-Secure EL1 Interrupt : 0000001E -[03Ch 0060 4] NEL1 Flags (decoded below) : 00000004 - Trigger Mode : 0 - Polarity : 0 - Always On : 1 - -[040h 0064 4] Virtual Timer Interrupt : 0000001B -[044h 0068 4] VT Flags (decoded below) : 00000000 - Trigger Mode : 0 - Polarity : 0 - Always On : 0 - -[048h 0072 4] Non-Secure EL2 Interrupt : 0000001A -[04Ch 0076 4] NEL2 Flags (decoded below) : 00000000 - Trigger Mode : 0 - Polarity : 0 - Always On : 0 -[050h 0080 8] Counter Read Block Address : 0000000000000000 - -[058h 0088 4] Platform Timer Count : 00000000 -[05Ch 0092 4] Platform Timer Offset : 00000000 - -Raw Table Data: Length 96 (0x60) - - 0000: 47 54 44 54 60 00 00 00 02 D9 42 4F 43 48 53 20 // GTDT`.....BOCHS - 0010: 42 58 50 43 47 54 44 54 01 00 00 00 42 58 50 43 // BXPCGTDT....BXPC - 0020: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0030: 1D 00 00 00 00 00 00 00 1E 00 00 00 04 00 00 00 // ................ - 0040: 1B 00 00 00 00 00 00 00 1A 00 00 00 00 00 00 00 // ................ - 0050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ diff --git a/tests/data/acpi/virt/GTDT.numamem.dsl b/tests/data/acpi/virt/GTDT.numamem.dsl deleted file mode 100644 index 5c3c2a83db..0000000000 --- a/tests/data/acpi/virt/GTDT.numamem.dsl +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/virt/GTDT.numamem, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [GTDT] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "GTDT" [Generic Timer Description Table] -[004h 0004 4] Table Length : 00000060 -[008h 0008 1] Revision : 02 -[009h 0009 1] Checksum : D9 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCGTDT" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 8] Counter Block Address : 0000000000000000 -[02Ch 0044 4] Reserved : 00000000 - -[030h 0048 4] Secure EL1 Interrupt : 0000001D -[034h 0052 4] EL1 Flags (decoded below) : 00000000 - Trigger Mode : 0 - Polarity : 0 - Always On : 0 - -[038h 0056 4] Non-Secure EL1 Interrupt : 0000001E -[03Ch 0060 4] NEL1 Flags (decoded below) : 00000004 - Trigger Mode : 0 - Polarity : 0 - Always On : 1 - -[040h 0064 4] Virtual Timer Interrupt : 0000001B -[044h 0068 4] VT Flags (decoded below) : 00000000 - Trigger Mode : 0 - Polarity : 0 - Always On : 0 - -[048h 0072 4] Non-Secure EL2 Interrupt : 0000001A -[04Ch 0076 4] NEL2 Flags (decoded below) : 00000000 - Trigger Mode : 0 - Polarity : 0 - Always On : 0 -[050h 0080 8] Counter Read Block Address : 0000000000000000 - -[058h 0088 4] Platform Timer Count : 00000000 -[05Ch 0092 4] Platform Timer Offset : 00000000 - -Raw Table Data: Length 96 (0x60) - - 0000: 47 54 44 54 60 00 00 00 02 D9 42 4F 43 48 53 20 // GTDT`.....BOCHS - 0010: 42 58 50 43 47 54 44 54 01 00 00 00 42 58 50 43 // BXPCGTDT....BXPC - 0020: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0030: 1D 00 00 00 00 00 00 00 1E 00 00 00 04 00 00 00 // ................ - 0040: 1B 00 00 00 00 00 00 00 1A 00 00 00 00 00 00 00 // ................ - 0050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ diff --git a/tests/data/acpi/virt/MCFG.dsl b/tests/data/acpi/virt/MCFG.dsl deleted file mode 100644 index f09c86f487..0000000000 --- a/tests/data/acpi/virt/MCFG.dsl +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/virt/MCFG.numamem, Mon Sep 28 17:24:38 2020 - * - * ACPI Data Table [MCFG] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "MCFG" [Memory Mapped Configuration table] -[004h 0004 4] Table Length : 0000003C -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : 4F -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCMCFG" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 8] Reserved : 0000000000000000 - -[02Ch 0044 8] Base Address : 0000004010000000 -[034h 0052 2] Segment Group Number : 0000 -[036h 0054 1] Start Bus Number : 00 -[037h 0055 1] End Bus Number : FF -[038h 0056 4] Reserved : 00000000 - -Raw Table Data: Length 60 (0x3C) - - 0000: 4D 43 46 47 3C 00 00 00 01 4F 42 4F 43 48 53 20 // MCFG<....OBOCHS - 0010: 42 58 50 43 4D 43 46 47 01 00 00 00 42 58 50 43 // BXPCMCFG....BXPC - 0020: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10 // ................ - 0030: 40 00 00 00 00 00 00 FF 00 00 00 00 // @........... diff --git a/tests/data/acpi/virt/MCFG.memhp.dsl b/tests/data/acpi/virt/MCFG.memhp.dsl deleted file mode 100644 index b03a6384e8..0000000000 --- a/tests/data/acpi/virt/MCFG.memhp.dsl +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/virt/MCFG.memhp, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [MCFG] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "MCFG" [Memory Mapped Configuration table] -[004h 0004 4] Table Length : 0000003C -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : 4F -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCMCFG" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 8] Reserved : 0000000000000000 - -[02Ch 0044 8] Base Address : 0000004010000000 -[034h 0052 2] Segment Group Number : 0000 -[036h 0054 1] Start Bus Number : 00 -[037h 0055 1] End Bus Number : FF -[038h 0056 4] Reserved : 00000000 - -Raw Table Data: Length 60 (0x3C) - - 0000: 4D 43 46 47 3C 00 00 00 01 4F 42 4F 43 48 53 20 // MCFG<....OBOCHS - 0010: 42 58 50 43 4D 43 46 47 01 00 00 00 42 58 50 43 // BXPCMCFG....BXPC - 0020: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10 // ................ - 0030: 40 00 00 00 00 00 00 FF 00 00 00 00 // @........... diff --git a/tests/data/acpi/virt/MCFG.numamem.dsl b/tests/data/acpi/virt/MCFG.numamem.dsl deleted file mode 100644 index 303df803f5..0000000000 --- a/tests/data/acpi/virt/MCFG.numamem.dsl +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/virt/MCFG.numamem, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [MCFG] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "MCFG" [Memory Mapped Configuration table] -[004h 0004 4] Table Length : 0000003C -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : 4F -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCMCFG" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 8] Reserved : 0000000000000000 - -[02Ch 0044 8] Base Address : 0000004010000000 -[034h 0052 2] Segment Group Number : 0000 -[036h 0054 1] Start Bus Number : 00 -[037h 0055 1] End Bus Number : FF -[038h 0056 4] Reserved : 00000000 - -Raw Table Data: Length 60 (0x3C) - - 0000: 4D 43 46 47 3C 00 00 00 01 4F 42 4F 43 48 53 20 // MCFG<....OBOCHS - 0010: 42 58 50 43 4D 43 46 47 01 00 00 00 42 58 50 43 // BXPCMCFG....BXPC - 0020: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10 // ................ - 0030: 40 00 00 00 00 00 00 FF 00 00 00 00 // @........... diff --git a/tests/data/acpi/virt/NFIT.dsl b/tests/data/acpi/virt/NFIT.dsl deleted file mode 100644 index 947ba0f6a4..0000000000 --- a/tests/data/acpi/virt/NFIT.dsl +++ /dev/null @@ -1,103 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/virt/NFIT.memhp, Mon Sep 28 17:24:38 2020 - * - * ACPI Data Table [NFIT] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "NFIT" [NVDIMM Firmware Interface Table] -[004h 0004 4] Table Length : 000000E0 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : D1 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCNFIT" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Reserved : 00000000 - -[028h 0040 2] Subtable Type : 0000 [System Physical Address Range] -[02Ah 0042 2] Length : 0038 - -[02Ch 0044 2] Range Index : 0004 -[02Eh 0046 2] Flags (decoded below) : 0003 - Add/Online Operation Only : 1 - Proximity Domain Valid : 1 -[030h 0048 4] Reserved : 00000000 -[034h 0052 4] Proximity Domain : 00000001 -[038h 0056 16] Region Type GUID : 66F0D379-B4F3-4074-AC43-0D3318B78CDB -[048h 0072 8] Address Range Base : 0000000088000000 -[050h 0080 8] Address Range Length : 0000000008000000 -[058h 0088 8] Memory Map Attribute : 0000000000008008 - -[060h 0096 2] Subtable Type : 0001 [Memory Range Map] -[062h 0098 2] Length : 0030 - -[064h 0100 4] Device Handle : 00000002 -[068h 0104 2] Physical Id : 0000 -[06Ah 0106 2] Region Id : 0000 -[06Ch 0108 2] Range Index : 0004 -[06Eh 0110 2] Control Region Index : 0005 -[070h 0112 8] Region Size : 0000000008000000 -[078h 0120 8] Region Offset : 0000000000000000 -[080h 0128 8] Address Region Base : 0000000000000000 -[088h 0136 2] Interleave Index : 0000 -[08Ah 0138 2] Interleave Ways : 0001 -[08Ch 0140 2] Flags : 0000 - Save to device failed : 0 - Restore from device failed : 0 - Platform flush failed : 0 - Device not armed : 0 - Health events observed : 0 - Health events enabled : 0 - Mapping failed : 0 -[08Eh 0142 2] Reserved : 0000 - -[090h 0144 2] Subtable Type : 0004 [NVDIMM Control Region] -[092h 0146 2] Length : 0050 - -[094h 0148 2] Region Index : 0005 -[096h 0150 2] Vendor Id : 8086 -[098h 0152 2] Device Id : 0001 -[09Ah 0154 2] Revision Id : 0001 -[09Ch 0156 2] Subsystem Vendor Id : 0000 -[09Eh 0158 2] Subsystem Device Id : 0000 -[0A0h 0160 2] Subsystem Revision Id : 0000 -[0A2h 0162 1] Valid Fields : 00 -[0A3h 0163 1] Manufacturing Location : 00 -[0A4h 0164 2] Manufacturing Date : 0000 -[0A6h 0166 2] Reserved : 0000 -[0A8h 0168 4] Serial Number : 00123457 -[0ACh 0172 2] Code : 0301 -[0AEh 0174 2] Window Count : 0000 -[0B0h 0176 8] Window Size : 0000000000000000 -[0B8h 0184 8] Command Offset : 0000000000000000 -[0C0h 0192 8] Command Size : 0000000000000000 -[0C8h 0200 8] Status Offset : 0000000000000000 -[0D0h 0208 8] Status Size : 0000000000000000 -[0D8h 0216 2] Flags : 0000 - Windows buffered : 0 -[0DAh 0218 6] Reserved1 : 000000000000 - -Raw Table Data: Length 224 (0xE0) - - 0000: 4E 46 49 54 E0 00 00 00 01 D1 42 4F 43 48 53 20 // NFIT......BOCHS - 0010: 42 58 50 43 4E 46 49 54 01 00 00 00 42 58 50 43 // BXPCNFIT....BXPC - 0020: 01 00 00 00 00 00 00 00 00 00 38 00 04 00 03 00 // ..........8..... - 0030: 00 00 00 00 01 00 00 00 79 D3 F0 66 F3 B4 74 40 // ........y..f..t@ - 0040: AC 43 0D 33 18 B7 8C DB 00 00 00 88 00 00 00 00 // .C.3............ - 0050: 00 00 00 08 00 00 00 00 08 80 00 00 00 00 00 00 // ................ - 0060: 01 00 30 00 02 00 00 00 00 00 00 00 04 00 05 00 // ..0............. - 0070: 00 00 00 08 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0080: 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 // ................ - 0090: 04 00 50 00 05 00 86 80 01 00 01 00 00 00 00 00 // ..P............. - 00A0: 00 00 00 00 00 00 00 00 57 34 12 00 01 03 00 00 // ........W4...... - 00B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ diff --git a/tests/data/acpi/virt/NFIT.memhp.dsl b/tests/data/acpi/virt/NFIT.memhp.dsl deleted file mode 100644 index 84511bff96..0000000000 --- a/tests/data/acpi/virt/NFIT.memhp.dsl +++ /dev/null @@ -1,103 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/virt/NFIT.memhp, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [NFIT] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "NFIT" [NVDIMM Firmware Interface Table] -[004h 0004 4] Table Length : 000000E0 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : D1 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCNFIT" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Reserved : 00000000 - -[028h 0040 2] Subtable Type : 0000 [System Physical Address Range] -[02Ah 0042 2] Length : 0038 - -[02Ch 0044 2] Range Index : 0004 -[02Eh 0046 2] Flags (decoded below) : 0003 - Add/Online Operation Only : 1 - Proximity Domain Valid : 1 -[030h 0048 4] Reserved : 00000000 -[034h 0052 4] Proximity Domain : 00000001 -[038h 0056 16] Region Type GUID : 66F0D379-B4F3-4074-AC43-0D3318B78CDB -[048h 0072 8] Address Range Base : 0000000088000000 -[050h 0080 8] Address Range Length : 0000000008000000 -[058h 0088 8] Memory Map Attribute : 0000000000008008 - -[060h 0096 2] Subtable Type : 0001 [Memory Range Map] -[062h 0098 2] Length : 0030 - -[064h 0100 4] Device Handle : 00000002 -[068h 0104 2] Physical Id : 0000 -[06Ah 0106 2] Region Id : 0000 -[06Ch 0108 2] Range Index : 0004 -[06Eh 0110 2] Control Region Index : 0005 -[070h 0112 8] Region Size : 0000000008000000 -[078h 0120 8] Region Offset : 0000000000000000 -[080h 0128 8] Address Region Base : 0000000000000000 -[088h 0136 2] Interleave Index : 0000 -[08Ah 0138 2] Interleave Ways : 0001 -[08Ch 0140 2] Flags : 0000 - Save to device failed : 0 - Restore from device failed : 0 - Platform flush failed : 0 - Device not armed : 0 - Health events observed : 0 - Health events enabled : 0 - Mapping failed : 0 -[08Eh 0142 2] Reserved : 0000 - -[090h 0144 2] Subtable Type : 0004 [NVDIMM Control Region] -[092h 0146 2] Length : 0050 - -[094h 0148 2] Region Index : 0005 -[096h 0150 2] Vendor Id : 8086 -[098h 0152 2] Device Id : 0001 -[09Ah 0154 2] Revision Id : 0001 -[09Ch 0156 2] Subsystem Vendor Id : 0000 -[09Eh 0158 2] Subsystem Device Id : 0000 -[0A0h 0160 2] Subsystem Revision Id : 0000 -[0A2h 0162 1] Valid Fields : 00 -[0A3h 0163 1] Manufacturing Location : 00 -[0A4h 0164 2] Manufacturing Date : 0000 -[0A6h 0166 2] Reserved : 0000 -[0A8h 0168 4] Serial Number : 00123457 -[0ACh 0172 2] Code : 0301 -[0AEh 0174 2] Window Count : 0000 -[0B0h 0176 8] Window Size : 0000000000000000 -[0B8h 0184 8] Command Offset : 0000000000000000 -[0C0h 0192 8] Command Size : 0000000000000000 -[0C8h 0200 8] Status Offset : 0000000000000000 -[0D0h 0208 8] Status Size : 0000000000000000 -[0D8h 0216 2] Flags : 0000 - Windows buffered : 0 -[0DAh 0218 6] Reserved1 : 000000000000 - -Raw Table Data: Length 224 (0xE0) - - 0000: 4E 46 49 54 E0 00 00 00 01 D1 42 4F 43 48 53 20 // NFIT......BOCHS - 0010: 42 58 50 43 4E 46 49 54 01 00 00 00 42 58 50 43 // BXPCNFIT....BXPC - 0020: 01 00 00 00 00 00 00 00 00 00 38 00 04 00 03 00 // ..........8..... - 0030: 00 00 00 00 01 00 00 00 79 D3 F0 66 F3 B4 74 40 // ........y..f..t@ - 0040: AC 43 0D 33 18 B7 8C DB 00 00 00 88 00 00 00 00 // .C.3............ - 0050: 00 00 00 08 00 00 00 00 08 80 00 00 00 00 00 00 // ................ - 0060: 01 00 30 00 02 00 00 00 00 00 00 00 04 00 05 00 // ..0............. - 0070: 00 00 00 08 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0080: 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 // ................ - 0090: 04 00 50 00 05 00 86 80 01 00 01 00 00 00 00 00 // ..P............. - 00A0: 00 00 00 00 00 00 00 00 57 34 12 00 01 03 00 00 // ........W4...... - 00B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ - 00D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ diff --git a/tests/data/acpi/virt/SLIT.dsl b/tests/data/acpi/virt/SLIT.dsl deleted file mode 100644 index 34276fca96..0000000000 --- a/tests/data/acpi/virt/SLIT.dsl +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/virt/SLIT.memhp, Mon Sep 28 17:24:38 2020 - * - * ACPI Data Table [SLIT] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "SLIT" [System Locality Information Table] -[004h 0004 4] Table Length : 00000030 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : 2C -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCSLIT" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 8] Localities : 0000000000000002 -[02Ch 0044 2] Locality 0 : 0A 15 -[02Eh 0046 2] Locality 1 : 15 0A - -Raw Table Data: Length 48 (0x30) - - 0000: 53 4C 49 54 30 00 00 00 01 2C 42 4F 43 48 53 20 // SLIT0....,BOCHS - 0010: 42 58 50 43 53 4C 49 54 01 00 00 00 42 58 50 43 // BXPCSLIT....BXPC - 0020: 01 00 00 00 02 00 00 00 00 00 00 00 0A 15 15 0A // ................ diff --git a/tests/data/acpi/virt/SLIT.memhp.dsl b/tests/data/acpi/virt/SLIT.memhp.dsl deleted file mode 100644 index a17f948af2..0000000000 --- a/tests/data/acpi/virt/SLIT.memhp.dsl +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/virt/SLIT.memhp, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [SLIT] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "SLIT" [System Locality Information Table] -[004h 0004 4] Table Length : 00000030 -[008h 0008 1] Revision : 01 -[009h 0009 1] Checksum : 2C -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCSLIT" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 8] Localities : 0000000000000002 -[02Ch 0044 2] Locality 0 : 0A 15 -[02Eh 0046 2] Locality 1 : 15 0A - -Raw Table Data: Length 48 (0x30) - - 0000: 53 4C 49 54 30 00 00 00 01 2C 42 4F 43 48 53 20 // SLIT0....,BOCHS - 0010: 42 58 50 43 53 4C 49 54 01 00 00 00 42 58 50 43 // BXPCSLIT....BXPC - 0020: 01 00 00 00 02 00 00 00 00 00 00 00 0A 15 15 0A // ................ diff --git a/tests/data/acpi/virt/SPCR.dsl b/tests/data/acpi/virt/SPCR.dsl deleted file mode 100644 index 3c271412cf..0000000000 --- a/tests/data/acpi/virt/SPCR.dsl +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/virt/SPCR.numamem, Mon Sep 28 17:24:38 2020 - * - * ACPI Data Table [SPCR] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "SPCR" [Serial Port Console Redirection table] -[004h 0004 4] Table Length : 00000050 -[008h 0008 1] Revision : 02 -[009h 0009 1] Checksum : 13 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCSPCR" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 1] Interface Type : 03 -[025h 0037 3] Reserved : 000000 - -[028h 0040 12] Serial Port Register : [Generic Address Structure] -[028h 0040 1] Space ID : 00 [SystemMemory] -[029h 0041 1] Bit Width : 08 -[02Ah 0042 1] Bit Offset : 00 -[02Bh 0043 1] Encoded Access Width : 01 [Byte Access:8] -[02Ch 0044 8] Address : 0000000009000000 - -[034h 0052 1] Interrupt Type : 08 -[035h 0053 1] PCAT-compatible IRQ : 00 -[036h 0054 4] Interrupt : 00000021 -[03Ah 0058 1] Baud Rate : 03 -[03Bh 0059 1] Parity : 00 -[03Ch 0060 1] Stop Bits : 01 -[03Dh 0061 1] Flow Control : 02 -[03Eh 0062 1] Terminal Type : 00 -[04Ch 0076 1] Reserved : 00 -[040h 0064 2] PCI Device ID : FFFF -[042h 0066 2] PCI Vendor ID : FFFF -[044h 0068 1] PCI Bus : 00 -[045h 0069 1] PCI Device : 00 -[046h 0070 1] PCI Function : 00 -[047h 0071 4] PCI Flags : 00000000 -[04Bh 0075 1] PCI Segment : 00 -[04Ch 0076 4] Reserved : 00000000 - -Raw Table Data: Length 80 (0x50) - - 0000: 53 50 43 52 50 00 00 00 02 13 42 4F 43 48 53 20 // SPCRP.....BOCHS - 0010: 42 58 50 43 53 50 43 52 01 00 00 00 42 58 50 43 // BXPCSPCR....BXPC - 0020: 01 00 00 00 03 00 00 00 00 08 00 01 00 00 00 09 // ................ - 0030: 00 00 00 00 08 00 21 00 00 00 03 00 01 02 00 00 // ......!......... - 0040: FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 // ................ diff --git a/tests/data/acpi/virt/SPCR.memhp.dsl b/tests/data/acpi/virt/SPCR.memhp.dsl deleted file mode 100644 index 81e00457cc..0000000000 --- a/tests/data/acpi/virt/SPCR.memhp.dsl +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/virt/SPCR.memhp, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [SPCR] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "SPCR" [Serial Port Console Redirection table] -[004h 0004 4] Table Length : 00000050 -[008h 0008 1] Revision : 02 -[009h 0009 1] Checksum : 13 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCSPCR" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 1] Interface Type : 03 -[025h 0037 3] Reserved : 000000 - -[028h 0040 12] Serial Port Register : [Generic Address Structure] -[028h 0040 1] Space ID : 00 [SystemMemory] -[029h 0041 1] Bit Width : 08 -[02Ah 0042 1] Bit Offset : 00 -[02Bh 0043 1] Encoded Access Width : 01 [Byte Access:8] -[02Ch 0044 8] Address : 0000000009000000 - -[034h 0052 1] Interrupt Type : 08 -[035h 0053 1] PCAT-compatible IRQ : 00 -[036h 0054 4] Interrupt : 00000021 -[03Ah 0058 1] Baud Rate : 03 -[03Bh 0059 1] Parity : 00 -[03Ch 0060 1] Stop Bits : 01 -[03Dh 0061 1] Flow Control : 02 -[03Eh 0062 1] Terminal Type : 00 -[04Ch 0076 1] Reserved : 00 -[040h 0064 2] PCI Device ID : FFFF -[042h 0066 2] PCI Vendor ID : FFFF -[044h 0068 1] PCI Bus : 00 -[045h 0069 1] PCI Device : 00 -[046h 0070 1] PCI Function : 00 -[047h 0071 4] PCI Flags : 00000000 -[04Bh 0075 1] PCI Segment : 00 -[04Ch 0076 4] Reserved : 00000000 - -Raw Table Data: Length 80 (0x50) - - 0000: 53 50 43 52 50 00 00 00 02 13 42 4F 43 48 53 20 // SPCRP.....BOCHS - 0010: 42 58 50 43 53 50 43 52 01 00 00 00 42 58 50 43 // BXPCSPCR....BXPC - 0020: 01 00 00 00 03 00 00 00 00 08 00 01 00 00 00 09 // ................ - 0030: 00 00 00 00 08 00 21 00 00 00 03 00 01 02 00 00 // ......!......... - 0040: FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 // ................ diff --git a/tests/data/acpi/virt/SPCR.numamem.dsl b/tests/data/acpi/virt/SPCR.numamem.dsl deleted file mode 100644 index faf6729797..0000000000 --- a/tests/data/acpi/virt/SPCR.numamem.dsl +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/virt/SPCR.numamem, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [SPCR] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "SPCR" [Serial Port Console Redirection table] -[004h 0004 4] Table Length : 00000050 -[008h 0008 1] Revision : 02 -[009h 0009 1] Checksum : 13 -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCSPCR" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 1] Interface Type : 03 -[025h 0037 3] Reserved : 000000 - -[028h 0040 12] Serial Port Register : [Generic Address Structure] -[028h 0040 1] Space ID : 00 [SystemMemory] -[029h 0041 1] Bit Width : 08 -[02Ah 0042 1] Bit Offset : 00 -[02Bh 0043 1] Encoded Access Width : 01 [Byte Access:8] -[02Ch 0044 8] Address : 0000000009000000 - -[034h 0052 1] Interrupt Type : 08 -[035h 0053 1] PCAT-compatible IRQ : 00 -[036h 0054 4] Interrupt : 00000021 -[03Ah 0058 1] Baud Rate : 03 -[03Bh 0059 1] Parity : 00 -[03Ch 0060 1] Stop Bits : 01 -[03Dh 0061 1] Flow Control : 02 -[03Eh 0062 1] Terminal Type : 00 -[04Ch 0076 1] Reserved : 00 -[040h 0064 2] PCI Device ID : FFFF -[042h 0066 2] PCI Vendor ID : FFFF -[044h 0068 1] PCI Bus : 00 -[045h 0069 1] PCI Device : 00 -[046h 0070 1] PCI Function : 00 -[047h 0071 4] PCI Flags : 00000000 -[04Bh 0075 1] PCI Segment : 00 -[04Ch 0076 4] Reserved : 00000000 - -Raw Table Data: Length 80 (0x50) - - 0000: 53 50 43 52 50 00 00 00 02 13 42 4F 43 48 53 20 // SPCRP.....BOCHS - 0010: 42 58 50 43 53 50 43 52 01 00 00 00 42 58 50 43 // BXPCSPCR....BXPC - 0020: 01 00 00 00 03 00 00 00 00 08 00 01 00 00 00 09 // ................ - 0030: 00 00 00 00 08 00 21 00 00 00 03 00 01 02 00 00 // ......!......... - 0040: FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 // ................ diff --git a/tests/data/acpi/virt/SRAT.dsl b/tests/data/acpi/virt/SRAT.dsl deleted file mode 100644 index f267aabc67..0000000000 --- a/tests/data/acpi/virt/SRAT.dsl +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/virt/SRAT.numamem, Mon Sep 28 17:24:38 2020 - * - * ACPI Data Table [SRAT] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "SRAT" [System Resource Affinity Table] -[004h 0004 4] Table Length : 0000006A -[008h 0008 1] Revision : 03 -[009h 0009 1] Checksum : AB -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCSRAT" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Table Revision : 00000001 -[028h 0040 8] Reserved : 0000000000000000 - -[030h 0048 1] Subtable Type : 03 [GICC Affinity] -[031h 0049 1] Length : 12 - -[032h 0050 4] Proximity Domain : 00000000 -[036h 0054 4] Acpi Processor UID : 00000000 -[03Ah 0058 4] Flags (decoded below) : 00000001 - Enabled : 1 -[03Eh 0062 4] Clock Domain : 00000000 - -[042h 0066 1] Subtable Type : 01 [Memory Affinity] -[043h 0067 1] Length : 28 - -[044h 0068 4] Proximity Domain : 00000000 -[048h 0072 2] Reserved1 : 0000 -[04Ah 0074 8] Base Address : 0000000040000000 -[052h 0082 8] Address Length : 0000000008000000 -[05Ah 0090 4] Reserved2 : 00000000 -[05Eh 0094 4] Flags (decoded below) : 00000001 - Enabled : 1 - Hot Pluggable : 0 - Non-Volatile : 0 -[062h 0098 8] Reserved3 : 0000000000000000 - -Raw Table Data: Length 106 (0x6A) - - 0000: 53 52 41 54 6A 00 00 00 03 AB 42 4F 43 48 53 20 // SRATj.....BOCHS - 0010: 42 58 50 43 53 52 41 54 01 00 00 00 42 58 50 43 // BXPCSRAT....BXPC - 0020: 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0030: 03 12 00 00 00 00 00 00 00 00 01 00 00 00 00 00 // ................ - 0040: 00 00 01 28 00 00 00 00 00 00 00 00 00 40 00 00 // ...(.........@.. - 0050: 00 00 00 00 00 08 00 00 00 00 00 00 00 00 01 00 // ................ - 0060: 00 00 00 00 00 00 00 00 00 00 // .......... diff --git a/tests/data/acpi/virt/SRAT.memhp.dsl b/tests/data/acpi/virt/SRAT.memhp.dsl deleted file mode 100644 index 3f311e6be0..0000000000 --- a/tests/data/acpi/virt/SRAT.memhp.dsl +++ /dev/null @@ -1,107 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/virt/SRAT.memhp, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [SRAT] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "SRAT" [System Resource Affinity Table] -[004h 0004 4] Table Length : 000000E2 -[008h 0008 1] Revision : 03 -[009h 0009 1] Checksum : 5C -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCSRAT" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Table Revision : 00000001 -[028h 0040 8] Reserved : 0000000000000000 - -[030h 0048 1] Subtable Type : 03 [GICC Affinity] -[031h 0049 1] Length : 12 - -[032h 0050 4] Proximity Domain : 00000000 -[036h 0054 4] Acpi Processor UID : 00000000 -[03Ah 0058 4] Flags (decoded below) : 00000001 - Enabled : 1 -[03Eh 0062 4] Clock Domain : 00000000 - -[042h 0066 1] Subtable Type : 01 [Memory Affinity] -[043h 0067 1] Length : 28 - -[044h 0068 4] Proximity Domain : 00000000 -[048h 0072 2] Reserved1 : 0000 -[04Ah 0074 8] Base Address : 0000000040000000 -[052h 0082 8] Address Length : 0000000008000000 -[05Ah 0090 4] Reserved2 : 00000000 -[05Eh 0094 4] Flags (decoded below) : 00000001 - Enabled : 1 - Hot Pluggable : 0 - Non-Volatile : 0 -[062h 0098 8] Reserved3 : 0000000000000000 - -[06Ah 0106 1] Subtable Type : 01 [Memory Affinity] -[06Bh 0107 1] Length : 28 - -[06Ch 0108 4] Proximity Domain : 00000001 -[070h 0112 2] Reserved1 : 0000 -[072h 0114 8] Base Address : 0000000048000000 -[07Ah 0122 8] Address Length : 0000000008000000 -[082h 0130 4] Reserved2 : 00000000 -[086h 0134 4] Flags (decoded below) : 00000001 - Enabled : 1 - Hot Pluggable : 0 - Non-Volatile : 0 -[08Ah 0138 8] Reserved3 : 0000000000000000 - -[092h 0146 1] Subtable Type : 01 [Memory Affinity] -[093h 0147 1] Length : 28 - -[094h 0148 4] Proximity Domain : 00000001 -[098h 0152 2] Reserved1 : 0000 -[09Ah 0154 8] Base Address : 0000000088000000 -[0A2h 0162 8] Address Length : 0000000008000000 -[0AAh 0170 4] Reserved2 : 00000000 -[0AEh 0174 4] Flags (decoded below) : 00000005 - Enabled : 1 - Hot Pluggable : 0 - Non-Volatile : 1 -[0B2h 0178 8] Reserved3 : 0000000000000000 - -[0BAh 0186 1] Subtable Type : 01 [Memory Affinity] -[0BBh 0187 1] Length : 28 - -[0BCh 0188 4] Proximity Domain : 00000001 -[0C0h 0192 2] Reserved1 : 0000 -[0C2h 0194 8] Base Address : 0000000080000000 -[0CAh 0202 8] Address Length : 00000000F0000000 -[0D2h 0210 4] Reserved2 : 00000000 -[0D6h 0214 4] Flags (decoded below) : 00000003 - Enabled : 1 - Hot Pluggable : 1 - Non-Volatile : 0 -[0DAh 0218 8] Reserved3 : 0000000000000000 - -Raw Table Data: Length 226 (0xE2) - - 0000: 53 52 41 54 E2 00 00 00 03 5C 42 4F 43 48 53 20 // SRAT.....\BOCHS - 0010: 42 58 50 43 53 52 41 54 01 00 00 00 42 58 50 43 // BXPCSRAT....BXPC - 0020: 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0030: 03 12 00 00 00 00 00 00 00 00 01 00 00 00 00 00 // ................ - 0040: 00 00 01 28 00 00 00 00 00 00 00 00 00 40 00 00 // ...(.........@.. - 0050: 00 00 00 00 00 08 00 00 00 00 00 00 00 00 01 00 // ................ - 0060: 00 00 00 00 00 00 00 00 00 00 01 28 01 00 00 00 // ...........(.... - 0070: 00 00 00 00 00 48 00 00 00 00 00 00 00 08 00 00 // .....H.......... - 0080: 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 // ................ - 0090: 00 00 01 28 01 00 00 00 00 00 00 00 00 88 00 00 // ...(............ - 00A0: 00 00 00 00 00 08 00 00 00 00 00 00 00 00 05 00 // ................ - 00B0: 00 00 00 00 00 00 00 00 00 00 01 28 01 00 00 00 // ...........(.... - 00C0: 00 00 00 00 00 80 00 00 00 00 00 00 00 F0 00 00 // ................ - 00D0: 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 // ................ - 00E0: 00 00 // .. diff --git a/tests/data/acpi/virt/SRAT.numamem.dsl b/tests/data/acpi/virt/SRAT.numamem.dsl deleted file mode 100644 index b6e59b1af0..0000000000 --- a/tests/data/acpi/virt/SRAT.numamem.dsl +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Intel ACPI Component Architecture - * AML/ASL+ Disassembler version 20190509 (64-bit version) - * Copyright (c) 2000 - 2019 Intel Corporation - * - * Disassembly of tests/data/acpi/virt/SRAT.numamem, Tue Aug 4 11:14:15 2020 - * - * ACPI Data Table [SRAT] - * - * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue - */ - -[000h 0000 4] Signature : "SRAT" [System Resource Affinity Table] -[004h 0004 4] Table Length : 0000006A -[008h 0008 1] Revision : 03 -[009h 0009 1] Checksum : AB -[00Ah 0010 6] Oem ID : "BOCHS " -[010h 0016 8] Oem Table ID : "BXPCSRAT" -[018h 0024 4] Oem Revision : 00000001 -[01Ch 0028 4] Asl Compiler ID : "BXPC" -[020h 0032 4] Asl Compiler Revision : 00000001 - -[024h 0036 4] Table Revision : 00000001 -[028h 0040 8] Reserved : 0000000000000000 - -[030h 0048 1] Subtable Type : 03 [GICC Affinity] -[031h 0049 1] Length : 12 - -[032h 0050 4] Proximity Domain : 00000000 -[036h 0054 4] Acpi Processor UID : 00000000 -[03Ah 0058 4] Flags (decoded below) : 00000001 - Enabled : 1 -[03Eh 0062 4] Clock Domain : 00000000 - -[042h 0066 1] Subtable Type : 01 [Memory Affinity] -[043h 0067 1] Length : 28 - -[044h 0068 4] Proximity Domain : 00000000 -[048h 0072 2] Reserved1 : 0000 -[04Ah 0074 8] Base Address : 0000000040000000 -[052h 0082 8] Address Length : 0000000008000000 -[05Ah 0090 4] Reserved2 : 00000000 -[05Eh 0094 4] Flags (decoded below) : 00000001 - Enabled : 1 - Hot Pluggable : 0 - Non-Volatile : 0 -[062h 0098 8] Reserved3 : 0000000000000000 - -Raw Table Data: Length 106 (0x6A) - - 0000: 53 52 41 54 6A 00 00 00 03 AB 42 4F 43 48 53 20 // SRATj.....BOCHS - 0010: 42 58 50 43 53 52 41 54 01 00 00 00 42 58 50 43 // BXPCSRAT....BXPC - 0020: 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 // ................ - 0030: 03 12 00 00 00 00 00 00 00 00 01 00 00 00 00 00 // ................ - 0040: 00 00 01 28 00 00 00 00 00 00 00 00 00 40 00 00 // ...(.........@.. - 0050: 00 00 00 00 00 08 00 00 00 00 00 00 00 00 01 00 // ................ - 0060: 00 00 00 00 00 00 00 00 00 00 // .......... diff --git a/tests/data/acpi/virt/SSDT.dsl b/tests/data/acpi/virt/SSDT.dsl deleted file mode 100644 index cb220787b4..0000000000 --- a/tests/data/acpi/virt/SSDT.dsl +++ /dev/null @@ -1,205 +0,0 @@ -/* - * 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/virt/SSDT.memhp, Mon Sep 28 17:24:38 2020 - * - * Original Table Header: - * Signature "SSDT" - * Length 0x000002E0 (736) - * Revision 0x01 - * Checksum 0x3F - * OEM ID "BOCHS " - * OEM Table ID "NVDIMM" - * OEM Revision 0x00000001 (1) - * Compiler ID "BXPC" - * Compiler Version 0x00000001 (1) - */ -DefinitionBlock ("", "SSDT", 1, "BOCHS ", "NVDIMM", 0x00000001) -{ - Scope (\_SB) - { - Device (NVDR) - { - Name (_HID, "ACPI0012" /* NVDIMM Root Device */) // _HID: Hardware ID - Method (NCAL, 5, Serialized) - { - Local6 = MEMA /* \MEMA */ - OperationRegion (NPIO, SystemMemory, 0x09090000, 0x04) - OperationRegion (NRAM, SystemMemory, Local6, 0x1000) - Field (NPIO, DWordAcc, NoLock, Preserve) - { - NTFI, 32 - } - - Field (NRAM, DWordAcc, NoLock, Preserve) - { - HDLE, 32, - REVS, 32, - FUNC, 32, - FARG, 32672 - } - - Field (NRAM, DWordAcc, NoLock, Preserve) - { - RLEN, 32, - ODAT, 32736 - } - - If ((Arg4 == Zero)) - { - Local0 = ToUUID ("2f10e7a4-9e91-11e4-89d3-123b93f75cba") - } - ElseIf ((Arg4 == 0x00010000)) - { - Local0 = ToUUID ("648b9cf2-cda1-4312-8ad9-49c4af32bd62") - } - Else - { - Local0 = ToUUID ("4309ac30-0d11-11e4-9191-0800200c9a66") - } - - If (((Local6 == Zero) | (Arg0 != Local0))) - { - If ((Arg2 == Zero)) - { - Return (Buffer (One) - { - 0x00 // . - }) - } - - Return (Buffer (One) - { - 0x01 // . - }) - } - - HDLE = Arg4 - REVS = Arg1 - FUNC = Arg2 - If (((ObjectType (Arg3) == 0x04) & (SizeOf (Arg3) == One))) - { - Local2 = Arg3 [Zero] - Local3 = DerefOf (Local2) - FARG = Local3 - } - - NTFI = Local6 - Local1 = (RLEN - 0x04) - If ((Local1 < 0x08)) - { - Local2 = Zero - Name (TBUF, Buffer (One) - { - 0x00 // . - }) - Local7 = Buffer (Zero){} - While ((Local2 < Local1)) - { - TBUF [Zero] = DerefOf (ODAT [Local2]) - Concatenate (Local7, TBUF, Local7) - Local2++ - } - - Return (Local7) - } - - Local1 = (Local1 << 0x03) - CreateField (ODAT, Zero, Local1, OBUF) - Return (OBUF) /* \_SB_.NVDR.NCAL.OBUF */ - } - - Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method - { - Return (NCAL (Arg0, Arg1, Arg2, Arg3, Zero)) - } - - Name (RSTA, Zero) - Method (RFIT, 1, Serialized) - { - Name (OFST, Zero) - OFST = Arg0 - Local0 = NCAL (ToUUID ("648b9cf2-cda1-4312-8ad9-49c4af32bd62"), One, One, Package (0x01) - { - OFST - }, 0x00010000) - CreateDWordField (Local0, Zero, STAU) - RSTA = STAU /* \_SB_.NVDR.RFIT.STAU */ - If ((Zero != STAU)) - { - Return (Buffer (Zero){}) - } - - Local1 = SizeOf (Local0) - Local1 -= 0x04 - If ((Local1 == Zero)) - { - Return (Buffer (Zero){}) - } - - CreateField (Local0, 0x20, (Local1 << 0x03), BUFF) - Return (BUFF) /* \_SB_.NVDR.RFIT.BUFF */ - } - - Method (_FIT, 0, Serialized) // _FIT: Firmware Interface Table - { - Local2 = Buffer (Zero){} - Local3 = Zero - While (One) - { - Local0 = RFIT (Local3) - Local1 = SizeOf (Local0) - If ((RSTA == 0x0100)) - { - Local2 = Buffer (Zero){} - Local3 = Zero - } - Else - { - If ((Local1 == Zero)) - { - Return (Local2) - } - - Local3 += Local1 - Concatenate (Local2, Local0, Local2) - } - } - } - - Device (NV00) - { - Name (_ADR, One) // _ADR: Address - Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method - { - Return (NCAL (Arg0, Arg1, Arg2, Arg3, One)) - } - } - - Device (NV01) - { - Name (_ADR, 0x02) // _ADR: Address - Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method - { - Return (NCAL (Arg0, Arg1, Arg2, Arg3, 0x02)) - } - } - - Device (NV02) - { - Name (_ADR, 0x03) // _ADR: Address - Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method - { - Return (NCAL (Arg0, Arg1, Arg2, Arg3, 0x03)) - } - } - } - } - - Name (MEMA, 0x43D10000) -} - diff --git a/tests/data/uefi-boot-images/bios-tables-test.x86_64.iso.raw b/tests/data/uefi-boot-images/bios-tables-test.x86_64.iso.raw deleted file mode 100644 index bd43ba50a3b25bdf4108cf920a26acc93cc45555..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 425984 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 - * Paolo Bonzini - * Andreas Färber - * - * This work is licensed under the terms of the GNU GPL, version 2 or later. - * See the COPYING file in the top-level directory. - */ - -#include "qemu/osdep.h" - -#include -#include -#include - -#include "libqtest.h" -#include "qemu/cutils.h" -#include "qapi/error.h" -#include "qapi/qmp/json-parser.h" -#include "qapi/qmp/json-streamer.h" -#include "qapi/qmp/qdict.h" -#include "qapi/qmp/qjson.h" -#include "qapi/qmp/qlist.h" -#include "qapi/qmp/qstring.h" - -#define MAX_IRQ 256 -#define SOCKET_TIMEOUT 50 - -QTestState *global_qtest; - -struct QTestState -{ - int fd; - int qmp_fd; - bool irq_level[MAX_IRQ]; - GString *rx; - pid_t qemu_pid; /* our child QEMU process */ - bool big_endian; -}; - -static GHookList abrt_hooks; -static struct sigaction sigact_old; - -#define g_assert_no_errno(ret) do { \ - g_assert_cmpint(ret, !=, -1); \ -} while (0) - -static int qtest_query_target_endianness(QTestState *s); - -static int init_socket(const char *socket_path) -{ - struct sockaddr_un addr; - int sock; - int ret; - - sock = socket(PF_UNIX, SOCK_STREAM, 0); - g_assert_no_errno(sock); - - addr.sun_family = AF_UNIX; - snprintf(addr.sun_path, sizeof(addr.sun_path), "%s", socket_path); - qemu_set_cloexec(sock); - - do { - ret = bind(sock, (struct sockaddr *)&addr, sizeof(addr)); - } while (ret == -1 && errno == EINTR); - g_assert_no_errno(ret); - ret = listen(sock, 1); - g_assert_no_errno(ret); - - return sock; -} - -static int socket_accept(int sock) -{ - struct sockaddr_un addr; - socklen_t addrlen; - int ret; - struct timeval timeout = { .tv_sec = SOCKET_TIMEOUT, - .tv_usec = 0 }; - - setsockopt(sock, SOL_SOCKET, SO_RCVTIMEO, (void *)&timeout, - sizeof(timeout)); - - do { - addrlen = sizeof(addr); - ret = accept(sock, (struct sockaddr *)&addr, &addrlen); - } while (ret == -1 && errno == EINTR); - if (ret == -1) { - fprintf(stderr, "%s failed: %s\n", __func__, strerror(errno)); - } - close(sock); - - return ret; -} - -static void kill_qemu(QTestState *s) -{ - int wstatus = 0; - - if (s->qemu_pid != -1) { - kill(s->qemu_pid, SIGTERM); - waitpid(s->qemu_pid, &wstatus, 0); - - if (WIFSIGNALED(wstatus)) { - assert(!WCOREDUMP(wstatus)); - } - } -} - -static void kill_qemu_hook_func(void *s) -{ - kill_qemu(s); -} - -static void sigabrt_handler(int signo) -{ - g_hook_list_invoke(&abrt_hooks, FALSE); -} - -static void setup_sigabrt_handler(void) -{ - struct sigaction sigact; - - /* Catch SIGABRT to clean up on g_assert() failure */ - sigact = (struct sigaction){ - .sa_handler = sigabrt_handler, - .sa_flags = SA_RESETHAND, - }; - sigemptyset(&sigact.sa_mask); - sigaction(SIGABRT, &sigact, &sigact_old); -} - -static void cleanup_sigabrt_handler(void) -{ - sigaction(SIGABRT, &sigact_old, NULL); -} - -void qtest_add_abrt_handler(GHookFunc fn, const void *data) -{ - GHook *hook; - - /* Only install SIGABRT handler once */ - if (!abrt_hooks.is_setup) { - g_hook_list_init(&abrt_hooks, sizeof(GHook)); - } - setup_sigabrt_handler(); - - hook = g_hook_alloc(&abrt_hooks); - hook->func = fn; - hook->data = (void *)data; - - g_hook_prepend(&abrt_hooks, hook); -} - -static const char *qtest_qemu_binary(void) -{ - const char *qemu_bin; - - qemu_bin = getenv("QTEST_QEMU_BINARY"); - if (!qemu_bin) { - fprintf(stderr, "Environment variable QTEST_QEMU_BINARY required\n"); - exit(1); - } - - return qemu_bin; -} - -QTestState *qtest_init_without_qmp_handshake(bool use_oob, - const char *extra_args) -{ - QTestState *s; - int sock, qmpsock, i; - gchar *socket_path; - gchar *qmp_socket_path; - gchar *command; - const char *qemu_binary = qtest_qemu_binary(); - - s = g_new(QTestState, 1); - - socket_path = g_strdup_printf("/tmp/qtest-%d.sock", getpid()); - qmp_socket_path = g_strdup_printf("/tmp/qtest-%d.qmp", getpid()); - - /* It's possible that if an earlier test run crashed it might - * have left a stale unix socket lying around. Delete any - * stale old socket to avoid spurious test failures with - * tests/libqtest.c:70:init_socket: assertion failed (ret != -1): (-1 != -1) - */ - unlink(socket_path); - unlink(qmp_socket_path); - - sock = init_socket(socket_path); - qmpsock = init_socket(qmp_socket_path); - - qtest_add_abrt_handler(kill_qemu_hook_func, s); - - s->qemu_pid = fork(); - if (s->qemu_pid == 0) { - setenv("QEMU_AUDIO_DRV", "none", true); - command = g_strdup_printf("exec %s " - "-qtest unix:%s,nowait " - "-qtest-log %s " - "-chardev socket,path=%s,nowait,id=char0 " - "-mon chardev=char0,mode=control%s " - "-machine accel=qtest " - "-display none " - "%s", qemu_binary, socket_path, - getenv("QTEST_LOG") ? "/dev/fd/2" : "/dev/null", - qmp_socket_path, use_oob ? ",x-oob=on" : "", - extra_args ?: ""); - execlp("/bin/sh", "sh", "-c", command, NULL); - exit(1); - } - - s->fd = socket_accept(sock); - if (s->fd >= 0) { - s->qmp_fd = socket_accept(qmpsock); - } - unlink(socket_path); - unlink(qmp_socket_path); - g_free(socket_path); - g_free(qmp_socket_path); - - g_assert(s->fd >= 0 && s->qmp_fd >= 0); - - s->rx = g_string_new(""); - for (i = 0; i < MAX_IRQ; i++) { - s->irq_level[i] = false; - } - - if (getenv("QTEST_STOP")) { - kill(s->qemu_pid, SIGSTOP); - } - - /* ask endianness of the target */ - - s->big_endian = qtest_query_target_endianness(s); - - return s; -} - -QTestState *qtest_init(const char *extra_args) -{ - QTestState *s = qtest_init_without_qmp_handshake(false, extra_args); - - /* Read the QMP greeting and then do the handshake */ - qtest_qmp_discard_response(s, ""); - qtest_qmp_discard_response(s, "{ 'execute': 'qmp_capabilities' }"); - - return s; -} - -QTestState *qtest_vstartf(const char *fmt, va_list ap) -{ - char *args = g_strdup_vprintf(fmt, ap); - QTestState *s; - - s = qtest_start(args); - g_free(args); - global_qtest = NULL; - return s; -} - -QTestState *qtest_startf(const char *fmt, ...) -{ - va_list ap; - QTestState *s; - - va_start(ap, fmt); - s = qtest_vstartf(fmt, ap); - va_end(ap); - return s; -} - -void qtest_quit(QTestState *s) -{ - g_hook_destroy_link(&abrt_hooks, g_hook_find_data(&abrt_hooks, TRUE, s)); - - /* Uninstall SIGABRT handler on last instance */ - cleanup_sigabrt_handler(); - - kill_qemu(s); - close(s->fd); - close(s->qmp_fd); - g_string_free(s->rx, true); - g_free(s); -} - -static void socket_send(int fd, const char *buf, size_t size) -{ - size_t offset; - - offset = 0; - while (offset < size) { - ssize_t len; - - len = write(fd, buf + offset, size - offset); - if (len == -1 && errno == EINTR) { - continue; - } - - g_assert_no_errno(len); - g_assert_cmpint(len, >, 0); - - offset += len; - } -} - -static void socket_sendf(int fd, const char *fmt, va_list ap) -{ - gchar *str = g_strdup_vprintf(fmt, ap); - size_t size = strlen(str); - - socket_send(fd, str, size); - g_free(str); -} - -static void GCC_FMT_ATTR(2, 3) qtest_sendf(QTestState *s, const char *fmt, ...) -{ - va_list ap; - - va_start(ap, fmt); - socket_sendf(s->fd, fmt, ap); - va_end(ap); -} - -static GString *qtest_recv_line(QTestState *s) -{ - GString *line; - size_t offset; - char *eol; - - while ((eol = strchr(s->rx->str, '\n')) == NULL) { - ssize_t len; - char buffer[1024]; - - len = read(s->fd, buffer, sizeof(buffer)); - if (len == -1 && errno == EINTR) { - continue; - } - - if (len == -1 || len == 0) { - fprintf(stderr, "Broken pipe\n"); - exit(1); - } - - g_string_append_len(s->rx, buffer, len); - } - - offset = eol - s->rx->str; - line = g_string_new_len(s->rx->str, offset); - g_string_erase(s->rx, 0, offset + 1); - - return line; -} - -static gchar **qtest_rsp(QTestState *s, int expected_args) -{ - GString *line; - gchar **words; - int i; - -redo: - line = qtest_recv_line(s); - words = g_strsplit(line->str, " ", 0); - g_string_free(line, TRUE); - - if (strcmp(words[0], "IRQ") == 0) { - long irq; - int ret; - - g_assert(words[1] != NULL); - g_assert(words[2] != NULL); - - ret = qemu_strtol(words[2], NULL, 0, &irq); - g_assert(!ret); - g_assert_cmpint(irq, >=, 0); - g_assert_cmpint(irq, <, MAX_IRQ); - - if (strcmp(words[1], "raise") == 0) { - s->irq_level[irq] = true; - } else { - s->irq_level[irq] = false; - } - - g_strfreev(words); - goto redo; - } - - g_assert(words[0] != NULL); - g_assert_cmpstr(words[0], ==, "OK"); - - if (expected_args) { - for (i = 0; i < expected_args; i++) { - g_assert(words[i] != NULL); - } - } else { - g_strfreev(words); - } - - return words; -} - -static int qtest_query_target_endianness(QTestState *s) -{ - gchar **args; - int big_endian; - - qtest_sendf(s, "endianness\n"); - args = qtest_rsp(s, 1); - g_assert(strcmp(args[1], "big") == 0 || strcmp(args[1], "little") == 0); - big_endian = strcmp(args[1], "big") == 0; - g_strfreev(args); - - return big_endian; -} - -typedef struct { - JSONMessageParser parser; - QDict *response; -} QMPResponseParser; - -static void qmp_response(JSONMessageParser *parser, GQueue *tokens) -{ - QMPResponseParser *qmp = container_of(parser, QMPResponseParser, parser); - QObject *obj; - - obj = json_parser_parse(tokens, NULL); - if (!obj) { - fprintf(stderr, "QMP JSON response parsing failed\n"); - exit(1); - } - - g_assert(!qmp->response); - qmp->response = qobject_to(QDict, obj); - g_assert(qmp->response); -} - -QDict *qmp_fd_receive(int fd) -{ - QMPResponseParser qmp; - bool log = getenv("QTEST_LOG") != NULL; - - qmp.response = NULL; - json_message_parser_init(&qmp.parser, qmp_response); - while (!qmp.response) { - ssize_t len; - char c; - - len = read(fd, &c, 1); - if (len == -1 && errno == EINTR) { - continue; - } - - if (len == -1 || len == 0) { - fprintf(stderr, "Broken pipe\n"); - exit(1); - } - - if (log) { - len = write(2, &c, 1); - } - json_message_parser_feed(&qmp.parser, &c, 1); - } - json_message_parser_destroy(&qmp.parser); - - return qmp.response; -} - -QDict *qtest_qmp_receive(QTestState *s) -{ - return qmp_fd_receive(s->qmp_fd); -} - -/** - * Allow users to send a message without waiting for the reply, - * in the case that they choose to discard all replies up until - * a particular EVENT is received. - */ -void qmp_fd_sendv(int fd, const char *fmt, va_list ap) -{ - va_list ap_copy; - QObject *qobj; - - /* qobject_from_jsonv() silently eats leading 0xff as invalid - * JSON, but we want to test sending them over the wire to force - * resyncs */ - if (*fmt == '\377') { - socket_send(fd, fmt, 1); - fmt++; - } - - /* Going through qobject ensures we escape strings properly. - * This seemingly unnecessary copy is required in case va_list - * is an array type. - */ - va_copy(ap_copy, ap); - qobj = qobject_from_jsonv(fmt, &ap_copy, &error_abort); - va_end(ap_copy); - - /* No need to send anything for an empty QObject. */ - if (qobj) { - int log = getenv("QTEST_LOG") != NULL; - QString *qstr = qobject_to_json(qobj); - const char *str; - - /* - * BUG: QMP doesn't react to input until it sees a newline, an - * object, or an array. Work-around: give it a newline. - */ - qstring_append_chr(qstr, '\n'); - str = qstring_get_str(qstr); - - if (log) { - fprintf(stderr, "%s", str); - } - /* Send QMP request */ - socket_send(fd, str, qstring_get_length(qstr)); - - qobject_unref(qstr); - qobject_unref(qobj); - } -} - -void qtest_async_qmpv(QTestState *s, const char *fmt, va_list ap) -{ - qmp_fd_sendv(s->qmp_fd, fmt, ap); -} - -QDict *qmp_fdv(int fd, const char *fmt, va_list ap) -{ - qmp_fd_sendv(fd, fmt, ap); - - return qmp_fd_receive(fd); -} - -QDict *qtest_qmpv(QTestState *s, const char *fmt, va_list ap) -{ - qtest_async_qmpv(s, fmt, ap); - - /* Receive reply */ - return qtest_qmp_receive(s); -} - -QDict *qmp_fd(int fd, const char *fmt, ...) -{ - va_list ap; - QDict *response; - - va_start(ap, fmt); - response = qmp_fdv(fd, fmt, ap); - va_end(ap); - return response; -} - -void qmp_fd_send(int fd, const char *fmt, ...) -{ - va_list ap; - - va_start(ap, fmt); - qmp_fd_sendv(fd, fmt, ap); - va_end(ap); -} - -QDict *qtest_qmp(QTestState *s, const char *fmt, ...) -{ - va_list ap; - QDict *response; - - va_start(ap, fmt); - response = qtest_qmpv(s, fmt, ap); - va_end(ap); - return response; -} - -void qtest_async_qmp(QTestState *s, const char *fmt, ...) -{ - va_list ap; - - va_start(ap, fmt); - qtest_async_qmpv(s, fmt, ap); - va_end(ap); -} - -void qtest_qmpv_discard_response(QTestState *s, const char *fmt, va_list ap) -{ - QDict *response = qtest_qmpv(s, fmt, ap); - qobject_unref(response); -} - -void qtest_qmp_discard_response(QTestState *s, const char *fmt, ...) -{ - va_list ap; - QDict *response; - - va_start(ap, fmt); - response = qtest_qmpv(s, fmt, ap); - va_end(ap); - qobject_unref(response); -} - -QDict *qtest_qmp_eventwait_ref(QTestState *s, const char *event) -{ - QDict *response; - - for (;;) { - response = qtest_qmp_receive(s); - if ((qdict_haskey(response, "event")) && - (strcmp(qdict_get_str(response, "event"), event) == 0)) { - return response; - } - qobject_unref(response); - } -} - -void qtest_qmp_eventwait(QTestState *s, const char *event) -{ - QDict *response; - - response = qtest_qmp_eventwait_ref(s, event); - qobject_unref(response); -} - -char *qtest_hmpv(QTestState *s, const char *fmt, va_list ap) -{ - char *cmd; - QDict *resp; - char *ret; - - cmd = g_strdup_vprintf(fmt, ap); - resp = qtest_qmp(s, "{'execute': 'human-monitor-command'," - " 'arguments': {'command-line': %s}}", - cmd); - ret = g_strdup(qdict_get_try_str(resp, "return")); - while (ret == NULL && qdict_get_try_str(resp, "event")) { - /* Ignore asynchronous QMP events */ - qobject_unref(resp); - resp = qtest_qmp_receive(s); - ret = g_strdup(qdict_get_try_str(resp, "return")); - } - g_assert(ret); - qobject_unref(resp); - g_free(cmd); - return ret; -} - -char *qtest_hmp(QTestState *s, const char *fmt, ...) -{ - va_list ap; - char *ret; - - va_start(ap, fmt); - ret = qtest_hmpv(s, fmt, ap); - va_end(ap); - return ret; -} - -const char *qtest_get_arch(void) -{ - const char *qemu = qtest_qemu_binary(); - const char *end = strrchr(qemu, '/'); - - return end + strlen("/qemu-system-"); -} - -bool qtest_get_irq(QTestState *s, int num) -{ - /* dummy operation in order to make sure irq is up to date */ - qtest_inb(s, 0); - - return s->irq_level[num]; -} - -static int64_t qtest_clock_rsp(QTestState *s) -{ - gchar **words; - int64_t clock; - words = qtest_rsp(s, 2); - clock = g_ascii_strtoll(words[1], NULL, 0); - g_strfreev(words); - return clock; -} - -int64_t qtest_clock_step_next(QTestState *s) -{ - qtest_sendf(s, "clock_step\n"); - return qtest_clock_rsp(s); -} - -int64_t qtest_clock_step(QTestState *s, int64_t step) -{ - qtest_sendf(s, "clock_step %"PRIi64"\n", step); - return qtest_clock_rsp(s); -} - -int64_t qtest_clock_set(QTestState *s, int64_t val) -{ - qtest_sendf(s, "clock_set %"PRIi64"\n", val); - return qtest_clock_rsp(s); -} - -void qtest_irq_intercept_out(QTestState *s, const char *qom_path) -{ - qtest_sendf(s, "irq_intercept_out %s\n", qom_path); - qtest_rsp(s, 0); -} - -void qtest_irq_intercept_in(QTestState *s, const char *qom_path) -{ - qtest_sendf(s, "irq_intercept_in %s\n", qom_path); - qtest_rsp(s, 0); -} - -static void qtest_out(QTestState *s, const char *cmd, uint16_t addr, uint32_t value) -{ - qtest_sendf(s, "%s 0x%x 0x%x\n", cmd, addr, value); - qtest_rsp(s, 0); -} - -void qtest_outb(QTestState *s, uint16_t addr, uint8_t value) -{ - qtest_out(s, "outb", addr, value); -} - -void qtest_outw(QTestState *s, uint16_t addr, uint16_t value) -{ - qtest_out(s, "outw", addr, value); -} - -void qtest_outl(QTestState *s, uint16_t addr, uint32_t value) -{ - qtest_out(s, "outl", addr, value); -} - -static uint32_t qtest_in(QTestState *s, const char *cmd, uint16_t addr) -{ - gchar **args; - int ret; - unsigned long value; - - qtest_sendf(s, "%s 0x%x\n", cmd, addr); - args = qtest_rsp(s, 2); - ret = qemu_strtoul(args[1], NULL, 0, &value); - g_assert(!ret && value <= UINT32_MAX); - g_strfreev(args); - - return value; -} - -uint8_t qtest_inb(QTestState *s, uint16_t addr) -{ - return qtest_in(s, "inb", addr); -} - -uint16_t qtest_inw(QTestState *s, uint16_t addr) -{ - return qtest_in(s, "inw", addr); -} - -uint32_t qtest_inl(QTestState *s, uint16_t addr) -{ - return qtest_in(s, "inl", addr); -} - -static void qtest_write(QTestState *s, const char *cmd, uint64_t addr, - uint64_t value) -{ - qtest_sendf(s, "%s 0x%" PRIx64 " 0x%" PRIx64 "\n", cmd, addr, value); - qtest_rsp(s, 0); -} - -void qtest_writeb(QTestState *s, uint64_t addr, uint8_t value) -{ - qtest_write(s, "writeb", addr, value); -} - -void qtest_writew(QTestState *s, uint64_t addr, uint16_t value) -{ - qtest_write(s, "writew", addr, value); -} - -void qtest_writel(QTestState *s, uint64_t addr, uint32_t value) -{ - qtest_write(s, "writel", addr, value); -} - -void qtest_writeq(QTestState *s, uint64_t addr, uint64_t value) -{ - qtest_write(s, "writeq", addr, value); -} - -static uint64_t qtest_read(QTestState *s, const char *cmd, uint64_t addr) -{ - gchar **args; - int ret; - uint64_t value; - - qtest_sendf(s, "%s 0x%" PRIx64 "\n", cmd, addr); - args = qtest_rsp(s, 2); - ret = qemu_strtou64(args[1], NULL, 0, &value); - g_assert(!ret); - g_strfreev(args); - - return value; -} - -uint8_t qtest_readb(QTestState *s, uint64_t addr) -{ - return qtest_read(s, "readb", addr); -} - -uint16_t qtest_readw(QTestState *s, uint64_t addr) -{ - return qtest_read(s, "readw", addr); -} - -uint32_t qtest_readl(QTestState *s, uint64_t addr) -{ - return qtest_read(s, "readl", addr); -} - -uint64_t qtest_readq(QTestState *s, uint64_t addr) -{ - return qtest_read(s, "readq", addr); -} - -static int hex2nib(char ch) -{ - if (ch >= '0' && ch <= '9') { - return ch - '0'; - } else if (ch >= 'a' && ch <= 'f') { - return 10 + (ch - 'a'); - } else if (ch >= 'A' && ch <= 'F') { - return 10 + (ch - 'a'); - } else { - return -1; - } -} - -void qtest_memread(QTestState *s, uint64_t addr, void *data, size_t size) -{ - uint8_t *ptr = data; - gchar **args; - size_t i; - - if (!size) { - return; - } - - qtest_sendf(s, "read 0x%" PRIx64 " 0x%zx\n", addr, size); - args = qtest_rsp(s, 2); - - for (i = 0; i < size; i++) { - ptr[i] = hex2nib(args[1][2 + (i * 2)]) << 4; - ptr[i] |= hex2nib(args[1][2 + (i * 2) + 1]); - } - - g_strfreev(args); -} - -uint64_t qtest_rtas_call(QTestState *s, const char *name, - uint32_t nargs, uint64_t args, - uint32_t nret, uint64_t ret) -{ - qtest_sendf(s, "rtas %s %u 0x%"PRIx64" %u 0x%"PRIx64"\n", - name, nargs, args, nret, ret); - qtest_rsp(s, 0); - return 0; -} - -void qtest_add_func(const char *str, void (*fn)(void)) -{ - gchar *path = g_strdup_printf("/%s/%s", qtest_get_arch(), str); - g_test_add_func(path, fn); - g_free(path); -} - -void qtest_add_data_func_full(const char *str, void *data, - void (*fn)(const void *), - GDestroyNotify data_free_func) -{ - gchar *path = g_strdup_printf("/%s/%s", qtest_get_arch(), str); - g_test_add_data_func_full(path, data, fn, data_free_func); - g_free(path); -} - -void qtest_add_data_func(const char *str, const void *data, - void (*fn)(const void *)) -{ - gchar *path = g_strdup_printf("/%s/%s", qtest_get_arch(), str); - g_test_add_data_func(path, data, fn); - g_free(path); -} - -void qtest_bufwrite(QTestState *s, uint64_t addr, const void *data, size_t size) -{ - gchar *bdata; - - bdata = g_base64_encode(data, size); - qtest_sendf(s, "b64write 0x%" PRIx64 " 0x%zx ", addr, size); - socket_send(s->fd, bdata, strlen(bdata)); - socket_send(s->fd, "\n", 1); - qtest_rsp(s, 0); - g_free(bdata); -} - -void qtest_bufread(QTestState *s, uint64_t addr, void *data, size_t size) -{ - gchar **args; - size_t len; - - qtest_sendf(s, "b64read 0x%" PRIx64 " 0x%zx\n", addr, size); - args = qtest_rsp(s, 2); - - g_base64_decode_inplace(args[1], &len); - if (size != len) { - fprintf(stderr, "bufread: asked for %zu bytes but decoded %zu\n", - size, len); - len = MIN(len, size); - } - - memcpy(data, args[1], len); - g_strfreev(args); -} - -void qtest_memwrite(QTestState *s, uint64_t addr, const void *data, size_t size) -{ - const uint8_t *ptr = data; - size_t i; - char *enc; - - if (!size) { - return; - } - - enc = g_malloc(2 * size + 1); - - for (i = 0; i < size; i++) { - sprintf(&enc[i * 2], "%02x", ptr[i]); - } - - qtest_sendf(s, "write 0x%" PRIx64 " 0x%zx 0x%s\n", addr, size, enc); - qtest_rsp(s, 0); - g_free(enc); -} - -void qtest_memset(QTestState *s, uint64_t addr, uint8_t pattern, size_t size) -{ - qtest_sendf(s, "memset 0x%" PRIx64 " 0x%zx 0x%02x\n", addr, size, pattern); - qtest_rsp(s, 0); -} - -QDict *qmp(const char *fmt, ...) -{ - va_list ap; - QDict *response; - - va_start(ap, fmt); - response = qtest_qmpv(global_qtest, fmt, ap); - va_end(ap); - return response; -} - -void qmp_async(const char *fmt, ...) -{ - va_list ap; - - va_start(ap, fmt); - qtest_async_qmpv(global_qtest, fmt, ap); - va_end(ap); -} - -void qmp_discard_response(const char *fmt, ...) -{ - va_list ap; - - va_start(ap, fmt); - qtest_qmpv_discard_response(global_qtest, fmt, ap); - va_end(ap); -} -char *hmp(const char *fmt, ...) -{ - va_list ap; - char *ret; - - va_start(ap, fmt); - ret = qtest_hmpv(global_qtest, fmt, ap); - va_end(ap); - return ret; -} - -bool qtest_big_endian(QTestState *s) -{ - return s->big_endian; -} - -void qtest_cb_for_every_machine(void (*cb)(const char *machine)) -{ - QDict *response, *minfo; - QList *list; - const QListEntry *p; - QObject *qobj; - QString *qstr; - const char *mname; - - qtest_start("-machine none"); - response = qmp("{ 'execute': 'query-machines' }"); - g_assert(response); - list = qdict_get_qlist(response, "return"); - g_assert(list); - - for (p = qlist_first(list); p; p = qlist_next(p)) { - minfo = qobject_to(QDict, qlist_entry_obj(p)); - g_assert(minfo); - qobj = qdict_get(minfo, "name"); - g_assert(qobj); - qstr = qobject_to(QString, qobj); - g_assert(qstr); - mname = qstring_get_str(qstr); - cb(mname); - } - - qtest_end(); - qobject_unref(response); -} - -/* - * Generic hot-plugging test via the device_add QMP command. - */ -void qtest_qmp_device_add(const char *driver, const char *id, const char *fmt, - ...) -{ - QDict *response; - char *cmd, *opts = NULL; - va_list va; - - if (fmt) { - va_start(va, fmt); - opts = g_strdup_vprintf(fmt, va); - va_end(va); - } - - cmd = g_strdup_printf("{'execute': 'device_add'," - " 'arguments': { 'driver': '%s', 'id': '%s'%s%s }}", - driver, id, opts ? ", " : "", opts ? opts : ""); - g_free(opts); - - response = qmp(cmd); - g_free(cmd); - g_assert(response); - g_assert(!qdict_haskey(response, "event")); /* We don't expect any events */ - g_assert(!qdict_haskey(response, "error")); - qobject_unref(response); -} - -/* - * Generic hot-unplugging test via the device_del QMP command. - * Device deletion will get one response and one event. For example: - * - * {'execute': 'device_del','arguments': { 'id': 'scsi-hd'}} - * - * will get this one: - * - * {"timestamp": {"seconds": 1505289667, "microseconds": 569862}, - * "event": "DEVICE_DELETED", "data": {"device": "scsi-hd", - * "path": "/machine/peripheral/scsi-hd"}} - * - * and this one: - * - * {"return": {}} - * - * But the order of arrival may vary - so we've got to detect both. - */ -void qtest_qmp_device_del(const char *id) -{ - QDict *response1, *response2, *event = NULL; - char *cmd; - - cmd = g_strdup_printf("{'execute': 'device_del'," - " 'arguments': { 'id': '%s' }}", id); - response1 = qmp(cmd); - g_free(cmd); - g_assert(response1); - g_assert(!qdict_haskey(response1, "error")); - - response2 = qmp(""); - g_assert(response2); - g_assert(!qdict_haskey(response2, "error")); - - if (qdict_haskey(response1, "event")) { - event = response1; - } else if (qdict_haskey(response2, "event")) { - event = response2; - } - g_assert(event); - g_assert_cmpstr(qdict_get_str(event, "event"), ==, "DEVICE_DELETED"); - - qobject_unref(response1); - qobject_unref(response2); -} diff --git a/tests/qemu-iotests/core.12067 b/tests/qemu-iotests/core.12067 deleted file mode 100644 index 0ddb68f76aacbf14f48ba13b2ce9d4d52fab0ebf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22716416 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 z&5>9`^z%o{W~qP+SRg{EEPW`5* zw|hr3JH5N({Bd}mDvGvtrsv)F`?{y6r)L%b000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z0000000000000000000000000000000000000000000000000000000_%ZXKAG6;# zoHIH(UO#7iX7-$!;qh~BtdGzA7?uD40094=dvK56FFz-8)^|VuicU9O^X0pe(|`M} zB!0H3b(_KOe*P8ffBUZFp4Pv&`=9q8`>*zY%k|3h>+P!5YK@U~Q#UlS z@7G$c%dh>nkDgMi%{LZVR-K+E>(``7mEI!PvG?DVY<^-X*UaQ{-4X6w@v_1PYGUDS^TU$QRxy5PwR`xtbjz7(a^lQv-&*{nvpiSr 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 zc=-LosZCqI>`LWr=rh+7zcoJ~n7bRz}_OTkjh_XVH$!KYPiu&hz_8 z9}MkPxw`c7!yg&((Vm@YQ(sw|7P0EUcK2nxdf1NBhL8L>^^CDYA1&KEe&ClsUDR)L z*I%bid;YAx$3#95{lw?5q^IwibN(Ie*L1tdx8C^v>H0&&s)?!{=vwwD;6+ z*3KHc`<9&t-1JPu;%QaKx8J?-m*=k=aQVjmdsm+DMdCek7d?6LANBo;`re!P^LOqxtV9D-Ehg>PfR=V$ItKI`TR?_e4o7NlZ#?68FB95Pd?gt^bzgmev&^a?((}| zJo4j19vgqk$ik{F{f|nyVaUu~y(fB++srD9k2dikH2vq+Wy`+5ut000000JL4%VTuwV2l(~x6BYgEe=`QbbgFFe zunzzL000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000RJyK#r(g#Ycur*q0;m-X_a2#lIYTR{Se1$Ker*5ZbiG z?NHHA@0001he-90ZC`v?o#nrh2@t;c$ zKD0ZYet_V%9ZUZJ0002~oi!ZC=YMq7KmQ-f=R34aE-A9@peC1n0RR91@NcYr=gwRQ z5C8xG000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z0000000000000000000000000000000002M|FUC0A$FB#1Hd0A!8;<9fzn#(G=7W0 zxGBagG#w~r;mT4HT$~#j`hk!|PRLw}I%yW2PX)ON14^h6+C`)_cj6z?5J(s9bRhwY zl28}TqR`MTGNctOI5`0qDbIWFJDColerx&t;BwA+-{*PW=e+M(T>t<80000000000 z000000000000000004mhx0kQacF(-s>y8~5^>0MPo`|?x^4`gKT$}Bt|4ZCfwf>ct zR!jZ4E%me3h3m83BN4GHBJMlW>#~Q;%io2$QGee@z3#-3!)5&3<+a-^nc61+}SZb!99rg3QuAW{j_t{(4&mNAy);5<;FE$zX*~-B(pJn#H&^BNG z;OKho^TCyaB_{jNwX>gdPqfYZ2S)wqAETBpY3`Z-n(WpX}u>uIw*|6HP+`9qt| z|DmJnTkGeZ)$^}=l>481w)XM(8>#2NF`uT!-%8$QZ2t26^9<*Y-#P!9Q~S&LjLqkp z!$CQh`{%cJ_3RIRvi2YESJnam006$Rrez;Adv-V|wclJGG}AAw_G6Os>hhq;+@s6m z`IFDLP0imvDVWbCCp~uY^E&_i=i4TSYA;g}@vGIg)XUy-uJ)bJdmkOHKlj$1`YGR~ zu9LC9J-^gsopkTyTA%AX*7fgZ{>8TW`J=;){r=1Hpo#pDBI5VIYnwkV56b>cO2-FF ze`7vPjlY$=&Di|q`R5tVAHQ?{HK+EM^BJ4ZH;03A4)@P*@9No) zK3V&Z_bY1w0002rSW`1I8~+;s0000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z0000000000000000000000000000000000000000000000000000000004ZQm#@!u z&%E91uKsM)zY!68B4Tq+K3}*#+wF~rV-XS8X1nPval8NUKsUPhKpDR$B7T%{5wS42 z4kp)MOs>D&vPODjGIrmYUYBcTU-`Q*H|p>EsMno1a=47|dh*oz$)^{}{pLQ?D-mV= z#n{n(cw(uUesNrPGT|#(lPOu*_$B`(J3AFMoV$J!3Nd z!Igt0=H!7cx@=Q8HnrCyhHQk~EBHqY1h|IMZG z*>BGO*H0G8bLQuK#^!y^f9LhZChOI)50=_y=bsmwQ?HNDd)IqynIA5V_wL*8wN2g6 zxHq$6hU-u-(Hu5&RHrwU4l{0^G)A?uamiqs^ymq^u|75Ep9=rH? zzSG*r<8P#%|Hk~Jzs$|sjLl!3f1cs|@jK^Vb84SCpRxITb2w;n{{H#xUHM)jV)V({ z?HZfPS^xk5z&F;^%*@9B1^@s60000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z0000000000000000000000000000000000000000000000000000000U+3lPv)waq z_qzDsQU69n?1_lYIWrM);reX1HzM{&L|mKgrnkiH{=);^=;8xq{GN#TQN~5Y!sI%b zTz@gS{&LeASu^WD5)sED;=VJzE_=wn@^@iw)Zh0}uRC$%a2emV@9g@?rx(io*7~nR zl=T;5NB7~0rDposQ9s}7>gmODpYN6R=OW_xYi)Ds^kS27pRF7m$L2e}&^BNG^z3@Z zWc-6G2TRP=pN;ytcJ_1biMDzFz^K1}cU#75PTjZMquhtNTZeBR`svyAr*>}Z>it)b zx20ZudZwSXGWYz$)k!$dKr6mI4HH>Tpl!QFRu1u zlJn~Fpvl~$%Y){Ba*y8Vb;k~j`rnC&?@bEkeCA9~Mg0AZUKiI^%Y00Y18Oh#PR^!` z{%y4%-x}|E{AsoHx_95%_2=Gdn_GV!*ZRjw)|xHr!doL>usK|@Bf=i z-@idvQVBgKj$+x@9X?KuP-)Pua14N)HXZ+yx5$2eSF@#-fPSJaA~}E-+r%c z>V9TUF?sJC&sw)9o1gucxhvzbLp6T0YqMRZmowkD>HIUdn$$mXdF^&R|H)9qV;4Wq zcUt>+{EgJ}-nD2cFC*emL~M`A=gT+8>cbInDk5TKtRC61?%?0{)xD*C&G=A6 z{4Cc+#PLDf9kjn5w7=Q5$Ag3Xk48l9aqqcSoqJ|o`MEsaYajWfRiAl&x*0!zZFO_; z>Elg*XZ}|sn*C?u;rinz(S#*_kTWeZDZ&%x8H= zU+h%hoLFAVHM#zwg{fxEsmWeD_s)9GKiR21ob0ua9_%#ZC8nHPo>88|_{Q}5b0?P9 zo;t9nF8yzx=rsA_>bZ92%GisK^yf1s_sBNuYWBLey7~2dx61e&FUnqjJ=D*aYu}yk zHo5;a*RA%y^iDelF~6PbRvG*9Tz`J?g-%uCOU`_5V$$PFUzPcvzR;<1sMPYKhOWnJ0-b|zlxRKGg8ymj7R z%yp|6?kBqNmrnKfxo&fQgVgcSY=3?8oa+W_=Vv=r)_dgrTlJQ?(&qlzZ!Trv+wTA5@>8shUlsrW0DwDfw?b0PG6GqoZ->e@OrU000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z0CtO4ZjRN@yw|Ev9qYBfjEF-Kal3arJQ$Cav3lfxtlO#NU!3gcAOA1;A03R}d#+Vy z4H=i8%j3QFkxyFnndhgQ@y9ORSX+Ghc+=mx*Q*gR6cID=aQ*R_*=poiubuC8{p?KB z&-Ixrpk4nFHAM_5fMjU>{Q=exUp91d}v{+S(EkW-dWH2Cp*=LlfCxQ zgPmr)#FTpSjIxgLjp_C0F5Fmq>cF15^uK+g)8vb*=h~SoV=q3^pU;@wBipPi=kxjN z`EHf*IbLk-6%mUOaXHWG=2-LI=LcsO8`JCmSlU#Cw?|SW#;fQ}PwCc=}`{i7&S-H}xGfyh>vH1P@^8SCk(!cxd@&Ebx@#Z<>b3WH* zzvO@ajhQO*m9dXzJJo@I&QyPRqkrFzeb8y<=V$wO@#7CV)z*35lTi^d+;4I`b8QX| zKkF}ZIkpwI-O5;<;mw_2+IIgLyCeS>*H$;n{SUT`czo%re5ch<``?jr|6B8EIGWh( z=Gy$cJKwGH4ku3c+r0l0Q|iq5T$|79^W7@v@1NLP=XmD&{b#G2Wo>Hq0ssI200000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z0000000000_>Mg|5C8xG008oTZ3I`-ECWhWH6ZQ7@-0qY-FS=th?2n}NA?v6hA zun*bAT||k^#EQ|Dx`ws{0v1aC6n1RIhOlh{%|oHHCA6gJqOGN<4-yqg3`%{d_XIR< zId^8#)R(j6(Zbh=}PwcVp|n zFpyq4IG)xW8c%n3n&q}mvmB0y&QHeElRs^xExkEUY|qrOoxKefMpTq*_FL`B*JgFSa(~se$g=U%zQ%m3yMoEQhAr#myJG@1NZw|g~zjL{p8_Ugd>ce`q{ygU7+E!XW)h=qQ^_26!cKiGL zbASG3zj^TaIC7z$Itx1*IhN<>Oty<72j?!fha%$ep1DRIbN1w7k?+e}?`_;S_p5ck z-g<9iWMWOkjYr?f{W&&fOYy0n-Wo>3xx^-c?k>9Tx zH9Q`<|E}-VQ=VtyRI}_~y=l7g_>bhg@!FfWz4pubWB)ep3VGnWz5N;wtvb-_nYjktO=Ql?zoobeE_xESHS-!B`Ec5SyT>Jms zpZ>?rmV4fN`01bB5Y^wvrF%2BFx|-K_)Gi#W1Uyti`wpp{G%yf@G)IgtHn7000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000Dzv|XGYRpKOao@O|^@25wSiZ`mwAZ-`R`b5)o_q z<02x*m(Gl&iHN9eiip!AX(*x^cTaR}Id*+&AHBZnABc!sd;R_Re6RiO-u*khdGp+7 zPc9bUJTaIS?w?J0ZPzXiro4t6t7?z7FUE8K*z>dH-f!GfJ+IwA*XS(lXgs)ky0P%b z#p3v6yLjjC^|UTFrrbX?)h_aTy>wu%dY+hS7gfCd~JZ29#~ zYf}ID{jbba^To|>}N50sN=bT(K-}Cx&Jh$Kd{(K|n=l;HnwIX6~MC3inSI#@! z`*v}DwmfyTyEi%a;Ya5ipNWWpeS>M|WV^U7?`dzs9A7Hh#mhSe)A4g7Y1;$sV(GDg zYQI>|abDdI? zYR}YE6Git(A#&%qRR;&hAqq(d$(`JCiFA-_D6zInn&0c$vuC&4pAMhb_y7I=zW?9% z+tX`$=DnY_p7lJ>T6^ua_g-rjkID;n!pHVn2=>bf_WG2t-CLWF(CZ~yB*X*C0~w^L zD%B!E50FZZ5}V6a{%L2o|h}Qq$ z+6#rM{^>&q4a|E3K0zCVxU1@)kpuA&l^4E3TKMct4fTRL9I;r*q5f5QRCaiH-d$EApz$N!=?-yzzwR0bFfP&X{6OrTUL9>$30&*PL1FA$3t_nC|W7!)*rXNx%POipU>;zZ$-KdR_5o*f7G71#BHx!xn=cC zMW%z0+}vAP9`}6awlD7a%RQgC?X%<658`UbH27d4bZO zADzEk(l=STCw8_K>9$*$pL>3B`wMP-x$*x|`{ok2eRAb1o=o15Y9}N&)7KZS{72+@ z;g71$xt8RpsY?I2{T;Xe?e*^CGw*0i(rv0TzTEzS+a9~l)TqwcZ%MlSNynelzPas* z+aFFf(b=$Iza`mEq|DDff3|kn@Y8mGD{|R5rJU<8w>@*^T;lfMTsgP@=E^IpCNFuH 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 diff --git a/tests/qtest/bios-tables-test-allowed-diff.h.orig b/tests/qtest/bios-tables-test-allowed-diff.h.orig deleted file mode 100644 index 6a052c5044..0000000000 --- a/tests/qtest/bios-tables-test-allowed-diff.h.orig +++ /dev/null @@ -1,18 +0,0 @@ -/* List of comma-separated changed AML files to ignore */ -"tests/data/acpi/pc/DSDT", -"tests/data/acpi/pc/DSDT.acpihmat", -"tests/data/acpi/pc/DSDT.bridge", -"tests/data/acpi/pc/DSDT.cphp", -"tests/data/acpi/pc/DSDT.dimmpxm", -"tests/data/acpi/pc/DSDT.ipmikcs", -"tests/data/acpi/pc/DSDT.memhp", -"tests/data/acpi/pc/DSDT.numamem", -"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", diff --git a/tests/qtest/bios-tables-test-allowed-diff.h.rej b/tests/qtest/bios-tables-test-allowed-diff.h.rej deleted file mode 100644 index 31b3352111..0000000000 --- a/tests/qtest/bios-tables-test-allowed-diff.h.rej +++ /dev/null @@ -1,9 +0,0 @@ ---- tests/qtest/bios-tables-test-allowed-diff.h -+++ tests/qtest/bios-tables-test-allowed-diff.h -@@ -1,6 +1 @@ - /* List of comma-separated changed AML files to ignore */ --"tests/data/acpi/pc/SSDT.dimmpxm", --"tests/data/acpi/q35/SSDT.dimmpxm", --"tests/data/acpi/virt/DSDT.memhp", --"tests/data/acpi/virt/SSDT.memhp", --"tests/data/acpi/virt/NFIT.memhp", diff --git a/tests/qtest/bios-tables-test.c.orig b/tests/qtest/bios-tables-test.c.orig deleted file mode 100644 index a0b8d81659..0000000000 --- a/tests/qtest/bios-tables-test.c.orig +++ /dev/null @@ -1,1200 +0,0 @@ -/* - * Boot order test cases. - * - * Copyright (c) 2013 Red Hat Inc. - * - * Authors: - * Michael S. Tsirkin , - * - * This work is licensed under the terms of the GNU GPL, version 2 or later. - * See the COPYING file in the top-level directory. - */ - -/* - * How to add or update the tests: - * Contributor: - * 1. add empty files for new tables, if any, under tests/data/acpi - * 2. list any changed files in tests/qtest/bios-tables-test-allowed-diff.h - * 3. commit the above *before* making changes that affect the tables - * - * Contributor or ACPI Maintainer (steps 4-7 need to be redone to resolve conflicts - * in binary commit created in step 6): - * - * After 1-3 above tests will pass but ignore differences with the expected files. - * You will also notice that tests/qtest/bios-tables-test-allowed-diff.h lists - * a bunch of files. This is your hint that you need to do the below: - * 4. Run - * make check V=1 - * this will produce a bunch of warnings about differences - * beween actual and expected ACPI tables. If you have IASL installed, - * they will also be disassembled so you can look at the disassembled - * output. If not - disassemble them yourself in any way you like. - * Look at the differences - make sure they make sense and match what the - * changes you are merging are supposed to do. - * Save the changes, preferably in form of ASL diff for the commit log in - * step 6. - * - * 5. From build directory, run: - * $(SRC_PATH)/tests/data/acpi/rebuild-expected-aml.sh - * 6. Now commit any changes to the expected binary, include diff from step 4 - * in commit log. - * 7. Before sending patches to the list (Contributor) - * or before doing a pull request (Maintainer), make sure - * tests/qtest/bios-tables-test-allowed-diff.h is empty - this will ensure - * following changes to ACPI tables will be noticed. - * - * The resulting patchset/pull request then looks like this: - * - patch 1: list changed files in tests/qtest/bios-tables-test-allowed-diff.h. - * - patches 2 - n: real changes, may contain multiple patches. - * - patch n + 1: update golden master binaries and empty - * tests/qtest/bios-tables-test-allowed-diff.h - */ - -#include "qemu/osdep.h" -#include -#include "qemu-common.h" -#include "hw/firmware/smbios.h" -#include "qemu/bitmap.h" -#include "acpi-utils.h" -#include "boot-sector.h" -#include "tpm-emu.h" -#include "hw/acpi/tpm.h" - - -#define MACHINE_PC "pc" -#define MACHINE_Q35 "q35" - -#define ACPI_REBUILD_EXPECTED_AML "TEST_ACPI_REBUILD_AML" - -typedef struct { - bool tcg_only; - const char *machine; - const char *variant; - const char *uefi_fl1; - const char *uefi_fl2; - const char *cd; - const uint64_t ram_start; - const uint64_t scan_len; - uint64_t rsdp_addr; - uint8_t rsdp_table[36 /* ACPI 2.0+ RSDP size */]; - GArray *tables; - uint32_t smbios_ep_addr; - struct smbios_21_entry_point smbios_ep_table; - uint16_t smbios_cpu_max_speed; - uint16_t smbios_cpu_curr_speed; - uint8_t *required_struct_types; - int required_struct_types_len; - QTestState *qts; -} test_data; - -static char disk[] = "tests/acpi-test-disk-XXXXXX"; -static const char *data_dir = "tests/data/acpi"; -#ifdef CONFIG_IASL -static const char *iasl = CONFIG_IASL; -#else -static const char *iasl; -#endif - -static bool compare_signature(const AcpiSdtTable *sdt, const char *signature) -{ - return !memcmp(sdt->aml, signature, 4); -} - -static void cleanup_table_descriptor(AcpiSdtTable *table) -{ - g_free(table->aml); - if (table->aml_file && - !table->tmp_files_retain && - g_strstr_len(table->aml_file, -1, "aml-")) { - unlink(table->aml_file); - } - g_free(table->aml_file); - g_free(table->asl); - if (table->asl_file && - !table->tmp_files_retain) { - unlink(table->asl_file); - } - g_free(table->asl_file); -} - -static void free_test_data(test_data *data) -{ - int i; - - for (i = 0; i < data->tables->len; ++i) { - cleanup_table_descriptor(&g_array_index(data->tables, AcpiSdtTable, i)); - } - - g_array_free(data->tables, true); -} - -static void test_acpi_rsdp_table(test_data *data) -{ - uint8_t *rsdp_table = data->rsdp_table; - - acpi_fetch_rsdp_table(data->qts, data->rsdp_addr, rsdp_table); - - switch (rsdp_table[15 /* Revision offset */]) { - case 0: /* ACPI 1.0 RSDP */ - /* With rev 1, checksum is only for the first 20 bytes */ - g_assert(!acpi_calc_checksum(rsdp_table, 20)); - break; - case 2: /* ACPI 2.0+ RSDP */ - /* With revision 2, we have 2 checksums */ - g_assert(!acpi_calc_checksum(rsdp_table, 20)); - g_assert(!acpi_calc_checksum(rsdp_table, 36)); - break; - default: - g_assert_not_reached(); - } -} - -static void test_acpi_rxsdt_table(test_data *data) -{ - const char *sig = "RSDT"; - AcpiSdtTable rsdt = {}; - int entry_size = 4; - int addr_off = 16 /* RsdtAddress */; - uint8_t *ent; - - if (data->rsdp_table[15 /* Revision offset */] != 0) { - addr_off = 24 /* XsdtAddress */; - entry_size = 8; - sig = "XSDT"; - } - /* read [RX]SDT table */ - acpi_fetch_table(data->qts, &rsdt.aml, &rsdt.aml_len, - &data->rsdp_table[addr_off], entry_size, sig, true); - - /* Load all tables and add to test list directly RSDT referenced tables */ - ACPI_FOREACH_RSDT_ENTRY(rsdt.aml, rsdt.aml_len, ent, entry_size) { - AcpiSdtTable ssdt_table = {}; - - acpi_fetch_table(data->qts, &ssdt_table.aml, &ssdt_table.aml_len, ent, - entry_size, NULL, true); - /* Add table to ASL test tables list */ - g_array_append_val(data->tables, ssdt_table); - } - cleanup_table_descriptor(&rsdt); -} - -static void test_acpi_fadt_table(test_data *data) -{ - /* FADT table is 1st */ - AcpiSdtTable table = g_array_index(data->tables, typeof(table), 0); - uint8_t *fadt_aml = table.aml; - uint32_t fadt_len = table.aml_len; - uint32_t val; - int dsdt_offset = 40 /* DSDT */; - int dsdt_entry_size = 4; - - g_assert(compare_signature(&table, "FACP")); - - /* Since DSDT/FACS isn't in RSDT, add them to ASL test list manually */ - memcpy(&val, fadt_aml + 112 /* Flags */, 4); - val = le32_to_cpu(val); - if (!(val & 1UL << 20 /* HW_REDUCED_ACPI */)) { - acpi_fetch_table(data->qts, &table.aml, &table.aml_len, - fadt_aml + 36 /* FIRMWARE_CTRL */, 4, "FACS", false); - g_array_append_val(data->tables, table); - } - - memcpy(&val, fadt_aml + dsdt_offset, 4); - val = le32_to_cpu(val); - if (!val) { - dsdt_offset = 140 /* X_DSDT */; - dsdt_entry_size = 8; - } - acpi_fetch_table(data->qts, &table.aml, &table.aml_len, - fadt_aml + dsdt_offset, dsdt_entry_size, "DSDT", true); - g_array_append_val(data->tables, table); - - memset(fadt_aml + 36, 0, 4); /* sanitize FIRMWARE_CTRL ptr */ - memset(fadt_aml + 40, 0, 4); /* sanitize DSDT ptr */ - if (fadt_aml[8 /* FADT Major Version */] >= 3) { - memset(fadt_aml + 132, 0, 8); /* sanitize X_FIRMWARE_CTRL ptr */ - memset(fadt_aml + 140, 0, 8); /* sanitize X_DSDT ptr */ - } - - /* update checksum */ - fadt_aml[9 /* Checksum */] = 0; - fadt_aml[9 /* Checksum */] -= acpi_calc_checksum(fadt_aml, fadt_len); -} - -static void dump_aml_files(test_data *data, bool rebuild) -{ - AcpiSdtTable *sdt; - GError *error = NULL; - gchar *aml_file = NULL; - gint fd; - ssize_t ret; - int i; - - for (i = 0; i < data->tables->len; ++i) { - const char *ext = data->variant ? data->variant : ""; - sdt = &g_array_index(data->tables, AcpiSdtTable, i); - g_assert(sdt->aml); - - if (rebuild) { - aml_file = g_strdup_printf("%s/%s/%.4s%s", data_dir, data->machine, - sdt->aml, ext); - fd = g_open(aml_file, O_WRONLY|O_TRUNC|O_CREAT, - S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH); - if (fd < 0) { - perror(aml_file); - } - g_assert(fd >= 0); - } else { - fd = g_file_open_tmp("aml-XXXXXX", &sdt->aml_file, &error); - g_assert_no_error(error); - } - - ret = qemu_write_full(fd, sdt->aml, sdt->aml_len); - g_assert(ret == sdt->aml_len); - - close(fd); - - g_free(aml_file); - } -} - -static bool load_asl(GArray *sdts, AcpiSdtTable *sdt) -{ - AcpiSdtTable *temp; - GError *error = NULL; - GString *command_line = g_string_new(iasl); - gint fd; - gchar *out, *out_err; - gboolean ret; - int i; - - fd = g_file_open_tmp("asl-XXXXXX.dsl", &sdt->asl_file, &error); - g_assert_no_error(error); - close(fd); - - /* build command line */ - g_string_append_printf(command_line, " -p %s ", sdt->asl_file); - if (compare_signature(sdt, "DSDT") || - compare_signature(sdt, "SSDT")) { - for (i = 0; i < sdts->len; ++i) { - temp = &g_array_index(sdts, AcpiSdtTable, i); - if (compare_signature(temp, "DSDT") || - compare_signature(temp, "SSDT")) { - g_string_append_printf(command_line, "-e %s ", temp->aml_file); - } - } - } - g_string_append_printf(command_line, "-d %s", sdt->aml_file); - - /* pass 'out' and 'out_err' in order to be redirected */ - ret = g_spawn_command_line_sync(command_line->str, &out, &out_err, NULL, &error); - g_assert_no_error(error); - if (ret) { - ret = g_file_get_contents(sdt->asl_file, &sdt->asl, - &sdt->asl_len, &error); - g_assert(ret); - g_assert_no_error(error); - ret = (sdt->asl_len > 0); - } - - g_free(out); - g_free(out_err); - g_string_free(command_line, true); - - return !ret; -} - -#define COMMENT_END "*/" -#define DEF_BLOCK "DefinitionBlock (" -#define BLOCK_NAME_END "," - -static GString *normalize_asl(gchar *asl_code) -{ - GString *asl = g_string_new(asl_code); - gchar *comment, *block_name; - - /* strip comments (different generation days) */ - comment = g_strstr_len(asl->str, asl->len, COMMENT_END); - if (comment) { - comment += strlen(COMMENT_END); - while (*comment == '\n') { - comment++; - } - asl = g_string_erase(asl, 0, comment - asl->str); - } - - /* strip def block name (it has file path in it) */ - if (g_str_has_prefix(asl->str, DEF_BLOCK)) { - block_name = g_strstr_len(asl->str, asl->len, BLOCK_NAME_END); - g_assert(block_name); - asl = g_string_erase(asl, 0, - block_name + sizeof(BLOCK_NAME_END) - asl->str); - } - - return asl; -} - -static GArray *load_expected_aml(test_data *data) -{ - int i; - AcpiSdtTable *sdt; - GError *error = NULL; - gboolean ret; - gsize aml_len; - - GArray *exp_tables = g_array_new(false, true, sizeof(AcpiSdtTable)); - if (getenv("V")) { - fputc('\n', stderr); - } - for (i = 0; i < data->tables->len; ++i) { - AcpiSdtTable exp_sdt; - gchar *aml_file = NULL; - const char *ext = data->variant ? data->variant : ""; - - sdt = &g_array_index(data->tables, AcpiSdtTable, i); - - memset(&exp_sdt, 0, sizeof(exp_sdt)); - -try_again: - aml_file = g_strdup_printf("%s/%s/%.4s%s", data_dir, data->machine, - sdt->aml, ext); - if (getenv("V")) { - fprintf(stderr, "Looking for expected file '%s'\n", aml_file); - } - if (g_file_test(aml_file, G_FILE_TEST_EXISTS)) { - exp_sdt.aml_file = aml_file; - } else if (*ext != '\0') { - /* try fallback to generic (extension less) expected file */ - ext = ""; - g_free(aml_file); - goto try_again; - } - g_assert(exp_sdt.aml_file); - if (getenv("V")) { - fprintf(stderr, "Using expected file '%s'\n", aml_file); - } - ret = g_file_get_contents(aml_file, (gchar **)&exp_sdt.aml, - &aml_len, &error); - exp_sdt.aml_len = aml_len; - g_assert(ret); - g_assert_no_error(error); - g_assert(exp_sdt.aml); - if (!exp_sdt.aml_len) { - fprintf(stderr, "Warning! zero length expected file '%s'\n", - aml_file); - } - - g_array_append_val(exp_tables, exp_sdt); - } - - return exp_tables; -} - -static bool test_acpi_find_diff_allowed(AcpiSdtTable *sdt) -{ - const gchar *allowed_diff_file[] = { -#include "bios-tables-test-allowed-diff.h" - NULL - }; - const gchar **f; - - for (f = allowed_diff_file; *f; ++f) { - if (!g_strcmp0(sdt->aml_file, *f)) { - return true; - } - } - return false; -} - -/* test the list of tables in @data->tables against reference tables */ -static void test_acpi_asl(test_data *data) -{ - int i; - AcpiSdtTable *sdt, *exp_sdt; - test_data exp_data; - gboolean exp_err, err, all_tables_match = true; - - memset(&exp_data, 0, sizeof(exp_data)); - exp_data.tables = load_expected_aml(data); - dump_aml_files(data, false); - for (i = 0; i < data->tables->len; ++i) { - GString *asl, *exp_asl; - - sdt = &g_array_index(data->tables, AcpiSdtTable, i); - exp_sdt = &g_array_index(exp_data.tables, AcpiSdtTable, i); - - if (sdt->aml_len == exp_sdt->aml_len && - !memcmp(sdt->aml, exp_sdt->aml, sdt->aml_len)) { - /* Identical table binaries: no need to disassemble. */ - continue; - } - - fprintf(stderr, - "acpi-test: Warning! %.4s binary file mismatch. " - "Actual [aml:%s], Expected [aml:%s].\n" - "See source file tests/qtest/bios-tables-test.c " - "for instructions on how to update expected files.\n", - exp_sdt->aml, sdt->aml_file, exp_sdt->aml_file); - - all_tables_match = all_tables_match && - test_acpi_find_diff_allowed(exp_sdt); - - /* - * don't try to decompile if IASL isn't present, in this case user - * will just 'get binary file mismatch' warnings and test failure - */ - if (!iasl) { - continue; - } - - err = load_asl(data->tables, sdt); - asl = normalize_asl(sdt->asl); - - exp_err = load_asl(exp_data.tables, exp_sdt); - exp_asl = normalize_asl(exp_sdt->asl); - - /* TODO: check for warnings */ - g_assert(!err || exp_err); - - if (g_strcmp0(asl->str, exp_asl->str)) { - sdt->tmp_files_retain = true; - if (exp_err) { - fprintf(stderr, - "Warning! iasl couldn't parse the expected aml\n"); - } else { - exp_sdt->tmp_files_retain = true; - fprintf(stderr, - "acpi-test: Warning! %.4s mismatch. " - "Actual [asl:%s, aml:%s], Expected [asl:%s, aml:%s].\n", - exp_sdt->aml, sdt->asl_file, sdt->aml_file, - exp_sdt->asl_file, exp_sdt->aml_file); - fflush(stderr); - if (getenv("V")) { - const char *diff_env = getenv("DIFF"); - const char *diff_cmd = diff_env ? diff_env : "diff -U 16"; - char *diff = g_strdup_printf("%s %s %s", diff_cmd, - exp_sdt->asl_file, sdt->asl_file); - int out = dup(STDOUT_FILENO); - int ret G_GNUC_UNUSED; - - dup2(STDERR_FILENO, STDOUT_FILENO); - ret = system(diff) ; - dup2(out, STDOUT_FILENO); - close(out); - g_free(diff); - } - } - } - g_string_free(asl, true); - g_string_free(exp_asl, true); - } - if (!iasl && !all_tables_match) { - fprintf(stderr, "to see ASL diff between mismatched files install IASL," - " rebuild QEMU from scratch and re-run tests with V=1" - " environment variable set"); - } - g_assert(all_tables_match); - - free_test_data(&exp_data); -} - -static bool smbios_ep_table_ok(test_data *data) -{ - struct smbios_21_entry_point *ep_table = &data->smbios_ep_table; - uint32_t addr = data->smbios_ep_addr; - - qtest_memread(data->qts, addr, ep_table, sizeof(*ep_table)); - if (memcmp(ep_table->anchor_string, "_SM_", 4)) { - return false; - } - if (memcmp(ep_table->intermediate_anchor_string, "_DMI_", 5)) { - return false; - } - if (ep_table->structure_table_length == 0) { - return false; - } - if (ep_table->number_of_structures == 0) { - return false; - } - if (acpi_calc_checksum((uint8_t *)ep_table, sizeof *ep_table) || - acpi_calc_checksum((uint8_t *)ep_table + 0x10, - sizeof *ep_table - 0x10)) { - return false; - } - return true; -} - -static void test_smbios_entry_point(test_data *data) -{ - uint32_t off; - - /* find smbios entry point structure */ - for (off = 0xf0000; off < 0x100000; off += 0x10) { - uint8_t sig[] = "_SM_"; - int i; - - for (i = 0; i < sizeof sig - 1; ++i) { - sig[i] = qtest_readb(data->qts, off + i); - } - - if (!memcmp(sig, "_SM_", sizeof sig)) { - /* signature match, but is this a valid entry point? */ - data->smbios_ep_addr = off; - if (smbios_ep_table_ok(data)) { - break; - } - } - } - - g_assert_cmphex(off, <, 0x100000); -} - -static inline bool smbios_single_instance(uint8_t type) -{ - switch (type) { - case 0: - case 1: - case 2: - case 3: - case 16: - case 32: - case 127: - return true; - default: - return false; - } -} - -static bool smbios_cpu_test(test_data *data, uint32_t addr) -{ - uint16_t expect_speed[2]; - uint16_t real; - int offset[2]; - int i; - - /* Check CPU speed for backward compatibility */ - offset[0] = offsetof(struct smbios_type_4, max_speed); - offset[1] = offsetof(struct smbios_type_4, current_speed); - expect_speed[0] = data->smbios_cpu_max_speed ? : 2000; - expect_speed[1] = data->smbios_cpu_curr_speed ? : 2000; - - for (i = 0; i < 2; i++) { - real = qtest_readw(data->qts, addr + offset[i]); - if (real != expect_speed[i]) { - fprintf(stderr, "Unexpected SMBIOS CPU speed: real %u expect %u\n", - real, expect_speed[i]); - return false; - } - } - - return true; -} - -static void test_smbios_structs(test_data *data) -{ - DECLARE_BITMAP(struct_bitmap, SMBIOS_MAX_TYPE+1) = { 0 }; - struct smbios_21_entry_point *ep_table = &data->smbios_ep_table; - uint32_t addr = le32_to_cpu(ep_table->structure_table_address); - int i, len, max_len = 0; - uint8_t type, prv, crt; - - /* walk the smbios tables */ - for (i = 0; i < le16_to_cpu(ep_table->number_of_structures); i++) { - - /* grab type and formatted area length from struct header */ - type = qtest_readb(data->qts, addr); - g_assert_cmpuint(type, <=, SMBIOS_MAX_TYPE); - len = qtest_readb(data->qts, addr + 1); - - /* single-instance structs must not have been encountered before */ - if (smbios_single_instance(type)) { - g_assert(!test_bit(type, struct_bitmap)); - } - set_bit(type, struct_bitmap); - - if (type == 4) { - g_assert(smbios_cpu_test(data, addr)); - } - - /* seek to end of unformatted string area of this struct ("\0\0") */ - prv = crt = 1; - while (prv || crt) { - prv = crt; - crt = qtest_readb(data->qts, addr + len); - len++; - } - - /* keep track of max. struct size */ - if (max_len < len) { - max_len = len; - g_assert_cmpuint(max_len, <=, ep_table->max_structure_size); - } - - /* start of next structure */ - addr += len; - } - - /* total table length and max struct size must match entry point values */ - g_assert_cmpuint(le16_to_cpu(ep_table->structure_table_length), ==, - addr - le32_to_cpu(ep_table->structure_table_address)); - g_assert_cmpuint(le16_to_cpu(ep_table->max_structure_size), ==, max_len); - - /* required struct types must all be present */ - for (i = 0; i < data->required_struct_types_len; i++) { - g_assert(test_bit(data->required_struct_types[i], struct_bitmap)); - } -} - -static void test_acpi_one(const char *params, test_data *data) -{ - char *args; - bool use_uefi = data->uefi_fl1 && data->uefi_fl2; - - if (use_uefi) { - /* - * TODO: convert '-drive if=pflash' to new syntax (see e33763be7cd3) - * when arm/virt boad starts to support it. - */ - args = g_strdup_printf("-machine %s %s -accel tcg -nodefaults -nographic " - "-drive if=pflash,format=raw,file=%s,readonly " - "-drive if=pflash,format=raw,file=%s,snapshot=on -cdrom %s %s", - data->machine, data->tcg_only ? "" : "-accel kvm", - data->uefi_fl1, data->uefi_fl2, data->cd, params ? params : ""); - - } else { - /* Disable kernel irqchip to be able to override apic irq0. */ - args = g_strdup_printf("-machine %s,kernel-irqchip=off %s -accel tcg " - "-net none -display none %s " - "-drive id=hd0,if=none,file=%s,format=raw " - "-device ide-hd,drive=hd0 ", - data->machine, data->tcg_only ? "" : "-accel kvm", - params ? params : "", disk); - } - - data->qts = qtest_init(args); - - if (use_uefi) { - g_assert(data->scan_len); - data->rsdp_addr = acpi_find_rsdp_address_uefi(data->qts, - data->ram_start, data->scan_len); - } else { - boot_sector_test(data->qts); - data->rsdp_addr = acpi_find_rsdp_address(data->qts); - g_assert_cmphex(data->rsdp_addr, <, 0x100000); - } - - data->tables = g_array_new(false, true, sizeof(AcpiSdtTable)); - test_acpi_rsdp_table(data); - test_acpi_rxsdt_table(data); - test_acpi_fadt_table(data); - - if (getenv(ACPI_REBUILD_EXPECTED_AML)) { - dump_aml_files(data, true); - } else { - test_acpi_asl(data); - } - - /* - * TODO: make SMBIOS tests work with UEFI firmware, - * Bug on uefi-test-tools to provide entry point: - * https://bugs.launchpad.net/qemu/+bug/1821884 - */ - if (!use_uefi) { - test_smbios_entry_point(data); - test_smbios_structs(data); - } - - qtest_quit(data->qts); - g_free(args); -} - -static uint8_t base_required_struct_types[] = { - 0, 1, 3, 4, 16, 17, 19, 32, 127 -}; - -static void test_acpi_piix4_tcg(void) -{ - test_data data; - - /* Supplying -machine accel argument overrides the default (qtest). - * This is to make guest actually run. - */ - memset(&data, 0, sizeof(data)); - data.machine = MACHINE_PC; - data.required_struct_types = base_required_struct_types; - data.required_struct_types_len = ARRAY_SIZE(base_required_struct_types); - test_acpi_one(NULL, &data); - free_test_data(&data); -} - -static void test_acpi_piix4_tcg_bridge(void) -{ - test_data data; - - memset(&data, 0, sizeof(data)); - data.machine = MACHINE_PC; - data.variant = ".bridge"; - data.required_struct_types = base_required_struct_types; - data.required_struct_types_len = ARRAY_SIZE(base_required_struct_types); - test_acpi_one("-device pci-bridge,chassis_nr=1", &data); - free_test_data(&data); -} - -<<<<<<< HEAD -static void test_acpi_piix4_bridge_hotplug(void) -======= -static void test_acpi_piix4_root_hotplug(void) ->>>>>>> tests/acpi: add a new unit test to test hotplug off/on feature on the root pci bus -{ - test_data data; - - memset(&data, 0, sizeof(data)); - data.machine = MACHINE_PC; -<<<<<<< HEAD - 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); -======= - 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", &data); ->>>>>>> tests/acpi: add a new unit test to test hotplug off/on feature on the root pci bus - free_test_data(&data); -} - -static void test_acpi_q35_tcg(void) -{ - test_data data; - - memset(&data, 0, sizeof(data)); - data.machine = MACHINE_Q35; - data.required_struct_types = base_required_struct_types; - data.required_struct_types_len = ARRAY_SIZE(base_required_struct_types); - test_acpi_one(NULL, &data); - free_test_data(&data); - - data.smbios_cpu_max_speed = 3000; - data.smbios_cpu_curr_speed = 2600; - test_acpi_one("-smbios type=4,max-speed=3000,current-speed=2600", &data); - free_test_data(&data); -} - -static void test_acpi_q35_tcg_bridge(void) -{ - test_data data; - - memset(&data, 0, sizeof(data)); - data.machine = MACHINE_Q35; - data.variant = ".bridge"; - data.required_struct_types = base_required_struct_types; - data.required_struct_types_len = ARRAY_SIZE(base_required_struct_types); - test_acpi_one("-device pci-bridge,chassis_nr=1", - &data); - free_test_data(&data); -} - -static void test_acpi_q35_tcg_mmio64(void) -{ - test_data data = { - .machine = MACHINE_Q35, - .variant = ".mmio64", - .required_struct_types = base_required_struct_types, - .required_struct_types_len = ARRAY_SIZE(base_required_struct_types) - }; - - test_acpi_one("-m 128M,slots=1,maxmem=2G " - "-object memory-backend-ram,id=ram0,size=128M " - "-numa node,memdev=ram0 " - "-device pci-testdev,membar=2G", - &data); - free_test_data(&data); -} - -static void test_acpi_piix4_tcg_cphp(void) -{ - test_data data; - - memset(&data, 0, sizeof(data)); - data.machine = MACHINE_PC; - data.variant = ".cphp"; - test_acpi_one("-smp 2,cores=3,sockets=2,maxcpus=6" - " -object memory-backend-ram,id=ram0,size=64M" - " -object memory-backend-ram,id=ram1,size=64M" - " -numa node,memdev=ram0 -numa node,memdev=ram1" - " -numa dist,src=0,dst=1,val=21", - &data); - free_test_data(&data); -} - -static void test_acpi_q35_tcg_cphp(void) -{ - test_data data; - - memset(&data, 0, sizeof(data)); - data.machine = MACHINE_Q35; - data.variant = ".cphp"; - test_acpi_one(" -smp 2,cores=3,sockets=2,maxcpus=6" - " -object memory-backend-ram,id=ram0,size=64M" - " -object memory-backend-ram,id=ram1,size=64M" - " -numa node,memdev=ram0 -numa node,memdev=ram1" - " -numa dist,src=0,dst=1,val=21", - &data); - free_test_data(&data); -} - -static uint8_t ipmi_required_struct_types[] = { - 0, 1, 3, 4, 16, 17, 19, 32, 38, 127 -}; - -static void test_acpi_q35_tcg_ipmi(void) -{ - test_data data; - - memset(&data, 0, sizeof(data)); - data.machine = MACHINE_Q35; - data.variant = ".ipmibt"; - data.required_struct_types = ipmi_required_struct_types; - data.required_struct_types_len = ARRAY_SIZE(ipmi_required_struct_types); - test_acpi_one("-device ipmi-bmc-sim,id=bmc0" - " -device isa-ipmi-bt,bmc=bmc0", - &data); - free_test_data(&data); -} - -static void test_acpi_piix4_tcg_ipmi(void) -{ - test_data data; - - /* Supplying -machine accel argument overrides the default (qtest). - * This is to make guest actually run. - */ - memset(&data, 0, sizeof(data)); - data.machine = MACHINE_PC; - data.variant = ".ipmikcs"; - data.required_struct_types = ipmi_required_struct_types; - data.required_struct_types_len = ARRAY_SIZE(ipmi_required_struct_types); - test_acpi_one("-device ipmi-bmc-sim,id=bmc0" - " -device isa-ipmi-kcs,irq=0,bmc=bmc0", - &data); - free_test_data(&data); -} - -static void test_acpi_q35_tcg_memhp(void) -{ - test_data data; - - memset(&data, 0, sizeof(data)); - data.machine = MACHINE_Q35; - data.variant = ".memhp"; - test_acpi_one(" -m 128,slots=3,maxmem=1G" - " -object memory-backend-ram,id=ram0,size=64M" - " -object memory-backend-ram,id=ram1,size=64M" - " -numa node,memdev=ram0 -numa node,memdev=ram1" - " -numa dist,src=0,dst=1,val=21", - &data); - free_test_data(&data); -} - -static void test_acpi_piix4_tcg_memhp(void) -{ - test_data data; - - memset(&data, 0, sizeof(data)); - data.machine = MACHINE_PC; - data.variant = ".memhp"; - test_acpi_one(" -m 128,slots=3,maxmem=1G" - " -object memory-backend-ram,id=ram0,size=64M" - " -object memory-backend-ram,id=ram1,size=64M" - " -numa node,memdev=ram0 -numa node,memdev=ram1" - " -numa dist,src=0,dst=1,val=21", - &data); - free_test_data(&data); -} - -static void test_acpi_q35_tcg_numamem(void) -{ - test_data data; - - memset(&data, 0, sizeof(data)); - data.machine = MACHINE_Q35; - data.variant = ".numamem"; - test_acpi_one(" -object memory-backend-ram,id=ram0,size=128M" - " -numa node -numa node,memdev=ram0", &data); - free_test_data(&data); -} - -static void test_acpi_piix4_tcg_numamem(void) -{ - test_data data; - - memset(&data, 0, sizeof(data)); - data.machine = MACHINE_PC; - data.variant = ".numamem"; - test_acpi_one(" -object memory-backend-ram,id=ram0,size=128M" - " -numa node -numa node,memdev=ram0", &data); - free_test_data(&data); -} - -uint64_t tpm_tis_base_addr; - -static void test_acpi_tcg_tpm(const char *machine, const char *tpm_if, - uint64_t base) -{ -#ifdef CONFIG_TPM - gchar *tmp_dir_name = g_strdup_printf("qemu-test_acpi_%s_tcg_%s.XXXXXX", - machine, tpm_if); - char *tmp_path = g_dir_make_tmp(tmp_dir_name, NULL); - TestState test; - test_data data; - GThread *thread; - char *args, *variant = g_strdup_printf(".%s", tpm_if); - - tpm_tis_base_addr = base; - - module_call_init(MODULE_INIT_QOM); - - test.addr = g_new0(SocketAddress, 1); - test.addr->type = SOCKET_ADDRESS_TYPE_UNIX; - test.addr->u.q_unix.path = g_build_filename(tmp_path, "sock", NULL); - g_mutex_init(&test.data_mutex); - g_cond_init(&test.data_cond); - test.data_cond_signal = false; - - thread = g_thread_new(NULL, tpm_emu_ctrl_thread, &test); - tpm_emu_test_wait_cond(&test); - - memset(&data, 0, sizeof(data)); - data.machine = machine; - data.variant = variant; - - args = g_strdup_printf( - " -chardev socket,id=chr,path=%s" - " -tpmdev emulator,id=dev,chardev=chr" - " -device tpm-%s,tpmdev=dev", - test.addr->u.q_unix.path, tpm_if); - - test_acpi_one(args, &data); - - g_thread_join(thread); - g_unlink(test.addr->u.q_unix.path); - qapi_free_SocketAddress(test.addr); - g_rmdir(tmp_path); - g_free(variant); - g_free(tmp_path); - g_free(tmp_dir_name); - g_free(args); - free_test_data(&data); -#else - g_test_skip("TPM disabled"); -#endif -} - -static void test_acpi_q35_tcg_tpm_tis(void) -{ - test_acpi_tcg_tpm("q35", "tis", 0xFED40000); -} - -static void test_acpi_tcg_dimm_pxm(const char *machine) -{ - test_data data; - - memset(&data, 0, sizeof(data)); - data.machine = machine; - data.variant = ".dimmpxm"; - test_acpi_one(" -machine nvdimm=on,nvdimm-persistence=cpu" - " -smp 4,sockets=4" - " -m 128M,slots=3,maxmem=1G" - " -object memory-backend-ram,id=ram0,size=32M" - " -object memory-backend-ram,id=ram1,size=32M" - " -object memory-backend-ram,id=ram2,size=32M" - " -object memory-backend-ram,id=ram3,size=32M" - " -numa node,memdev=ram0,nodeid=0" - " -numa node,memdev=ram1,nodeid=1" - " -numa node,memdev=ram2,nodeid=2" - " -numa node,memdev=ram3,nodeid=3" - " -numa cpu,node-id=0,socket-id=0" - " -numa cpu,node-id=1,socket-id=1" - " -numa cpu,node-id=2,socket-id=2" - " -numa cpu,node-id=3,socket-id=3" - " -object memory-backend-ram,id=ram4,size=128M" - " -object memory-backend-ram,id=nvm0,size=128M" - " -device pc-dimm,id=dimm0,memdev=ram4,node=1" - " -device nvdimm,id=dimm1,memdev=nvm0,node=2", - &data); - free_test_data(&data); -} - -static void test_acpi_q35_tcg_dimm_pxm(void) -{ - test_acpi_tcg_dimm_pxm(MACHINE_Q35); -} - -static void test_acpi_piix4_tcg_dimm_pxm(void) -{ - test_acpi_tcg_dimm_pxm(MACHINE_PC); -} - -static void test_acpi_virt_tcg_memhp(void) -{ - test_data data = { - .machine = "virt", - .tcg_only = true, - .uefi_fl1 = "pc-bios/edk2-aarch64-code.fd", - .uefi_fl2 = "pc-bios/edk2-arm-vars.fd", - .cd = "tests/data/uefi-boot-images/bios-tables-test.aarch64.iso.qcow2", - .ram_start = 0x40000000ULL, - .scan_len = 256ULL * 1024 * 1024, - }; - - data.variant = ".memhp"; - test_acpi_one(" -machine nvdimm=on" - " -cpu cortex-a57" - " -m 256M,slots=3,maxmem=1G" - " -object memory-backend-ram,id=ram0,size=128M" - " -object memory-backend-ram,id=ram1,size=128M" - " -numa node,memdev=ram0 -numa node,memdev=ram1" - " -numa dist,src=0,dst=1,val=21" - " -object memory-backend-ram,id=ram2,size=128M" - " -object memory-backend-ram,id=nvm0,size=128M" - " -device pc-dimm,id=dimm0,memdev=ram2,node=0" - " -device nvdimm,id=dimm1,memdev=nvm0,node=1", - &data); - - free_test_data(&data); - -} - -static void test_acpi_virt_tcg_numamem(void) -{ - test_data data = { - .machine = "virt", - .tcg_only = true, - .uefi_fl1 = "pc-bios/edk2-aarch64-code.fd", - .uefi_fl2 = "pc-bios/edk2-arm-vars.fd", - .cd = "tests/data/uefi-boot-images/bios-tables-test.aarch64.iso.qcow2", - .ram_start = 0x40000000ULL, - .scan_len = 128ULL * 1024 * 1024, - }; - - data.variant = ".numamem"; - test_acpi_one(" -cpu cortex-a57" - " -object memory-backend-ram,id=ram0,size=128M" - " -numa node,memdev=ram0", - &data); - - free_test_data(&data); - -} - -static void test_acpi_tcg_acpi_hmat(const char *machine) -{ - test_data data; - - memset(&data, 0, sizeof(data)); - data.machine = machine; - data.variant = ".acpihmat"; - test_acpi_one(" -machine hmat=on" - " -smp 2,sockets=2" - " -m 128M,slots=2,maxmem=1G" - " -object memory-backend-ram,size=64M,id=m0" - " -object memory-backend-ram,size=64M,id=m1" - " -numa node,nodeid=0,memdev=m0" - " -numa node,nodeid=1,memdev=m1,initiator=0" - " -numa cpu,node-id=0,socket-id=0" - " -numa cpu,node-id=0,socket-id=1" - " -numa hmat-lb,initiator=0,target=0,hierarchy=memory," - "data-type=access-latency,latency=1" - " -numa hmat-lb,initiator=0,target=0,hierarchy=memory," - "data-type=access-bandwidth,bandwidth=65534M" - " -numa hmat-lb,initiator=0,target=1,hierarchy=memory," - "data-type=access-latency,latency=65534" - " -numa hmat-lb,initiator=0,target=1,hierarchy=memory," - "data-type=access-bandwidth,bandwidth=32767M" - " -numa hmat-cache,node-id=0,size=10K,level=1," - "associativity=direct,policy=write-back,line=8" - " -numa hmat-cache,node-id=1,size=10K,level=1," - "associativity=direct,policy=write-back,line=8", - &data); - free_test_data(&data); -} - -static void test_acpi_q35_tcg_acpi_hmat(void) -{ - test_acpi_tcg_acpi_hmat(MACHINE_Q35); -} - -static void test_acpi_piix4_tcg_acpi_hmat(void) -{ - test_acpi_tcg_acpi_hmat(MACHINE_PC); -} - -static void test_acpi_virt_tcg(void) -{ - test_data data = { - .machine = "virt", - .tcg_only = true, - .uefi_fl1 = "pc-bios/edk2-aarch64-code.fd", - .uefi_fl2 = "pc-bios/edk2-arm-vars.fd", - .cd = "tests/data/uefi-boot-images/bios-tables-test.aarch64.iso.qcow2", - .ram_start = 0x40000000ULL, - .scan_len = 128ULL * 1024 * 1024, - }; - - test_acpi_one("-cpu cortex-a57", &data); - free_test_data(&data); - - data.smbios_cpu_max_speed = 2900; - data.smbios_cpu_curr_speed = 2700; - test_acpi_one("-cpu cortex-a57 " - "-smbios type=4,max-speed=2900,current-speed=2700", &data); - free_test_data(&data); -} - -int main(int argc, char *argv[]) -{ - const char *arch = qtest_get_arch(); - int ret; - - g_test_init(&argc, &argv, NULL); - - if (strcmp(arch, "i386") == 0 || strcmp(arch, "x86_64") == 0) { - ret = boot_sector_init(disk); - if (ret) { - return ret; - } - - 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); -<<<<<<< HEAD - qtest_add_func("acpi/piix4/brhotplug", test_acpi_piix4_bridge_hotplug); -======= - qtest_add_func("acpi/piix4/hotplug", test_acpi_piix4_root_hotplug); ->>>>>>> tests/acpi: add a new unit test to test hotplug off/on feature on the root pci bus - 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); - qtest_add_func("acpi/piix4/ipmi", test_acpi_piix4_tcg_ipmi); - qtest_add_func("acpi/q35/ipmi", test_acpi_q35_tcg_ipmi); - qtest_add_func("acpi/piix4/cpuhp", test_acpi_piix4_tcg_cphp); - qtest_add_func("acpi/q35/cpuhp", test_acpi_q35_tcg_cphp); - qtest_add_func("acpi/piix4/memhp", test_acpi_piix4_tcg_memhp); - qtest_add_func("acpi/q35/memhp", test_acpi_q35_tcg_memhp); - qtest_add_func("acpi/piix4/numamem", test_acpi_piix4_tcg_numamem); - qtest_add_func("acpi/q35/numamem", test_acpi_q35_tcg_numamem); - qtest_add_func("acpi/piix4/dimmpxm", test_acpi_piix4_tcg_dimm_pxm); - qtest_add_func("acpi/q35/dimmpxm", test_acpi_q35_tcg_dimm_pxm); - qtest_add_func("acpi/piix4/acpihmat", test_acpi_piix4_tcg_acpi_hmat); - qtest_add_func("acpi/q35/acpihmat", test_acpi_q35_tcg_acpi_hmat); - } else if (strcmp(arch, "aarch64") == 0) { - qtest_add_func("acpi/virt", test_acpi_virt_tcg); - qtest_add_func("acpi/virt/numamem", test_acpi_virt_tcg_numamem); - qtest_add_func("acpi/virt/memhp", test_acpi_virt_tcg_memhp); - } - ret = g_test_run(); - boot_sector_cleanup(disk); - return ret; -} diff --git a/tests/qtest/bios-tables-test.c.rej b/tests/qtest/bios-tables-test.c.rej deleted file mode 100644 index aacd6ae220..0000000000 --- a/tests/qtest/bios-tables-test.c.rej +++ /dev/null @@ -1,22 +0,0 @@ ---- tests/qtest/bios-tables-test.c -+++ tests/qtest/bios-tables-test.c -@@ -927,12 +927,17 @@ static void test_acpi_virt_tcg_memhp(void) - }; - 20 - data.variant =3D ".memhp"; -- test_acpi_one(" -cpu cortex-a57" -+ test_acpi_one(" -machine nvdimm=3Don" -+ " -cpu cortex-a57" - " -m 256M,slots=3D3,maxmem=3D1G" - " -object memory-backend-ram,id=3Dram0,size=3D128M" - " -object memory-backend-ram,id=3Dram1,size=3D128M" - " -numa node,memdev=3Dram0 -numa node,memdev=3Dram1" -- " -numa dist,src=3D0,dst=3D1,val=3D21", -+ " -numa dist,src=3D0,dst=3D1,val=3D21" -+ " -object memory-backend-ram,id=3Dram2,size=3D128M" -+ " -object memory-backend-ram,id=3Dnvm0,size=3D128M" -+ " -device pc-dimm,id=3Ddimm0,memdev=3Dram2,node=3D0" -+ " -device nvdimm,id=3Ddimm1,memdev=3Dnvm0,node=3D1", - &data); - 20 - free_test_data(&data); diff --git a/tests/test-qapi-event.c b/tests/test-qapi-event.c deleted file mode 100644 index bdeb9095d4..0000000000 --- a/tests/test-qapi-event.c +++ /dev/null @@ -1,198 +0,0 @@ -/* AUTOMATICALLY GENERATED, DO NOT MODIFY */ - -/* - * schema-defined QAPI event functions - * - * Copyright (c) 2014 Wenchao Xia - * - * Authors: - * Wenchao Xia - * - * This work is licensed under the terms of the GNU LGPL, version 2.1 or later. - * See the COPYING.LIB file in the top-level directory. - * - */ - -#include "qemu/osdep.h" -#include "qemu-common.h" -#include "test-qapi-event.h" -#include "test-qapi-visit.h" -#include "qapi/qmp-output-visitor.h" -#include "qapi/qmp-event.h" - - -void qapi_event_send_event_a(Error **errp) -{ - QDict *qmp; - Error *err = NULL; - QMPEventFuncEmit emit; - - emit = qmp_event_get_func_emit(); - if (!emit) { - return; - } - - qmp = qmp_event_build_dict("EVENT_A"); - - emit(TEST_QAPI_EVENT_EVENT_A, qmp, &err); - - error_propagate(errp, err); - QDECREF(qmp); -} - -void qapi_event_send_event_b(Error **errp) -{ - QDict *qmp; - Error *err = NULL; - QMPEventFuncEmit emit; - - emit = qmp_event_get_func_emit(); - if (!emit) { - return; - } - - qmp = qmp_event_build_dict("EVENT_B"); - - emit(TEST_QAPI_EVENT_EVENT_B, qmp, &err); - - error_propagate(errp, err); - QDECREF(qmp); -} - -void qapi_event_send_event_c(bool has_a, int64_t a, bool has_b, UserDefOne *b, const char *c, Error **errp) -{ - QDict *qmp; - Error *err = NULL; - QMPEventFuncEmit emit; - QmpOutputVisitor *qov; - Visitor *v; - q_obj_EVENT_C_arg param = { - has_a, a, has_b, b, (char *)c - }; - - emit = qmp_event_get_func_emit(); - if (!emit) { - return; - } - - qmp = qmp_event_build_dict("EVENT_C"); - - qov = qmp_output_visitor_new(); - v = qmp_output_get_visitor(qov); - - visit_start_struct(v, "EVENT_C", NULL, 0, &err); - if (err) { - goto out; - } - visit_type_q_obj_EVENT_C_arg_members(v, ¶m, &err); - if (!err) { - visit_check_struct(v, &err); - } - visit_end_struct(v); - if (err) { - goto out; - } - - qdict_put_obj(qmp, "data", qmp_output_get_qobject(qov)); - emit(TEST_QAPI_EVENT_EVENT_C, qmp, &err); - -out: - qmp_output_visitor_cleanup(qov); - error_propagate(errp, err); - QDECREF(qmp); -} - -void qapi_event_send_event_d(EventStructOne *a, const char *b, bool has_c, const char *c, bool has_enum3, EnumOne enum3, Error **errp) -{ - QDict *qmp; - Error *err = NULL; - QMPEventFuncEmit emit; - QmpOutputVisitor *qov; - Visitor *v; - q_obj_EVENT_D_arg param = { - a, (char *)b, has_c, (char *)c, has_enum3, enum3 - }; - - emit = qmp_event_get_func_emit(); - if (!emit) { - return; - } - - qmp = qmp_event_build_dict("EVENT_D"); - - qov = qmp_output_visitor_new(); - v = qmp_output_get_visitor(qov); - - visit_start_struct(v, "EVENT_D", NULL, 0, &err); - if (err) { - goto out; - } - visit_type_q_obj_EVENT_D_arg_members(v, ¶m, &err); - if (!err) { - visit_check_struct(v, &err); - } - visit_end_struct(v); - if (err) { - goto out; - } - - qdict_put_obj(qmp, "data", qmp_output_get_qobject(qov)); - emit(TEST_QAPI_EVENT_EVENT_D, qmp, &err); - -out: - qmp_output_visitor_cleanup(qov); - error_propagate(errp, err); - QDECREF(qmp); -} - -void qapi_event_send___org_qemu_x_event(__org_qemu_x_Enum __org_qemu_x_member1, const char *__org_qemu_x_member2, bool has_q_wchar_t, int64_t q_wchar_t, Error **errp) -{ - QDict *qmp; - Error *err = NULL; - QMPEventFuncEmit emit; - QmpOutputVisitor *qov; - Visitor *v; - __org_qemu_x_Struct param = { - __org_qemu_x_member1, (char *)__org_qemu_x_member2, has_q_wchar_t, q_wchar_t - }; - - emit = qmp_event_get_func_emit(); - if (!emit) { - return; - } - - qmp = qmp_event_build_dict("__ORG.QEMU_X-EVENT"); - - qov = qmp_output_visitor_new(); - v = qmp_output_get_visitor(qov); - - visit_start_struct(v, "__ORG.QEMU_X-EVENT", NULL, 0, &err); - if (err) { - goto out; - } - visit_type___org_qemu_x_Struct_members(v, ¶m, &err); - if (!err) { - visit_check_struct(v, &err); - } - visit_end_struct(v); - if (err) { - goto out; - } - - qdict_put_obj(qmp, "data", qmp_output_get_qobject(qov)); - emit(TEST_QAPI_EVENT___ORG_QEMU_X_EVENT, qmp, &err); - -out: - qmp_output_visitor_cleanup(qov); - error_propagate(errp, err); - QDECREF(qmp); -} - -const char *const test_QAPIEvent_lookup[] = { - [TEST_QAPI_EVENT_EVENT_A] = "EVENT_A", - [TEST_QAPI_EVENT_EVENT_B] = "EVENT_B", - [TEST_QAPI_EVENT_EVENT_C] = "EVENT_C", - [TEST_QAPI_EVENT_EVENT_D] = "EVENT_D", - [TEST_QAPI_EVENT___ORG_QEMU_X_EVENT] = "__ORG.QEMU_X-EVENT", - [TEST_QAPI_EVENT__MAX] = NULL, -}; diff --git a/tests/test-qmp-introspect.c b/tests/test-qmp-introspect.c deleted file mode 100644 index edae06c64e..0000000000 --- a/tests/test-qmp-introspect.c +++ /dev/null @@ -1,58 +0,0 @@ -/* AUTOMATICALLY GENERATED, DO NOT MODIFY */ - -/* - * QAPI/QMP schema introspection - * - * Copyright (C) 2015 Red Hat, Inc. - * - * This work is licensed under the terms of the GNU LGPL, version 2.1 or later. - * See the COPYING.LIB file in the top-level directory. - * - */ - -#include "qemu/osdep.h" -#include "test-qmp-introspect.h" - -const char test_qmp_schema_json[] = "[" - "{\"arg-type\": \"0\", \"meta-type\": \"event\", \"name\": \"EVENT_A\"}, " - "{\"arg-type\": \"0\", \"meta-type\": \"event\", \"name\": \"EVENT_B\"}, " - "{\"arg-type\": \"1\", \"meta-type\": \"event\", \"name\": \"EVENT_C\"}, " - "{\"arg-type\": \"2\", \"meta-type\": \"event\", \"name\": \"EVENT_D\"}, " - "{\"arg-type\": \"3\", \"meta-type\": \"event\", \"name\": \"__ORG.QEMU_X-EVENT\"}, " - "{\"arg-type\": \"4\", \"meta-type\": \"command\", \"name\": \"__org.qemu_x-command\", \"ret-type\": \"5\"}, " - "{\"arg-type\": \"6\", \"meta-type\": \"command\", \"name\": \"guest-get-time\", \"ret-type\": \"int\"}, " - "{\"arg-type\": \"7\", \"meta-type\": \"command\", \"name\": \"guest-sync\", \"ret-type\": \"any\"}, " - "{\"arg-type\": \"0\", \"meta-type\": \"command\", \"name\": \"user_def_cmd\", \"ret-type\": \"0\"}, " - "{\"arg-type\": \"8\", \"meta-type\": \"command\", \"name\": \"user_def_cmd0\", \"ret-type\": \"8\"}, " - "{\"arg-type\": \"9\", \"meta-type\": \"command\", \"name\": \"user_def_cmd1\", \"ret-type\": \"0\"}, " - "{\"arg-type\": \"10\", \"meta-type\": \"command\", \"name\": \"user_def_cmd2\", \"ret-type\": \"11\"}, " - "{\"members\": [], \"meta-type\": \"object\", \"name\": \"0\"}, " - "{\"members\": [{\"default\": null, \"name\": \"a\", \"type\": \"int\"}, {\"default\": null, \"name\": \"b\", \"type\": \"12\"}, {\"name\": \"c\", \"type\": \"str\"}], \"meta-type\": \"object\", \"name\": \"1\"}, " - "{\"members\": [{\"name\": \"a\", \"type\": \"13\"}, {\"name\": \"b\", \"type\": \"str\"}, {\"default\": null, \"name\": \"c\", \"type\": \"str\"}, {\"default\": null, \"name\": \"enum3\", \"type\": \"14\"}], \"meta-type\": \"object\", \"name\": \"2\"}, " - "{\"members\": [{\"name\": \"__org.qemu_x-member1\", \"type\": \"15\"}, {\"name\": \"__org.qemu_x-member2\", \"type\": \"str\"}, {\"default\": null, \"name\": \"wchar-t\", \"type\": \"int\"}], \"meta-type\": \"object\", \"name\": \"3\"}, " - "{\"members\": [{\"name\": \"a\", \"type\": \"[15]\"}, {\"name\": \"b\", \"type\": \"[3]\"}, {\"name\": \"c\", \"type\": \"16\"}, {\"name\": \"d\", \"type\": \"17\"}], \"meta-type\": \"object\", \"name\": \"4\"}, " - "{\"members\": [{\"name\": \"type\", \"type\": \"18\"}], \"meta-type\": \"object\", \"name\": \"5\", \"tag\": \"type\", \"variants\": [{\"case\": \"__org.qemu_x-branch\", \"type\": \"19\"}]}, " - "{\"members\": [{\"name\": \"a\", \"type\": \"int\"}, {\"default\": null, \"name\": \"b\", \"type\": \"int\"}], \"meta-type\": \"object\", \"name\": \"6\"}, " - "{\"json-type\": \"int\", \"meta-type\": \"builtin\", \"name\": \"int\"}, " - "{\"members\": [{\"name\": \"arg\", \"type\": \"any\"}], \"meta-type\": \"object\", \"name\": \"7\"}, " - "{\"json-type\": \"value\", \"meta-type\": \"builtin\", \"name\": \"any\"}, " - "{\"members\": [], \"meta-type\": \"object\", \"name\": \"8\"}, " - "{\"members\": [{\"name\": \"ud1a\", \"type\": \"12\"}], \"meta-type\": \"object\", \"name\": \"9\"}, " - "{\"members\": [{\"name\": \"ud1a\", \"type\": \"12\"}, {\"default\": null, \"name\": \"ud1b\", \"type\": \"12\"}], \"meta-type\": \"object\", \"name\": \"10\"}, " - "{\"members\": [{\"name\": \"string0\", \"type\": \"str\"}, {\"name\": \"dict1\", \"type\": \"20\"}], \"meta-type\": \"object\", \"name\": \"11\"}, " - "{\"members\": [{\"name\": \"integer\", \"type\": \"int\"}, {\"name\": \"string\", \"type\": \"str\"}, {\"default\": null, \"name\": \"enum1\", \"type\": \"14\"}], \"meta-type\": \"object\", \"name\": \"12\"}, " - "{\"json-type\": \"string\", \"meta-type\": \"builtin\", \"name\": \"str\"}, " - "{\"members\": [{\"name\": \"struct1\", \"type\": \"12\"}, {\"name\": \"string\", \"type\": \"str\"}, {\"default\": null, \"name\": \"enum2\", \"type\": \"14\"}], \"meta-type\": \"object\", \"name\": \"13\"}, " - "{\"meta-type\": \"enum\", \"name\": \"14\", \"values\": [\"value1\", \"value2\", \"value3\"]}, " - "{\"meta-type\": \"enum\", \"name\": \"15\", \"values\": [\"__org.qemu_x-value\"]}, " - "{\"element-type\": \"15\", \"meta-type\": \"array\", \"name\": \"[15]\"}, " - "{\"element-type\": \"3\", \"meta-type\": \"array\", \"name\": \"[3]\"}, " - "{\"members\": [{\"name\": \"__org.qemu_x-member1\", \"type\": \"15\"}], \"meta-type\": \"object\", \"name\": \"16\", \"tag\": \"__org.qemu_x-member1\", \"variants\": [{\"case\": \"__org.qemu_x-value\", \"type\": \"21\"}]}, " - "{\"members\": [{\"type\": \"str\"}, {\"type\": \"22\"}], \"meta-type\": \"alternate\", \"name\": \"17\"}, " - "{\"meta-type\": \"enum\", \"name\": \"18\", \"values\": [\"__org.qemu_x-branch\"]}, " - "{\"members\": [{\"name\": \"data\", \"type\": \"str\"}], \"meta-type\": \"object\", \"name\": \"19\"}, " - "{\"members\": [{\"name\": \"string1\", \"type\": \"str\"}, {\"name\": \"dict2\", \"type\": \"23\"}, {\"default\": null, \"name\": \"dict3\", \"type\": \"23\"}], \"meta-type\": \"object\", \"name\": \"20\"}, " - "{\"members\": [{\"name\": \"array\", \"type\": \"[5]\"}], \"meta-type\": \"object\", \"name\": \"21\"}, " - "{\"members\": [{\"name\": \"__org.qemu_x-member1\", \"type\": \"15\"}], \"meta-type\": \"object\", \"name\": \"22\"}, " - "{\"members\": [{\"name\": \"userdef\", \"type\": \"12\"}, {\"name\": \"string\", \"type\": \"str\"}], \"meta-type\": \"object\", \"name\": \"23\"}, " - "{\"element-type\": \"5\", \"meta-type\": \"array\", \"name\": \"[5]\"}]"; diff --git a/tests/test-qmp-marshal.c b/tests/test-qmp-marshal.c deleted file mode 100644 index 54e3952d35..0000000000 --- a/tests/test-qmp-marshal.c +++ /dev/null @@ -1,383 +0,0 @@ -/* AUTOMATICALLY GENERATED, DO NOT MODIFY */ - -/* - * schema-defined QMP->QAPI command dispatch - * - * Copyright IBM, Corp. 2011 - * - * Authors: - * Anthony Liguori - * - * This work is licensed under the terms of the GNU LGPL, version 2.1 or later. - * See the COPYING.LIB file in the top-level directory. - * - */ - -#include "qemu/osdep.h" -#include "qemu-common.h" -#include "qemu/module.h" -#include "qapi/qmp/types.h" -#include "qapi/qmp/dispatch.h" -#include "qapi/visitor.h" -#include "qapi/qmp-output-visitor.h" -#include "qapi/qmp-input-visitor.h" -#include "qapi/dealloc-visitor.h" -#include "test-qapi-types.h" -#include "test-qapi-visit.h" -#include "test-qmp-commands.h" - - -static void qmp_marshal_output___org_qemu_x_Union1(__org_qemu_x_Union1 *ret_in, QObject **ret_out, Error **errp) -{ - Error *err = NULL; - QmpOutputVisitor *qov = qmp_output_visitor_new(); - QapiDeallocVisitor *qdv; - Visitor *v; - - v = qmp_output_get_visitor(qov); - visit_type___org_qemu_x_Union1(v, "unused", &ret_in, &err); - if (err) { - goto out; - } - *ret_out = qmp_output_get_qobject(qov); - -out: - error_propagate(errp, err); - qmp_output_visitor_cleanup(qov); - qdv = qapi_dealloc_visitor_new(); - v = qapi_dealloc_get_visitor(qdv); - visit_type___org_qemu_x_Union1(v, "unused", &ret_in, NULL); - qapi_dealloc_visitor_cleanup(qdv); -} - -static void qmp_marshal___org_qemu_x_command(QDict *args, QObject **ret, Error **errp) -{ - Error *err = NULL; - __org_qemu_x_Union1 *retval; - QmpInputVisitor *qiv = qmp_input_visitor_new(QOBJECT(args), true); - QapiDeallocVisitor *qdv; - Visitor *v; - q_obj___org_qemu_x_command_arg arg = {0}; - - v = qmp_input_get_visitor(qiv); - visit_start_struct(v, NULL, NULL, 0, &err); - if (err) { - goto out; - } - visit_type_q_obj___org_qemu_x_command_arg_members(v, &arg, &err); - if (!err) { - visit_check_struct(v, &err); - } - visit_end_struct(v); - if (err) { - goto out; - } - - retval = qmp___org_qemu_x_command(arg.a, arg.b, arg.c, arg.d, &err); - if (err) { - goto out; - } - - qmp_marshal_output___org_qemu_x_Union1(retval, ret, &err); - -out: - error_propagate(errp, err); - qmp_input_visitor_cleanup(qiv); - qdv = qapi_dealloc_visitor_new(); - v = qapi_dealloc_get_visitor(qdv); - visit_start_struct(v, NULL, NULL, 0, NULL); - visit_type_q_obj___org_qemu_x_command_arg_members(v, &arg, NULL); - visit_end_struct(v); - qapi_dealloc_visitor_cleanup(qdv); -} - -static void qmp_marshal_output_int(int64_t ret_in, QObject **ret_out, Error **errp) -{ - Error *err = NULL; - QmpOutputVisitor *qov = qmp_output_visitor_new(); - QapiDeallocVisitor *qdv; - Visitor *v; - - v = qmp_output_get_visitor(qov); - visit_type_int(v, "unused", &ret_in, &err); - if (err) { - goto out; - } - *ret_out = qmp_output_get_qobject(qov); - -out: - error_propagate(errp, err); - qmp_output_visitor_cleanup(qov); - qdv = qapi_dealloc_visitor_new(); - v = qapi_dealloc_get_visitor(qdv); - visit_type_int(v, "unused", &ret_in, NULL); - qapi_dealloc_visitor_cleanup(qdv); -} - -static void qmp_marshal_guest_get_time(QDict *args, QObject **ret, Error **errp) -{ - Error *err = NULL; - int64_t retval; - QmpInputVisitor *qiv = qmp_input_visitor_new(QOBJECT(args), true); - QapiDeallocVisitor *qdv; - Visitor *v; - q_obj_guest_get_time_arg arg = {0}; - - v = qmp_input_get_visitor(qiv); - visit_start_struct(v, NULL, NULL, 0, &err); - if (err) { - goto out; - } - visit_type_q_obj_guest_get_time_arg_members(v, &arg, &err); - if (!err) { - visit_check_struct(v, &err); - } - visit_end_struct(v); - if (err) { - goto out; - } - - retval = qmp_guest_get_time(arg.a, arg.has_b, arg.b, &err); - if (err) { - goto out; - } - - qmp_marshal_output_int(retval, ret, &err); - -out: - error_propagate(errp, err); - qmp_input_visitor_cleanup(qiv); - qdv = qapi_dealloc_visitor_new(); - v = qapi_dealloc_get_visitor(qdv); - visit_start_struct(v, NULL, NULL, 0, NULL); - visit_type_q_obj_guest_get_time_arg_members(v, &arg, NULL); - visit_end_struct(v); - qapi_dealloc_visitor_cleanup(qdv); -} - -static void qmp_marshal_output_any(QObject *ret_in, QObject **ret_out, Error **errp) -{ - Error *err = NULL; - QmpOutputVisitor *qov = qmp_output_visitor_new(); - QapiDeallocVisitor *qdv; - Visitor *v; - - v = qmp_output_get_visitor(qov); - visit_type_any(v, "unused", &ret_in, &err); - if (err) { - goto out; - } - *ret_out = qmp_output_get_qobject(qov); - -out: - error_propagate(errp, err); - qmp_output_visitor_cleanup(qov); - qdv = qapi_dealloc_visitor_new(); - v = qapi_dealloc_get_visitor(qdv); - visit_type_any(v, "unused", &ret_in, NULL); - qapi_dealloc_visitor_cleanup(qdv); -} - -static void qmp_marshal_guest_sync(QDict *args, QObject **ret, Error **errp) -{ - Error *err = NULL; - QObject *retval; - QmpInputVisitor *qiv = qmp_input_visitor_new(QOBJECT(args), true); - QapiDeallocVisitor *qdv; - Visitor *v; - q_obj_guest_sync_arg arg = {0}; - - v = qmp_input_get_visitor(qiv); - visit_start_struct(v, NULL, NULL, 0, &err); - if (err) { - goto out; - } - visit_type_q_obj_guest_sync_arg_members(v, &arg, &err); - if (!err) { - visit_check_struct(v, &err); - } - visit_end_struct(v); - if (err) { - goto out; - } - - retval = qmp_guest_sync(arg.arg, &err); - if (err) { - goto out; - } - - qmp_marshal_output_any(retval, ret, &err); - -out: - error_propagate(errp, err); - qmp_input_visitor_cleanup(qiv); - qdv = qapi_dealloc_visitor_new(); - v = qapi_dealloc_get_visitor(qdv); - visit_start_struct(v, NULL, NULL, 0, NULL); - visit_type_q_obj_guest_sync_arg_members(v, &arg, NULL); - visit_end_struct(v); - qapi_dealloc_visitor_cleanup(qdv); -} - -static void qmp_marshal_user_def_cmd(QDict *args, QObject **ret, Error **errp) -{ - Error *err = NULL; - - (void)args; - - qmp_user_def_cmd(&err); - error_propagate(errp, err); -} - -static void qmp_marshal_output_Empty2(Empty2 *ret_in, QObject **ret_out, Error **errp) -{ - Error *err = NULL; - QmpOutputVisitor *qov = qmp_output_visitor_new(); - QapiDeallocVisitor *qdv; - Visitor *v; - - v = qmp_output_get_visitor(qov); - visit_type_Empty2(v, "unused", &ret_in, &err); - if (err) { - goto out; - } - *ret_out = qmp_output_get_qobject(qov); - -out: - error_propagate(errp, err); - qmp_output_visitor_cleanup(qov); - qdv = qapi_dealloc_visitor_new(); - v = qapi_dealloc_get_visitor(qdv); - visit_type_Empty2(v, "unused", &ret_in, NULL); - qapi_dealloc_visitor_cleanup(qdv); -} - -static void qmp_marshal_user_def_cmd0(QDict *args, QObject **ret, Error **errp) -{ - Error *err = NULL; - Empty2 *retval; - - (void)args; - - retval = qmp_user_def_cmd0(&err); - if (err) { - goto out; - } - - qmp_marshal_output_Empty2(retval, ret, &err); - -out: - error_propagate(errp, err); -} - -static void qmp_marshal_user_def_cmd1(QDict *args, QObject **ret, Error **errp) -{ - Error *err = NULL; - QmpInputVisitor *qiv = qmp_input_visitor_new(QOBJECT(args), true); - QapiDeallocVisitor *qdv; - Visitor *v; - q_obj_user_def_cmd1_arg arg = {0}; - - v = qmp_input_get_visitor(qiv); - visit_start_struct(v, NULL, NULL, 0, &err); - if (err) { - goto out; - } - visit_type_q_obj_user_def_cmd1_arg_members(v, &arg, &err); - if (!err) { - visit_check_struct(v, &err); - } - visit_end_struct(v); - if (err) { - goto out; - } - - qmp_user_def_cmd1(arg.ud1a, &err); - -out: - error_propagate(errp, err); - qmp_input_visitor_cleanup(qiv); - qdv = qapi_dealloc_visitor_new(); - v = qapi_dealloc_get_visitor(qdv); - visit_start_struct(v, NULL, NULL, 0, NULL); - visit_type_q_obj_user_def_cmd1_arg_members(v, &arg, NULL); - visit_end_struct(v); - qapi_dealloc_visitor_cleanup(qdv); -} - -static void qmp_marshal_output_UserDefTwo(UserDefTwo *ret_in, QObject **ret_out, Error **errp) -{ - Error *err = NULL; - QmpOutputVisitor *qov = qmp_output_visitor_new(); - QapiDeallocVisitor *qdv; - Visitor *v; - - v = qmp_output_get_visitor(qov); - visit_type_UserDefTwo(v, "unused", &ret_in, &err); - if (err) { - goto out; - } - *ret_out = qmp_output_get_qobject(qov); - -out: - error_propagate(errp, err); - qmp_output_visitor_cleanup(qov); - qdv = qapi_dealloc_visitor_new(); - v = qapi_dealloc_get_visitor(qdv); - visit_type_UserDefTwo(v, "unused", &ret_in, NULL); - qapi_dealloc_visitor_cleanup(qdv); -} - -static void qmp_marshal_user_def_cmd2(QDict *args, QObject **ret, Error **errp) -{ - Error *err = NULL; - UserDefTwo *retval; - QmpInputVisitor *qiv = qmp_input_visitor_new(QOBJECT(args), true); - QapiDeallocVisitor *qdv; - Visitor *v; - q_obj_user_def_cmd2_arg arg = {0}; - - v = qmp_input_get_visitor(qiv); - visit_start_struct(v, NULL, NULL, 0, &err); - if (err) { - goto out; - } - visit_type_q_obj_user_def_cmd2_arg_members(v, &arg, &err); - if (!err) { - visit_check_struct(v, &err); - } - visit_end_struct(v); - if (err) { - goto out; - } - - retval = qmp_user_def_cmd2(arg.ud1a, arg.has_ud1b, arg.ud1b, &err); - if (err) { - goto out; - } - - qmp_marshal_output_UserDefTwo(retval, ret, &err); - -out: - error_propagate(errp, err); - qmp_input_visitor_cleanup(qiv); - qdv = qapi_dealloc_visitor_new(); - v = qapi_dealloc_get_visitor(qdv); - visit_start_struct(v, NULL, NULL, 0, NULL); - visit_type_q_obj_user_def_cmd2_arg_members(v, &arg, NULL); - visit_end_struct(v); - qapi_dealloc_visitor_cleanup(qdv); -} - -static void qmp_init_marshal(void) -{ - qmp_register_command("__org.qemu_x-command", qmp_marshal___org_qemu_x_command, QCO_NO_OPTIONS); - qmp_register_command("guest-get-time", qmp_marshal_guest_get_time, QCO_NO_OPTIONS); - qmp_register_command("guest-sync", qmp_marshal_guest_sync, QCO_NO_OPTIONS); - qmp_register_command("user_def_cmd", qmp_marshal_user_def_cmd, QCO_NO_OPTIONS); - qmp_register_command("user_def_cmd0", qmp_marshal_user_def_cmd0, QCO_NO_OPTIONS); - qmp_register_command("user_def_cmd1", qmp_marshal_user_def_cmd1, QCO_NO_OPTIONS); - qmp_register_command("user_def_cmd2", qmp_marshal_user_def_cmd2, QCO_NO_OPTIONS); -} - -qapi_init(qmp_init_marshal); diff --git a/tests/vhost-user-bridge b/tests/vhost-user-bridge deleted file mode 100755 index 36d1ece0dc8a198846c3a8bf277c1f7d093736f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 83120 zcmeFadw5jU^*{VMGbhO;8O{uu5CSA&0tZb5VuF#oHVKmp5HW-hP{9z$gd~O}CX*N~ zt>`4+={PM`RNB&NTfb_nwzQ&Piy8z8Qmcq}>jf2cB2l9tA|mJaeD*mLhG@UP_j%qw z-alRrPuP3yz4lsbuf6u#YwvTJ8w*Q|BuPT}vcd{NGn0T^0HI5bx?H#siwsP_I7Gv! zV?F=elJOS>Kn7q1P$8Z9a{=Oyb)ZCJ&9zgts>&ia#)iip5@ZUp#_zTxB{Lohu)<@(;`c44l zANpz{w!4LzKb)7zvWoyr15i--O8-AU_~qJ% z=6}%BaO1Dn?g)ONym9T)lp`;Fu0-~QS8c>VBmlUL0-4u1098Zk_YQ&I9|G4$v?smT zA@Hgp@QfkwkA~1o9s*xA1ixztY#jpsWC(oE5ZE~cP8|aOeF&U6M4tZ)f%C%3Gskqn zkoKKJ@Y{yK@(}#MkoxIE;9m`azZwE>9|E@wq5ss7`kRNqQ-;73BiauKFk(o5okQ@q z4uSI`+S5L!M8Kp+I}Tr*6BS{=)aSp4(EH^O__HB!-w^nJhQPZmK=L|+i4)0q)dHjp z!lO_o0n08n=I(Gf@UR8waR4_&0|^+0CIGYTM*9TBWB*z7M!`qFb8)y{0UGO9uJ+Zn zdaG+DPsz%rXUIm?+=|PpYP_x9)%9&YZ)?S6a~hkQycN|e8@;HiTD_*ZsjAIa-Ri5V zLe;#Es&W%=PGfajo43tq{=<#yo9cb2s;zIT7mOS0SDxY8SikZH^3P$e)i;=JZ?CTz z1e&})U!#}cR6(Js-PhPg@S<$O?Y{cPLEJW9&8mqL2XWU7=2ov-RV5k;RxL*NS(}Yk z@2ZY9ZL3jLoY)vajc05ze_+vr_I zHXMLfUsY{&eIwd@t-j_)tg3EoY+i+x^-VQc?e#Uc5U(~up4ygnUmMnV*Q{!}9^MXb zldrZ$Fho_=D&O@j-l~;U1DacW)vc@1=Bx3xwqi|t)0*lQQmkuk^R2wTsd^2KV~uxB zo7a#!OzOJUdY>1yMj|j)wOlVc)8=bkRo7~0AY4{ewW_n47E;|Sr&~L*hD#T!qJmw;m+TMhh? z0*;1a!UjKC@S_ZEW9wrXO(mQ4zEOlNP#Floh>dLYF>4^w6=u55OuNkV7BjuoOgEb8 zCNte^rd!PP9y7hyOdl}Qhs<=VnQk-F9cH@IOnc09kD2Z>)91|efSHDx4Y}oYMrt!t zyO}!8G|@~CHv`cYpr2_HFu+s=jxn78oM4&>oML(bfEFNnA~3xfh>?KVOf5hjQ!C(M zDgz})*u-=cu$k#-U<=bRz&%V;fP0yy0uL}v10G^J z7TC(v4QykY4(wn$4%o?bJkZ1RJYWyg^MQR#Gl1uqUH}|mIth50>15z_rdhySOfLiu zG0g@R`TK35iE+S9yFXqD1pEg8bocn8LbVpazsGjfZs?D2&gp-oo$}KE$OW^G*}g-% zuIqoKrPr~#?|^_A1=q2#uSdYig!y0JRsp9F=Jf2lN5IV1Wf0ydV3lw-;dKILRo!&L zEdriIn4wzV3IP+fu7q%zfa!PY$_VEPm`&@J63!OzY{DxDy9G>Ab?i`|Q^4G9)U^QzFr%Kjjf8syOxAUq32znfGQ#%|zDK|mrS1X3 z8wJd*OWjt&>jX^E>UI!r5pW~n9>OaGOi}Ch5iS!jqn0|3WM7_uDSF-OgtG;_mhd6M zZUM6^bs@q|0e2A|APfPsYjr0G4}8b|-%6Nnw(pRD+0{B5;R6ERM3|vuUyp#<^*U|^ z`nC#q3t?_K`|c4iRZ*8gc%y*tC7exooq(yDI)=`DEdu6luP%@93IS79btQz$1iXzf zL%+Vf?{s}hrS{q)ZEwgELo>$;AT;;1t~;I_8NhK*nPl@#^Y4|*%PW_JZaS^&{yom_ zp7s?1|8unU?4bYdXLY?Hu|X;em4Bz}y|T&}G*nB}e*2QpWIfzwTv^$fR@NmDwl+4kN!PQ{|VjE zRUiTW6RnP}e}b8IM^}O@eG!LCjXJi;yq{oD8JdhnmG?$`CQ21%b9`qy{59`x@! zsO$RFhN)D<+*2%hdOwM~%YuHq6vn+<;J!%lWHsoY^pdVGF{pHlnnR*ZVp-6?^h{O5 zcY@FkDmJkAu=k=7?5d;t0~rW<2d=p4>Z;|z>QlRekJ0G_L|=oqzwQJAwxItlClI8EwQFGtt)UUuy}wttVkQh$^dt!IZuo-z!X+%6=yG6ShW(z8QXetV{p zQ9F7El0l_CKbZRbe2etJ$m*k@lI<^a1 zwY}Y}w4ip^K3lEUT}gWuMOwE?{@>8pgi=LA$M!o&xOUfmTX2VaJdo3K^g*M(R@*pk zJT=H3MX|277Z!xJpVak*4Z|BO4VKWD6Nb7^=vuF%>mdm!Z*c05l2ciz$>^#WsPz&M z2y!ff{yqONG=5ThJY_skrVWHHilVwV)2}=#7G_}x)cCKyro6(L?Qt9W3W%Qi`|W`z zSRQzk<0*!?SLm7see{0}V>6W5fCiXW(%a3zAa9rzfjrq5A%Bll7OMW5J#qU_=)N0s zj(7L8M;*D#zgIF;F{?$sQSw4&N z3!|{`((|kRy55jPkNev3GYiQPYG)AV=0TiCB5-=YrqX{*lBZ}r{tjlp5ZPvCKazl) zPp{VA^B*24t0)igwD6|g?=L0pv1f#z+r(sHrT)lHE_h!Z*Y#t86m>WMjFrpyKQvMT zZhHEDHvL(@6A0e?xf96T=RXnMF*0y71C#C^->}8nhrt>(q}f&dz_Yv0_~+1TWc~E& zrNH7a0g}nwr+v8Vgk_Pod)JY%!5Xz+di}){K3CwEFO%RwU##X)Wl}pBtWguMTE08D z?L1n+V(r64p(VPm-?ZCBnQGMjb^jzmw5tI>!>H~apAz(QJ=SD3H2W)E4^7i`eXpNb zl1WWFZmu689?IVIbng=OEQO1>t^3*b*gj#`zVi_HB}1|9gT7D0J(N}b;In<44;#%Z zka$LCi_DSx3nZ$+l-~qO zRarY=?RxuOve@t1^!5X8z}ofpLvFye>FupOuG@V(`s-yYL-?Mwe2`>vB?cYQJ@XixIL zH#YOde=u@>>FM-}4RX+L`?s!F(y{e?DTXblhvA<&UP1r9=Y(&p_?pnkqlSpiAtEx~dg=YxiVbog zX2#wd)5?PWmawErk&&9VHwOLL|NbxX{{Co$ynDm*amnNHba{(HPk&39 ze_Fw~_BpN%UFuD**$uW5~HF6X%!{dTE4>9=~0KG^G# zxs8LrNA{mcX&nf9)ZAW=%3T1o3bnM?qn2@>=B09T!96x_P z9te2UvfeKBRyGr1alB(a5A6e`YN@tg+SPr~r}}S@B}dl?mRkHL;yYaa9;^S*De388 zfqljN9MY!~-)t>Iz4<6i;t^%Ft$6 zX#AJD9`LAjW%@RM#cBHQ)q6!;9nuB}UB8#wP0@Yo3fhuS6y72V?Yd8`VPVyPFtET* z(WP$P(fx0BYpuF8@w%*lM_n4&>3{AeU6-_yPw=|(+pK(yK_L03^%f@Ea>+%VGVu8R~ zRStR{MliQGu%5dThE}8f{r0lZE1&Cn;7*nWi{;S$Mwl4rQX4sY*sS7VXkD)nVR2c| zpRmu+($5WceNEpP;}B?6>$DTvTGh7L@z{VN+>)C<4og>MN~b%zudqc*cZm%MG^%n? zek{2583Z;QFr`Zo(oLgucd<+h`FrG0j42-lOMJ`}GdTM-O|+{l3;K`u8UlXWFZ6NT zqjDNN8!dc+?B79Jx})ncZd`VpFn~Xu()HeT++We(1pUqf!jYDRGE7^zonb`4 zqb3G!6V*L(XdE{-3@-LKdqo>Y4u%2C!P&ioI&yUNMbVSm%R&wkA`zi05_y}!u19U@ z6`COh{~l-GaR)yp5#37+cvN4YLha-%5u3~jSO;i#ahK_TUy428KOv3k@gF+v z@3CteW{(H@nz+Xsw6*b6^BLQrlNa0DvY>y2IWCKj7?NCkR>O>F;SE>NL(=jb-CswE z5o-)os4bdDbp||YjaH#11}fA#hC4z3$9r{Mt5E4<6Zywk@bxF0{HG27Ntc|$()T_g zPlCz(ThbskSaqN3Za`?NFidVW99`Q?lMhs=_Fj*=f>T-(8}NWfwP|;8Q?7|kx|r>K zPFjUW%u1uH49CiX{_W=S(C`V3mxVmMI_T)i7bg$T?A7(0XSGJv7WAo&H}!5}g!OOD zqb3La8=u#8&7-CS{acNkJLo@PqslWx4Cz>ZpW$y73$;k0zxL_6-XZH# zO)7WyQG;&1!>)JObf22hAcX<~CsFTk>OOULgA}?UjFh5xP|?{9QmD31*8|ak1-3w? ztQDUK6xp>Ur!+^PGEpm4-Tpmxtym5eIRgt)v?X?}*cK>C)-F%fik;jh21+URpC~qm z%<54y${G;5S%@#jtUFrlVh`-q_0WUI#PJe+LqLpLcaJZ_-*3~m^IWAYbd?Z~F1I_8 zrx6}i?p+r?UNKtnD2A>vNldDLe4f1!Zy3ohuvd3(+O=a9^Caiw;V{_i$D!2tI)V11)(CtTcozC@Efga3#EwD)y zVe9(0=!Z{)T94{_;8wvTuu0{9SzCYDs9M61cKxAr;Rbl#9N47tm|0sN;tJ#cX|Jwp zclHxmRzuGU(eE;q@EFNctSLh3zl4iPn#E&8@iXCKGGVdIP6+<~Jx<5=JWH*%{!K3M zFCC9`+L0l`iyu)fvkXciM0koNks-p%q;T7RrSOaIQTWMO6l%3?y<7$Q7H~tzbzFW$ z*Zb}e+yA=fjhF)K+@5eu5%xC?sADlZHt{3FgVS&S56>1n>WaQC%y3_KyKj$Jq{_|Z zaUY$2Cx^}-dO_DK_3d2gNauqOh0XMx5~i8>%9-uhFJ$4bJO{WPOA&+d7tW;WFGyxm z1m@q2{Z}PDTjGrPRLhGkG;;^+j!KqIX!`$!kT+Ms*TU41U;(4 zQLRwz6sm3gM4VfR*0MS@_xSmHQeM;d6Xpi zE7U|0hnK2i9p}nDV}Dx#S3v&`an$b12>KUtd%(b{=&*3hJU$P2RJXpBD4`V}u+-__ zGs!%{@tue3Vghz`#=ee6MVuux+_#ixNrU_8%0;2AaX{2Xh1^MR;iZT`hbiHlm?Lj9{*??e|;g&t>?6SZzH9Mr3 zJw9!Bbp3&=<1#h5w@a)5)GH5UHVKcfywEc!C^Qrsjq2 zd0)635mntS1JZ!T(9)wO2R75o2extv2;4$3wPot`z-F<2_|&!9GBqQxnTv(COzjM8 zrXO}}zt-Z|zK*@9ow3)^wM^y>mtK#`8`AjtsAK!nIS1Jl$97M?tnJb~YA$&>wy)zt zAP_W)f3$OM2mKR0Yis0r8jIx^G=0YP^7u>w!SzQmVYd7FV&7-#T{fmBt zc4eFKyyIp*VW~ZDZLw+Zx;pJM)~a^LhR+!Y`*}_*Os-K)3FiKi!Rd@ToA!C2QB8If zb=qj*)~>INbGfg0E@$ofil=t2O<(cMF3_l|nfpe)$)K5TsY2x@H8{>;e~&YBt(xNK;=`E~=y;x8a&-NHLT+zS z{QZn=$^vWEZ0+07=ZD0!qRjfE97EPMNTDU~>bhgQFi8I%J7d&}1}T(plyb1l(xqJg z-W4=-pPHxp)MX7)Xw+ayHcwj`q)^OY$#fpIG)SSZ-VrXOL>t(3NS2<_8dbGQZf za$Ta>dA!hWadh1h9;`Asz{$z%q4G z(C>Va3*I$CH_pC$cBR6){Qb5DG}yEk1IyG5?P=}xQ294h zr=P=F>-TfoO0{%!{vN4TGm1A9S(aX{oos;C=YQJLV9{RpzlhK%aYxVeUB`KNahUu4 ze!JoHe#YtZZCU7-#z2@pTh+xK*w907b6A~ye>pE+s2nD#3^+}eMSFMfe6)g2zb8=O3|yI_`NZL=8Ym!Ew&qc%2MTO-VA^iS z_5y{;7X-gJ*wN^FLR>V%IJx-BcVtB zBjz>BCN)SQj{q43+38VyH!`QKrTflPb{&$fbkt=$Ew%@Ege)5ZI0t9cBy&cY>##Ae zo2`nY#=u%t)xHh2 zza`8nkfL_~$I-P;csq|eQ=ERz4*1kbU;D&rlfCPGt2sk#VkVTxVutJ<{;I#7kF`5XiG;tG?-9_d0m9?SRoc*8a*+ zy+NS;DejehYNFZnA*1P$2RQ$Hsynzo6W zwDe5*Vj~pLj)r0c2XQC&x}2WC7PXY2&_yB?YF}~Fo@L<(C$LOSJah9D2X(zcKq3I z?o8zWKezG!zu3nap`KQuriid?JzoO}UST;haq#>`JE;wX?*EpPTh!M2*IULhqNUdq zC64W`+8Ix`zv|d7YHBwWS^^cSEl{f3wE_Rr7XOQk(|9@^dcnA_LAM{?TDZc|Y|yVz z8EZe#_0R@Rep%fen0@9(sB!z)xZimHd(_XWnc|o+(5SkDk0kTB`l{DxiixLnJ#+7_ z)0Xbzz6m+{ne%*~I*EUa^-cdIj=xv(?{Uufy8Q$H9=ix=gB>_}*4^sbjf+Av1+(Kb zM7S9$eO=eZbCBaj@w+VMgO4*STK^);)#S*r%0es5jn zzT^@&AB3NLX&WEIF85yB?rrnUbWdn=XH2Ncj6+dl_3E~nZnrzTb3$hv7S-S2CFGt^ z6NjRjwwZ8Gs6qSG+?hnk&Y9ZS*coR&G@g-(1$;fAxv6cYz~>7D%}pZ9r{7^PuC1wR zYF|S^a!}g5+Rdt}=GxjeFXd=#tcg2QOd-kMC@yaHxf`2TSMkyJs@fWZ$s%91&zn`> zRO9W8ENE(9BO2DkL1?6^qqV+ibyamuP3ugsLuLyh9pPHD<7~0W>+{t&t#)_RxB9Mi zvyGQ;Ko|`TLN(sDRc?2+&pn|fPP8|Q`F6k$6jygt*Efc-Guo%-R#msIcAw|Y$nMOU zJ$rg)Ce@KGI(SX}s%y;7xoewS-5u8&-D2k>I(}B2p#yId-{c7Q+ITMCc#$C^6Z7j= zUBfQ<>b&lSg_kWpzm2NQ%E}VL*VVK(dYjyrh~D#E3BD4Mk%_YAHlMqtnlC%Jea-IG zG!}Pr6NM7(I6hR~;AK!C*jU}>Gx}X6R6Vqcnlfu5s;a+--2T0iaI-VKI2cz=s9B!H zPVoAHDlxuiRf$2Fd})16q-+$+C^LyfDo*sDIvae=BO}wzmomIHS#f8-GZ9%ar>?!} znzos4q-O|8>zA9-oadgBi3v4slviKpUfEt->otrM6SAjty3LnSGBO8Wx!~&}8JTCy zgfB?UbPrC$#+j`%+h?M^#%;Wx!f71`zUtB_=CFH0+f0_Ude=1j%xP_unD4WQmr2Zb zPa0dATRHZvZ8V#~PPYDVvH7OT;Ivgg&plHTeCQXE?-a>2^SYuR23EGS1c|sTohTp=zl4{e93~s@<`4$Q&yB-UR+g>zvu_ci#(CkiCtMfcR_L0g2k8pa7DhybCy77 znha&Z{u;!F)|_cGf9{<5Kg?%Nerf3s*A$kYB>>qhTwJ)g@W0DkxZwM0S>UNE&o3{F zWN}$O9~MXYIMX}2o0@&@+UEAA8h3q@+gt|5p^)!B&2$%uIYJjg+w1VU#Y;q4!cN^2 zYTRvg&Fzgf?v-A5qqnWi?W?OcmJKXwUL_EWW;Jg5C3j7ITT8WXRh_rheI3)RxbO3+ zuBmZ1d9V9_$|%34#%oL)ibKCEDAzZw&T_A*?yRB>8-5sJUcTmL_saU!?ls;vTD`k< za4oHwBpl<+h?RDxdqVpp_jPskjb2gLT$^F6hAq|CH#S$-WYXK*(9TC=amn{Cx7%IG zWu4xsb&#RZ1${Za+V?J?sJ&?w-*IzKXv@eH<5Rz;rO~^_+vM}sxUcv6vbfSU)o^~V ztX_4^84o{neTVSq!uwUV)Lq|ZETfST0G;j{@0#Y;>j&3t5kiC`1lCjdwwCHuUeWyf z^$~%9aN^&i&p<&e;6`<1{h64CD=C+yp&HI=Y+juyJ{^WDhTg)0pN+Gmx?V&Yv^cK(ZCqWA(B`Za{(DiKyS~lM<=}dO*3#O%%G)M9 z^|kHZc5ho2VCuv)OLzJu?g)R&=_?|N=B6gEVI{(xjHSWd;`O#t5}Lh;32M9@lP_gw z#EO5ZJ0l}J?_R9L>$2;PJquAO}8_o9*XOU&^T!O5Uqh$wU}90R&NhFTON%U#$hhBHgdTm$XF)m*^i8`*XZ(=kWj=3heJ*~|x zE%Y{7Mq85?eM|(2tncB)W&OXnfV1rHj4cQiE?zKqsToLcdtgWwX|Iev46A9cX%Qa8 z+f+lVVNg+H;9oVl-Q8Xz+^5%9)l%)NTkgJUa-+ME?rf%rF<8**ZWRS0x>z0u#7=H^ z6PrG%y{W#_UDLd#+OS8jFUwuyt*vfvGy|Mi(qoY07Cy4Nsm9G9WGj#Chj2UGINP*Vp__*C#!!>!sUt{U3kV z^{@Y?>reho*ROa?*Pq{}>%VzS*YDk`>rehw*VVu3`ml#}ee++8wDT{zKJ_oUp7d8; zuivig46LeJn%jI;M%YMML>XUTu4=7rZK?8hdRG}`tG&J|;TE{@iYVtBy~eghY%D~B zFdfcyV+(=RE!9=N=BkeBaGmLG#2zSIc7~SNz=UaC+cBgq@kqP2W)R1e+bCaI-R3oG zM0rzl(^)VHxBI+Rrdu17*Ib2-7n}iUjCB^@#^N2OW4*f0caOI1*Y&zMpyFS;USS73 zFX=j8CfoLsuJfg>!!PMNza_HgWnI5V0*<|`>-!|2>lIyBEkN$8y1vc=cs|heO)EZNhDvfbzAZk`v&VA#kpS2R}%eEWys_B@&|b> zP_iu>et`6x_~lCOd}VsRGP_vG18-FEMZJ`lbe(>Pa+8mwo$I+Eq%*Wu)y~p(GanH}XaC3x9~bGYWWJ0v>wF z80&~}DH_z(LgkRvvRXN8EmA_(LZ#oDuMAjASXieVw&o8hyvjtFryR2uD<`bQ$|-As zvQA#09JYFtkTqZFw-zV^)}b&7HV?sJ*@_<+rFroyOwOcM5*DXe30dcu*W!mQw@bxOIU9Zmr`S|fcnmE+ zH|JoufQ&dN|2u5hWu#5BO(aYkr#(lO{SZ!>VauF%g%K=El|zFweu;9-T6C5*9I}>* zW@dw8Wx!e(U;h1~IdKtAgpMO$Ibkgs90tQ-6vlI+kU4Eq&{7Uri@#4z6cMlBtn7bl zY+{<#0N*C>j|Lw2kFNjrY=4_iU%o)uD6LdBNrlR0DPP$l6)X2hCCWyrMA;fm(PzEpI|^~3=sN{u5aeO;4^Ds1`@@kdRe5I^J@f0W}1xo2W=JV$KfVV7)2cJdgi2)Md*7Z;M zQL!K5S*C1FxBL)+{P;P_&h*7fPx=C7TYA2-BRyZ)nO-2^t?89!S%I=My;SK*FIBdt zU#09wpQr3hFH(Bai5XPkO$xFWsX&mtLS8 zNH0;grq3C|Yo3Y2-WWLF=QZ~%-docx>y@49^OYV!key-2OU%xYNvE7yqW@bu{Vug|t= z5udE2*@)PI0hHn_RT4{-)Uy==Z9=; zp>o1)S)rVA7bxq}FINWKmiv@r?tJBh+oPOv=PT>d7ev5BDk0J@%oYoj0r!n2GAnCL zU3!7il|EOw zB|TrcHN8mLm_AP#a4-LX>6IT}svL8dC@0(nW)~>()p5!(!HQxOE9=q=`O+50p(Gxd z{eiB>{`a|GvREngi21xo@pzPyVln6IlswCFG1m)3UD*!`BfjhRP&{zrNnPi6x!|!& zD0W6!+EL`Nwzot(V=V1!oza%|PN&t+Ham5BU1EaWU3kYX>%epzGWx(XK=cZq}c>&RyrObJw}++;#3ccb&V=UFWX<@2(Xi z0q4m7&Y$1p{NJwOGlBG(z>Jx|!kIwrOyDOofjegcf0+sFnF+i-6Zm>2Fnks;aTZWG z3#gg}Y%Ks@E&w`b0k_Qp9-aj}JiqDrdbDuS!>&;tiz)4+iPW#^mXUN6x&4;fJJFwmk+-V2y zvjdOWfxUL%RXgyJ9XM_WqK5%V!+`UK0aJ$oMZ^q7@)X0nSr^sR~e}0F??*s{kDeuwDV~RDk;w;4uZ*s{pSmz()#j zTmhmTKoXy(=6Q&jp1aOn=dN?tx$E3@?mBm!yUtzbu5;J9>)dtj`v2!;p9xrI0^iLr z($8i9#dGG&bY~PVSe)s;IP0RU9QTy$oQrd&WKVNvlzVI3CDlHoeDah`@Jp%2{cGdS z`PPxZHz|PI0r2^Y@NZ^?uQ%o!=RtrhO>_bF{&;{7;|}l!zIj<}G5>M^7CGh>CQ@`x z6kwI3>YIF!9{~{ay5K8EeHaH=Y*B}p*yS4)fqg*~V6jBiCIIrk69L^M@y5AEH>%GJn2L?uY?mpAd}y z4j^t#v;@RF8V%Uu)5;~lR*?k6yFa6fY_n}ZeEK(R2-#u->{CfNcAY)1mAK0lz+T8K z5XaX1dAInF0gQ!wlxm;P?-j?9^>4#fBMtcBFziCK{0NWwh!rhADFMUe@fKiM_I?UC z)&gu&zM5wRY>!0&%5nAwwwxG1`F6Mj$hMk9Ksm*{&31PzpnS)?-S)HuD5sfs+U_3# zC_3|r%9?mUfkYr#NwoutB!Cp<)Nnwt2*9n(wE&7N096^onkWHeC=*CHS^$%j0ZL+% zZngs1%8%J5PP)Yk(%qf7`N@ENtnW8MmeFCN4U0xLZ0k86Rzi>t~=pkdWXD(-_tVbfPNwEybH@SBENVnX%om&#!>6q#(l#Ci z^ZXpJg%W|`GntnWEt5tfaV)a@5jol9F5w<5*GB;(_`!D3m4tQjZW(Yb=SjBfE`AEi zRnGpn5@o>Zx|h@4^%E-)<@yH?c9HZ1eFxRxN>-u(mlDlJ=hIcW_}ima*X7i@>sy(P z3aM>ZVFD00(nU?dhJ+uHn+@^e48{_Hqnh{SAr3R_g?;TUcx{ zMrJ{jIbOpM!=J25u^#5fWNe?00IVMw3VS0Ouzt)jlx<5A0BfH>vDujago?D=P7W7oZx-E2B0Prh&t%r0M|dLP zoH)W$3D1fFVm3Q~rje=F!~nMU9l*%3hFBSKz)1HuHbb37#3#<^7X?2qGKoLtgiA~U zlCQcg1{fnJUzuqGQeKP)lCK;`gSw5iS59FzFN)a$X75a7wwzi14pj1$E1BJ#!0ewz z>2PMH7$8NrGdrBwgb~c9GyCB%X1PA3q}rIxXV&dxmM$t~g`jX#j2Qe2xvmL|pnTEt zj|dBkm?7ZH2@8vuE8r@^!Xo$q=V-Z^u&{`F0pCbijO_IS{smz%B$|NlCM<^JR|5Vk zVKF3s67W-m#gIHM;1>vsA$eB7?-CX&e?!2Z6Ba7(vzbmcHrAZF*Fe5T21bqHdoHra z1|+4?eqvI&Y$lDJ9t+qmqg|yZ#&Xseem5zT7Uz1Kj=}Y38>h}s=;B;ACDP&aaFV!+ zI0aqTa#?Wk*}~zjE1f`+OICnXm)8QMyV%W4S7#iM<@zuhxX`uT2262nPXaD-@hgqX zTv`Hfwd)-TSn2w0G_czBvpAs9wb}u6xpv!tTU-zG)>^_(D53nH(rf7~^>VhoPNPN~?^3c*EI|&$u{mo59D_Kjg|kV(R>Uw~aVEVe zrs`kG@Xe2fhJ>4G2qVTIT4odxGuZ|tj;`U49NG9wbfaro4BONwVDxI@%eLRf0i)}L z>$3S`fzkEM+igD{28?bXjuY~GGB74h#DhEHfs_jUsD^sO-S`nCpO#mC?K_HPaGMw4hK?8m{$;UkaSb$FJfbXRLTmZ z*4K0*^)luywwKso0a0Ycv1lb{ukf!i{E0|gYWezj(FUm%!tHbMlp zi21PuWTd5)+rvm>1(N7yTDm~8l}7<-=Zo>OT|68}%VgeZt4jjXCNiIF8zup17c%cg z%rUMqV;4U{qSV*er8FtnK5znKuNF7KZ6(pb*eau6AIAV=S1>Qz911YDn)ztkKNudb zWZq^gl!39Un2&=T7X?T&p5)>$^L@dzm+inOTD#14%Br2k=FwoM}XeKb>>?E*U>-B0Va+xYVp z(gVyZwwEc$pE$@)8-F}b`tx(~j0b+tUOae^gD(^>JwzK%vFUMu^f2kGkST=pmvY|q zzAYSDNsq@Xfa?(Vhps=1m~S*gFqeB6!-J$;h9?|!Y4@**XyFZh*FT5Ttu;pz@d1V_ zuHbMwH{SVh!nG+1 zaJcrx0!~+}jV|$+0wlOT9uBx%c?zE|kSUJz21Sl>#qcTr|GcjNHV?<)E%830Z6U+M zx0$!uzGLL_4)adi!eM~)F7wHd*;qRCKMLRukboq;Kh^=*hEZQ1a13DkIU64qZo{Uq z{6m3)II_IZG3fndQjk9SltMY}fKv)pkya*+sm~OO%s&xAK_-%PWTpccXOpC34?2MH z?Nf6heNBXvJ?y}V*Xh6Lm!xkvUsEpTN^+8H$2T^whV(6Yz@3~3OqZljtqjgPN%%94 zlQGMrFAeF1WgRsv>k{_lR0Gwo*4DH^`i@N#r3sZ}AY#K@32`(Tm-9>?$w$&D>Uq24 zY0EZgjT1P3bxSp*I7#$U5q#_du$_NxM>Qlx08T~p-zk7(CB#8Y5P%y_l9OCgniI(Q zvlYl2FO869ag#Kj6D3LPtDw9>0Y*xkU~;AyreqPb-Qvy^gELCBxz&9^$F-0~OY?^V z&!uOENMej2VIQBFK(kFTL>iy@4y`&>x{C44_{@>SOcR(X<1_zG5ywi5MBL*uzv1k1 zi@NObng62gqzfv!<1;sMWXFlR+2avMrI2@cW#o(}2NRB#>Fb>Ar!-#T#%p4F0$|}| zMX>&CI55dRf-tj_k;sjH)?pVQ9pecQq`kv|3v0X`EMPvnlF}TrJU1N3;X^p@4+q!) z(Q@^0{?AbqyG7OrF%;Mj4hOOxrQLpO&>fx-ru%IK-ERe5WM$CjrC5aovj#C!tY;)h zu~GtLT}g+QDho{SAZDt31~XMQFn5!tYGD3i5L1o7R87ohsNxF^%*O{YFO0yv(8TmP z0BM?mIWUMhEdq0zz!aJy0vo^{q?S{u-g!pbNv^Oq=0&ufccv{7*Z_8hI$0mEFB=T~ z)D5=X5TTz9LO(el%Rr|KU;|@R2#HZigq=;ZenewiCCp3OKS*np82RitIy$3rNS*~Xo+A+@_sdv7Y7*A+JL3JB zgU}?hV)l!wi!QFJs)2MJkIyJReL(Kz^kbEx<)?!!E6=nPRa3=EU&)nz>Z+BHD!I;^ zK8h|w41pcMq8xv!J24eZrsHt(H1(r><;$8$WQ;A6Urva z#h9=mi5T;ZzcdHwxFofZ9^KS&kwvsjFEMd=A`mr&vRWS)0ZjUri?GNtGL4$@FiRIE zFe|q9iNsChcg!a)hy|h=IcnB72HQ4@tZ3Uv)gzGzxhv`D7YNNIB!zXpfSS8##%I)O z8S7>o9n1nVf1dX$eDzaiT|A_tHa8F(%TzN#OyR5;2jc7>;J*20nn7Cun~irX8I( zNIN=@ikn(h)r9Cg(w-#bG7v83!*}`XV}MD+IU(}DOA>~~vzSCuoA|90h*}`VB6nnX zECf7hH^)M#&lrmZLh@-#IBol7Y4u1Tn_tS1`emL@WZzDo)GyPMUo@r83+b3l94d*& zkh%Y)cmJsvjw56xroc~yA-}_=@uyt3FZOjnS~pn&W{CK+i}B~ht*any5Q8Nq%O+-L zJwFmKCd{veh0l6-NWn!Hdm;UXyeI>s*4a05@w+sN?Rj&6AH|Tic$0xkg!Gq2G0*Fg zZuZQ8Y0sCgY_BEE-ti|5e$)afFN$WyLz%pTBZ0IMAn&u0z+`5=F*Ar38p&VCIacgW z2KeO+Y0EvyKtUU%Vp4pNG%ijCX0T~~GEm6(`{w+_1(YQN{Gf)kC2JJm`MJw@HrDfN z7jT3h9J|j2xFn!xE9a5**c_mkUFav7CtbiL++&tlMgjc!+qtA*xozoO5{N!({mL@o z?!n4=Bo;v^Z^9^GA!PyPeCPtQM*;jKhqR?_6fjRo1m;?}(?7}o@1A>{L{IYnyNeh~ zMOk;u0rIX6lbO?y2&@&nq#`CCSt@{`+B zVJ3%|5kaDC@*g3aJz@jC>ndF#dUO#H*rWL}koSwxgFVW+hQ__n2mxk|345P~5h1`r zBLv_wP6Rf%hzsO0(Fn#8KJ9r1LG6cMNM9##rqnlg zKu;ew}d;&+`{liwTzkf*WU?;m5X_Y=+a zKMW6topo6Ql*n#4+1QkDH|-Hl)^0f2X^(Sp8)ucq4`PiISjZZ|npp-7ZLoG$1dUmO z297QZ%neu8er}5z z42~xUIW|OaY%n<1)<9}BSWch=U1Oz%PQQ$cwviY5YZA=GP{ySKByZ@8kcgL(U?-!j z0QI%e;Jh$3tgnp`oHq*2(|M*M{nE33G*7}V}Is4-f&$I8F~(K7dgS+~$M9ydsSG)VIC2$GLS2=&hhp>~==ealVAUV}nP zTDV(#BPi^Rps>$u^(Y7HeWTSigRS0=X!X9)>RPdVHgqo(^Py-Y6#nBhfP@T%6A}tf zhMgp{mQu1$7!Xz+-a#rO&ycF{=iU_%lzX-=Rxml`ya#)f-)X#~wn z4Vr>Zo;dTEE{;#~MIO^Uj7=Vsq~fvRS^ZeVtbR<)YGGMBL@_QOLF>CizK0%-#N|uWmfNsUM5uSjoCucNiM7*PxYPKRXuT+J z4Dg51Kqr0MZ)96K;JIQ9kQxPeE*k?BMFAD8E%J^5tha5wvFKWnd3kNoPekUewT0Rk zpg9UCykiXTYi52w26!e4D0*lNSE{8RU=bt5tHuDlDK2f2X1W2-g-O8crAJY9&8_}A0ry?5gFdXEq3D43b;GSq8?@wcZpKwK3)G-3MH3c|8`oEI+ zBLSW*BY;Pufy&!P0G{Fz*4C!%6h}aVr5^%HSI~hEyLZ=7J27nz%ybD zP#XhO#*P6hSW}cP)RgA|7IOt-3vMf=3b~p?!X<2z4aocV7~nGsF3?^a!#h&k#K^aV z(H*zt(Q~A z0hRY80G@{ufMYh`3Q9kSF+~=V7sLX2mxqa9{y+-AFX!Dm4k)~E3~*&Eu!t>L!`FPI z3$}s_?DtTQP?N3CzB#b8HC`&b79FnRHId&1{%2dEQmxHtT z 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 K#j_^WQU5 - * - * This work is licensed under the terms of the GNU GPL, version 2 or - * later. See the COPYING file in the top-level directory. - */ - -/* - * TODO: - * - main should get parameters from the command line. - * - implement all request handlers. Still not implemented: - * vubr_get_queue_num_exec() - * vubr_send_rarp_exec() - * - test for broken requests and virtqueue. - * - implement features defined by Virtio 1.0 spec. - * - support mergeable buffers and indirect descriptors. - * - implement clean shutdown. - * - implement non-blocking writes to UDP backend. - * - implement polling strategy. - * - implement clean starting/stopping of vq processing - * - implement clean starting/stopping of used and buffers - * dirty page logging. - */ - -#define _FILE_OFFSET_BITS 64 - -#include "qemu/osdep.h" -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -#include "qemu/atomic.h" -#include "standard-headers/linux/virtio_net.h" -#include "standard-headers/linux/virtio_ring.h" - -#define VHOST_USER_BRIDGE_DEBUG 1 - -#define DPRINT(...) \ - do { \ - if (VHOST_USER_BRIDGE_DEBUG) { \ - printf(__VA_ARGS__); \ - } \ - } while (0) - -typedef void (*CallbackFunc)(int sock, void *ctx); - -typedef struct Event { - void *ctx; - CallbackFunc callback; -} Event; - -typedef struct Dispatcher { - int max_sock; - fd_set fdset; - Event events[FD_SETSIZE]; -} Dispatcher; - -static void -vubr_die(const char *s) -{ - perror(s); - exit(1); -} - -static int -dispatcher_init(Dispatcher *dispr) -{ - FD_ZERO(&dispr->fdset); - dispr->max_sock = -1; - return 0; -} - -static int -dispatcher_add(Dispatcher *dispr, int sock, void *ctx, CallbackFunc cb) -{ - if (sock >= FD_SETSIZE) { - fprintf(stderr, - "Error: Failed to add new event. sock %d should be less than %d\n", - sock, FD_SETSIZE); - return -1; - } - - dispr->events[sock].ctx = ctx; - dispr->events[sock].callback = cb; - - FD_SET(sock, &dispr->fdset); - if (sock > dispr->max_sock) { - dispr->max_sock = sock; - } - DPRINT("Added sock %d for watching. max_sock: %d\n", - sock, dispr->max_sock); - return 0; -} - -/* dispatcher_remove() is not currently in use but may be useful - * in the future. */ -static int -dispatcher_remove(Dispatcher *dispr, int sock) -{ - if (sock >= FD_SETSIZE) { - fprintf(stderr, - "Error: Failed to remove event. sock %d should be less than %d\n", - sock, FD_SETSIZE); - return -1; - } - - FD_CLR(sock, &dispr->fdset); - DPRINT("Sock %d removed from dispatcher watch.\n", sock); - return 0; -} - -/* timeout in us */ -static int -dispatcher_wait(Dispatcher *dispr, uint32_t timeout) -{ - struct timeval tv; - tv.tv_sec = timeout / 1000000; - tv.tv_usec = timeout % 1000000; - - fd_set fdset = dispr->fdset; - - /* wait until some of sockets become readable. */ - int rc = select(dispr->max_sock + 1, &fdset, 0, 0, &tv); - - if (rc == -1) { - vubr_die("select"); - } - - /* Timeout */ - if (rc == 0) { - return 0; - } - - /* Now call callback for every ready socket. */ - - int sock; - for (sock = 0; sock < dispr->max_sock + 1; sock++) { - /* The callback on a socket can remove other sockets from the - * dispatcher, thus we have to check that the socket is - * still not removed from dispatcher's list - */ - if (FD_ISSET(sock, &fdset) && FD_ISSET(sock, &dispr->fdset)) { - Event *e = &dispr->events[sock]; - e->callback(sock, e->ctx); - } - } - - return 0; -} - -typedef struct VubrVirtq { - int call_fd; - int kick_fd; - uint32_t size; - uint16_t last_avail_index; - uint16_t last_used_index; - struct vring_desc *desc; - struct vring_avail *avail; - struct vring_used *used; - uint64_t log_guest_addr; - int enable; -} VubrVirtq; - -/* Based on qemu/hw/virtio/vhost-user.c */ - -#define VHOST_MEMORY_MAX_NREGIONS 8 -#define VHOST_USER_F_PROTOCOL_FEATURES 30 -/* v1.0 compliant. */ -#define VIRTIO_F_VERSION_1 32 - -#define VHOST_LOG_PAGE 4096 - -enum VhostUserProtocolFeature { - VHOST_USER_PROTOCOL_F_MQ = 0, - VHOST_USER_PROTOCOL_F_LOG_SHMFD = 1, - VHOST_USER_PROTOCOL_F_RARP = 2, - - VHOST_USER_PROTOCOL_F_MAX -}; - -#define VHOST_USER_PROTOCOL_FEATURE_MASK ((1 << VHOST_USER_PROTOCOL_F_MAX) - 1) - -typedef enum VhostUserRequest { - VHOST_USER_NONE = 0, - VHOST_USER_GET_FEATURES = 1, - VHOST_USER_SET_FEATURES = 2, - VHOST_USER_SET_OWNER = 3, - VHOST_USER_RESET_OWNER = 4, - VHOST_USER_SET_MEM_TABLE = 5, - VHOST_USER_SET_LOG_BASE = 6, - VHOST_USER_SET_LOG_FD = 7, - VHOST_USER_SET_VRING_NUM = 8, - VHOST_USER_SET_VRING_ADDR = 9, - VHOST_USER_SET_VRING_BASE = 10, - VHOST_USER_GET_VRING_BASE = 11, - VHOST_USER_SET_VRING_KICK = 12, - VHOST_USER_SET_VRING_CALL = 13, - VHOST_USER_SET_VRING_ERR = 14, - VHOST_USER_GET_PROTOCOL_FEATURES = 15, - VHOST_USER_SET_PROTOCOL_FEATURES = 16, - VHOST_USER_GET_QUEUE_NUM = 17, - VHOST_USER_SET_VRING_ENABLE = 18, - VHOST_USER_SEND_RARP = 19, - VHOST_USER_MAX -} VhostUserRequest; - -typedef struct VhostUserMemoryRegion { - uint64_t guest_phys_addr; - uint64_t memory_size; - uint64_t userspace_addr; - uint64_t mmap_offset; -} VhostUserMemoryRegion; - -typedef struct VhostUserMemory { - uint32_t nregions; - uint32_t padding; - VhostUserMemoryRegion regions[VHOST_MEMORY_MAX_NREGIONS]; -} VhostUserMemory; - -typedef struct VhostUserLog { - uint64_t mmap_size; - uint64_t mmap_offset; -} VhostUserLog; - -typedef struct VhostUserMsg { - VhostUserRequest request; - -#define VHOST_USER_VERSION_MASK (0x3) -#define VHOST_USER_REPLY_MASK (0x1<<2) - uint32_t flags; - uint32_t size; /* the following payload size */ - union { -#define VHOST_USER_VRING_IDX_MASK (0xff) -#define VHOST_USER_VRING_NOFD_MASK (0x1<<8) - uint64_t u64; - struct vhost_vring_state state; - struct vhost_vring_addr addr; - VhostUserMemory memory; - VhostUserLog log; - } payload; - int fds[VHOST_MEMORY_MAX_NREGIONS]; - int fd_num; -} QEMU_PACKED VhostUserMsg; - -#define VHOST_USER_HDR_SIZE offsetof(VhostUserMsg, payload.u64) - -/* The version of the protocol we support */ -#define VHOST_USER_VERSION (0x1) - -#define MAX_NR_VIRTQUEUE (8) - -typedef struct VubrDevRegion { - /* Guest Physical address. */ - uint64_t gpa; - /* Memory region size. */ - uint64_t size; - /* QEMU virtual address (userspace). */ - uint64_t qva; - /* Starting offset in our mmaped space. */ - uint64_t mmap_offset; - /* Start address of mmaped space. */ - uint64_t mmap_addr; -} VubrDevRegion; - -typedef struct VubrDev { - int sock; - Dispatcher dispatcher; - uint32_t nregions; - VubrDevRegion regions[VHOST_MEMORY_MAX_NREGIONS]; - VubrVirtq vq[MAX_NR_VIRTQUEUE]; - int log_call_fd; - uint64_t log_size; - uint8_t *log_table; - int backend_udp_sock; - struct sockaddr_in backend_udp_dest; - int ready; - uint64_t features; - int hdrlen; -} VubrDev; - -static const char *vubr_request_str[] = { - [VHOST_USER_NONE] = "VHOST_USER_NONE", - [VHOST_USER_GET_FEATURES] = "VHOST_USER_GET_FEATURES", - [VHOST_USER_SET_FEATURES] = "VHOST_USER_SET_FEATURES", - [VHOST_USER_SET_OWNER] = "VHOST_USER_SET_OWNER", - [VHOST_USER_RESET_OWNER] = "VHOST_USER_RESET_OWNER", - [VHOST_USER_SET_MEM_TABLE] = "VHOST_USER_SET_MEM_TABLE", - [VHOST_USER_SET_LOG_BASE] = "VHOST_USER_SET_LOG_BASE", - [VHOST_USER_SET_LOG_FD] = "VHOST_USER_SET_LOG_FD", - [VHOST_USER_SET_VRING_NUM] = "VHOST_USER_SET_VRING_NUM", - [VHOST_USER_SET_VRING_ADDR] = "VHOST_USER_SET_VRING_ADDR", - [VHOST_USER_SET_VRING_BASE] = "VHOST_USER_SET_VRING_BASE", - [VHOST_USER_GET_VRING_BASE] = "VHOST_USER_GET_VRING_BASE", - [VHOST_USER_SET_VRING_KICK] = "VHOST_USER_SET_VRING_KICK", - [VHOST_USER_SET_VRING_CALL] = "VHOST_USER_SET_VRING_CALL", - [VHOST_USER_SET_VRING_ERR] = "VHOST_USER_SET_VRING_ERR", - [VHOST_USER_GET_PROTOCOL_FEATURES] = "VHOST_USER_GET_PROTOCOL_FEATURES", - [VHOST_USER_SET_PROTOCOL_FEATURES] = "VHOST_USER_SET_PROTOCOL_FEATURES", - [VHOST_USER_GET_QUEUE_NUM] = "VHOST_USER_GET_QUEUE_NUM", - [VHOST_USER_SET_VRING_ENABLE] = "VHOST_USER_SET_VRING_ENABLE", - [VHOST_USER_SEND_RARP] = "VHOST_USER_SEND_RARP", - [VHOST_USER_MAX] = "VHOST_USER_MAX", -}; - -static void -print_buffer(uint8_t *buf, size_t len) -{ - int i; - printf("Raw buffer:\n"); - for (i = 0; i < len; i++) { - if (i % 16 == 0) { - printf("\n"); - } - if (i % 4 == 0) { - printf(" "); - } - printf("%02x ", buf[i]); - } - printf("\n............................................................\n"); -} - -/* Translate guest physical address to our virtual address. */ -static uint64_t -gpa_to_va(VubrDev *dev, uint64_t guest_addr) -{ - int i; - - /* Find matching memory region. */ - for (i = 0; i < dev->nregions; i++) { - VubrDevRegion *r = &dev->regions[i]; - - if ((guest_addr >= r->gpa) && (guest_addr < (r->gpa + r->size))) { - return guest_addr - r->gpa + r->mmap_addr + r->mmap_offset; - } - } - - assert(!"address not found in regions"); - return 0; -} - -/* Translate qemu virtual address to our virtual address. */ -static uint64_t -qva_to_va(VubrDev *dev, uint64_t qemu_addr) -{ - int i; - - /* Find matching memory region. */ - for (i = 0; i < dev->nregions; i++) { - VubrDevRegion *r = &dev->regions[i]; - - if ((qemu_addr >= r->qva) && (qemu_addr < (r->qva + r->size))) { - return qemu_addr - r->qva + r->mmap_addr + r->mmap_offset; - } - } - - assert(!"address not found in regions"); - return 0; -} - -static void -vubr_message_read(int conn_fd, VhostUserMsg *vmsg) -{ - char control[CMSG_SPACE(VHOST_MEMORY_MAX_NREGIONS * sizeof(int))] = { }; - struct iovec iov = { - .iov_base = (char *)vmsg, - .iov_len = VHOST_USER_HDR_SIZE, - }; - struct msghdr msg = { - .msg_iov = &iov, - .msg_iovlen = 1, - .msg_control = control, - .msg_controllen = sizeof(control), - }; - size_t fd_size; - struct cmsghdr *cmsg; - int rc; - - rc = recvmsg(conn_fd, &msg, 0); - - if (rc == 0) { - vubr_die("recvmsg"); - fprintf(stderr, "Peer disconnected.\n"); - exit(1); - } - if (rc < 0) { - vubr_die("recvmsg"); - } - - vmsg->fd_num = 0; - for (cmsg = CMSG_FIRSTHDR(&msg); - cmsg != NULL; - cmsg = CMSG_NXTHDR(&msg, cmsg)) - { - if (cmsg->cmsg_level == SOL_SOCKET && cmsg->cmsg_type == SCM_RIGHTS) { - fd_size = cmsg->cmsg_len - CMSG_LEN(0); - vmsg->fd_num = fd_size / sizeof(int); - memcpy(vmsg->fds, CMSG_DATA(cmsg), fd_size); - break; - } - } - - if (vmsg->size > sizeof(vmsg->payload)) { - fprintf(stderr, - "Error: too big message request: %d, size: vmsg->size: %u, " - "while sizeof(vmsg->payload) = %zu\n", - vmsg->request, vmsg->size, sizeof(vmsg->payload)); - exit(1); - } - - if (vmsg->size) { - rc = read(conn_fd, &vmsg->payload, vmsg->size); - if (rc == 0) { - vubr_die("recvmsg"); - fprintf(stderr, "Peer disconnected.\n"); - exit(1); - } - if (rc < 0) { - vubr_die("recvmsg"); - } - - assert(rc == vmsg->size); - } -} - -static void -vubr_message_write(int conn_fd, VhostUserMsg *vmsg) -{ - int rc; - - do { - rc = write(conn_fd, vmsg, VHOST_USER_HDR_SIZE + vmsg->size); - } while (rc < 0 && errno == EINTR); - - if (rc < 0) { - vubr_die("write"); - } -} - -static void -vubr_backend_udp_sendbuf(VubrDev *dev, uint8_t *buf, size_t len) -{ - int slen = sizeof(struct sockaddr_in); - - if (sendto(dev->backend_udp_sock, buf, len, 0, - (struct sockaddr *) &dev->backend_udp_dest, slen) == -1) { - vubr_die("sendto()"); - } -} - -static int -vubr_backend_udp_recvbuf(VubrDev *dev, uint8_t *buf, size_t buflen) -{ - int slen = sizeof(struct sockaddr_in); - int rc; - - rc = recvfrom(dev->backend_udp_sock, buf, buflen, 0, - (struct sockaddr *) &dev->backend_udp_dest, - (socklen_t *)&slen); - if (rc == -1) { - vubr_die("recvfrom()"); - } - - return rc; -} - -static void -vubr_consume_raw_packet(VubrDev *dev, uint8_t *buf, uint32_t len) -{ - int hdrlen = dev->hdrlen; - DPRINT(" hdrlen = %d\n", dev->hdrlen); - - if (VHOST_USER_BRIDGE_DEBUG) { - print_buffer(buf, len); - } - vubr_backend_udp_sendbuf(dev, buf + hdrlen, len - hdrlen); -} - -/* Kick the log_call_fd if required. */ -static void -vubr_log_kick(VubrDev *dev) -{ - if (dev->log_call_fd != -1) { - DPRINT("Kicking the QEMU's log...\n"); - eventfd_write(dev->log_call_fd, 1); - } -} - -/* Kick the guest if necessary. */ -static void -vubr_virtqueue_kick(VubrVirtq *vq) -{ - if (!(vq->avail->flags & VRING_AVAIL_F_NO_INTERRUPT)) { - DPRINT("Kicking the guest...\n"); - eventfd_write(vq->call_fd, 1); - } -} - -static void -vubr_log_page(uint8_t *log_table, uint64_t page) -{ - DPRINT("Logged dirty guest page: %"PRId64"\n", page); - atomic_or(&log_table[page / 8], 1 << (page % 8)); -} - -static void -vubr_log_write(VubrDev *dev, uint64_t address, uint64_t length) -{ - uint64_t page; - - if (!(dev->features & (1ULL << VHOST_F_LOG_ALL)) || - !dev->log_table || !length) { - return; - } - - assert(dev->log_size > ((address + length - 1) / VHOST_LOG_PAGE / 8)); - - page = address / VHOST_LOG_PAGE; - while (page * VHOST_LOG_PAGE < address + length) { - vubr_log_page(dev->log_table, page); - page += VHOST_LOG_PAGE; - } - vubr_log_kick(dev); -} - -static void -vubr_post_buffer(VubrDev *dev, VubrVirtq *vq, uint8_t *buf, int32_t len) -{ - struct vring_desc *desc = vq->desc; - struct vring_avail *avail = vq->avail; - struct vring_used *used = vq->used; - uint64_t log_guest_addr = vq->log_guest_addr; - int32_t remaining_len = len; - - unsigned int size = vq->size; - - uint16_t avail_index = atomic_mb_read(&avail->idx); - - /* We check the available descriptors before posting the - * buffer, so here we assume that enough available - * descriptors. */ - assert(vq->last_avail_index != avail_index); - uint16_t a_index = vq->last_avail_index % size; - uint16_t u_index = vq->last_used_index % size; - uint16_t d_index = avail->ring[a_index]; - - int i = d_index; - uint32_t written_len = 0; - - do { - DPRINT("Post packet to guest on vq:\n"); - DPRINT(" size = %d\n", vq->size); - DPRINT(" last_avail_index = %d\n", vq->last_avail_index); - DPRINT(" last_used_index = %d\n", vq->last_used_index); - DPRINT(" a_index = %d\n", a_index); - DPRINT(" u_index = %d\n", u_index); - DPRINT(" d_index = %d\n", d_index); - DPRINT(" desc[%d].addr = 0x%016"PRIx64"\n", i, desc[i].addr); - DPRINT(" desc[%d].len = %d\n", i, desc[i].len); - DPRINT(" desc[%d].flags = %d\n", i, desc[i].flags); - DPRINT(" avail->idx = %d\n", avail_index); - DPRINT(" used->idx = %d\n", used->idx); - - if (!(desc[i].flags & VRING_DESC_F_WRITE)) { - /* FIXME: we should find writable descriptor. */ - fprintf(stderr, "Error: descriptor is not writable. Exiting.\n"); - exit(1); - } - - void *chunk_start = (void *)(uintptr_t)gpa_to_va(dev, desc[i].addr); - uint32_t chunk_len = desc[i].len; - uint32_t chunk_write_len = MIN(remaining_len, chunk_len); - - memcpy(chunk_start, buf + written_len, chunk_write_len); - vubr_log_write(dev, desc[i].addr, chunk_write_len); - remaining_len -= chunk_write_len; - written_len += chunk_write_len; - - if ((remaining_len == 0) || !(desc[i].flags & VRING_DESC_F_NEXT)) { - break; - } - - i = desc[i].next; - } while (1); - - if (remaining_len > 0) { - fprintf(stderr, - "Too long packet for RX, remaining_len = %d, Dropping...\n", - remaining_len); - return; - } - - /* Add descriptor to the used ring. */ - used->ring[u_index].id = d_index; - used->ring[u_index].len = len; - vubr_log_write(dev, - log_guest_addr + offsetof(struct vring_used, ring[u_index]), - sizeof(used->ring[u_index])); - - vq->last_avail_index++; - vq->last_used_index++; - - atomic_mb_set(&used->idx, vq->last_used_index); - vubr_log_write(dev, - log_guest_addr + offsetof(struct vring_used, idx), - sizeof(used->idx)); - - /* Kick the guest if necessary. */ - vubr_virtqueue_kick(vq); -} - -static int -vubr_process_desc(VubrDev *dev, VubrVirtq *vq) -{ - struct vring_desc *desc = vq->desc; - struct vring_avail *avail = vq->avail; - struct vring_used *used = vq->used; - uint64_t log_guest_addr = vq->log_guest_addr; - - unsigned int size = vq->size; - - uint16_t a_index = vq->last_avail_index % size; - uint16_t u_index = vq->last_used_index % size; - uint16_t d_index = avail->ring[a_index]; - - uint32_t i, len = 0; - size_t buf_size = 4096; - uint8_t buf[4096]; - - DPRINT("Chunks: "); - i = d_index; - do { - void *chunk_start = (void *)(uintptr_t)gpa_to_va(dev, desc[i].addr); - uint32_t chunk_len = desc[i].len; - - assert(!(desc[i].flags & VRING_DESC_F_WRITE)); - - if (len + chunk_len < buf_size) { - memcpy(buf + len, chunk_start, chunk_len); - DPRINT("%d ", chunk_len); - } else { - fprintf(stderr, "Error: too long packet. Dropping...\n"); - break; - } - - len += chunk_len; - - if (!(desc[i].flags & VRING_DESC_F_NEXT)) { - break; - } - - i = desc[i].next; - } while (1); - DPRINT("\n"); - - if (!len) { - return -1; - } - - /* Add descriptor to the used ring. */ - used->ring[u_index].id = d_index; - used->ring[u_index].len = len; - vubr_log_write(dev, - log_guest_addr + offsetof(struct vring_used, ring[u_index]), - sizeof(used->ring[u_index])); - - vubr_consume_raw_packet(dev, buf, len); - - return 0; -} - -static void -vubr_process_avail(VubrDev *dev, VubrVirtq *vq) -{ - struct vring_avail *avail = vq->avail; - struct vring_used *used = vq->used; - uint64_t log_guest_addr = vq->log_guest_addr; - - while (vq->last_avail_index != atomic_mb_read(&avail->idx)) { - vubr_process_desc(dev, vq); - vq->last_avail_index++; - vq->last_used_index++; - } - - atomic_mb_set(&used->idx, vq->last_used_index); - vubr_log_write(dev, - log_guest_addr + offsetof(struct vring_used, idx), - sizeof(used->idx)); -} - -static void -vubr_backend_recv_cb(int sock, void *ctx) -{ - VubrDev *dev = (VubrDev *) ctx; - VubrVirtq *rx_vq = &dev->vq[0]; - uint8_t buf[4096]; - struct virtio_net_hdr_v1 *hdr = (struct virtio_net_hdr_v1 *)buf; - int hdrlen = dev->hdrlen; - int buflen = sizeof(buf); - int len; - - if (!dev->ready) { - return; - } - - DPRINT("\n\n *** IN UDP RECEIVE CALLBACK ***\n\n"); - DPRINT(" hdrlen = %d\n", hdrlen); - - uint16_t avail_index = atomic_mb_read(&rx_vq->avail->idx); - - /* If there is no available descriptors, just do nothing. - * The buffer will be handled by next arrived UDP packet, - * or next kick on receive virtq. */ - if (rx_vq->last_avail_index == avail_index) { - DPRINT("Got UDP packet, but no available descriptors on RX virtq.\n"); - return; - } - - memset(buf, 0, hdrlen); - /* TODO: support mergeable buffers. */ - if (hdrlen == 12) - hdr->num_buffers = 1; - len = vubr_backend_udp_recvbuf(dev, buf + hdrlen, buflen - hdrlen); - - vubr_post_buffer(dev, rx_vq, buf, len + hdrlen); -} - -static void -vubr_kick_cb(int sock, void *ctx) -{ - VubrDev *dev = (VubrDev *) ctx; - eventfd_t kick_data; - ssize_t rc; - - rc = eventfd_read(sock, &kick_data); - if (rc == -1) { - vubr_die("eventfd_read()"); - } else { - DPRINT("Got kick_data: %016"PRIx64"\n", kick_data); - vubr_process_avail(dev, &dev->vq[1]); - } -} - -static int -vubr_none_exec(VubrDev *dev, VhostUserMsg *vmsg) -{ - DPRINT("Function %s() not implemented yet.\n", __func__); - return 0; -} - -static int -vubr_get_features_exec(VubrDev *dev, VhostUserMsg *vmsg) -{ - vmsg->payload.u64 = - ((1ULL << VIRTIO_NET_F_MRG_RXBUF) | - (1ULL << VHOST_F_LOG_ALL) | - (1ULL << VIRTIO_NET_F_GUEST_ANNOUNCE) | - (1ULL << VHOST_USER_F_PROTOCOL_FEATURES)); - - vmsg->size = sizeof(vmsg->payload.u64); - - DPRINT("Sending back to guest u64: 0x%016"PRIx64"\n", vmsg->payload.u64); - - /* Reply */ - return 1; -} - -static int -vubr_set_features_exec(VubrDev *dev, VhostUserMsg *vmsg) -{ - DPRINT("u64: 0x%016"PRIx64"\n", vmsg->payload.u64); - - dev->features = vmsg->payload.u64; - if ((dev->features & (1ULL << VIRTIO_F_VERSION_1)) || - (dev->features & (1ULL << VIRTIO_NET_F_MRG_RXBUF))) { - dev->hdrlen = 12; - } else { - dev->hdrlen = 10; - } - - return 0; -} - -static int -vubr_set_owner_exec(VubrDev *dev, VhostUserMsg *vmsg) -{ - return 0; -} - -static void -vubr_close_log(VubrDev *dev) -{ - if (dev->log_table) { - if (munmap(dev->log_table, dev->log_size) != 0) { - vubr_die("munmap()"); - } - - dev->log_table = 0; - } - if (dev->log_call_fd != -1) { - close(dev->log_call_fd); - dev->log_call_fd = -1; - } -} - -static int -vubr_reset_device_exec(VubrDev *dev, VhostUserMsg *vmsg) -{ - vubr_close_log(dev); - dev->ready = 0; - dev->features = 0; - return 0; -} - -static int -vubr_set_mem_table_exec(VubrDev *dev, VhostUserMsg *vmsg) -{ - int i; - VhostUserMemory *memory = &vmsg->payload.memory; - dev->nregions = memory->nregions; - - DPRINT("Nregions: %d\n", memory->nregions); - for (i = 0; i < dev->nregions; i++) { - void *mmap_addr; - VhostUserMemoryRegion *msg_region = &memory->regions[i]; - VubrDevRegion *dev_region = &dev->regions[i]; - - DPRINT("Region %d\n", i); - DPRINT(" guest_phys_addr: 0x%016"PRIx64"\n", - msg_region->guest_phys_addr); - DPRINT(" memory_size: 0x%016"PRIx64"\n", - msg_region->memory_size); - DPRINT(" userspace_addr 0x%016"PRIx64"\n", - msg_region->userspace_addr); - DPRINT(" mmap_offset 0x%016"PRIx64"\n", - msg_region->mmap_offset); - - dev_region->gpa = msg_region->guest_phys_addr; - dev_region->size = msg_region->memory_size; - dev_region->qva = msg_region->userspace_addr; - dev_region->mmap_offset = msg_region->mmap_offset; - - /* We don't use offset argument of mmap() since the - * mapped address has to be page aligned, and we use huge - * pages. */ - mmap_addr = mmap(0, dev_region->size + dev_region->mmap_offset, - PROT_READ | PROT_WRITE, MAP_SHARED, - vmsg->fds[i], 0); - - if (mmap_addr == MAP_FAILED) { - vubr_die("mmap"); - } - dev_region->mmap_addr = (uint64_t)(uintptr_t)mmap_addr; - DPRINT(" mmap_addr: 0x%016"PRIx64"\n", dev_region->mmap_addr); - - close(vmsg->fds[i]); - } - - return 0; -} - -static int -vubr_set_log_base_exec(VubrDev *dev, VhostUserMsg *vmsg) -{ - int fd; - uint64_t log_mmap_size, log_mmap_offset; - void *rc; - - assert(vmsg->fd_num == 1); - fd = vmsg->fds[0]; - - assert(vmsg->size == sizeof(vmsg->payload.log)); - log_mmap_offset = vmsg->payload.log.mmap_offset; - log_mmap_size = vmsg->payload.log.mmap_size; - DPRINT("Log mmap_offset: %"PRId64"\n", log_mmap_offset); - DPRINT("Log mmap_size: %"PRId64"\n", log_mmap_size); - - rc = mmap(0, log_mmap_size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, - log_mmap_offset); - if (rc == MAP_FAILED) { - vubr_die("mmap"); - } - dev->log_table = rc; - dev->log_size = log_mmap_size; - - vmsg->size = sizeof(vmsg->payload.u64); - /* Reply */ - return 1; -} - -static int -vubr_set_log_fd_exec(VubrDev *dev, VhostUserMsg *vmsg) -{ - assert(vmsg->fd_num == 1); - dev->log_call_fd = vmsg->fds[0]; - DPRINT("Got log_call_fd: %d\n", vmsg->fds[0]); - return 0; -} - -static int -vubr_set_vring_num_exec(VubrDev *dev, VhostUserMsg *vmsg) -{ - unsigned int index = vmsg->payload.state.index; - unsigned int num = vmsg->payload.state.num; - - DPRINT("State.index: %d\n", index); - DPRINT("State.num: %d\n", num); - dev->vq[index].size = num; - return 0; -} - -static int -vubr_set_vring_addr_exec(VubrDev *dev, VhostUserMsg *vmsg) -{ - struct vhost_vring_addr *vra = &vmsg->payload.addr; - unsigned int index = vra->index; - VubrVirtq *vq = &dev->vq[index]; - - DPRINT("vhost_vring_addr:\n"); - DPRINT(" index: %d\n", vra->index); - DPRINT(" flags: %d\n", vra->flags); - DPRINT(" desc_user_addr: 0x%016llx\n", vra->desc_user_addr); - DPRINT(" used_user_addr: 0x%016llx\n", vra->used_user_addr); - DPRINT(" avail_user_addr: 0x%016llx\n", vra->avail_user_addr); - DPRINT(" log_guest_addr: 0x%016llx\n", vra->log_guest_addr); - - vq->desc = (struct vring_desc *)(uintptr_t)qva_to_va(dev, vra->desc_user_addr); - vq->used = (struct vring_used *)(uintptr_t)qva_to_va(dev, vra->used_user_addr); - vq->avail = (struct vring_avail *)(uintptr_t)qva_to_va(dev, vra->avail_user_addr); - vq->log_guest_addr = vra->log_guest_addr; - - DPRINT("Setting virtq addresses:\n"); - DPRINT(" vring_desc at %p\n", vq->desc); - DPRINT(" vring_used at %p\n", vq->used); - DPRINT(" vring_avail at %p\n", vq->avail); - - vq->last_used_index = vq->used->idx; - return 0; -} - -static int -vubr_set_vring_base_exec(VubrDev *dev, VhostUserMsg *vmsg) -{ - unsigned int index = vmsg->payload.state.index; - unsigned int num = vmsg->payload.state.num; - - DPRINT("State.index: %d\n", index); - DPRINT("State.num: %d\n", num); - dev->vq[index].last_avail_index = num; - - return 0; -} - -static int -vubr_get_vring_base_exec(VubrDev *dev, VhostUserMsg *vmsg) -{ - unsigned int index = vmsg->payload.state.index; - - DPRINT("State.index: %d\n", index); - vmsg->payload.state.num = dev->vq[index].last_avail_index; - vmsg->size = sizeof(vmsg->payload.state); - /* FIXME: this is a work-around for a bug in QEMU enabling - * too early vrings. When protocol features are enabled, - * we have to respect * VHOST_USER_SET_VRING_ENABLE request. */ - dev->ready = 0; - - if (dev->vq[index].call_fd != -1) { - close(dev->vq[index].call_fd); - dispatcher_remove(&dev->dispatcher, dev->vq[index].call_fd); - dev->vq[index].call_fd = -1; - } - if (dev->vq[index].kick_fd != -1) { - close(dev->vq[index].kick_fd); - dispatcher_remove(&dev->dispatcher, dev->vq[index].kick_fd); - dev->vq[index].kick_fd = -1; - } - - /* Reply */ - return 1; -} - -static int -vubr_set_vring_kick_exec(VubrDev *dev, VhostUserMsg *vmsg) -{ - uint64_t u64_arg = vmsg->payload.u64; - int index = u64_arg & VHOST_USER_VRING_IDX_MASK; - - DPRINT("u64: 0x%016"PRIx64"\n", vmsg->payload.u64); - - assert((u64_arg & VHOST_USER_VRING_NOFD_MASK) == 0); - assert(vmsg->fd_num == 1); - - if (dev->vq[index].kick_fd != -1) { - close(dev->vq[index].kick_fd); - dispatcher_remove(&dev->dispatcher, dev->vq[index].kick_fd); - } - dev->vq[index].kick_fd = vmsg->fds[0]; - DPRINT("Got kick_fd: %d for vq: %d\n", vmsg->fds[0], index); - - if (index % 2 == 1) { - /* TX queue. */ - dispatcher_add(&dev->dispatcher, dev->vq[index].kick_fd, - dev, vubr_kick_cb); - - DPRINT("Waiting for kicks on fd: %d for vq: %d\n", - dev->vq[index].kick_fd, index); - } - /* We temporarily use this hack to determine that both TX and RX - * queues are set up and ready for processing. - * FIXME: we need to rely in VHOST_USER_SET_VRING_ENABLE and - * actual kicks. */ - if (dev->vq[0].kick_fd != -1 && - dev->vq[1].kick_fd != -1) { - dev->ready = 1; - DPRINT("vhost-user-bridge is ready for processing queues.\n"); - } - return 0; - -} - -static int -vubr_set_vring_call_exec(VubrDev *dev, VhostUserMsg *vmsg) -{ - uint64_t u64_arg = vmsg->payload.u64; - int index = u64_arg & VHOST_USER_VRING_IDX_MASK; - - DPRINT("u64: 0x%016"PRIx64"\n", vmsg->payload.u64); - assert((u64_arg & VHOST_USER_VRING_NOFD_MASK) == 0); - assert(vmsg->fd_num == 1); - - if (dev->vq[index].call_fd != -1) { - close(dev->vq[index].call_fd); - dispatcher_remove(&dev->dispatcher, dev->vq[index].call_fd); - } - dev->vq[index].call_fd = vmsg->fds[0]; - DPRINT("Got call_fd: %d for vq: %d\n", vmsg->fds[0], index); - - return 0; -} - -static int -vubr_set_vring_err_exec(VubrDev *dev, VhostUserMsg *vmsg) -{ - DPRINT("u64: 0x%016"PRIx64"\n", vmsg->payload.u64); - return 0; -} - -static int -vubr_get_protocol_features_exec(VubrDev *dev, VhostUserMsg *vmsg) -{ - vmsg->payload.u64 = 1ULL << VHOST_USER_PROTOCOL_F_LOG_SHMFD; - DPRINT("u64: 0x%016"PRIx64"\n", vmsg->payload.u64); - vmsg->size = sizeof(vmsg->payload.u64); - - /* Reply */ - return 1; -} - -static int -vubr_set_protocol_features_exec(VubrDev *dev, VhostUserMsg *vmsg) -{ - /* FIXME: unimplented */ - DPRINT("u64: 0x%016"PRIx64"\n", vmsg->payload.u64); - return 0; -} - -static int -vubr_get_queue_num_exec(VubrDev *dev, VhostUserMsg *vmsg) -{ - DPRINT("Function %s() not implemented yet.\n", __func__); - return 0; -} - -static int -vubr_set_vring_enable_exec(VubrDev *dev, VhostUserMsg *vmsg) -{ - unsigned int index = vmsg->payload.state.index; - unsigned int enable = vmsg->payload.state.num; - - DPRINT("State.index: %d\n", index); - DPRINT("State.enable: %d\n", enable); - dev->vq[index].enable = enable; - return 0; -} - -static int -vubr_send_rarp_exec(VubrDev *dev, VhostUserMsg *vmsg) -{ - DPRINT("Function %s() not implemented yet.\n", __func__); - return 0; -} - -static int -vubr_execute_request(VubrDev *dev, VhostUserMsg *vmsg) -{ - /* Print out generic part of the request. */ - DPRINT( - "================== Vhost user message from QEMU ==================\n"); - DPRINT("Request: %s (%d)\n", vubr_request_str[vmsg->request], - vmsg->request); - DPRINT("Flags: 0x%x\n", vmsg->flags); - DPRINT("Size: %d\n", vmsg->size); - - if (vmsg->fd_num) { - int i; - DPRINT("Fds:"); - for (i = 0; i < vmsg->fd_num; i++) { - DPRINT(" %d", vmsg->fds[i]); - } - DPRINT("\n"); - } - - switch (vmsg->request) { - case VHOST_USER_NONE: - return vubr_none_exec(dev, vmsg); - case VHOST_USER_GET_FEATURES: - return vubr_get_features_exec(dev, vmsg); - case VHOST_USER_SET_FEATURES: - return vubr_set_features_exec(dev, vmsg); - case VHOST_USER_SET_OWNER: - return vubr_set_owner_exec(dev, vmsg); - case VHOST_USER_RESET_OWNER: - return vubr_reset_device_exec(dev, vmsg); - case VHOST_USER_SET_MEM_TABLE: - return vubr_set_mem_table_exec(dev, vmsg); - case VHOST_USER_SET_LOG_BASE: - return vubr_set_log_base_exec(dev, vmsg); - case VHOST_USER_SET_LOG_FD: - return vubr_set_log_fd_exec(dev, vmsg); - case VHOST_USER_SET_VRING_NUM: - return vubr_set_vring_num_exec(dev, vmsg); - case VHOST_USER_SET_VRING_ADDR: - return vubr_set_vring_addr_exec(dev, vmsg); - case VHOST_USER_SET_VRING_BASE: - return vubr_set_vring_base_exec(dev, vmsg); - case VHOST_USER_GET_VRING_BASE: - return vubr_get_vring_base_exec(dev, vmsg); - case VHOST_USER_SET_VRING_KICK: - return vubr_set_vring_kick_exec(dev, vmsg); - case VHOST_USER_SET_VRING_CALL: - return vubr_set_vring_call_exec(dev, vmsg); - case VHOST_USER_SET_VRING_ERR: - return vubr_set_vring_err_exec(dev, vmsg); - case VHOST_USER_GET_PROTOCOL_FEATURES: - return vubr_get_protocol_features_exec(dev, vmsg); - case VHOST_USER_SET_PROTOCOL_FEATURES: - return vubr_set_protocol_features_exec(dev, vmsg); - case VHOST_USER_GET_QUEUE_NUM: - return vubr_get_queue_num_exec(dev, vmsg); - case VHOST_USER_SET_VRING_ENABLE: - return vubr_set_vring_enable_exec(dev, vmsg); - case VHOST_USER_SEND_RARP: - return vubr_send_rarp_exec(dev, vmsg); - - case VHOST_USER_MAX: - assert(vmsg->request != VHOST_USER_MAX); - } - return 0; -} - -static void -vubr_receive_cb(int sock, void *ctx) -{ - VubrDev *dev = (VubrDev *) ctx; - VhostUserMsg vmsg; - int reply_requested; - - vubr_message_read(sock, &vmsg); - reply_requested = vubr_execute_request(dev, &vmsg); - if (reply_requested) { - /* Set the version in the flags when sending the reply */ - vmsg.flags &= ~VHOST_USER_VERSION_MASK; - vmsg.flags |= VHOST_USER_VERSION; - vmsg.flags |= VHOST_USER_REPLY_MASK; - vubr_message_write(sock, &vmsg); - } -} - -static void -vubr_accept_cb(int sock, void *ctx) -{ - VubrDev *dev = (VubrDev *)ctx; - int conn_fd; - struct sockaddr_un un; - socklen_t len = sizeof(un); - - conn_fd = accept(sock, (struct sockaddr *) &un, &len); - if (conn_fd == -1) { - vubr_die("accept()"); - } - DPRINT("Got connection from remote peer on sock %d\n", conn_fd); - dispatcher_add(&dev->dispatcher, conn_fd, ctx, vubr_receive_cb); -} - -static VubrDev * -vubr_new(const char *path, bool client) -{ - VubrDev *dev = (VubrDev *) calloc(1, sizeof(VubrDev)); - dev->nregions = 0; - int i; - struct sockaddr_un un; - CallbackFunc cb; - size_t len; - - for (i = 0; i < MAX_NR_VIRTQUEUE; i++) { - dev->vq[i] = (VubrVirtq) { - .call_fd = -1, .kick_fd = -1, - .size = 0, - .last_avail_index = 0, .last_used_index = 0, - .desc = 0, .avail = 0, .used = 0, - .enable = 0, - }; - } - - /* Init log */ - dev->log_call_fd = -1; - dev->log_size = 0; - dev->log_table = 0; - dev->ready = 0; - dev->features = 0; - - /* Get a UNIX socket. */ - dev->sock = socket(AF_UNIX, SOCK_STREAM, 0); - if (dev->sock == -1) { - vubr_die("socket"); - } - - un.sun_family = AF_UNIX; - strcpy(un.sun_path, path); - len = sizeof(un.sun_family) + strlen(path); - - if (!client) { - unlink(path); - - if (bind(dev->sock, (struct sockaddr *) &un, len) == -1) { - vubr_die("bind"); - } - - if (listen(dev->sock, 1) == -1) { - vubr_die("listen"); - } - cb = vubr_accept_cb; - } else { - if (connect(dev->sock, (struct sockaddr *)&un, len) == -1) { - vubr_die("connect"); - } - cb = vubr_receive_cb; - } - - dispatcher_init(&dev->dispatcher); - dispatcher_add(&dev->dispatcher, dev->sock, (void *)dev, cb); - - DPRINT("Waiting for connections on UNIX socket %s ...\n", path); - return dev; -} - -static void -vubr_set_host(struct sockaddr_in *saddr, const char *host) -{ - if (isdigit(host[0])) { - if (!inet_aton(host, &saddr->sin_addr)) { - fprintf(stderr, "inet_aton() failed.\n"); - exit(1); - } - } else { - struct hostent *he = gethostbyname(host); - - if (!he) { - fprintf(stderr, "gethostbyname() failed.\n"); - exit(1); - } - saddr->sin_addr = *(struct in_addr *)he->h_addr; - } -} - -static void -vubr_backend_udp_setup(VubrDev *dev, - const char *local_host, - const char *local_port, - const char *remote_host, - const char *remote_port) -{ - int sock; - const char *r; - - int lport, rport; - - lport = strtol(local_port, (char **)&r, 0); - if (r == local_port) { - fprintf(stderr, "lport parsing failed.\n"); - exit(1); - } - - rport = strtol(remote_port, (char **)&r, 0); - if (r == remote_port) { - fprintf(stderr, "rport parsing failed.\n"); - exit(1); - } - - struct sockaddr_in si_local = { - .sin_family = AF_INET, - .sin_port = htons(lport), - }; - - vubr_set_host(&si_local, local_host); - - /* setup destination for sends */ - dev->backend_udp_dest = (struct sockaddr_in) { - .sin_family = AF_INET, - .sin_port = htons(rport), - }; - vubr_set_host(&dev->backend_udp_dest, remote_host); - - sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP); - if (sock == -1) { - vubr_die("socket"); - } - - if (bind(sock, (struct sockaddr *)&si_local, sizeof(si_local)) == -1) { - vubr_die("bind"); - } - - dev->backend_udp_sock = sock; - dispatcher_add(&dev->dispatcher, sock, dev, vubr_backend_recv_cb); - DPRINT("Waiting for data from udp backend on %s:%d...\n", - local_host, lport); -} - -static void -vubr_run(VubrDev *dev) -{ - while (1) { - /* timeout 200ms */ - dispatcher_wait(&dev->dispatcher, 200000); - /* Here one can try polling strategy. */ - } -} - -static int -vubr_parse_host_port(const char **host, const char **port, const char *buf) -{ - char *p = strchr(buf, ':'); - - if (!p) { - return -1; - } - *p = '\0'; - *host = strdup(buf); - *port = strdup(p + 1); - return 0; -} - -#define DEFAULT_UD_SOCKET "/tmp/vubr.sock" -#define DEFAULT_LHOST "127.0.0.1" -#define DEFAULT_LPORT "4444" -#define DEFAULT_RHOST "127.0.0.1" -#define DEFAULT_RPORT "5555" - -static const char *ud_socket_path = DEFAULT_UD_SOCKET; -static const char *lhost = DEFAULT_LHOST; -static const char *lport = DEFAULT_LPORT; -static const char *rhost = DEFAULT_RHOST; -static const char *rport = DEFAULT_RPORT; - -int -main(int argc, char *argv[]) -{ - VubrDev *dev; - int opt; - bool client = false; - - while ((opt = getopt(argc, argv, "l:r:u:c")) != -1) { - - switch (opt) { - case 'l': - if (vubr_parse_host_port(&lhost, &lport, optarg) < 0) { - goto out; - } - break; - case 'r': - if (vubr_parse_host_port(&rhost, &rport, optarg) < 0) { - goto out; - } - break; - case 'u': - ud_socket_path = strdup(optarg); - break; - case 'c': - client = true; - break; - default: - goto out; - } - } - - DPRINT("ud socket: %s (%s)\n", ud_socket_path, - client ? "client" : "server"); - DPRINT("local: %s:%s\n", lhost, lport); - DPRINT("remote: %s:%s\n", rhost, rport); - - dev = vubr_new(ud_socket_path, client); - if (!dev) { - return 1; - } - - vubr_backend_udp_setup(dev, lhost, lport, rhost, rport); - vubr_run(dev); - return 0; - -out: - fprintf(stderr, "Usage: %s ", argv[0]); - fprintf(stderr, "[-u ud_socket_path] [-l lhost:lport] [-r rhost:rport]\n"); - fprintf(stderr, "\t-u path to unix doman socket. default: %s\n", - DEFAULT_UD_SOCKET); - fprintf(stderr, "\t-l local host and port. default: %s:%s\n", - DEFAULT_LHOST, DEFAULT_LPORT); - fprintf(stderr, "\t-r remote host and port. default: %s:%s\n", - DEFAULT_RHOST, DEFAULT_RPORT); - - return 1; -} diff --git a/tests/vhost-user-test.c.orig b/tests/vhost-user-test.c.orig deleted file mode 100644 index b491e6fcb6..0000000000 --- a/tests/vhost-user-test.c.orig +++ /dev/null @@ -1,364 +0,0 @@ -/* - * QTest testcase for the vhost-user - * - * Copyright (c) 2014 Virtual Open Systems Sarl. - * - * This work is licensed under the terms of the GNU GPL, version 2 or later. - * See the COPYING file in the top-level directory. - * - */ - -#include - -#include "libqtest.h" -#include "qemu/option.h" -#include "sysemu/char.h" -#include "sysemu/sysemu.h" - -#include -#include -#include -#include - -/* GLIB version compatibility flags */ -#if !GLIB_CHECK_VERSION(2, 26, 0) -#define G_TIME_SPAN_SECOND (G_GINT64_CONSTANT(1000000)) -#endif - -#if GLIB_CHECK_VERSION(2, 28, 0) -#define HAVE_MONOTONIC_TIME -#endif - -#define QEMU_CMD_ACCEL " -machine accel=tcg" -#define QEMU_CMD_MEM " -m 512 -object memory-backend-file,id=mem,size=512M,"\ - "mem-path=%s,share=on -numa node,memdev=mem" -#define QEMU_CMD_CHR " -chardev socket,id=chr0,path=%s" -#define QEMU_CMD_NETDEV " -netdev vhost-user,id=net0,chardev=chr0,vhostforce" -#define QEMU_CMD_NET " -device virtio-net-pci,netdev=net0 " -#define QEMU_CMD_ROM " -option-rom ../pc-bios/pxe-virtio.rom" - -#define QEMU_CMD QEMU_CMD_ACCEL QEMU_CMD_MEM QEMU_CMD_CHR \ - QEMU_CMD_NETDEV QEMU_CMD_NET QEMU_CMD_ROM - -#define HUGETLBFS_MAGIC 0x958458f6 - -/*********** FROM hw/virtio/vhost-user.c *************************************/ - -#define VHOST_MEMORY_MAX_NREGIONS 8 - -#define VHOST_USER_F_PROTOCOL_FEATURES 30 - -typedef enum VhostUserRequest { - VHOST_USER_NONE = 0, - VHOST_USER_GET_FEATURES = 1, - VHOST_USER_SET_FEATURES = 2, - VHOST_USER_SET_OWNER = 3, - VHOST_USER_RESET_DEVICE = 4, - VHOST_USER_SET_MEM_TABLE = 5, - VHOST_USER_SET_LOG_BASE = 6, - VHOST_USER_SET_LOG_FD = 7, - VHOST_USER_SET_VRING_NUM = 8, - VHOST_USER_SET_VRING_ADDR = 9, - VHOST_USER_SET_VRING_BASE = 10, - VHOST_USER_GET_VRING_BASE = 11, - VHOST_USER_SET_VRING_KICK = 12, - VHOST_USER_SET_VRING_CALL = 13, - VHOST_USER_SET_VRING_ERR = 14, - VHOST_USER_GET_PROTOCOL_FEATURES = 15, - VHOST_USER_SET_PROTOCOL_FEATURES = 16, - VHOST_USER_MAX -} VhostUserRequest; - -typedef struct VhostUserMemoryRegion { - uint64_t guest_phys_addr; - uint64_t memory_size; - uint64_t userspace_addr; - uint64_t mmap_offset; -} VhostUserMemoryRegion; - -typedef struct VhostUserMemory { - uint32_t nregions; - uint32_t padding; - VhostUserMemoryRegion regions[VHOST_MEMORY_MAX_NREGIONS]; -} VhostUserMemory; - -typedef struct VhostUserMsg { - VhostUserRequest request; - -#define VHOST_USER_VERSION_MASK (0x3) -#define VHOST_USER_REPLY_MASK (0x1<<2) - uint32_t flags; - uint32_t size; /* the following payload size */ - union { - uint64_t u64; - struct vhost_vring_state state; - struct vhost_vring_addr addr; - VhostUserMemory memory; - }; -} QEMU_PACKED VhostUserMsg; - -static VhostUserMsg m __attribute__ ((unused)); -#define VHOST_USER_HDR_SIZE (sizeof(m.request) \ - + sizeof(m.flags) \ - + sizeof(m.size)) - -#define VHOST_USER_PAYLOAD_SIZE (sizeof(m) - VHOST_USER_HDR_SIZE) - -/* The version of the protocol we support */ -#define VHOST_USER_VERSION (0x1) -/*****************************************************************************/ - -int fds_num = 0, fds[VHOST_MEMORY_MAX_NREGIONS]; -static VhostUserMemory memory; -static CompatGMutex data_mutex; -static CompatGCond data_cond; - -#if !GLIB_CHECK_VERSION(2, 32, 0) -static gboolean g_cond_wait_until(CompatGCond cond, CompatGMutex mutex, - gint64 end_time) -{ - gboolean ret = FALSE; - end_time -= g_get_monotonic_time(); - GTimeVal time = { end_time / G_TIME_SPAN_SECOND, - end_time % G_TIME_SPAN_SECOND }; - ret = g_cond_timed_wait(cond, mutex, &time); - return ret; -} -#endif - -static void wait_for_fds(void) -{ - gint64 end_time; - - g_mutex_lock(&data_mutex); - end_time = g_get_monotonic_time() + 5 * G_TIME_SPAN_SECOND; - while (!fds_num) { - if (!g_cond_wait_until(&data_cond, &data_mutex, end_time)) { - /* timeout has passed */ - g_assert(fds_num); - break; - } - } - - /* check for sanity */ - g_assert_cmpint(fds_num, >, 0); - g_assert_cmpint(fds_num, ==, memory.nregions); - - g_mutex_unlock(&data_mutex); -} - -static void read_guest_mem(void) -{ - uint32_t *guest_mem; - int i, j; - size_t size; - - wait_for_fds(); - - /* iterate all regions */ - for (i = 0; i < fds_num; i++) { - - /* We'll check only the region statring at 0x0*/ - if (memory.regions[i].guest_phys_addr != 0x0) { - continue; - } - - g_assert_cmpint(memory.regions[i].memory_size, >, 1024); - - size = memory.regions[i].memory_size + memory.regions[i].mmap_offset; - - guest_mem = mmap(0, size, PROT_READ | PROT_WRITE, - MAP_SHARED, fds[i], 0); - - g_assert(guest_mem != MAP_FAILED); - guest_mem += (memory.regions[i].mmap_offset / sizeof(*guest_mem)); - - for (j = 0; j < 256; j++) { - uint32_t a = readl(memory.regions[i].guest_phys_addr + j*4); - uint32_t b = guest_mem[j]; - - g_assert_cmpint(a, ==, b); - } - - munmap(guest_mem, memory.regions[i].memory_size); - } - - g_mutex_unlock(&data_mutex); -} - -static void *thread_function(void *data) -{ - GMainLoop *loop; - loop = g_main_loop_new(NULL, FALSE); - g_main_loop_run(loop); - return NULL; -} - -static int chr_can_read(void *opaque) -{ - return VHOST_USER_HDR_SIZE; -} - -static void chr_read(void *opaque, const uint8_t *buf, int size) -{ - CharDriverState *chr = opaque; - VhostUserMsg msg; - uint8_t *p = (uint8_t *) &msg; - int fd; - - if (size != VHOST_USER_HDR_SIZE) { - g_test_message("Wrong message size received %d\n", size); - return; - } - - g_mutex_lock(&data_mutex); - memcpy(p, buf, VHOST_USER_HDR_SIZE); - - if (msg.size) { - p += VHOST_USER_HDR_SIZE; - qemu_chr_fe_read_all(chr, p, msg.size); - } - - switch (msg.request) { - case VHOST_USER_GET_FEATURES: - /* send back features to qemu */ - msg.flags |= VHOST_USER_REPLY_MASK; - msg.size = sizeof(m.u64); - msg.u64 = 0x1ULL << VHOST_USER_F_PROTOCOL_FEATURES; - p = (uint8_t *) &msg; - qemu_chr_fe_write_all(chr, p, VHOST_USER_HDR_SIZE + msg.size); - break; - - case VHOST_USER_SET_FEATURES: - g_assert_cmpint(msg.u64 & (0x1ULL << VHOST_USER_F_PROTOCOL_FEATURES), - !=, 0ULL); - break; - - case VHOST_USER_GET_PROTOCOL_FEATURES: - /* send back features to qemu */ - msg.flags |= VHOST_USER_REPLY_MASK; - msg.size = sizeof(m.u64); - msg.u64 = 0; - p = (uint8_t *) &msg; - qemu_chr_fe_write_all(chr, p, VHOST_USER_HDR_SIZE + msg.size); - break; - - case VHOST_USER_GET_VRING_BASE: - /* send back vring base to qemu */ - msg.flags |= VHOST_USER_REPLY_MASK; - msg.size = sizeof(m.state); - msg.state.num = 0; - p = (uint8_t *) &msg; - qemu_chr_fe_write_all(chr, p, VHOST_USER_HDR_SIZE + msg.size); - break; - - case VHOST_USER_SET_MEM_TABLE: - /* received the mem table */ - memcpy(&memory, &msg.memory, sizeof(msg.memory)); - fds_num = qemu_chr_fe_get_msgfds(chr, fds, sizeof(fds) / sizeof(int)); - - /* signal the test that it can continue */ - g_cond_signal(&data_cond); - break; - - case VHOST_USER_SET_VRING_KICK: - case VHOST_USER_SET_VRING_CALL: - /* consume the fd */ - qemu_chr_fe_get_msgfds(chr, &fd, 1); - /* - * This is a non-blocking eventfd. - * The receive function forces it to be blocking, - * so revert it back to non-blocking. - */ - qemu_set_nonblock(fd); - break; - default: - break; - } - g_mutex_unlock(&data_mutex); -} - -static const char *init_hugepagefs(void) -{ - const char *path; - struct statfs fs; - int ret; - - path = getenv("QTEST_HUGETLBFS_PATH"); - if (!path) { - path = "/hugetlbfs"; - } - - if (access(path, R_OK | W_OK | X_OK)) { - g_test_message("access on path (%s): %s\n", path, strerror(errno)); - return NULL; - } - - do { - ret = statfs(path, &fs); - } while (ret != 0 && errno == EINTR); - - if (ret != 0) { - g_test_message("statfs on path (%s): %s\n", path, strerror(errno)); - return NULL; - } - - if (fs.f_type != HUGETLBFS_MAGIC) { - g_test_message("Warning: path not on HugeTLBFS: %s\n", path); - return NULL; - } - - return path; -} - -int main(int argc, char **argv) -{ - QTestState *s = NULL; - CharDriverState *chr = NULL; - const char *hugefs = 0; - char *socket_path = 0; - char *qemu_cmd = 0; - char *chr_path = 0; - int ret; - - g_test_init(&argc, &argv, NULL); - - module_call_init(MODULE_INIT_QOM); - - hugefs = init_hugepagefs(); - if (!hugefs) { - return 0; - } - - socket_path = g_strdup_printf("/tmp/vhost-%d.sock", getpid()); - - /* create char dev and add read handlers */ - qemu_add_opts(&qemu_chardev_opts); - chr_path = g_strdup_printf("unix:%s,server,nowait", socket_path); - chr = qemu_chr_new("chr0", chr_path, NULL); - g_free(chr_path); - qemu_chr_add_handlers(chr, chr_can_read, chr_read, NULL, chr); - - /* run the main loop thread so the chardev may operate */ - g_mutex_init(&data_mutex); - g_cond_init(&data_cond); - g_thread_new(NULL, thread_function, NULL); - - qemu_cmd = g_strdup_printf(QEMU_CMD, hugefs, socket_path); - s = qtest_start(qemu_cmd); - g_free(qemu_cmd); - - qtest_add_func("/vhost-user/read-guest-mem", read_guest_mem); - - ret = g_test_run(); - - if (s) { - qtest_quit(s); - } - - /* cleanup */ - unlink(socket_path); - g_free(socket_path); - - return ret; -}

G2ajDCB7 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