Date: Mon, 14 Jun 2010 12:01:41 -0500 From: Nathan Whitehorn <nwhitehorn@freebsd.org> To: mdf@FreeBSD.org Cc: freebsd-arch@freebsd.org Subject: Re: arch-specific directories Message-ID: <20100614120141.3876ec6d@anacreon.physics.wisc.edu> In-Reply-To: <AANLkTilFBdzdlf2ZcnHN6_ygiw8qkEAJX-G-R6uSF55K@mail.gmail.com> References: <AANLkTilFBdzdlf2ZcnHN6_ygiw8qkEAJX-G-R6uSF55K@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 14 Jun 2010 08:26:45 -0700 mdf@FreeBSD.org wrote: > This is as much as request for information as a suggestion. > > I am wondering of the current layout of sys/<arch> make sense given > that in several cases the only difference between two "arch" is the > bitness, e.g. powerpc and powerpc64. The 64-bit version supports a > few new instructions, but in many cases is the same. The same issue > exists with i386/amd64 but because both have been supported for a long > time the have full arch separation. However, there has been some > movement of files that are common between i386 and amd64 into a common > x86 directory. > > So what I'm wondering is it it makes more sense to have files broken > up more like: > > sys/<arch> for common file between bitness > sys/<arch>/32 > sys/<arch>/64 for files that are specific to the bitness > > This would presumably serve at least powerpc and i386/amd64 well, and > though I don't know for sure I assume at the moment that it works for > sun/sparc as well. PowerPC actually does something very similar to what you suggest -- the sys/powerpc64 directory is a stub (containing only symlinks) that will go away when the projects/ppc64 branch is merged. Almost everything to do with the 32/64-bit difference is keyed off of #ifdef __powerpc64__, which has several nice side effects, like allowing cc -m32 to work, as well as simplifying maintenance by using a common code base. Having written support for a "new" platform this way, I can attest that shared code like you suggest is a very good idea. > So... is this reasonable? Or does the existence of ia64 throw a > monkey wrench into this layout? Is it not worth the shuffle (though > I'd argue that, if we're moving some files to x86 and creating a new > powerpc64 that it's better to consider now than later). > > I realize there was a discussion earlier along similar lines (the > bi-yearly architecture source tree layout discussion) but I don't > think it was specifically considering the 32/64 bit differences, which > seem to be more common now. The larger scope of this is the work being done by M. Warner Losh (the "TARGET_BIG_ENDIAN must die" branch), which he is currently merging. This defines a new thing, MACHINE_CPUARCH, that would be 'powerpc', with MACHINE_ARCH values of 'powerpc' and 'powerpc64', and is what will allow sys/powerpc64 to disappear. I'm sure he can describe it in more detail. -Nathan
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100614120141.3876ec6d>