2001-12-30 Yoshinori K. Okuji <okuji@gnu.org>

* 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.
This commit is contained in:
okuji 2001-12-30 07:33:23 +00:00
parent 79ae0cd9e8
commit 4cd09c4b6a
3 changed files with 14 additions and 1 deletions

View file

@ -1,3 +1,13 @@
2001-12-30 Yoshinori K. Okuji <okuji@gnu.org>
* 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 <okuji@gnu.org>
From John Goerzen <jgoerzen@complete.org>:

View file

@ -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);

View file

@ -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)
{