Date: Sun, 03 Mar 2013 06:09:55 -0700 From: Ian Lepore <ian@FreeBSD.org> To: Tim Kientzle <tim@kientzle.com> Cc: freebsd-arm@FreeBSD.org Subject: Re: PHYSADDR Message-ID: <1362316195.1195.206.camel@revolution.hippie.lan> In-Reply-To: <1F9BEBCF-AB1C-4918-917A-921B5CC606FC@kientzle.com> References: <E886046B-1612-425B-902B-72D4B0E93618@freebsd.org> <1362068453.1195.40.camel@revolution.hippie.lan> <674A08B3-6600-4B77-8511-9EF54E4B9B1F@FreeBSD.org> <8FEA3237-8ABF-4564-B672-4B4C0C6EF291@kientzle.com> <1362155632.1195.120.camel@revolution.hippie.lan> <5B622D1B-4EAE-4184-A194-DD14083A48B6@kientzle.com> <1362246634.1195.178.camel@revolution.hippie.lan> <AC642AAD-8D8C-429E-AE3B-A34241DA2517@kientzle.com> <1362273533.1195.199.camel@revolution.hippie.lan> <1F9BEBCF-AB1C-4918-917A-921B5CC606FC@kientzle.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 2013-03-02 at 22:22 -0800, Tim Kientzle wrote: > On Mar 2, 2013, at 5:18 PM, Ian Lepore wrote: > > > On Sat, 2013-03-02 at 10:10 -0800, Tim Kientzle wrote: > >> On Mar 2, 2013, at 9:50 AM, Ian Lepore wrote: > >> > >>> [...] > >> > >>> I'm not sure its safe to assume that (entry-pc & 0xfffff000) is the > >>> beginning of the kernel; it's true now but need not be so. But that's > >>> no big deal, we can tweak the linker script to give us the offset of the > >>> _start symbol so it'll work no matter what. > >> > >> Patches? ;-) > > > > This turned out to be a bit trickier than I first thought it would be, > > but it worked out. > > > > This gets rids of any reference to PHYSADDR and similar constants in the > > main path through the code. I didn't address the "running from flash" > > case or anything under #ifdef SMP, yet. The only constant left is > > KERNBASE which is 0xC0000000 for all arm systems. > > > > For now I've got #undef PHYSADDR at the top of the code; this is just > > for testing without having to remove it yet from anywhere else. > > I see you computing kern_physaddr here. I presume > we should be using that in machdep.c to initialize the > page tables instead of KERNPHYSADDR? > > Tim Yeah, I suspect so. I didn't look outside of locore to see what other changes could flow from computing physaddr. On a semi-related note, it occurs to me that we should choose a standard kernel load offset that's a multiple of 1MB, so that the code that builds the real page tables will be able to use section mappings for all but the last section of the loaded kernel. -- Ian
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1362316195.1195.206.camel>