[okl4-developer] How to load the [timer/naming/serial] server?
Josh Matthews
jmatthews at ok-labs.com
Mon May 19 12:15:35 EST 2008
Hi HoChul,
On Mon, May 19, 2008 at 10:14 AM, 유호철 <hcyoo at cuwave.co.kr> wrote:
[1] In L4/Iguana system boot process, [ timer / naming / serial ] server
> load by iguana server. Right?
>
Correct. The way this works is the timer, naming, and serial servers are
built into the ELF image using ElfWeaver, which also constructs a "BootInfo"
structure describing the servers to be started on boot. The address of this
structure is passed to Iguana Server (the root server) on startup, which
parses the bootinfo and starts the servers. Take a look at
iguana/server/src/main.c and libs/bootinfo to see how this works.
> To load [ timer / naming / serial ] server, Iguana server will do
> somthing.
>
That's right - Iguana Server calls bi_execute(__okl4_bootinfo), implemented
in iguana/server/src/bootinfo.c. Most of the work is done by bootinfo_parse,
implemented in libs/bootinfo/src/bootinfo.c
> At this time, iguana server will be also Server. and client is
> existing, too. In this case, Who is client? and where is this section?
>
Well, they are all "servers": all have a Magpie-generated server loop, which
accepts requests for services via IPC and fulfills them. "Clients" are
generally user applications, such as one of the Iguana example applications
(built with the example=X build command option, where X is the directory
name of the example in iguana/example). Servers built on top of Iguana are
clients of Iguana Server as well.
In general, the client-side calls to a server are wrapped in a library, so
if an application includes libs/{server} files then it is a client of
{server}. The actual calls are implemented in a Magpie-generated client
include file (which the library includes for you) named {server}_client.h -
you can also include this directly by including
<interfaces/{server}_client.h>
Best regards,
Josh Matthews
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.okl4.org/pipermail/developer/attachments/20080519/f16d7e71/attachment.htm
More information about the Developer
mailing list