summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/include/cpu/amd/amdk8_sysconf.h2
-rw-r--r--src/mainboard/siemens/sitemp_g1p1/dsdt.asl10
-rw-r--r--src/northbridge/amd/amdk8/acpi.c4
-rw-r--r--src/northbridge/amd/amdk8/northbridge.c3
4 files changed, 14 insertions, 5 deletions
diff --git a/src/include/cpu/amd/amdk8_sysconf.h b/src/include/cpu/amd/amdk8_sysconf.h
index 3ae35fd17d..b367ac0e99 100644
--- a/src/include/cpu/amd/amdk8_sysconf.h
+++ b/src/include/cpu/amd/amdk8_sysconf.h
@@ -21,6 +21,8 @@ struct amdk8_sysconf_t {
void *mb; // pointer for mb releated struct
+ unsigned mmconf_start;
+ unsigned mmconf_end;
};
extern struct amdk8_sysconf_t sysconf;
diff --git a/src/mainboard/siemens/sitemp_g1p1/dsdt.asl b/src/mainboard/siemens/sitemp_g1p1/dsdt.asl
index 9d64e89943..a48a6de18d 100644
--- a/src/mainboard/siemens/sitemp_g1p1/dsdt.asl
+++ b/src/mainboard/siemens/sitemp_g1p1/dsdt.asl
@@ -255,8 +255,6 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "SIEMENS", "SITEMP ", 0x20101005)
MPEN, 8
}
- Name (IOLM,0xe0000000)
-
#include "acpi/platform.asl"
Scope(\_SB) {
@@ -385,6 +383,8 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "SIEMENS", "SITEMP ", 0x20101005)
External (MMIO)
External (TOM1)
External (TOM2)
+ External (MMCB) /* MMConf Begin */
+ External (MMCE) /* MMConf End */
Name(_HID, EISAID("PNP0A03"))
Name(_ADR, 0x00180000) /* Dev# = BSP Dev#, Func# = 0 */
@@ -1186,9 +1186,9 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "SIEMENS", "SITEMP ", 0x20101005)
CreateDWordField(CRES, ^EMM2._MAX, EM2E)
CreateDWordField(CRES, ^EMM2._LEN, EM2L)
- Store(TOM1, EM2B)
- Subtract(IOLM, 1, EM2E)
- Subtract(IOLM, TOM1, EM2L)
+ Store(MMCB, EM2B)
+ Subtract(MMCE, 1, EM2E)
+ Subtract(MMCE, MMCB, EM2L)
If(LGreater(LOMH, 0xC0000)){
Store(0xC0000, EM1B) /* Hole above C0000 and below E0000 */
diff --git a/src/northbridge/amd/amdk8/acpi.c b/src/northbridge/amd/amdk8/acpi.c
index 2eb39c07d1..0a6fbbadae 100644
--- a/src/northbridge/amd/amdk8/acpi.c
+++ b/src/northbridge/amd/amdk8/acpi.c
@@ -280,6 +280,10 @@ int k8acpi_write_vars(void)
*/
lens += acpigen_write_name_dword("TOM2", (msr.hi << 12) | msr.lo >> 20);
+ /* MMConf area for PCI0, begin and end */
+ lens += acpigen_write_name_dword("MMCB", sysconf.mmconf_start);
+ lens += acpigen_write_name_dword("MMCE", sysconf.mmconf_end);
+
lens += k8acpi_write_HT();
//minus opcode
acpigen_patch_len(lens - 1);
diff --git a/src/northbridge/amd/amdk8/northbridge.c b/src/northbridge/amd/amdk8/northbridge.c
index 5c1d97a1c6..d0d65ff290 100644
--- a/src/northbridge/amd/amdk8/northbridge.c
+++ b/src/northbridge/amd/amdk8/northbridge.c
@@ -561,6 +561,9 @@ static void amdk8_set_resources(device_t dev)
amdk8_set_resource(dev, res, nodeid);
}
+ sysconf.mmconf_start = mem_lowest_start;
+ sysconf.mmconf_end = mem_highest_end;
+
compact_resources(dev);
for(bus = dev->link_list; bus; bus = bus->next) {