Execution stops while enabling MMU
M. Warner Losh
imp at bsdimp.com
Fri Jun 1 19:56:06 UTC 2007
In message: <62776.2001:6f8:101e:0:20e:cff:fe6d:6adb.1180696310.squirrel at webmail.alpha-tierchen.de>
Björn_König <bkoenig at alpha-tierchen.de> writes:
: Hello,
:
: I try to use FreeBSD with an AT91RM9200-based board similar to KB920X. I
: use an existing boot loader (U-Boot running at 0x00000000) to copy the raw
: binary kernel (not ELF) to the beginning of the SDRAM (0x20000000) and
: execute it with the "go" command. But suddenly the execution stops while
: enabling the MMU in src/sys/arm/arm/locore.S:
:
: /* Enable MMU */
: mrc p15, 0, r0, c1, c0, 0
: orr r0, r0, #CPU_CONTROL_MMU_ENABLE
: mcr p15, 0, r0, c1, c0, 0
:
: Code behind these lines won't be executed anymore. Here are some variables
: that I use:
:
: KERNPHYSADDR=0x20000000
: KERNVIRTADDR=0xc0000000
: PHYSADDR=0x20000000
: STARTUP_PAGETABLE_ADDR=0x20800000
:
: Does anybody have a hint for me? My knowledge about ARM architecture is
: still superficially (literature already ordered ;-).
Maybe you need to run the trampoline code rather than the normal
code. I only use kernel.gz.tramp, and that works fine.
Warner
More information about the freebsd-arm
mailing list