[Prev][Next][Index][Thread]
Re: Loading the kernel.
Some of the keys steps in initialising a kernel are (in one possible order):
initialising lib_anno (sometimes used in interrupt handlers)
initialising the CPU (segments, etc)
initialising phys_lmm (the memory pool used by malloc and osenv_mem)
initialising services (registry containing pointers to the memory allocator, sockets, console, etc).
initialising osenv_drivers (registry containing pointers to device drivers)
initialising osenv_isabus
initialising the linux_dev library
initialising argc/argv and the environment
(can happen anytime after phys_lmm and before the console)
initialising base_console
(Do this as early as possible to get debugging output as early as possible.
Could/should happen before device driver initialisation)
initialising individual linux device drivers
probe for devices
(Note that this list comes from a program that figures out which order
to initialise things in so it's different from the order used in the
oskit. It also doesn't include SVM at the moment so I can't tell you
what its dependencies are.)
--
Alastair
References:
- Loading the kernel.
- From: "Imobac Exposito (alu1360)-Vicente Cruz (alu1345) - Fresnadillo Perez (alu1364)" <mkernel@csi.ull.es>