commit-hurd
[Top][All Lists]
Advanced

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

hurd-l4/wortel ia32-cmain.c wortel.c


From: Marcus Brinkmann
Subject: hurd-l4/wortel ia32-cmain.c wortel.c
Date: Mon, 15 Sep 2003 14:45:18 -0400

CVSROOT:        /cvsroot/hurd
Module name:    hurd-l4
Branch:         
Changes by:     Marcus Brinkmann <address@hidden>       03/09/15 14:45:18

Modified files:
        wortel         : ia32-cmain.c wortel.c 

Log message:
        Fix a couple of bugs and improve debug output.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/hurd/hurd-l4/wortel/ia32-cmain.c.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/hurd/hurd-l4/wortel/wortel.c.diff?tr1=1.6&tr2=1.7&r1=text&r2=text

Patches:
Index: hurd-l4/wortel/ia32-cmain.c
diff -u hurd-l4/wortel/ia32-cmain.c:1.4 hurd-l4/wortel/ia32-cmain.c:1.5
--- hurd-l4/wortel/ia32-cmain.c:1.4     Mon Sep 15 14:09:45 2003
+++ hurd-l4/wortel/ia32-cmain.c Mon Sep 15 14:45:16 2003
@@ -131,7 +131,6 @@
   if (CHECK_FLAG (mbi->flags, 3))
     {
       module_t *mod = (module_t *) mbi->mods_addr;
-      unsigned int nr_mods;
       unsigned int i;
 
       mods_count = mbi->mods_count - 1;
@@ -140,7 +139,7 @@
       /* Skip the entry for the rootserver.  */
       mod++;
 
-      for (i = 0; i < nr_mods; i++)
+      for (i = 0; i < mods_count; i++)
        {
          mods[i].name = mod_names[i];
          mods[i].start = mod[i].mod_start;
Index: hurd-l4/wortel/wortel.c
diff -u hurd-l4/wortel/wortel.c:1.6 hurd-l4/wortel/wortel.c:1.7
--- hurd-l4/wortel/wortel.c:1.6 Mon Sep 15 14:09:45 2003
+++ hurd-l4/wortel/wortel.c     Mon Sep 15 14:45:16 2003
@@ -91,25 +91,27 @@
 make_fpages (l4_word_t start, l4_word_t size, l4_fpage_t *fpages)
 {
   l4_word_t min_page_size = getpagesize ();
-  l4_word_t end = (start + size + min_page_size - 1) & ~(min_page_size - 1);
+  l4_word_t end = start + size;
   unsigned int nr_fpages = 0;
-
   if (!size)
     return 0;
 
-  if (start & ~(min_page_size - 1))    
-    panic ("make_fpages: START is not aligned to minimum page size");
-  if (end & ~(min_page_size - 1))    
+  if (start & (min_page_size - 1))
     panic ("make_fpages: START is not aligned to minimum page size");
+  if (size & (min_page_size - 1))
+    panic ("make_fpages: SIZE is not aligned to minimum page size");
 
+  debug ("Make fpages from 0x%x (size 0x%x): ", start, size);
   /* END is at least one MIN_PAGE_SIZE larger than START.  */
   nr_fpages = 0;
   while (start < end)
     {
       fpages[nr_fpages] = l4_fpage (start, end - start);
+      debug ("0x%x/%u ", start, l4_size_log2 (fpages[nr_fpages]));
       start += l4_size (fpages[nr_fpages]);
       nr_fpages++;
     }
+  debug ("\n");
   return nr_fpages;
 }
 
@@ -216,8 +218,8 @@
          panic ("Could not find suitable fpage");
 
        fpage = l4_fpage_add_rights (fpages[i], l4_fully_accessible);
-       debug ("Granting Fpage: 0x%x - 0x%x\n", l4_address (fpage),
-              l4_address (fpage) + l4_size (fpage));
+       debug ("Granting Fpage: 0x%x/%u\n", l4_address (fpage),
+              l4_size_log2 (fpage));
 
        if (i != 0)
          fpages[i] = fpages[nr_fpages - 1];




reply via email to

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