summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTimothy Pearson <tpearson@raptorengineeringinc.com>2015-08-08 02:40:58 -0500
committerMartin Roth <martinroth@google.com>2015-11-23 22:54:19 +0100
commit121ef60666e59656a74044c7f21f52b3bb849b1d (patch)
tree308c05c16c60b787faab9fcdaed5254a1f57eca4
parentacd47aeaa3cbb5c3dbc158c4b312120b9fc5bc8f (diff)
downloadcoreboot-121ef60666e59656a74044c7f21f52b3bb849b1d.tar.xz
northbridge/amd/amdfam10: Fix invalid NUMA table
The existing code generated an invalid NUMA table that was rejected by Linux, leading to poor resource allocation. This was due to system MMIO resources being inserted into the table when the table should only contain DRAM resources. Do not include system MMIO resources (i.e. resources with an index less than 0x10) in the NUMA table. Change-Id: I99c200382b52a99687daf266a84873d9ae2df025 Signed-off-by: Timothy Pearson <tpearson@raptorengineeringinc.com> Reviewed-on: http://review.coreboot.org/12035 Reviewed-by: Alexandru Gagniuc <mr.nuke.me@gmail.com> Tested-by: build bot (Jenkins)
-rw-r--r--src/northbridge/amd/amdfam10/acpi.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/northbridge/amd/amdfam10/acpi.c b/src/northbridge/amd/amdfam10/acpi.c
index ad54abd765..960d468eed 100644
--- a/src/northbridge/amd/amdfam10/acpi.c
+++ b/src/northbridge/amd/amdfam10/acpi.c
@@ -102,7 +102,8 @@ static void set_srat_mem(void *gp, struct device *dev, struct resource *res)
}
// need to figure out NV
- state->current += acpi_create_srat_mem((acpi_srat_mem_t *)state->current, (res->index & 0xf), basek, sizek, 1);
+ if (res->index > 0xf) /* Exclude MMIO resources, e.g. as set in northbridge.c amdfam10_domain_read_resources() */
+ state->current += acpi_create_srat_mem((acpi_srat_mem_t *)state->current, (res->index & 0xf), basek, sizek, 1);
}
static unsigned long acpi_fill_srat(unsigned long current)