2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
* include/i386/pc/util/biosdisk.h: New file. * util/i386/pc/biosdisk.c: Likewise. * util/i386/pc/pupa-setup.c: Likewise. * Makefile.in (INCLUDE_DISTFILES): Added include/pupa/i386/pc/util/biosdisk.h. (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the directory util/i386/pc. (install-local): Added a rule for sbin_UTILITIES. (uninstall): Likewise. * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc. * util/misc.c (xrealloc): New function. (pupa_malloc): Likewise. (pupa_free): Likewise. (pupa_realloc): Likewise. (pupa_stop): Likewise. (pupa_putchar): Likewise. * kern/disk.c (pupa_disk_read): Prevent L from underflowing. * include/pupa/util/misc.h (xrealloc): Declared. * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New macro. (PUPA_BOOT_MACHINE_BPBEND): Renamed to ... (PUPA_BOOT_MACHINE_BPB_END): ... this. * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared. [PUPA_UTIL] (pupa_fat_fini): Likewise. * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better way should be implemented. [PUPA_UTIL] (pupa_fat_fini): Likewise. * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase the size of NAME for safety. (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of 0x88. * conf/i386-pc.rmk (sbin_UTILITIES): New variable. (pupa_setup_SOURCES): Likewise. * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
This commit is contained in:
parent
08b70fe8eb
commit
1cc73a62da
17 changed files with 1809 additions and 18 deletions
|
@ -92,7 +92,7 @@ pupa_biosdisk_get_drive (const char *name)
|
|||
static int
|
||||
pupa_biosdisk_call_hook (int (*hook) (const char *name), int drive)
|
||||
{
|
||||
char name[4];
|
||||
char name[10];
|
||||
|
||||
pupa_sprintf (name, (drive & 0x80) ? "hd%d" : "fd%d", drive & (~0x80));
|
||||
return hook (name);
|
||||
|
@ -111,7 +111,7 @@ pupa_biosdisk_iterate (int (*hook) (const char *name))
|
|||
return 1;
|
||||
|
||||
/* For hard disks, attempt to read the MBR. */
|
||||
for (drive = 0x80; drive < 0x88; drive++)
|
||||
for (drive = 0x80; drive < 0x90; drive++)
|
||||
{
|
||||
if (pupa_biosdisk_rw_standard (0x02, drive, 0, 0, 1, 1,
|
||||
PUPA_MEMORY_MACHINE_SCRATCH_SEG) != 0)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue