diff options
author | gonzo <gonzo@FreeBSD.org> | 2010-01-25 00:44:05 +0000 |
---|---|---|
committer | gonzo <gonzo@FreeBSD.org> | 2010-01-25 00:44:05 +0000 |
commit | 8a360e9b895718c149bf576ebd23292d08b902bc (patch) | |
tree | 3f8bc1e7f0c14859d089fd83f187631956bd080c /sys/mips/malta | |
parent | 5b71974232932d6b97061977abe1f7766cf0e61a (diff) | |
download | FreeBSD-src-8a360e9b895718c149bf576ebd23292d08b902bc.zip FreeBSD-src-8a360e9b895718c149bf576ebd23292d08b902bc.tar.gz |
- Call post-boot fixup function in order to get proper static
symbols resolving in DDB
- When zeroing .bss/.sbss do not round end address to page boundary,
it's not neccessary and might destroy data pased by trampoline or
boot loader
Diffstat (limited to 'sys/mips/malta')
-rw-r--r-- | sys/mips/malta/malta_machdep.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/mips/malta/malta_machdep.c b/sys/mips/malta/malta_machdep.c index df70e24..6cbdcd8 100644 --- a/sys/mips/malta/malta_machdep.c +++ b/sys/mips/malta/malta_machdep.c @@ -178,7 +178,7 @@ mips_init(void) } /* phys_avail regions are in bytes */ - phys_avail[0] = MIPS_KSEG0_TO_PHYS((vm_offset_t)&end); + phys_avail[0] = MIPS_KSEG0_TO_PHYS(kernel_kseg0_end); phys_avail[1] = ctob(realmem); physmem = realmem; @@ -293,9 +293,11 @@ platform_start(__register_t a0, __register_t a1, __register_t a2, int i; /* clear the BSS and SBSS segments */ - kernend = round_page((vm_offset_t)&end); + kernend = (vm_offset_t)&end; memset(&edata, 0, kernend - (vm_offset_t)(&edata)); + mips_postboot_fixup(); + mips_pcpu0_init(); platform_counter_freq = malta_cpu_freq(); mips_timer_early_init(platform_counter_freq); |