* Kevin Lawton -- Saturday 09 June 2001 14:47:
> In the same area as the hacks I sent you before, just after
> the vm_save_flags() put a check to make sure that IOPL was
> not 3 already before entering the VM.
> 
>   vm_save_flags(eflags);
>   if ( ((eflags >> 12) & 3) != 0 ) {
>     hostprint(".......\n");
>     return 1;
>     }
>   vm_restore_flags(...);

OK, now I get this:


Processing command-line options
Opening VM (/dev/plex86)
Processing config file ../conf/pragma...
Allocating 16MB of physical memory in VM
Mapping virtualized physical memory into monitor
Zeroing virtualized physical memory
Mapping monitor print buffer into user mem.
bochs: ips = 1000000
unmapped_c::init: IGNORING unmapped ports
bochs: [cmos] Setting initial clock to: Sat Jun  9 15:29:01 2001
bochs: bx_options.floppy_command_delay = 500
vga construct static
bochs: font_width = 8
bochs: font_height = 16
bochs: default_depth = 24
bochs: waiting for MapNotify
bochs: MapNotify found.
bochs: vga: interval=300000
vga init called
bochs: TTY not used, serial port is not connected
ROM: loading image '../bios/BIOS-plex86-current' @ 0xf0000 (65536 bytes)
ROM: loading image '../bios/VGABIOS-elpin-2.40' @ 0xc0000 (32768 bytes)
Setting prescan depth to 3
prescan on
Processed 61 lines of config file '../conf/pragma'
Initializing plugins
Running VM
::init_monitor OK -----------------
nexus_size = 0x24A

bochs: CMOS: write reg 14h: value = 05h
::sysIOOut: No handler defined for port 0x46E8!.

::sysIOOut: No handler defined for port 0x102!.

::sysIOOut: No handler defined for port 0x4AE8!.

bochs: vga: io write: 3cf: reg 05: value = 10h
bochs: vga: io write: 3da: ignoring: feature ctrl & vert sync
bochs: *** io read 3c5 case 1: sequencer clocking mode
bochs: vga: io write 3c0: address mode reg=16
bochs: vga: io write 3c0: address mode reg=17
bochs: vga: io write 3c0: address mode reg=18
bochs: vga: io write 3c0: address mode reg=19
bochs: vga: io write 3c0: address mode reg=20
Fatal monitor error caused Panic
eax:0xf0610
ebx:0x10
ecx:0xf000b
edx:0xcd
ebp:0x10
esi:0x4a43
edi:0x665
esp:0xffc0
eflags:0x202
eip:0x1c2d
cs:s=0xc000, dl=0xffff, dh=0x9b0c, valid=1
ss:s=0x0, dl=0xffff, dh=0x9300, valid=1
ds:s=0xc000, dl=0xffff, dh=0x930c, valid=1
es:s=0xa000, dl=0xffff, dh=0x930a, valid=1
fs:s=0x0, dl=0xffff, dh=0x9300, valid=1
gs:s=0x0, dl=0xffff, dh=0x9300, valid=1
ldtr:s=0x0, dl=0x0, dh=0x0, valid=0
tr:s=0x0, dl=0x0, dh=0x0, valid=0
gdtr:base=0x0, limit=0x0
idtr:base=0x0, limit=0x3ff
dr0:0x0
dr1:0x0
dr2:0x0
dr3:0x0
dr6:0xffff0ff0
dr7:0x400
tr3:0x0
tr4:0x0
tr5:0x0
tr6:0x0
tr7:0x0
cr0:0x60000032
cr1:0x0
cr2:0x0
cr3:0x0
cr4:0x0
inhibit_mask:0
Stack dump:
Current instruction:
 C000.00001C2D  F3A4                     rep movsb %ds:(%si), %es:(%di)

Shutting down plugins
bochs: Note: X11: bx_gui_c::exit() not implemented yet.
Unmapping guest physical memory.
Unmapping monitor print buffer.
Tearing down VM
Closing VM

Have fun ...   :->

m.

Reply via email to