Date: Wed, 3 Jun 1998 23:26:09 +0100 (BST) From: Doug Rabson <dfr@nlsystems.com> To: "John S. Dyson" <dyson@FreeBSD.ORG> Cc: mjacob@feral.com, jb@cimlogic.com.au, jbarbee@singular.com, freebsd-alpha@FreeBSD.ORG Subject: Re: future of slpha port Message-ID: <Pine.BSF.3.95q.980603232035.421F-100000@herring.nlsystems.com> In-Reply-To: <199806032138.QAA00439@dyson.iquest.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 3 Jun 1998, John S. Dyson wrote: > Doug Rabson said: > > On Tue, 2 Jun 1998, Matthew Jacob wrote: > > > > > Yes, I'd like to actually finally say that it's a great shame > > > that FreeBSD and NetBSD are different efforts- the NetBSD alpha > > > effort is in quite good shape- and I've been somewhat reluctant > > > to try and duplicate this for FreeBSD. Is there any way the > > > FreeBSD port can import the extremely solid NetBSD/alpha work? > > > > I have drawn very heavily on NetBSD in my porting efforts so far. Much of > > the code in locore.s could be used unchanged or with small modifications. > > I am using a pmap ported from FreeBSD/i386 however since I don't really > > understand the differences in the pmap/vm interface between NetBSD and > > FreeBSD. > > > There are alot of minor differences. The biggest ones are the temporary > kernel mappings, and the implementation of pte preloading. Some of > the opts aren't very useful for TLB based machines, but some are. > The biggest issue is whether or not you want to emulate a referenced > bit. If you get it working without referenced bit emulation, I can > provide you a few minor mods to the upper level code to make the system > work correctly (under load) without them. After that, I'll likely > be able to participate with you on a better implementation. I currently emulate the reference bit in pmap itself. I am using the same technique (and a code fragment) that NetBSD does. The PALcode supports three bits in the PTE to generate MM faults on reads, writes and executes of the page. These are separate from the normal kernel/user read/write access bits. The MM fault then records the reference in the pv_head and clears the bits in all the relavent PTEs. > > (I know that the Alpha PALcode provides a page table interface, I > forget if they provide a reference bit emulation.) > > To help, soon, I can probably look at the NetBSD/Alpha pmap code, and > see how compatible they are with our pmap interface. We really do > not have to support all entry points, and some that we do support > aren't really needed for functionality. (I'll print out a copy for > offline reference right away, and look at it.) > > After looking at the NetBSD Alpha/pmap code, I'll be able to be more > coherent in my comments. My own port of your i386 pmap appears to be functional and I will probably commit that in the few days. The only advantage which NetBSD/alpha's pmap has over mine is the support for Address Space Numbers. The alpha can tag each TLB with an ASN to allow two address spaces to have cached mappings for the same virtual address as long as they use different ASNs. I will add ASN support as soon as the dust settles from the initial bootstrap. -- Doug Rabson Mail: dfr@nlsystems.com Nonlinear Systems Ltd. Phone: +44 181 951 1891 Fax: +44 181 381 1039 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-alpha" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.95q.980603232035.421F-100000>