public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [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