Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 3 Nov 2013 12:14:53 +0000 (UTC)
From:      Andrew Turner <andrew@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r257570 - projects/specific_leg/sys/arm/arm
Message-ID:  <201311031214.rA3CErbK056868@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: andrew
Date: Sun Nov  3 12:14:53 2013
New Revision: 257570
URL: http://svnweb.freebsd.org/changeset/base/257570

Log:
  Use the FDT data to build dump_avail.

Modified:
  projects/specific_leg/sys/arm/arm/machdep.c

Modified: projects/specific_leg/sys/arm/arm/machdep.c
==============================================================================
--- projects/specific_leg/sys/arm/arm/machdep.c	Sun Nov  3 12:03:41 2013	(r257569)
+++ projects/specific_leg/sys/arm/arm/machdep.c	Sun Nov  3 12:14:53 2013	(r257570)
@@ -776,6 +776,7 @@ makectx(struct trapframe *tf, struct pcb
 	pcb->un_32.pcb32_sp = tf->tf_usr_sp;
 }
 
+#ifndef FDT
 /*
  * Make a standard dump_avail array.  Can't make the phys_avail
  * since we need to do that after we call pmap_bootstrap, but this
@@ -816,6 +817,7 @@ arm_dump_avail_init(vm_offset_t ramsize,
 	dump_avail[2] = 0;
 	dump_avail[3] = 0;
 }
+#endif
 
 /*
  * Fake up a boot descriptor table
@@ -1244,7 +1246,18 @@ initarm(struct arm_boot_params *abp)
 	/* Grab physical memory regions information from device tree. */
 	if (fdt_get_reserved_regions(reserved_regions, &reserved_regions_sz) != 0)
 		reserved_regions_sz = 0;
-		
+
+	/*
+	 * Build the dump_avail table
+	 */
+	start = memory_regions[i].mr_start;
+	end = start + memory_regions[i].mr_size;
+
+	dump_avail[0] = round_page(start);
+	dump_avail[1] = trunc_page(end);
+	dump_avail[2] = 0;
+	dump_avail[3] = 0;
+
 	/*
 	 * Now exclude all the reserved regions
 	 */
@@ -1493,7 +1506,6 @@ initarm(struct arm_boot_params *abp)
 
 	arm_intrnames_init();
 	arm_vector_init(ARM_VECTORS_HIGH, ARM_VEC_ALL);
-	arm_dump_avail_init(memsize, sizeof(dump_avail) / sizeof(dump_avail[0]));
 	pmap_bootstrap(freemempos, &kernel_l1pt);
 	msgbufp = (void *)msgbufpv.pv_va;
 	msgbufinit(msgbufp, msgbufsize);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201311031214.rA3CErbK056868>