From fa2dd120e48e636785aacd529b0f891be6bfffa7 Mon Sep 17 00:00:00 2001 From: okuji Date: Sun, 17 Oct 1999 03:30:33 +0000 Subject: [PATCH] fix some minor problems in load_initrd. --- ChangeLog | 6 ++++++ stage2/boot.c | 8 ++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index cb2dd4d5c..9d9c3fd5a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +1999-10-17 OKUJI Yoshinori + + * stage2/boot.c (load_initrd): Change types of *RAMDISK and + MOVETO to unsigned long. + Apply the macro RAW_ADDR to MOVETO. + 1999-10-16 OKUJI Yoshinori * docs/multiboot.texi: Include the example source files of a diff --git a/stage2/boot.c b/stage2/boot.c index 94ed72f06..8452ff0cc 100644 --- a/stage2/boot.c +++ b/stage2/boot.c @@ -508,18 +508,18 @@ int load_initrd (char *initrd) { int len; - long *ramdisk, moveto; + unsigned long *ramdisk, moveto; if (! grub_open (initrd) || ! (len = grub_read ((char *) cur_addr, -1))) return 0; moveto = ((mbi.mem_upper + 0x400) * 0x400 - len) & 0xfffff000; - memmove ((void *) moveto, (void *) cur_addr, len); + memmove ((void *) RAW_ADDR (moveto), (void *) cur_addr, len); printf (" [Linux-initrd @ 0x%x, 0x%x bytes]\n", moveto, len); - ramdisk = (long *) (LINUX_SETUP + LINUX_SETUP_INITRD); - ramdisk[0] = moveto; + ramdisk = (unsigned long *) (LINUX_SETUP + LINUX_SETUP_INITRD); + ramdisk[0] = RAW_ADDR (moveto); ramdisk[1] = len; return 1;