diff --git a/ChangeLog b/ChangeLog index f2340820c..4c5d3a19c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2001-12-30 Yoshinori K. Okuji + + * stage2/bios.c (get_diskinfo): Clear out the structure DRP + before calling get_diskinfo_int13_extensions, because the Ralf + Brown's Interrupt List says that Dell machines using PhoenixBIOS + 4.0 Release 6.0 fail, if DRP.FLAGS is not zero. Setting the + entire structure to zero may be overkill, but it should be safe. + + * stage2/char_io.c [STAGE1_5] (grub_memset): Defined. + 2001-12-30 Yoshinori K. Okuji From John Goerzen : diff --git a/stage2/bios.c b/stage2/bios.c index 91db02f38..6e61b38d5 100644 --- a/stage2/bios.c +++ b/stage2/bios.c @@ -165,6 +165,9 @@ get_diskinfo (int drive, struct geometry *geometry) regardless of a size specified in a caller. */ unsigned char dummy[16]; } __attribute__ ((packed)) drp; + + /* It is safe to clear out DRP. */ + grub_memset (&drp, 0, sizeof (drp)); drp.size = sizeof (drp); err = get_diskinfo_int13_extensions (drive, &drp); diff --git a/stage2/char_io.c b/stage2/char_io.c index 79b86e7f2..eaebe6fdf 100644 --- a/stage2/char_io.c +++ b/stage2/char_io.c @@ -1450,7 +1450,6 @@ grub_memmove (void *to, const void *from, int len) return errnum ? NULL : to; } -#ifndef STAGE1_5 void * grub_memset (void *start, int c, int len) { @@ -1465,6 +1464,7 @@ grub_memset (void *start, int c, int len) return errnum ? NULL : start; } +#ifndef STAGE1_5 char * grub_strcpy (char *dest, const char *src) {