[<prev] [next>] [day] [month] [year] [list]
Message-ID: <46128B84.3070303@amd.com>
Date: Tue, 03 Apr 2007 12:14:44 -0500
From: "Mark Langsdorf" <mark.langsdorf@....com>
To: "Linux Kernel Mailing List" <linux-kernel@...r.kernel.org>
Subject: [PATCH] allocate GART/IOMMU aperture from any node
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@....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",
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists