Date: Wed, 18 Dec 2002 10:58:45 +0200 From: Ruslan Ermilov <ru@freebsd.org> To: Bruce Evans <bde@zeta.org.au> Cc: "Greg 'groggy' Lehey" <grog@freebsd.org>, Terry Lambert <tlambert2@mindspring.com>, Alex <akruijff@dds.nl>, phk@freebsd.org, Johnson David <DavidJohnson@Siemens.com>, current@freebsd.org Subject: Re: 80386 out of GENERIC Message-ID: <20021218085845.GA42792@sunbay.com> In-Reply-To: <20021218152338.V23575-100000@gamplex.bde.org> References: <20021217074235.GA95679@sunbay.com> <20021218152338.V23575-100000@gamplex.bde.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--u3/rZRmxL6MmkK24 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Wed, Dec 18, 2002 at 03:33:42PM +1100, Bruce Evans wrote: > On Tue, 17 Dec 2002, Ruslan Ermilov wrote: >=20 > > On Mon, Dec 16, 2002 at 09:05:40AM +1030, Greg 'groggy' Lehey wrote: > > > I suppose it would be a good idea to include an alternatvie i386 > > > kernel on the CD-ROM. There may be a space issue, of course. How > > > many people participating in this thread have an i386 with at least 12 > > > MB of memory and intended to try 5.0 on it? How many of those don't > > > have a machine to bootstrap off? > > > > > Having only alternative i386 kernel is not enough while userland > > stuff is still compiled for i486. >=20 > Er, userland stuff is still compiled for original i386's, modulo bugs. > E.g., in the i386 endian.h: >=20 > % #if defined(_KERNEL) && (defined(I486_CPU) || defined(I586_CPU) || defi= ned(I686_CPU)) && !defined(I386_CPU) > ^^^^^^^^^^^^^^^ > % > % #define __byte_swap_int(x) \ > % __extension__ ({ register __uint32_t __X =3D (x); \ > % __asm ("bswap %0" : "+r" (__X)); \ > % __X; }) > % #else > % > % #define __byte_swap_int(x) \ > % __extension__ ({ register __uint32_t __X =3D (x); \ > % __asm ("xchgb %h0, %b0\n\trorl $16, %0\n\txchgb %h0, %b0" \ > % : "+q" (__X)); \ > % __X; }) > % #endif >=20 > The _KERNEL part of the ifdef limits the use of the i486 "bswap" > instruction to the kernel, so userland is properly pessimized to support > all x86's. The other parts of the ifdef properly pessimize modules to > support all x86's (options don't apply to modules so none of the XXX_CPU's > is defined). >=20 > So kernels get the full epsilon of optimizations from turning off i386 > support, while userland doesn't get any (not counting ones from optimizing > for non-i386 without breaking i386). >=20 Right. I forgot for the moment that -mcpu isn't the same as -march, and the latter is only set if CPUTYPE is also set. Cheers, --=20 Ruslan Ermilov Sysadmin and DBA, ru@sunbay.com Sunbay Software AG, ru@FreeBSD.org FreeBSD committer, +380.652.512.251 Simferopol, Ukraine http://www.FreeBSD.org The Power To Serve http://www.oracle.com Enabling The Information Age --u3/rZRmxL6MmkK24 Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (FreeBSD) iD8DBQE+ADjFUkv4P6juNwoRAgz1AJkBTD/SsWzy3GOwFadwCo/9VBWymgCghPeG tjxf/BS6naGAgRzAVdFU2pM= =BqzR -----END PGP SIGNATURE----- --u3/rZRmxL6MmkK24-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20021218085845.GA42792>