* [PATCH] allocate GART/IOMMU aperture from any node
@ 2007-04-03 17:14 Mark Langsdorf
0 siblings, 0 replies; only message in thread
From: Mark Langsdorf @ 2007-04-03 17:14 UTC (permalink / raw)
To: Linux Kernel Mailing List
Linux always tries to allocate the GART/IOMMU aperture from the
boot node memory. However, it is legal to boot with no memory
attached to the boot node, in which case the system crashes with
invalid memory assignments. Generalize the memory allocation to
support any node in the system with memory.
Signed-off-by: Mark Langsdorf <mark.langsdorf@amd.com>
--- linux-2.6.20/arch/x86_64/kernel/aperture.c.old 2007-04-02
17:11:18.000000000 -0500
+++ linux-2.6.20/arch/x86_64/kernel/aperture.c 2007-04-02
19:03:43.000000000 -0500
@@ -51,7 +51,6 @@ static void __init insert_aperture_resou
static u32 __init allocate_aperture(void)
{
- pg_data_t *nd0 = NODE_DATA(0);
u32 aper_size;
void *p;
@@ -65,12 +64,12 @@ static u32 __init allocate_aperture(void
* Unfortunately we cannot move it up because that would make the
* IOMMU useless.
*/
- p = __alloc_bootmem_node(nd0, aper_size, aper_size, 0);
+ p = __alloc_bootmem(aper_size, aper_size, 0);
if (!p || __pa(p)+aper_size > 0xffffffff) {
printk("Cannot allocate aperture memory hole (%p,%uK)\n",
p, aper_size>>10);
if (p)
- free_bootmem_node(nd0, __pa(p), aper_size);
+ free_bootmem(__pa(p), aper_size);
return 0;
}
printk("Mapping aperture over %d KB of RAM @ %lx\n",
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2007-04-03 17:15 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-04-03 17:14 [PATCH] allocate GART/IOMMU aperture from any node Mark Langsdorf
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox