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)
This commit is contained in:
Timothy Pearson 2015-08-08 02:40:58 -05:00 committed by Martin Roth
parent acd47aeaa3
commit 121ef60666

View file

@ -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)