* Kevin Lawton -- Thursday 07 June 2001 18:03:
> IOPL is a field in EFLAGS. Below is a diff for you to base your check from.
> SOME_IOPL should be the IOPL you expect. No assembly required.
Thanks. But I can't test it, because now (with the latest code from CVS)
plex86 doesn't run at all -- with or without your patch!
That's what I get:
$ ./plex86 -f ../conf/local.pragma
Processing command-line options
Opening VM (/dev/plex86)
Processing config file ../conf/pragma...
Allocating 16MB of physical memory in VM
Segmentation fault
This is not just at the first run (like recently) but at any run. And that's what
/var/log/warn says:
Jun 7 18:37:30 server kernel: plex86: vm_t size is 265340
Jun 7 18:37:31 server kernel: guest_cpu.cr0 = 0x60000010
Jun 7 18:37:31 server kernel: Using 214/1024 PTE slots in 4Meg monitor range.
Jun 7 18:37:31 server kernel:
Jun 7 18:37:31 server kernel: Unable to handle kernel NULL pointer dereference at
virtual address 0000002b
Jun 7 18:37:31 server kernel: printing eip:
Jun 7 18:37:31 server kernel: d88ba741
Jun 7 18:37:31 server kernel: *pde = 00000000
Jun 7 18:37:31 server kernel: Oops: 0000
Jun 7 18:37:31 server kernel: CPU: 0
Jun 7 18:37:31 server kernel: EIP: 0010:[<d88ba741>]
Jun 7 18:37:31 server kernel: EFLAGS: 00010202
Jun 7 18:37:31 server kernel: eax: ffffffff ebx: 00000002 ecx: ffe5ccff edx:
00000000
Jun 7 18:37:31 server kernel: esi: e2f1f000 edi: 00000000 ebp: ffffffe7 esp:
d43d7aa0
Jun 7 18:37:31 server kernel: ds: 0018 es: 0018 ss: 0018
Jun 7 18:37:31 server kernel: Process plex86 (pid: 28208, stackpage=d43d7000)
Jun 7 18:37:31 server kernel: Stack: d43d7e94 e2f1f000 e2f1f000 d88b8baa e2f1f000
00000002 ffffffff ffffffe7
Jun 7 18:37:31 server kernel: d43d7e94 e2f1f000 00000000 d2990000 d88d75e6
60000010 00006b02 d88b7472
Jun 7 18:37:31 server kernel: e2f1f000 00000000 d43d7e94 d43d7e94 d25cc900
00000010 00006b02 ffffffe7
Jun 7 18:37:31 server kernel: Call Trace: [<e2f1f000>] [<e2f1f000>] [<d88b8baa>]
[<e2f1f000>] [<e2f1f000>] [<d88d75e6>] [<d88b7Jun 7 18:37:31 server kernel:
[<e2f1f000>] [<e2f1f000>] [__alloc_pages+123/596] [__alloc_pages+123/596]
[filemap_nopage+Jun 7 18:37:31 server kernel: [do_page_fault+359/1116]
[do_page_fault+0/1116] [do_generic_file_read+1214/1228] [do_munmaJun 7 18:37:31
server kernel: [clear_user+30/64] [padzero+28/32] [load_elf_binary+2308/2656]
[load_elf_binary+0/2656] [eJun 7 18:37:31 server kernel: [do_no_page+47/224]
[n_tty_receive_buf+3745/3804] [do_page_fault+0/1116] [do_page_fault+0/Jun 7 18:37:31
server kernel: [<ffff0000>] [<ffff0000>] [<ffff0000>] [<ffff0ff0>]
[sys_ioctl+363/388] [system_call+51/56Jun 7 18:37:31 server kernel:
Jun 7 18:37:31 server kernel: Code: 8b 50 2c 89 c8 f7 d0 23 42 40 09 d8 89 42 40 8b
86 34 86 01
Sorry!
m.
PS: but at least I don't have that other problem any more. ;-)