diff options
-rw-r--r-- | hw/pc.c | 6 | ||||
-rw-r--r-- | qemu-doc.texi | 4 | ||||
-rw-r--r-- | vl.c | 15 | ||||
-rw-r--r-- | vl.h | 1 |
4 files changed, 22 insertions, 4 deletions
@@ -193,6 +193,8 @@ static void cmos_init(int ram_size, int boot_device, BlockDriverState **hd_table case 'a': case 'b': rtc_set_memory(s, 0x3d, 0x01); /* floppy boot */ + if (!fd_bootchk) + rtc_set_memory(s, 0x38, 0x01); /* disable signature check */ break; default: case 'c': @@ -264,10 +266,6 @@ static void cmos_init(int ram_size, int boot_device, BlockDriverState **hd_table } } rtc_set_memory(s, 0x39, val); - - /* Disable check of 0x55AA signature on the last two bytes of - first sector of disk. XXX: make it the default ? */ - // rtc_set_memory(s, 0x38, 1); } void ioport_set_a20(int enable) diff --git a/qemu-doc.texi b/qemu-doc.texi index 23bf68008b..5a3f8f4d4f 100644 --- a/qemu-doc.texi +++ b/qemu-doc.texi @@ -228,6 +228,10 @@ Write to temporary files instead of disk image files. In this case, the raw disk image you use is not written back. You can however force the write back by pressing @key{C-a s} (@pxref{disk_images}). +@item -no-fd-bootchk +Disable boot signature checking for floppy disks in Bochs BIOS. It may +be needed to boot from old floppy disks. + @item -m megs Set virtual RAM size to @var{megs} megabytes. Default is 128 MB. @@ -159,6 +159,7 @@ int vnc_display = -1; #define MAX_CPUS 1 #endif int acpi_enabled = 1; +int fd_bootchk = 1; /***********************************************************/ /* x86 ISA bus support */ @@ -4634,6 +4635,9 @@ void help(void) "-cdrom file use 'file' as IDE cdrom image (cdrom is ide1 master)\n" "-boot [a|c|d] boot on floppy (a), hard disk (c) or CD-ROM (d)\n" "-snapshot write to temporary files instead of disk image files\n" +#ifdef TARGET_I386 + "-no-fd-bootchk disable boot signature checking for floppy disks\n" +#endif "-m megs set virtual RAM size to megs MB [default=%d]\n" "-smp n set the number of CPUs to 'n' [default=1]\n" "-nographic disable graphical output and redirect serial I/Os to console\n" @@ -4765,6 +4769,9 @@ enum { QEMU_OPTION_cdrom, QEMU_OPTION_boot, QEMU_OPTION_snapshot, +#ifdef TARGET_I386 + QEMU_OPTION_no_fd_bootchk, +#endif QEMU_OPTION_m, QEMU_OPTION_nographic, #ifdef HAS_AUDIO @@ -4828,6 +4835,9 @@ const QEMUOption qemu_options[] = { { "cdrom", HAS_ARG, QEMU_OPTION_cdrom }, { "boot", HAS_ARG, QEMU_OPTION_boot }, { "snapshot", 0, QEMU_OPTION_snapshot }, +#ifdef TARGET_I386 + { "no-fd-bootchk", 0, QEMU_OPTION_no_fd_bootchk }, +#endif { "m", HAS_ARG, QEMU_OPTION_m }, { "nographic", 0, QEMU_OPTION_nographic }, { "k", HAS_ARG, QEMU_OPTION_k }, @@ -5286,6 +5296,11 @@ int main(int argc, char **argv) case QEMU_OPTION_fdb: fd_filename[1] = optarg; break; +#ifdef TARGET_I386 + case QEMU_OPTION_no_fd_bootchk: + fd_bootchk = 0; + break; +#endif case QEMU_OPTION_no_code_copy: code_copy_enabled = 0; break; @@ -889,6 +889,7 @@ void acpi_bios_init(void); /* pc.c */ extern QEMUMachine pc_machine; extern QEMUMachine isapc_machine; +extern int fd_bootchk; void ioport_set_a20(int enable); int ioport_get_a20(void); |