--- qemu/qemu-doc.texi 2006-05-13 11:55:46.000000000 -0500 +++ qemu/qemu-doc.texi 2006-05-23 11:09:18.000000000 -0500 @@ -228,6 +228,9 @@ 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. + @item -m megs Set virtual RAM size to @var{megs} megabytes. Default is 128 MB. --- qemu/vl.h 2006-05-21 11:30:15.000000000 -0500 +++ qemu/vl.h 2006-05-23 10:46:14.000000000 -0500 @@ -880,6 +880,7 @@ /* 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); --- qemu/vl.c 2006-05-21 11:30:15.000000000 -0500 +++ qemu/vl.c 2006-05-23 11:34:43.000000000 -0500 @@ -159,6 +159,7 @@ #define MAX_CPUS 1 #endif int acpi_enabled = 1; +int fd_bootchk = 1; /***********************************************************/ /* x86 ISA bus support */ @@ -4632,6 +4668,9 @@ "-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" @@ -4763,6 +4802,9 @@ 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 @@ -4826,6 +4868,9 @@ { "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 }, @@ -5284,6 +5329,11 @@ 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; --- qemu/hw/pc.c 2006-05-21 11:30:15.000000000 -0500 +++ qemu/hw/pc.c 2006-05-23 09:03:29.000000000 -0500 @@ -193,6 +193,8 @@ 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':