Re: machine/platform separation

From:

Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxx>

Date:

Mon, 15 Jan 2007 11:24:31 -0800 (PST)

:At least 'i386' sucks as platform name. It's not true anymore that all
:IA32 (yes, that's the CPU arch name Intel actually uses these days) CPUs
:live in PC machines, and picking 'i386' as name for the machine with a
:PC BIOS and an IA32 CPU is just confusing baggage. What would you name
:the EFI+IA32 machine? efi386? mac386 (hah, wait 'til other manufacturers
:start shipping IA32 boxen with EFI firmware)? And the (hypothetical?)
:case of OFW+IA32?
:..
:
:Ofcourse, the rest of the world is still retarded, and we need to deal
:with that. But going for 'i386' and 'amd64' is basically going for the
:lowest common denominator. Sure, it's 'common practice', a 'de facto
:standard', but it's WRONG.
:
:Cheers,
:--
: Thomas E. Spanjaard
: tgen@netphreax.net
Part of the problem is that I only separated the code into two
physical pieces (cpu and machine architectures) when I should have
separated it into three (cpu, machine, and platform). At the time I
felt three was too many. I even created three built-in MAKE variables,
I just named them badly and didn't go far enough.
What I will have to do is make the 'pc32' the 'platform' architecture
and revert the machine architecture back to i386. That way at least
we can maintain the distinction in our sources without interfering
with third party apps. This will take a bit of CVS surgery
(I have to rename /usr/src/sys/machine to /usr/src/sys/platform). I
guess I should probably do it before we branch, which means delaying the
branch until Friday-ish (but not delaying the release which is still
going to be ~2 weeks).
-Matt