Rebooting from loader causes a "fault" in VMware Workstation
Andriy Gapon
avg at FreeBSD.org
Tue Apr 23 17:32:38 UTC 2013
on 23/04/2013 19:09 Andriy Gapon said the following:
> ----------------
> IN:
> 0x00000000000090d2: cli
> 0x00000000000090d3: mov $0x1800,%esp
> 0x00000000000090d8: mov %cr0,%eax
> 0x00000000000090db: and $0x7fffffff,%eax
> 0x00000000000090e0: mov %eax,%cr0
>
> ----------------
> IN:
> 0x00000000000090e3: xor %ecx,%ecx
> 0x00000000000090e5: mov %ecx,%cr3
>
> ----------------
> IN:
> 0x00000000000090e8: lgdtl 0x95d0
> 0x00000000000090ef: ljmpw $0x18,$0x90f5
Perhaps the problem is that lgdt is called after disabling paging?
> Triple fault
> CPU Reset (CPU 0)
> ESI=0004503c EDI=3fe50968 EBP=00094a80 ESP=00001800
> EIP=000090ef EFL=00000046 [---Z-P-] CPL=0 II=0 A20=1 SMM=0 HLT=0
> ES =0033 0000a000 ffffffff 00cff300 DPL=3 DS [-WA]
> CS =0008 00000000 ffffffff 00cf9a00 DPL=0 CS32 [-R-]
> SS =0010 00000000 ffffffff 00cf9300 DPL=0 DS [-WA]
> DS =0033 0000a000 ffffffff 00cff300 DPL=3 DS [-WA]
> FS =0033 0000a000 ffffffff 00cff300 DPL=3 DS [-WA]
> GS =0033 0000a000 ffffffff 00cff300 DPL=3 DS [-WA]
> LDT=0000 00000000 0000ffff 00008200 DPL=0 LDT
> TR =0038 00005f98 00002067 00008900 DPL=0 TSS32-avl
> GDT= ff85c789 00000000
> IDT= 00005e00 00000197
> CR0=00000011 CR2=00000000 CR3=00000000 CR4=00000000
> DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000
> DR6=00000000ffff0ff0 DR7=0000000000000400
> CCS=00000001 CCD=00000000 CCO=LOGICL
> EFER=0000000000000000
>
--
Andriy Gapon
More information about the freebsd-hackers
mailing list