svn commit: r188505 - head/sys/arm/xscale/ixp425

Sam Leffler sam at FreeBSD.org
Wed Feb 11 14:34:52 PST 2009


Author: sam
Date: Wed Feb 11 22:34:50 2009
New Revision: 188505
URL: http://svn.freebsd.org/changeset/base/188505

Log:
  fix ARM_USE_SMALL_ALLOC after memory layout changes
  
  Submitted by:	cognet

Modified:
  head/sys/arm/xscale/ixp425/avila_machdep.c

Modified: head/sys/arm/xscale/ixp425/avila_machdep.c
==============================================================================
--- head/sys/arm/xscale/ixp425/avila_machdep.c	Wed Feb 11 22:34:22 2009	(r188504)
+++ head/sys/arm/xscale/ixp425/avila_machdep.c	Wed Feb 11 22:34:50 2009	(r188505)
@@ -334,17 +334,20 @@ initarm(void *arg, void *arg2)
 	alloc_pages(minidataclean.pv_pa, 1);
 	valloc_pages(msgbufpv, round_page(MSGBUF_SIZE) / PAGE_SIZE);
 #ifdef ARM_USE_SMALL_ALLOC
-#error "I am broken"		/* XXX save people grief */
 	freemempos -= PAGE_SIZE;
 	freemem_pt = trunc_page(freemem_pt);
-	freemem_after = freemempos - ((freemem_pt - 0x10100000) /
+	freemem_after = freemempos - ((freemem_pt - (PHYSADDR + 0x100000)) /
 	    PAGE_SIZE) * sizeof(struct arm_small_page);
-	arm_add_smallalloc_pages((void *)(freemem_after + (KERNVIRTADDR - KERNPHYSADDR)
-	    , (void *)0xc0100000, freemem_pt - 0x10100000, 1);
-	freemem_after -= ((freemem_after - 0x10001000) / PAGE_SIZE) *
+	arm_add_smallalloc_pages(
+	    (void *)(freemem_after + (KERNVIRTADDR - KERNPHYSADDR)),
+	    (void *)0xc0100000,
+	    freemem_pt - (PHYSADDR + 0x100000), 1);
+	freemem_after -= ((freemem_after - (PHYSADDR + 0x1000)) / PAGE_SIZE) *
 	    sizeof(struct arm_small_page);
-	arm_add_smallalloc_pages((void *)(freemem_after + (KEYVIRTADDR - KERNPHYSADDR))
-	, (void *)0xc0001000, trunc_page(freemem_after) - 0x10001000, 0);
+	arm_add_smallalloc_pages(
+	    (void *)(freemem_after + (KERNVIRTADDR - KERNPHYSADDR)),
+	    (void *)0xc0001000,
+	    trunc_page(freemem_after) - (PHYSADDR + 0x1000), 0);
 	freemempos = trunc_page(freemem_after);
 	freemempos -= PAGE_SIZE;
 #endif


More information about the svn-src-head mailing list