l4-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Subsystem booting


From: Niels Möller
Subject: Subsystem booting
Date: 25 May 2003 12:17:36 +0200
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2

What should the subsystem boot procedure be like? Is the following
close to right?

For each subsystem, there's one "subsystem-root" module. These are
loaded by grub, after the rootserver.

The rootserver allocates subsystem id:s, creates an address space for
each subsystem, sets up itself as pager for the subsystems, and
creates a thread in each subsystem server which starts executing at
_start. It then starts to accept calls from privileged subsystem
threads, and performs privileged L4 system calls on their behalf
(alternatively, the root server can execute the subsystem-root code in
its own address space).

Each subsystem needs to somehow get some information from the
rootserver, including the root server thread id (or is that fixed?),
and boot arguments and GRUB modules.

For the hurd, the task server needs another grub module for the first
task(s), which could be something like serverboot (processing
additional GRUB modules), and then we're getting into the ordinary
Hurd bootstrap (with which I'm not very familiar). If grub module is a
server-boot like program, that should give it's memory back to the
system memory server whn it's done.

For booting several subsystems, the grub module list needs to be
structured by subsystem.

The root server could also support have some ipc call for starting a
new subsystem, later than boot time.

Regards,
/Niels




reply via email to

[Prev in Thread] Current Thread [Next in Thread]