>> When boot device is cdrom but the cdrom is not bootable, the guest
>> appears
>> to hang. This patch fixes this.
>>
>> Signed-off by: Chen Jun <chenjunb@xxxxxxxxxx>
>Doesn't the BIOS check for bootable media and fall back to a
>lower-priority boot device if it's not present? Maybe it's trying to do
>that but ioemu is not filling in second and third boot device entries?
> -- Keir
Yes, you are right, the second and third boot device entries are not filled
by ioemu,
so there is a easy way to solve this problem. The below patch is following
your advice,
but it's better to specify the boot sequence in the python configue file.
Signed-off by: Chen Jun <chenjunb@xxxxxxxxxx>
-------------- next part --------------
diff -r 4d83bf50673d tools/ioemu/hw/pc.c
--- a/tools/ioemu/hw/pc.c Wed Apr 26 17:44:46 2006 +0100
+++ b/tools/ioemu/hw/pc.c Fri Apr 28 10:10:09 2006 +0800
@@ -167,14 +167,20 @@ static void cmos_init(uint64_t ram_size,
switch(boot_device) {
case 'a':
case 'b':
- rtc_set_memory(s, 0x3d, 0x01); /* floppy boot */
+ //rtc_set_memory(s, 0x3d, 0x01); /* floppy boot */
+ rtc_set_memory(s, 0x3d, 0x21); /* a->c->d */
+ rtc_set_memory(s, 0x38, 0x30);
break;
default:
case 'c':
- rtc_set_memory(s, 0x3d, 0x02); /* hard drive boot */
+ //rtc_set_memory(s, 0x3d, 0x02); /* hard drive boot */
+ rtc_set_memory(s, 0x3d, 0x32); /* c->d->a */
+ rtc_set_memory(s, 0x38, 0x10);
break;
case 'd':
- rtc_set_memory(s, 0x3d, 0x03); /* CD-ROM boot */
+ //rtc_set_memory(s, 0x3d, 0x03); /* CD-ROM boot */
+ rtc_set_memory(s, 0x3d, 0x23); /* d->c->a */
+ rtc_set_memory(s, 0x38, 0x10);
break;
}
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|