home | list info | list archive | date index | thread index

Re: [OCLUG-Tech] One last Power on Question.

* Charles MacDonald <cmacd [ at ] telecomottawa [ dot ] net> [070908 20:30]:
> AS soon as the bios starts, it may very well use the memory management
> features to switch what the processor sees.  Certainly by the time Linux
> is loaded, the BIOS is completly out of the picture as the (80386 and
> above) CPU will swich to the 32 Bit (or 64 bit) mode.  The BIOS may (and
> probaly is these days) designed to memory manage itself  away as soon as
> the real Operating system is loaded.

This is not entirely true.  When Linux starts on x86, the CPU is still
in real mode.  The Linux startup code (arch/i386/boot/setup.S) will
issue several software-interrupt calls to the bios to figure out a few
things it cannot get any other way (memory size, boot disk controller
probing, etc), it also uses the BIOS to display the first text message,
and on some odd architectures it may fall back to the BIOS to disable
the A20 hardware addressing hack.

Soon after the above executes Linux switches into protected mode.  In
protected mode most of the BIOS is inaccessible as the BIOS is mostly
16bit code.  Some BIOS calls, however, are still usable.  I can only
recall two such INTs: disk access, and APM.  I don't think any of these
are used after the boot code is done.

The ACPI BIOS will also leave behind a 128k (iirc) table which you find
by calling an INT.

-Bart

-- 
				WebSig: http://www.jukie.net/~bart/sig/