Triple Fault at Paging
Posted: Sun Feb 24, 2013 6:00 am
Hi there I've a serious problem with my Paging:
Source Code?
https://docs.google.com/file/d/0B-x3QNi ... UzLUk/edit
What I want to do?
I've allready declared Functions for allocating memory in the virtual address space copyout/in and mapping for the Usermode,but I'm not trying to get those work yet. I just want to setup the Page and Page directory tables for the kernel enable Paging and stay in an endless while loop.
What's going wrong?
As you can see in the qemu.log below I'm having a triplefault as I haven't mapped anything. 101 can be found in cr2 at he first fault.
What I found out?
I placed lots of text outputs in "vmm_map_page"(in my Paging source file src/kernel/mm/vmm.c) and figured out that the page directory and the page table were setup as it should be(I could also use GDB and examine the Memory, but "remote target :1234" doesn't work). It's still possible,that I have forgotten something in the tables,but well it could be also something with my inline ASM.
Thanks a lot for the help (verdammt Kevin ist auch im englischen Forum^^)
HELP
SOS
HELP
Source Code?
https://docs.google.com/file/d/0B-x3QNi ... UzLUk/edit
What I want to do?
I've allready declared Functions for allocating memory in the virtual address space copyout/in and mapping for the Usermode,but I'm not trying to get those work yet. I just want to setup the Page and Page directory tables for the kernel enable Paging and stay in an endless while loop.
What's going wrong?
As you can see in the qemu.log below I'm having a triplefault as I haven't mapped anything. 101 can be found in cr2 at he first fault.
Code: Select all
check_exception old: 0xffffffff new 0xe
0: v=0e e=0000 i=0 cpl=0 IP=0008:000000000010051d pc=000000000010051d SP=0010:0000000000126fac CR2=000000000010051d
EAX=80000011 EBX=00000011 ECX=00126f36 EDX=000003d5
ESI=0005d99b EDI=0005d990 EBP=00126fd4 ESP=00126fac
EIP=0010051d EFL=00000002 [-------] CPL=0 II=0 A20=1 SMM=0 HLT=0
ES =0010 00000000 ffffffff 00cf9300 DPL=0 DS [-WA]
CS =0008 00000000 ffffffff 00cf9a00 DPL=0 CS32 [-R-]
SS =0010 00000000 ffffffff 00cf9300 DPL=0 DS [-WA]
DS =0010 00000000 ffffffff 00cf9300 DPL=0 DS [-WA]
FS =0010 00000000 ffffffff 00cf9300 DPL=0 DS [-WA]
GS =0010 00000000 ffffffff 00cf9300 DPL=0 DS [-WA]
LDT=0000 00000000 0000ffff 00008200 DPL=0 LDT
TR =0000 00000000 0000ffff 00008b00 DPL=0 TSS32-busy
GDT= 00009108 00000027
IDT= 00000000 000003ff
CR0=80000011 CR2=0010051d CR3=00001000 CR4=00000000
DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000
DR6=00000000ffff0ff0 DR7=0000000000000400
CCS=00000008 CCD=80000011 CCO=LOGICL
EFER=0000000000000000
check_exception old: 0xe new 0xe
1: v=08 e=0000 i=0 cpl=0 IP=0008:000000000010051d pc=000000000010051d SP=0010:0000000000126fac EAX=0000000080000011
EAX=80000011 EBX=00000011 ECX=00126f36 EDX=000003d5
ESI=0005d99b EDI=0005d990 EBP=00126fd4 ESP=00126fac
EIP=0010051d EFL=00000002 [-------] CPL=0 II=0 A20=1 SMM=0 HLT=0
ES =0010 00000000 ffffffff 00cf9300 DPL=0 DS [-WA]
CS =0008 00000000 ffffffff 00cf9a00 DPL=0 CS32 [-R-]
SS =0010 00000000 ffffffff 00cf9300 DPL=0 DS [-WA]
DS =0010 00000000 ffffffff 00cf9300 DPL=0 DS [-WA]
FS =0010 00000000 ffffffff 00cf9300 DPL=0 DS [-WA]
GS =0010 00000000 ffffffff 00cf9300 DPL=0 DS [-WA]
LDT=0000 00000000 0000ffff 00008200 DPL=0 LDT
TR =0000 00000000 0000ffff 00008b00 DPL=0 TSS32-busy
GDT= 00009108 00000027
IDT= 00000000 000003ff
CR0=80000011 CR2=00000070 CR3=00001000 CR4=00000000
DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000
DR6=00000000ffff0ff0 DR7=0000000000000400
CCS=00000008 CCD=80000011 CCO=LOGICL
EFER=0000000000000000
check_exception old: 0x8 new 0xe
I placed lots of text outputs in "vmm_map_page"(in my Paging source file src/kernel/mm/vmm.c) and figured out that the page directory and the page table were setup as it should be(I could also use GDB and examine the Memory, but "remote target :1234" doesn't work). It's still possible,that I have forgotten something in the tables,but well it could be also something with my inline ASM.
Thanks a lot for the help (verdammt Kevin ist auch im englischen Forum^^)
HELP
SOS
HELP