Index Home About Blog
From: Linus Torvalds <torvalds@osdl.org>
Newsgroups: fa.linux.kernel
Subject: Re: [PATCH 1/1] Add efi e820 memory mapping on x86 [try #1]
Date: Tue, 25 Jul 2006 05:32:49 UTC
Message-ID: <fa./VogoEa2oZYWljemiLJhAjYmMaU@ifi.uio.no>
Original-Message-ID: <Pine.LNX.4.64.0607242227340.29649@g5.osdl.org>

On Mon, 24 Jul 2006, Andrew Morton wrote:
>
> > This Patch add an efi e820 memory mapping.
> >
>
> Why?

EFI is this other Intel brain-damage (the first one being ACPI). It's
totally different from a normal BIOS, and was brought on by ia64, which
never had a BIOS, of course.

Sadly, Apple bought into the whole "BIOS bad, EFI good" hype, so we now
have x86 machines with EFI as the native boot protocol.

The original EFI code in the kernel basically duplicates all the BIOS
interfaces (ie everything that looks at a memory map comes in two
varieties: the normal and tested BIOS e820 variety, and the usually broken
and hacked-up EFI memory map variety).

Translating the EFI memory map to e820 is very much the sane thing to do,
and should have been done by ia64 in the first place. Sadly, EFI people
(a) think that their stinking mess is better than a BIOS and (b) are
historically ia64-only, so they didn't do that, but went the "we'll just
duplicate everything using our inferior EFI interfaces" way.

Edgars patch looks fine per se, I'd just wish we had more testers (or,
alternatively, people would just use bootcamp and make their Apple
machines look like PC's, but see (a) above).

		Linus


From: Linus Torvalds <torvalds@osdl.org>
Newsgroups: fa.linux.kernel
Subject: Re: [PATCH 1/1] Add efi e820 memory mapping on x86 [try #1]
Date: Tue, 25 Jul 2006 06:00:41 UTC
Message-ID: <fa.K4M0mC9bP4Gr24fvdHc+zatz61M@ifi.uio.no>
Original-Message-ID: <Pine.LNX.4.64.0607242246530.29649@g5.osdl.org>

On Mon, 24 Jul 2006, Linus Torvalds wrote:
>
> Sadly, Apple bought into the whole "BIOS bad, EFI good" hype, so we now
> have x86 machines with EFI as the native boot protocol.

Btw, that's not totally new. I think some people played around with EFI on
x86 even before Apple came around. And don't get me wrong - the problem
with EFI is that it actually superficially looks much better than the
BIOS, but in practice it ends up being one of those things where it has
few real advantages, and often just a lot of extra complexity because of
the "new and improved" interfaces that were largely defined by a
committee.

I think a lot of the "new standards" tend to be that way. Trying to solve
a lot of problems and allow everybody to add their own features, instead
of just saying that it's better to just standardize the hardware.

For example, instead of ACPI, we could just have had standardized hardware
(and a few tables to define things like numbers of CPU's etc). It would
have been simpler for everybody. But no, people seem to think that it's
somehow "better" to have wild and crazy hardware, and then have a really
complicated way of describing it - and driving it - dynamically.

So EFI has this cool shell, a loadable driver framework, and other nice
features. Where "nice" obviously means "much more complex than the simple
things they designed in the late seventies back when people were stupid
and just wanted things to work".

Of course, it's somewhat questionable whether people have actually gotten
smarter or stupider in the last 30 years. It's not enough time for
evolution to have increased our brain capacity, but it certainly _is_
enough time for most people to no longer understand how hardware works any
more.

Not a good combination, in other words.

Not that I'd ever claim that the BIOS is wonderful either, but at least
everybody knows that the BIOS is just a bootloader, and doesn't try to
make it anything else.

The absolutely biggest advantage of a BIOS is that it's _so_ inconvenient
and obviously oldfashioned, that you have to be crazy to want to do
anything serious in it. Real mode, 16-bit code is actually an _advantage_
in that sense. People know how to treat it, and don't get any ideas about
it being some grandiose framework for anything else than "just load the OS
and get the hell out of there".

			Linus

Index Home About Blog