Date: Fri, 17 Oct 2003 20:34:31 +1000 From: Peter Grehan <grehan@freebsd.org> To: Andrew Gallatin <gallatin@cs.duke.edu> Cc: freebsd-ppc@freebsd.org Subject: Re: FYI: rudimentary loader for ppcbug-based systems Message-ID: <3F8FC5B7.86989E0B@freebsd.org> References: <E087F7025D7E494B8015119695CEDB4C01972204@zpl02exm01.mpsc.mot.com> <3F8CAFAE.6260CFCF@freebsd.org> <20031015044706.GA787@blarf.homeip.net> <3F8CE205.5CB0B9E0@freebsd.org> <16269.25586.238272.357023@grasshopper.cs.duke.edu> <16270.38736.984138.190456@grasshopper.cs.duke.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
> > which is why I think there is a reasonable chance of getting a GENERIC ppc > > That would be great. I'm not trying to discourage this, I'm just > trying to correct what appear to be some misconceptions about the > alpha port, or perhaps are my misconceptions about ppc hardware. > Will one pmap module work for all ppc platforms? Does the TLB look > the same everywhere? The same pmap will work for 603e, G2 (i.e. 824x), G3 and G4, but not for the MPC8xx or IBM 4xx processors. Also, some G3 and G4 models allow the hash table lookup to be disabled, and that might be worth investigating for performance reasons, and to have an implementation for the 8xx/4xx CPUs. So, it might be worth making this a run-time switch. There are TLB routines that are CPU independent, but any of the models that allow s/w TLB miss have CPU-specific instructions to allow TLB refill. The 8xx/4xx CPUs don't have BAT registers, the 603e and some G3/G4s have 4 BATs, while other G3/G4s have 8 BATs, and some G4s have an extended BAT that can map up to 4G. The current port is dependent on BATs to direct-map physical memory, so BAT emulation with locked TLBs may have to be done on the 8xx/4xx CPUs. I'd like to have a kernel that can take advantage of CPU-specific features at run-time, rather than having to conditionally-compile for each CPU model, or having a lowest-common denominator GENERIC. later, Peter.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3F8FC5B7.86989E0B>