Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 01 Jun 2007 13:56:10 -0600 (MDT)
From:      "M. Warner Losh" <imp@bsdimp.com>
To:        bkoenig@alpha-tierchen.de
Cc:        freebsd-arm@freebsd.org
Subject:   Re: Execution stops while enabling MMU
Message-ID:  <20070601.135610.1723143578.imp@bsdimp.com>
In-Reply-To: <62776.2001:6f8:101e:0:20e:cff:fe6d:6adb.1180696310.squirrel@webmail.alpha-tierchen.de>
References:  <62776.2001:6f8:101e:0:20e:cff:fe6d:6adb.1180696310.squirrel@webmail.alpha-tierchen.de>

next in thread | previous in thread | raw e-mail | index | archive | help
In message: <62776.2001:6f8:101e:0:20e:cff:fe6d:6adb.1180696310.squirre=
l@webmail.alpha-tierchen.de>
            Bj=F6rn_K=F6nig <bkoenig@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 th=
e raw
: binary kernel (not ELF) to the beginning of the SDRAM (0x20000000) an=
d
: execute it with the "go" command. But suddenly the execution stops wh=
ile
: 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 vari=
ables
: that I use:
: =

: KERNPHYSADDR=3D0x20000000
: KERNVIRTADDR=3D0xc0000000
: PHYSADDR=3D0x20000000
: STARTUP_PAGETABLE_ADDR=3D0x20800000
: =

: 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



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