[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
hurd-l4/laden ia32-cmain.c kip-fixup.c output.c
From: |
Marcus Brinkmann |
Subject: |
hurd-l4/laden ia32-cmain.c kip-fixup.c output.c |
Date: |
Sun, 07 Sep 2003 15:49:02 -0400 |
CVSROOT: /cvsroot/hurd
Module name: hurd-l4
Branch:
Changes by: Marcus Brinkmann <address@hidden> 03/09/07 15:49:01
Modified files:
laden : ia32-cmain.c kip-fixup.c output.c
Log message:
Fix 64bit output.
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/hurd/hurd-l4/laden/ia32-cmain.c.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/hurd/hurd-l4/laden/kip-fixup.c.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/hurd/hurd-l4/laden/output.c.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
Patches:
Index: hurd-l4/laden/ia32-cmain.c
diff -u hurd-l4/laden/ia32-cmain.c:1.2 hurd-l4/laden/ia32-cmain.c:1.3
--- hurd-l4/laden/ia32-cmain.c:1.2 Wed Sep 3 21:29:35 2003
+++ hurd-l4/laden/ia32-cmain.c Sun Sep 7 15:49:01 2003
@@ -152,10 +152,8 @@
(uint32_t) mmap < mbi->mmap_addr + mbi->mmap_length;
mmap = (memory_map_t *) ((uint32_t) mmap
+ mmap->size + sizeof (mmap->size)))
- debug ("Memory Map %i: Type %i, Base 0x%x%x, Length 0x%x%x\n",
- nr++, mmap->type, mmap->base_addr >> 32,
- mmap->base_addr & ((1ULL << 32) - 1),
- mmap->length >> 32, mmap->length & ((1ULL << 32) - 1));
+ debug ("Memory Map %i: Type %i, Base 0x%llx, Length 0x%llx\n",
+ nr++, mmap->type, mmap->base_addr, mmap->length);
}
}
@@ -231,8 +229,8 @@
if (mmap->base_addr & ((1 << 10) - 1)
|| mmap->length & ((1 << 10) - 1))
- panic ("Memory region (0x%x - 0x%x) is unaligned",
- (uint32_t) mmap->base_addr, (uint32_t) end);
+ panic ("Memory region (0x%llx - 0x%llx) is unaligned",
+ mmap->base_addr, end);
add_memory_map ((uint32_t) mmap->base_addr, (uint32_t) end,
mmap->type == 1
Index: hurd-l4/laden/kip-fixup.c
diff -u hurd-l4/laden/kip-fixup.c:1.2 hurd-l4/laden/kip-fixup.c:1.3
--- hurd-l4/laden/kip-fixup.c:1.2 Wed Sep 3 21:29:35 2003
+++ hurd-l4/laden/kip-fixup.c Sun Sep 7 15:49:01 2003
@@ -71,9 +71,10 @@
kip->memory_info.nr = memory_map_size;
for (nr = 0; nr < memory_map_size; nr++)
- debug ("Memory Map %i: Type %i/%i, Low 0x%x, High 0x%x\n",
+ debug ("Memory Map %i: Type %i/%i, Low 0x%llx, High 0x%llx\n",
nr + 1, memory_map[nr].type, memory_map[nr].subtype,
- memory_map[nr].low << 10, memory_map[nr].high << 10);
+ (unsigned long long) (memory_map[nr].low << 10),
+ (unsigned long long) (memory_map[nr].high << 10));
/* Load the boot info into the KIP. */
kip->boot_info = boot_info;
Index: hurd-l4/laden/output.c
diff -u hurd-l4/laden/output.c:1.1 hurd-l4/laden/output.c:1.2
--- hurd-l4/laden/output.c:1.1 Sat Jul 26 13:26:09 2003
+++ hurd-l4/laden/output.c Sun Sep 7 15:49:01 2003
@@ -83,18 +83,12 @@
static void
-print_nr (long long nr, int base)
+print_nr (unsigned long long nr, int base)
{
static char *digits = "0123456789abcdef";
char str[30];
int i = 0;
- if (nr < 0)
- {
- putchar ('-');
- nr = -nr;
- }
-
do
{
str[i++] = digits[nr % base];
@@ -108,6 +102,23 @@
}
+static void
+print_signed_nr (long long nr, int base)
+{
+ unsigned long long unr;
+
+ if (nr < 0)
+ {
+ putchar ('-');
+ unr = -nr;
+ }
+ else
+ unr = nr;
+
+ print_nr (unr, base);
+}
+
+
void
printf (const char *fmt, ...)
{
@@ -132,6 +143,49 @@
p++;
break;
+ case 'l':
+ p++;
+ if (*p != 'l')
+ {
+ putchar ('%');
+ putchar ('l');
+ putchar (*(p++));
+ continue;
+ }
+ p++;
+ switch (*p)
+ {
+ case 'o':
+ print_nr (va_arg (ap, unsigned long long), 8);
+ p++;
+ break;
+
+ case 'd':
+ case 'i':
+ print_signed_nr (va_arg (ap, long long), 10);
+ p++;
+ break;
+
+ case 'x':
+ case 'X':
+ print_nr (va_arg (ap, unsigned long long), 16);
+ p++;
+ break;
+
+ case 'u':
+ print_nr (va_arg (ap, unsigned long long), 10);
+ p++;
+ break;
+
+ default:
+ putchar ('%');
+ putchar ('l');
+ putchar ('l');
+ putchar (*(p++));
+ break;
+ }
+ break;
+
case 'o':
print_nr (va_arg (ap, unsigned int), 8);
p++;
@@ -139,7 +193,7 @@
case 'd':
case 'i':
- print_nr (va_arg (ap, int), 10);
+ print_signed_nr (va_arg (ap, int), 10);
p++;
break;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- hurd-l4/laden ia32-cmain.c kip-fixup.c output.c,
Marcus Brinkmann <=