735 |
phys_startup->version_major = HURD_STARTUP_VERSION_MAJOR; |
phys_startup->version_major = HURD_STARTUP_VERSION_MAJOR; |
736 |
phys_startup->version_minor = HURD_STARTUP_VERSION_MINOR; |
phys_startup->version_minor = HURD_STARTUP_VERSION_MINOR; |
737 |
phys_startup->flags = 0; |
phys_startup->flags = 0; |
|
/* See below. */ |
|
738 |
phys_startup->utcb_area = l4_fpage_log2 (((l4_word_t) HURD_STARTUP_ADDR) |
phys_startup->utcb_area = l4_fpage_log2 (((l4_word_t) HURD_STARTUP_ADDR) |
739 |
+ HURD_STARTUP_SIZE |
+ HURD_STARTUP_SIZE |
740 |
+ l4_kip_area_size (), |
+ l4_kip_area_size (), |
757 |
phys_startup->entry_point = (void *) task_entry_point; |
phys_startup->entry_point = (void *) task_entry_point; |
758 |
phys_startup->startup.server = mods[MOD_PHYSMEM].server_thread; |
phys_startup->startup.server = mods[MOD_PHYSMEM].server_thread; |
759 |
phys_startup->startup.cap_handle = mods[mod].startup_cont; |
phys_startup->startup.cap_handle = mods[mod].startup_cont; |
760 |
|
if (mod == MOD_ROOT_FS) |
761 |
|
{ |
762 |
|
phys_startup->flags |= HURD_STARTUP_FLAG_BOOTSTRAP; |
763 |
|
phys_startup->physmem_master.server = mods[MOD_PHYSMEM].server_thread; |
764 |
|
phys_startup->physmem_master.cap_handle = physmem_master; |
765 |
|
phys_startup->task_master.server = mods[MOD_TASK].server_thread; |
766 |
|
phys_startup->task_master.cap_handle = task_master; |
767 |
|
phys_startup->deva_master.server = mods[MOD_DEVA].server_thread; |
768 |
|
phys_startup->deva_master.cap_handle = deva_master; |
769 |
|
phys_startup->deva_console.server = mods[MOD_DEVA].server_thread; |
770 |
|
phys_startup->deva_console.cap_handle = mods[mod].deva; |
771 |
|
} |
772 |
|
|
773 |
/* The stack layout is in accordance to the following startup prototype: |
/* The stack layout is in accordance to the following startup prototype: |
774 |
void start (struct hurd_startup_data *startup_data). */ |
void start (struct hurd_startup_data *startup_data). */ |