Timothy Pearson (tpearson@raptorengineeringinc.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/12035
-gerrit
commit 616bb984f2f665e9a0dcb31d1bd52a7d8faf4577 Author: Timothy Pearson tpearson@raptorengineeringinc.com Date: Sat Aug 8 02:40:58 2015 -0500
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 --- src/northbridge/amd/amdfam10/acpi.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/northbridge/amd/amdfam10/acpi.c b/src/northbridge/amd/amdfam10/acpi.c index ad54abd..960d468 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)