fiasco boot sequence on arm
adam at os.inf.tu-dresden.de
Sun Oct 19 21:27:52 CEST 2008
On Fri Oct 17, 2008 at 01:39:18 +0800, Qmo (Yi-Sheng) wrote:
> I am working on a project which porting fiasco to a ARM&DSP platform.
> Now I have questions about the fiasco boot sequence in arm side.
> First, when doing a workable kernel image, we should use the l4
> package *"bootstrap"
> to encapsulate the needed modules, for example: roottask, sigma0, and the
> real fiasco kernel(it means the building image in
> And we find the file "l4/pkg/bootstrap/server/src/startup.cc", there are
> some source code lines like:
> #elif defined(ARCH_arm)
> typedef void (*startup_func)(void);
> * startup_func f = (startup_func)boot_info.kernel_start;*
> the command line says that "setup the L4 kernel info page before booting the
> L4 microkernel",
> but we want to know what is the entry point about
> *boot_info.kernel_start*in the real fiasco kernel(fiasco.image) source
_start, and then bootstrap_main.
> And we also find that there is also a file named *bootstrap in
> kernel/fiasco/src/kern/arm/bootstrap.cpp*, this file seems to steup the
> memory mapping.
> So we guess the first bootstrap** is used to arrange the roottask,
> sigma0, etc... in the memory space, then jump to the second
Just sigma0 and roottask are moved to their final place, others are left
where they are.
> bootstrap**in fiasco kernel
> to setup the needed memory mapping, and finally give the control to the real
> fiasco kernel. We want to confirm the steps, or something is wrong?
Yes, sounds good!
> And the last question, what is the coding style about *IMPLEMENTATION [arm]:
> in kernel/fiasco/src/kern/arm/ directory, is there any effect when compiling
Yes, the preprocess tools takes or not takes those parts, depending
which tags are used, those tags are defined by the configuration.
Adam adam at os.inf.tu-dresden.de
More information about the l4-hackers