Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 28 Sep 2007 12:17:20 +0200
From:      Marius Nuennerich <marius.nuennerich@gmx.de>
To:        freebsd-arm@freebsd.org
Subject:   FreeBSD and qemu-neo1973 (was: Re: Comment bug in locore.S?)
Message-ID:  <20070928121720.22823a58@sol.hackerzberg.local>
In-Reply-To: <20070928102332.GA23400@ci0.org>
References:  <20070928011740.01026dcd@sol.hackerzberg.local> <200709272351.l8RNp0pn066924@casselton.net> <20070928113044.4a2dcdac@sol.hackerzberg.local> <20070928102332.GA23400@ci0.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 28 Sep 2007 12:23:32 +0200
Olivier Houchard <mlfbsd@ci0.org> wrote:

> On Fri, Sep 28, 2007 at 11:30:44AM +0200, Marius Nuennerich wrote:
> > On Thu, 27 Sep 2007 18:51:00 -0500 (CDT)
> > Mark Tinguely <tinguely@casselton.net> wrote:
> > 
> > > 
> > > How about saving the jump address in another register also before the jump:
> > > 
> > > 	ldr	r10, .Lvirt_done
> > > 	ldr	pc, .Lvirt_done
> > 
> > I tried this but used r9, anyway the register isn't used otherwise and
> > it's contents is R09=c00002a4 after qemu crashes. Is it possible that
> > this would be the right address if the kernel would start at 0x30000000
> > and not on 0x30008000 physical address? 
> 
> Ah good point. KERNVIRTADDR should be 0xc0008000, not 0xc0000000.
> As we're mapping it with sections, we don't have enough granularity to map it
> to 0xc0000000.

OK, I changed KERNVIRTADDR in the kernel config. qemu still crashes with
qemu: fatal: Trying to execute code outside RAM or ROM at 0xc00082ac

which should be mapped. But now it doesn't print an A as the last
letter over serial line, it's an f. What I don't understand is the the
jump to 0xc00082a4 seems to be OK now but a few instructions later it
goes boom. Maybe this is the strb instruction for printing chars. Could
it be that this won't work after jumping to 0xc... ?
Why does the printing of f still work before the ldr?

Is there a description available what KERNVIRTADDR, KERNPHYSADDR,
PHYSADDR, KERNBASE, et al. mean?



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