Date: Sat, 16 Feb 2013 13:08:36 -0700 From: Ian Lepore <ian@FreeBSD.org> To: Tim Kientzle <tim@kientzle.com> Cc: "arm@freebsd.org" <arm@FreeBSD.org>, Kostik Belousov <kostikbel@gmail.com>, Alan Cox <alc@rice.edu> Subject: Re: kernel address space & auto-tuning Message-ID: <1361045316.1164.48.camel@revolution.hippie.lan> In-Reply-To: <343AF6FE-05D9-48FB-9385-7EC1A532D057@kientzle.com> References: <51192C44.1060204@rice.edu> <1361039490.1164.36.camel@revolution.hippie.lan> <511FD88E.2020403@rice.edu> <1361043297.1164.43.camel@revolution.hippie.lan> <343AF6FE-05D9-48FB-9385-7EC1A532D057@kientzle.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 2013-02-16 at 11:59 -0800, Tim Kientzle wrote: > >> > >>> ... It may be that the important > >>> part of the change would come next: pick better arbitrary ending > >>> addresses. > >> > >> Is the location of the register mapping something that the kernel > >> chooses? Or is it something that is passed to the kernel at boot-time? > >> > > > > As near as I can tell, it's a pretty much arbitrary choice on a per-SoC > > basis, always hard-coded with a named constant of some sort in kernel > > source code. 0xE0000000 seems to be a popular choice, with comments > > about it being the address used to bootstrap the initial devmap. That > > appears to be true for only one SoC. I think maybe there's been some > > cut and paste propagation here. > > Related to another thread, it would be nice to find > ways to get more of these per-SoC values out > of hardcoded constants. > > In this case, the FDT should give the size and physical > address of the register map. Can we use that to > determine the virtual mapping dynamically at runtime? > > Tim Conceptually, yeah, it'd just be something like 0xffffff00 - size, but the fdt_immr_addr() routine that finds the PA and size and sets things up based on them takes the desired VA as an argument. Maybe a special value could request that it calculate a VA based on the size it finds in the data. -- Ian
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1361045316.1164.48.camel>