/[hurd]/hurd-l4/laden/loader.c
ViewVC logotype

Diff of /hurd-l4/laden/loader.c

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

revision 1.4 by marcus, Mon Sep 8 00:00:23 2003 UTC revision 1.5 by marcus, Mon Sep 8 01:39:14 2003 UTC
# Line 108  check_region (char *name, l4_word_t star Line 108  check_region (char *name, l4_word_t star
108    
109  /* Add the region with the name NAME from START to END to the table of  /* Add the region with the name NAME from START to END to the table of
110     regions to check against.  Before doing that, check for overlaps     regions to check against.  Before doing that, check for overlaps
111     with existing regions, unless FORCE is true.  */     with existing regions.  */
112  void  void
113  loader_add_region (char *name, l4_word_t start, l4_word_t end, int force)  loader_add_region (char *name, l4_word_t start, l4_word_t end)
114  {  {
115      debug ("Protected Region: %s (0x%x - 0x%x)\n", name, start, end);
116    
117    if (nr_regions == MAX_REGIONS)    if (nr_regions == MAX_REGIONS)
118      panic ("Too many memory regions, region %s doesn't fit", name);      panic ("Too many memory regions, region %s doesn't fit", name);
119    
120    if (!force)    check_region (name, start, end);
     check_region (name, start, end);  
121    
122    used_regions[nr_regions].name = name;    used_regions[nr_regions].name = name;
123    used_regions[nr_regions].start = start;    used_regions[nr_regions].start = start;
# Line 206  elf_load (char *name, l4_word_t start, l Line 207  elf_load (char *name, l4_word_t start, l
207    
208    /* FIXME: Add this as a bootloader specific memory type to L4's    /* FIXME: Add this as a bootloader specific memory type to L4's
209       memdesc list instead.  */       memdesc list instead.  */
210    loader_add_region (name, new_start, new_end, 0);    loader_add_region (name, new_start, new_end);
211    
212    if (new_start_p)    if (new_start_p)
213      *new_start_p = new_start;      *new_start_p = new_start;
# Line 226  load_components (void) Line 227  load_components (void)
227  {  {
228    if (!kernel.low)    if (!kernel.low)
229      panic ("No L4 kernel found");      panic ("No L4 kernel found");
230    loader_add_region ("kernel-mod", kernel.low, kernel.high, 0);    loader_add_region ("kernel-mod", kernel.low, kernel.high);
231    
232    if (!sigma0.low)    if (!sigma0.low)
233      panic ("No sigma0 server found");      panic ("No sigma0 server found");
234    loader_add_region ("sigma0-mod", sigma0.low, sigma0.high, 0);    loader_add_region ("sigma0-mod", sigma0.low, sigma0.high);
235    
236    if (sigma1.low)    if (sigma1.low)
237      loader_add_region ("sigma1-mod", sigma1.low, sigma1.high, 0);      loader_add_region ("sigma1-mod", sigma1.low, sigma1.high);
238    
239    if (!rootserver.low)    if (!rootserver.low)
240      panic ("No rootserver server found");      panic ("No rootserver server found");
241    loader_add_region ("rootserver-mod", rootserver.low, rootserver.high, 0);    loader_add_region ("rootserver-mod", rootserver.low, rootserver.high);
242    
243    elf_load ("kernel", kernel.low, kernel.high,    elf_load ("kernel", kernel.low, kernel.high,
244              &kernel.low, &kernel.high, &kernel.ip);              &kernel.low, &kernel.high, &kernel.ip);

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.5

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