summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--hw/isa/lpc_ich9.c16
-rw-r--r--hw/isa/piix3.c12
2 files changed, 8 insertions, 20 deletions
diff --git a/hw/isa/lpc_ich9.c b/hw/isa/lpc_ich9.c
index 0b0a83e080..6c44cc9767 100644
--- a/hw/isa/lpc_ich9.c
+++ b/hw/isa/lpc_ich9.c
@@ -813,12 +813,13 @@ static void build_ich9_isa_aml(AcpiDevAmlIf *adev, Aml *scope)
     BusChild *kid;
     ICH9LPCState *s = ICH9_LPC_DEVICE(adev);
     BusState *bus = BUS(s->isa_bus);
+    Aml *sb_scope = aml_scope("\\_SB");
 
     /* ICH9 PCI to ISA irq remapping */
     aml_append(scope, aml_operation_region("PIRQ", AML_PCI_CONFIG,
                                            aml_int(0x60), 0x0C));
     /* Fields declarion has to happen *after* operation region */
-    field = aml_field("PIRQ", AML_BYTE_ACC, AML_NOLOCK, AML_PRESERVE);
+    field = aml_field("PCI0.SF8.PIRQ", AML_BYTE_ACC, AML_NOLOCK, AML_PRESERVE);
     aml_append(field, aml_named_field("PRQA", 8));
     aml_append(field, aml_named_field("PRQB", 8));
     aml_append(field, aml_named_field("PRQC", 8));
@@ -828,17 +829,8 @@ static void build_ich9_isa_aml(AcpiDevAmlIf *adev, Aml *scope)
     aml_append(field, aml_named_field("PRQF", 8));
     aml_append(field, aml_named_field("PRQG", 8));
     aml_append(field, aml_named_field("PRQH", 8));
-    aml_append(scope, field);
-
-    /* hack: put fields into _SB scope for LNKx to find them */
-    aml_append(scope, aml_alias("PRQA", "\\_SB.PRQA"));
-    aml_append(scope, aml_alias("PRQB", "\\_SB.PRQB"));
-    aml_append(scope, aml_alias("PRQC", "\\_SB.PRQC"));
-    aml_append(scope, aml_alias("PRQD", "\\_SB.PRQD"));
-    aml_append(scope, aml_alias("PRQE", "\\_SB.PRQE"));
-    aml_append(scope, aml_alias("PRQF", "\\_SB.PRQF"));
-    aml_append(scope, aml_alias("PRQG", "\\_SB.PRQG"));
-    aml_append(scope, aml_alias("PRQH", "\\_SB.PRQH"));
+    aml_append(sb_scope, field);
+    aml_append(scope, sb_scope);
 
     QTAILQ_FOREACH(kid, &bus->children, sibling) {
             call_dev_aml_func(DEVICE(kid->child), scope);
diff --git a/hw/isa/piix3.c b/hw/isa/piix3.c
index f9b4af5c05..eabad7ba58 100644
--- a/hw/isa/piix3.c
+++ b/hw/isa/piix3.c
@@ -318,24 +318,20 @@ static void build_pci_isa_aml(AcpiDevAmlIf *adev, Aml *scope)
 {
     Aml *field;
     BusChild *kid;
+    Aml *sb_scope = aml_scope("\\_SB");
     BusState *bus = qdev_get_child_bus(DEVICE(adev), "isa.0");
 
     /* PIIX PCI to ISA irq remapping */
     aml_append(scope, aml_operation_region("P40C", AML_PCI_CONFIG,
                                            aml_int(0x60), 0x04));
     /* Fields declarion has to happen *after* operation region */
-    field = aml_field("P40C", AML_BYTE_ACC, AML_NOLOCK, AML_PRESERVE);
+    field = aml_field("PCI0.S08.P40C", AML_BYTE_ACC, AML_NOLOCK, AML_PRESERVE);
     aml_append(field, aml_named_field("PRQ0", 8));
     aml_append(field, aml_named_field("PRQ1", 8));
     aml_append(field, aml_named_field("PRQ2", 8));
     aml_append(field, aml_named_field("PRQ3", 8));
-    aml_append(scope, field);
-
-    /* hack: put fields into _SB scope for LNKx to find them */
-    aml_append(scope, aml_alias("PRQ0", "\\_SB.PRQ0"));
-    aml_append(scope, aml_alias("PRQ1", "\\_SB.PRQ1"));
-    aml_append(scope, aml_alias("PRQ2", "\\_SB.PRQ2"));
-    aml_append(scope, aml_alias("PRQ3", "\\_SB.PRQ3"));
+    aml_append(sb_scope, field);
+    aml_append(scope, sb_scope);
 
     QTAILQ_FOREACH(kid, &bus->children, sibling) {
         call_dev_aml_func(DEVICE(kid->child), scope);