/[hurd]/hurd-l4/wortel/wortel.h
ViewVC logotype

Diff of /hurd-l4/wortel/wortel.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.6 by marcus, Mon Sep 15 18:09:45 2003 UTC revision 1.7 by marcus, Tue Sep 16 00:42:17 2003 UTC
# Line 33  Line 33 
33  #include "loader.h"  #include "loader.h"
34    
35    
36    #define BUG_ADDRESS     "<bug-hurd@gnu.org>"
37    
38  /* The program name.  */  /* The program name.  */
39  extern char *program_name;  extern const char program_name[];
40    
41  #define BUG_ADDRESS     "<bug-hurd@gnu.org>"  /* The region of wortel itself.  */
42    extern l4_word_t wortel_start;
43    extern l4_word_t wortel_end;
44    
45    
46    /* Room for the arguments.  1 KB is a cramped half-screen full, which
47       should be more than enough.  Arguments need to be copied here by
48       the architecture dependent find_components, so all precious data is
49       gathered in the wortel binary region.  */
50    extern char mods_args[1024];
51    
52    /* The number of bytes in mods_args already consumed.  */
53    extern unsigned mods_args_len;
54    
55  struct wortel_module  struct wortel_module
56  {  {
57    const char *name;    const char *name;
58    
59    /* Low and high address of the module.  */    /* Low and high address of the module.  Initialized by
60         find_components.  */
61    l4_word_t start;    l4_word_t start;
62    l4_word_t end;    l4_word_t end;
63    
64    /* The command line, in raw, uninterpreted form.  */    /* The command line, in raw, uninterpreted form.  This points into
65         mods_args.  Initialized by find_components.  */
66    char *args;    char *args;
67    
68    /* The container capability in the physical memory server for this    /* The container capability in the physical memory server for this
69       module.  Valid for all modules except for the physical memory       module.  Valid for all modules except for the physical memory
70       server itself.  */       server itself.  Initialized after the physical memory server
71         starts up.  */
72    hurd_cap_scid_t mem_cont;    hurd_cap_scid_t mem_cont;
73    
74    /* The following informartion is only valid if a task will be    /* The following informartion is only valid if a task will be
75       created from the module.  */       created from the module.  */
76    
77    /* The entry point of the executable.  */    /* The entry point of the executable.  Initialized just before the
78         task is started.  */
79    l4_word_t ip;    l4_word_t ip;
80    
81      /* The program header location and size.  Initialized just before
82         the task is started.  */
83      l4_word_t header_loc;
84      l4_word_t header_size;
85    
86    /* The task control capability for this module.  Only valid if this    /* The task control capability for this module.  Only valid if this
87       is not the task server task itself.  */       is not the task server task itself.  Initialized after the task
88         server starts up.  */
89    hurd_cap_scid_t task_ctrl;    hurd_cap_scid_t task_ctrl;
90    
91    /* Main thread of the task made from this module.  */    /* Main thread of the task made from this module.  Initialized just
92         before the task is started.  */
93    l4_thread_id_t main_thread;    l4_thread_id_t main_thread;
94    
95    /* Server thread of the task made from this module.  */    /* Server thread of the task made from this module.  Initialized
96         just before the task is started.  */
97    l4_thread_id_t server_thread;    l4_thread_id_t server_thread;
98  };  };
99    
# Line 89  extern const char *mod_names[MOD_NUMBER] Line 114  extern const char *mod_names[MOD_NUMBER]
114     one more than the last byte in the image.  */     one more than the last byte in the image.  */
115  extern struct wortel_module mods[MOD_NUMBER];  extern struct wortel_module mods[MOD_NUMBER];
116    
117    /* The number of modules present.  Only the first MODS_COUNT modules
118       in MODS are properly initialized.  */
119  extern unsigned int mods_count;  extern unsigned int mods_count;
120    
121  /* Find the module information required for booting (start, end, args).  */  /* Find the module information required for booting.  */
122  void find_components (void);  void find_components (void);
123    
124  int main (int argc, char *argv[]);  int main (int argc, char *argv[]);

Legend:
Removed from v.1.6  
changed lines
  Added in v.1.7

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26