ARM closet cleaning: static kenv
Bruce Simpson
bms at incunabulum.net
Sat Dec 13 09:11:05 PST 2008
This is a patch for avila_machdep to tell it to use a statically
compiled kenv vector.
I found I needed it when hacking on the NSLU2.
cheers
BMS
-------------- next part --------------
Index: sys/arm/xscale/ixp425/avila_machdep.c
===================================================================
--- sys/arm/xscale/ixp425/avila_machdep.c (revision 186036)
+++ sys/arm/xscale/ixp425/avila_machdep.c (working copy)
@@ -259,6 +259,7 @@
vm_offset_t freemem_after;
vm_offset_t lastaddr;
uint32_t memsize;
+ char *p;
set_cpufuncs();
lastaddr = fake_preload_metadata();
@@ -475,16 +476,29 @@
phys_avail[i++] = trunc_page(0x10000000 + memsize - 1);
phys_avail[i++] = 0;
phys_avail[i] = 0;
-
+
+ /* use static kernel environment if so configured */
+ if (envmode == 1)
+ kern_envp = static_env;
+
+ /*
+ * Catch case of boot_verbose set in environment.
+ */
+ if ((p = getenv("boot_verbose")) != NULL) {
+ if (strcmp(p, "yes") == 0 || strcmp(p, "YES") == 0) {
+ boothowto |= RB_VERBOSE;
+ }
+ freeenv(p);
+ }
+
+ if (boothowto & RB_VERBOSE)
+ bootverbose = 1;
+
/* Do basic tuning, hz etc */
init_param1();
init_param2(physmem);
kdb_init();
- /* use static kernel environment if so configured */
- if (envmode == 1)
- kern_envp = static_env;
-
return ((void *)(kernelstack.pv_va + USPACE_SVC_STACK_TOP -
sizeof(struct pcb)));
}
More information about the freebsd-embedded
mailing list