summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorIgor Mammedov <imammedo@redhat.com>2015-12-28 18:02:52 +0100
committerMichael S. Tsirkin <mst@redhat.com>2016-01-09 23:20:19 +0200
commit65aef4de5e9db1ce5b05b99cdabd304b00a31d4e (patch)
treeb13b401594ef1345fbab2db7c7665ae5fa176312
parent22b5b8bf313fa7fa60d4201a882fd82e4bb5ba8a (diff)
downloadfocaccia-qemu-65aef4de5e9db1ce5b05b99cdabd304b00a31d4e.tar.gz
focaccia-qemu-65aef4de5e9db1ce5b05b99cdabd304b00a31d4e.zip
pc: acpi: q35: move PRTP routing table into SSDT
Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


-rw-r--r--hw/i386/acpi-build.c2
-rw-r--r--hw/i386/q35-acpi-dsdt.dsl79
2 files changed, 2 insertions, 79 deletions
diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c
index e64c662a73..6095e5932e 100644
--- a/hw/i386/acpi-build.c
+++ b/hw/i386/acpi-build.c
@@ -1697,6 +1697,8 @@ static void build_q35_pci0_int(Aml *table)
     Aml *pci0_scope = aml_scope("PCI0");
 
     aml_append(pci0_scope,
+        aml_name_decl("PRTP", build_q35_routing_table("LNK")));
+    aml_append(pci0_scope,
         aml_name_decl("PRTA", build_q35_routing_table("GSI")));
 
     method = aml_method("_PRT", 0, AML_NOTSERIALIZED);
diff --git a/hw/i386/q35-acpi-dsdt.dsl b/hw/i386/q35-acpi-dsdt.dsl
index a3073ad44c..34485e79fc 100644
--- a/hw/i386/q35-acpi-dsdt.dsl
+++ b/hw/i386/q35-acpi-dsdt.dsl
@@ -122,83 +122,4 @@ DefinitionBlock (
     Method(\_PIC, 1, NotSerialized) {
         Store(Arg0, \PICF)
     }
-
-    Scope(\_SB) {
-        Scope(PCI0) {
-#define prt_slot_lnk(nr, lnk0, lnk1, lnk2, lnk3)  \
-    Package() { nr##ffff, 0, lnk0, 0 },           \
-    Package() { nr##ffff, 1, lnk1, 0 },           \
-    Package() { nr##ffff, 2, lnk2, 0 },           \
-    Package() { nr##ffff, 3, lnk3, 0 }
-
-#define prt_slot_lnkA(nr) prt_slot_lnk(nr, LNKA, LNKB, LNKC, LNKD)
-#define prt_slot_lnkB(nr) prt_slot_lnk(nr, LNKB, LNKC, LNKD, LNKA)
-#define prt_slot_lnkC(nr) prt_slot_lnk(nr, LNKC, LNKD, LNKA, LNKB)
-#define prt_slot_lnkD(nr) prt_slot_lnk(nr, LNKD, LNKA, LNKB, LNKC)
-
-#define prt_slot_lnkE(nr) prt_slot_lnk(nr, LNKE, LNKF, LNKG, LNKH)
-#define prt_slot_lnkF(nr) prt_slot_lnk(nr, LNKF, LNKG, LNKH, LNKE)
-#define prt_slot_lnkG(nr) prt_slot_lnk(nr, LNKG, LNKH, LNKE, LNKF)
-#define prt_slot_lnkH(nr) prt_slot_lnk(nr, LNKH, LNKE, LNKF, LNKG)
-
-            Name(PRTP, package() {
-                prt_slot_lnkE(0x0000),
-                prt_slot_lnkF(0x0001),
-                prt_slot_lnkG(0x0002),
-                prt_slot_lnkH(0x0003),
-                prt_slot_lnkE(0x0004),
-                prt_slot_lnkF(0x0005),
-                prt_slot_lnkG(0x0006),
-                prt_slot_lnkH(0x0007),
-                prt_slot_lnkE(0x0008),
-                prt_slot_lnkF(0x0009),
-                prt_slot_lnkG(0x000a),
-                prt_slot_lnkH(0x000b),
-                prt_slot_lnkE(0x000c),
-                prt_slot_lnkF(0x000d),
-                prt_slot_lnkG(0x000e),
-                prt_slot_lnkH(0x000f),
-                prt_slot_lnkE(0x0010),
-                prt_slot_lnkF(0x0011),
-                prt_slot_lnkG(0x0012),
-                prt_slot_lnkH(0x0013),
-                prt_slot_lnkE(0x0014),
-                prt_slot_lnkF(0x0015),
-                prt_slot_lnkG(0x0016),
-                prt_slot_lnkH(0x0017),
-                prt_slot_lnkE(0x0018),
-
-                /* INTA -> PIRQA for slot 25 - 31
-                   see the default value of D<N>IR */
-                prt_slot_lnkA(0x0019),
-                prt_slot_lnkA(0x001a),
-                prt_slot_lnkA(0x001b),
-                prt_slot_lnkA(0x001c),
-                prt_slot_lnkA(0x001d),
-
-                /* PCIe->PCI bridge. use PIRQ[E-H] */
-                prt_slot_lnkE(0x001e),
-
-                prt_slot_lnkA(0x001f)
-            })
-        }
-
-        External(LNKA, DeviceObj)
-        External(LNKB, DeviceObj)
-        External(LNKC, DeviceObj)
-        External(LNKD, DeviceObj)
-        External(LNKE, DeviceObj)
-        External(LNKF, DeviceObj)
-        External(LNKG, DeviceObj)
-        External(LNKH, DeviceObj)
-
-        External(GSIA, DeviceObj)
-        External(GSIB, DeviceObj)
-        External(GSIC, DeviceObj)
-        External(GSID, DeviceObj)
-        External(GSIE, DeviceObj)
-        External(GSIF, DeviceObj)
-        External(GSIG, DeviceObj)
-        External(GSIH, DeviceObj)
-    }
 }