First page Back Continue Last page Overview Graphics
DRAM, Transition to C, Mainboard Fixup, Starting Kernel
DRAM setup
- non-portable, tricky, tough to figure out
Transition to C
- set up the stack and call a function to do the rest
Mainboard fixup
- turn on cacheing (MTRR) so that the kernel unzips in reasonable time
- Otherwise it can take a minute or more
- make all the FLASH available (rather than 64K or 128K)
- requires some register manipulation, different for each chipset
- minimal power management capabilities
- do stuff Linux cannot (or will not) do:
- turn clock interrupts on
- a bit of PCI initialization ג set Base Address Registers
Inflate and run the kernel (snarfed from the kernel itself)
- handle parameters, command line
- make gunzip work in ROM environment (declare initialized arrays const)
- jump to startup_32(), not to setup() as LILO does