OSDev.org

The Place to Start for Operating System Developers
It is currently Fri Mar 29, 2024 6:39 am

All times are UTC - 6 hours




Post new topic Reply to topic  [ 22 posts ]  Go to page Previous  1, 2
Author Message
 Post subject: Re: Can't figure out paging
PostPosted: Thu Sep 07, 2017 4:15 pm 
Offline
Member
Member

Joined: Thu Aug 13, 2015 4:57 pm
Posts: 384
Didn't look at the video, but assuming #TF, the easiest way to debug would be to use a debugger. Since you're using Qemu, assuming you're using Linux, you can use gdb with Qemu.

Simplest way, start gdb and Qemu (with your kernel obviously), single step until you hit the first exception (which probably causes #DF, which causes #TF). You may want to issue "display /i $pc" to gdb, that way you always print the next asm statement. Once done, you know what is the last asm statement, and thus what causes your exception (which leads to #TF). Then you only need to figure out why it does so.

If you can't figure out the entire cause, you should post here how far you get (ie. is paging enabled or not, etc), and the last few statements and especially the one causing the exception. And if you can figure it out on your own, please post relevant details and the solution here as well, for the next person.

If you don't know how to debug, this is a good time to learn. I think the wiki has a page on using gdb with Qemu.


Top
 Profile  
 
 Post subject: Re: Can't figure out paging
PostPosted: Thu Sep 07, 2017 5:02 pm 
Offline
User avatar

Joined: Wed Aug 23, 2017 1:09 pm
Posts: 20
How do I boot my kernel.bin from Bochs ? (sorry I've never used Bochs before, I've always used Qemu) I tried to make a configuration file from the example in the Bochs User Manual but I couldn't get it to work.

_________________
Gigaboy


Top
 Profile  
 
 Post subject: Re: Can't figure out paging
PostPosted: Thu Sep 07, 2017 5:39 pm 
Offline
User avatar

Joined: Wed Aug 23, 2017 1:09 pm
Posts: 20
Don't know if this command is write but for Qemu debug I used this.
Code:
qemu-system-i386 -d int -fda os_image.bin
The output from Qemu was this.
Code:
EAX=00000001 EBX=00000000 ECX=00000600 EDX=ffffffff
ESI=0000000b EDI=02000000 EBP=00000007 ESP=00006d70
EIP=000f0490 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 00cf9b00 DPL=0 CS32 [-RA]
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=     000f6c00 00000037
IDT=     000f6c3e 00000000
CR0=00000011 CR2=00000000 CR3=00000000 CR4=00000000
DR0=00000000 DR1=00000000 DR2=00000000 DR3=00000000
DR6=ffff0ff0 DR7=00000400
CCS=00007113 CCD=00000001 CCO=LOGICB 
EFER=0000000000000000
SMM: after RSM
EAX=00000001 EBX=00000000 ECX=00000600 EDX=ffffffff
ESI=0000000b EDI=02000000 EBP=00000007 ESP=00006d70
EIP=000f0490 EFL=00000002 [-------] CPL=0 II=0 A20=1 SMM=0 HLT=0
ES =0010 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
CS =0008 00000000 ffffffff 00c09b00 DPL=0 CS32 [-RA]
SS =0010 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
DS =0010 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
FS =0010 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
GS =0010 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
LDT=0000 00000000 0000ffff 00008200 DPL=0 LDT
TR =0000 00000000 0000ffff 00008b00 DPL=0 TSS32-busy
GDT=     000f6c00 00000037
IDT=     000f6c3e 00000000
CR0=00000011 CR2=00000000 CR3=00000000 CR4=00000000
DR0=00000000 DR1=00000000 DR2=00000000 DR3=00000000
DR6=ffff0ff0 DR7=00000400
CCS=00000000 CCD=00000000 CCO=EFLAGS 
EFER=0000000000000000
SMM: enter
EAX=000000b5 EBX=000f8d5b ECX=00001234 EDX=0000e000
ESI=000069e6 EDI=07fbdf66 EBP=000069a6 ESP=000069a6
EIP=00008d5a EFL=00000006 [-----P-] CPL=0 II=0 A20=1 SMM=0 HLT=0
ES =e000 000e0000 ffffffff 008f9300
CS =f000 000f0000 ffffffff 008f9b00
SS =0000 00000000 ffffffff 008f9300
DS =0000 00000000 ffffffff 008f9300
FS =0000 00000000 ffffffff 008f9300
GS =c980 000c9800 ffffffff 008f9300
LDT=0000 00000000 0000ffff 00008200
TR =0000 00000000 0000ffff 00008b00
GDT=     000f6c00 00000037
IDT=     00000000 000003ff
CR0=00000010 CR2=00000000 CR3=00000000 CR4=00000000
DR0=00000000 DR1=00000000 DR2=00000000 DR3=00000000
DR6=ffff0ff0 DR7=00000400
CCS=00000004 CCD=000069a6 CCO=EFLAGS 
EFER=0000000000000000
SMM: after RSM
EAX=000000b5 EBX=000f8d5b ECX=00001234 EDX=0000e000
ESI=000069e6 EDI=07fbdf66 EBP=000069a6 ESP=000069a6
EIP=000f8d5b EFL=00000002 [-------] CPL=0 II=0 A20=1 SMM=0 HLT=0
ES =0010 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
CS =0008 00000000 ffffffff 00c09b00 DPL=0 CS32 [-RA]
SS =0010 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
DS =0010 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
FS =0010 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
GS =0010 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
LDT=0000 00000000 0000ffff 00008200 DPL=0 LDT
TR =0000 00000000 0000ffff 00008b00 DPL=0 TSS32-busy
GDT=     000f6c00 00000037
IDT=     000f6c3e 00000000
CR0=00000011 CR2=00000000 CR3=00000000 CR4=00000000
DR0=00000000 DR1=00000000 DR2=00000000 DR3=00000000
DR6=ffff0ff0 DR7=00000400
CCS=00000000 CCD=00000000 CCO=EFLAGS 
EFER=0000000000000000
SMM: enter
EAX=000000b5 EBX=00008d75 ECX=00005678 EDX=000f8d5b
ESI=00000000 EDI=07fbdf66 EBP=000069a6 ESP=000069a6
EIP=000f8d74 EFL=00000046 [---Z-P-] CPL=0 II=0 A20=1 SMM=0 HLT=0
ES =0010 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
CS =0008 00000000 ffffffff 00c09b00 DPL=0 CS32 [-RA]
SS =0010 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
DS =0010 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
FS =0010 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
GS =0010 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
LDT=0000 00000000 0000ffff 00008200 DPL=0 LDT
TR =0000 00000000 0000ffff 00008b00 DPL=0 TSS32-busy
GDT=     000f6c00 00000037
IDT=     000f6c3e 00000000
CR0=00000011 CR2=00000000 CR3=00000000 CR4=00000000
DR0=00000000 DR1=00000000 DR2=00000000 DR3=00000000
DR6=ffff0ff0 DR7=00000400
CCS=00000044 CCD=00000000 CCO=EFLAGS 
EFER=0000000000000000
SMM: after RSM
EAX=000000b5 EBX=00008d75 ECX=00005678 EDX=000f8d5b
ESI=00000000 EDI=07fbdf66 EBP=000069a6 ESP=000069a6
EIP=00008d75 EFL=00000006 [-----P-] CPL=0 II=0 A20=1 SMM=0 HLT=0
ES =e000 000e0000 ffffffff 00809300
CS =f000 000f0000 ffffffff 00809b00
SS =0000 00000000 ffffffff 00809300
DS =0000 00000000 ffffffff 00809300
FS =0000 00000000 ffffffff 00809300
GS =c980 000c9800 ffffffff 00809300
LDT=0000 00000000 0000ffff 00008200
TR =0000 00000000 0000ffff 00008b00
GDT=     000f6c00 00000037
IDT=     00000000 000003ff
CR0=00000010 CR2=00000000 CR3=00000000 CR4=00000000
DR0=00000000 DR1=00000000 DR2=00000000 DR3=00000000
DR6=ffff0ff0 DR7=00000400
CCS=00000004 CCD=00000000 CCO=EFLAGS 
EFER=0000000000000000
SMM: enter
EAX=000000b5 EBX=000f8d5b ECX=00001234 EDX=0000e000
ESI=000069e0 EDI=07fbdf66 EBP=000069a0 ESP=000069a0
EIP=00008d5a EFL=00000006 [-----P-] CPL=0 II=0 A20=1 SMM=0 HLT=0
ES =e000 000e0000 ffffffff 00809300
CS =f000 000f0000 ffffffff 00809b00
SS =0000 00000000 ffffffff 00809300
DS =0000 00000000 ffffffff 00809300
FS =0000 00000000 ffffffff 00809300
GS =c980 000c9800 ffffffff 00809300
LDT=0000 00000000 0000ffff 00008200
TR =0000 00000000 0000ffff 00008b00
GDT=     000f6c00 00000037
IDT=     00000000 000003ff
CR0=00000010 CR2=00000000 CR3=00000000 CR4=00000000
DR0=00000000 DR1=00000000 DR2=00000000 DR3=00000000
DR6=ffff0ff0 DR7=00000400
CCS=00000004 CCD=000069a0 CCO=EFLAGS 
EFER=0000000000000000
SMM: after RSM
EAX=000000b5 EBX=000f8d5b ECX=00001234 EDX=0000e000
ESI=000069e0 EDI=07fbdf66 EBP=000069a0 ESP=000069a0
EIP=000f8d5b EFL=00000002 [-------] CPL=0 II=0 A20=1 SMM=0 HLT=0
ES =0010 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
CS =0008 00000000 ffffffff 00c09b00 DPL=0 CS32 [-RA]
SS =0010 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
DS =0010 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
FS =0010 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
GS =0010 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
LDT=0000 00000000 0000ffff 00008200 DPL=0 LDT
TR =0000 00000000 0000ffff 00008b00 DPL=0 TSS32-busy
GDT=     000f6c00 00000037
IDT=     000f6c3e 00000000
CR0=00000011 CR2=00000000 CR3=00000000 CR4=00000000
DR0=00000000 DR1=00000000 DR2=00000000 DR3=00000000
DR6=ffff0ff0 DR7=00000400
CCS=00000000 CCD=00000000 CCO=EFLAGS 
EFER=0000000000000000
SMM: enter
EAX=000000b5 EBX=00008d75 ECX=00005678 EDX=07f92460
ESI=07f92460 EDI=07fbdf66 EBP=000069a0 ESP=000069a0
EIP=000f8d74 EFL=00000087 [--S--PC] CPL=0 II=0 A20=1 SMM=0 HLT=0
ES =0010 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
CS =0008 00000000 ffffffff 00c09b00 DPL=0 CS32 [-RA]
SS =0010 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
DS =0010 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
FS =0010 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
GS =0010 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
LDT=0000 00000000 0000ffff 00008200 DPL=0 LDT
TR =0000 00000000 0000ffff 00008b00 DPL=0 TSS32-busy
GDT=     000f6c00 00000037
IDT=     000f6c3e 00000000
CR0=00000011 CR2=00000000 CR3=00000000 CR4=00000000
DR0=00000000 DR1=00000000 DR2=00000000 DR3=00000000
DR6=ffff0ff0 DR7=00000400
CCS=00000085 CCD=fffec000 CCO=EFLAGS 
EFER=0000000000000000
SMM: after RSM
EAX=000000b5 EBX=00008d75 ECX=00005678 EDX=07f92460
ESI=07f92460 EDI=07fbdf66 EBP=000069a0 ESP=000069a0
EIP=00008d75 EFL=00000006 [-----P-] CPL=0 II=0 A20=1 SMM=0 HLT=0
ES =e000 000e0000 ffffffff 00809300
CS =f000 000f0000 ffffffff 00809b00
SS =0000 00000000 ffffffff 00809300
DS =0000 00000000 ffffffff 00809300
FS =0000 00000000 ffffffff 00809300
GS =c980 000c9800 ffffffff 00809300
LDT=0000 00000000 0000ffff 00008200
TR =0000 00000000 0000ffff 00008b00
GDT=     000f6c00 00000037
IDT=     00000000 000003ff
CR0=00000010 CR2=00000000 CR3=00000000 CR4=00000000
DR0=00000000 DR1=00000000 DR2=00000000 DR3=00000000
DR6=ffff0ff0 DR7=00000400
CCS=00000004 CCD=00000000 CCO=EFLAGS 
EFER=0000000000000000
SMM: enter
EAX=000000b5 EBX=000f8d5b ECX=00001234 EDX=0000e000
ESI=000069e6 EDI=07fbdf66 EBP=000069a6 ESP=000069a6
EIP=00008d5a EFL=00000006 [-----P-] CPL=0 II=0 A20=1 SMM=0 HLT=0
ES =e000 000e0000 ffffffff 00809300
CS =f000 000f0000 ffffffff 00809b00
SS =0000 00000000 ffffffff 00809300
DS =0000 00000000 ffffffff 00809300
FS =0000 00000000 ffffffff 00809300
GS =c980 000c9800 ffffffff 00809300
LDT=0000 00000000 0000ffff 00008200
TR =0000 00000000 0000ffff 00008b00
GDT=     000f6c00 00000037
IDT=     00000000 000003ff
CR0=00000010 CR2=00000000 CR3=00000000 CR4=00000000
DR0=00000000 DR1=00000000 DR2=00000000 DR3=00000000
DR6=ffff0ff0 DR7=00000400
CCS=00000004 CCD=000069a6 CCO=EFLAGS 
EFER=0000000000000000
SMM: after RSM
EAX=000000b5 EBX=000f8d5b ECX=00001234 EDX=0000e000
ESI=000069e6 EDI=07fbdf66 EBP=000069a6 ESP=000069a6
EIP=000f8d5b EFL=00000002 [-------] CPL=0 II=0 A20=1 SMM=0 HLT=0
ES =0010 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
CS =0008 00000000 ffffffff 00c09b00 DPL=0 CS32 [-RA]
SS =0010 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
DS =0010 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
FS =0010 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
GS =0010 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
LDT=0000 00000000 0000ffff 00008200 DPL=0 LDT
TR =0000 00000000 0000ffff 00008b00 DPL=0 TSS32-busy
GDT=     000f6c00 00000037
IDT=     000f6c3e 00000000
CR0=00000011 CR2=00000000 CR3=00000000 CR4=00000000
DR0=00000000 DR1=00000000 DR2=00000000 DR3=00000000
DR6=ffff0ff0 DR7=00000400
CCS=00000000 CCD=00000000 CCO=EFLAGS 
EFER=0000000000000000
SMM: enter
EAX=000000b5 EBX=00008d75 ECX=00005678 EDX=000f8d5b
ESI=00000000 EDI=07fbdf66 EBP=000069a6 ESP=000069a6
EIP=000f8d74 EFL=00000046 [---Z-P-] CPL=0 II=0 A20=1 SMM=0 HLT=0
ES =0010 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
CS =0008 00000000 ffffffff 00c09b00 DPL=0 CS32 [-RA]
SS =0010 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
DS =0010 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
FS =0010 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
GS =0010 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
LDT=0000 00000000 0000ffff 00008200 DPL=0 LDT
TR =0000 00000000 0000ffff 00008b00 DPL=0 TSS32-busy
GDT=     000f6c00 00000037
IDT=     000f6c3e 00000000
CR0=00000011 CR2=00000000 CR3=00000000 CR4=00000000
DR0=00000000 DR1=00000000 DR2=00000000 DR3=00000000
DR6=ffff0ff0 DR7=00000400
CCS=00000044 CCD=00000000 CCO=EFLAGS 
EFER=0000000000000000
SMM: after RSM
EAX=000000b5 EBX=00008d75 ECX=00005678 EDX=000f8d5b
ESI=00000000 EDI=07fbdf66 EBP=000069a6 ESP=000069a6
EIP=00008d75 EFL=00000006 [-----P-] CPL=0 II=0 A20=1 SMM=0 HLT=0
ES =e000 000e0000 ffffffff 00809300
CS =f000 000f0000 ffffffff 00809b00
SS =0000 00000000 ffffffff 00809300
DS =0000 00000000 ffffffff 00809300
FS =0000 00000000 ffffffff 00809300
GS =c980 000c9800 ffffffff 00809300
LDT=0000 00000000 0000ffff 00008200
TR =0000 00000000 0000ffff 00008b00
GDT=     000f6c00 00000037
IDT=     00000000 000003ff
CR0=00000010 CR2=00000000 CR3=00000000 CR4=00000000
DR0=00000000 DR1=00000000 DR2=00000000 DR3=00000000
DR6=ffff0ff0 DR7=00000400
CCS=00000004 CCD=00000000 CCO=EFLAGS 
EFER=0000000000000000
SMM: enter
EAX=000000b5 EBX=000f8d5b ECX=00001234 EDX=0000e000
ESI=000069e0 EDI=07fbdf66 EBP=000069a0 ESP=000069a0
EIP=00008d5a EFL=00000006 [-----P-] CPL=0 II=0 A20=1 SMM=0 HLT=0
ES =e000 000e0000 ffffffff 00809300
CS =f000 000f0000 ffffffff 00809b00
SS =0000 00000000 ffffffff 00809300
DS =0000 00000000 ffffffff 00809300
FS =0000 00000000 ffffffff 00809300
GS =c980 000c9800 ffffffff 00809300
LDT=0000 00000000 0000ffff 00008200
TR =0000 00000000 0000ffff 00008b00
GDT=     000f6c00 00000037
IDT=     00000000 000003ff
CR0=00000010 CR2=00000000 CR3=00000000 CR4=00000000
DR0=00000000 DR1=00000000 DR2=00000000 DR3=00000000
DR6=ffff0ff0 DR7=00000400
CCS=00000004 CCD=000069a0 CCO=EFLAGS 
EFER=0000000000000000
SMM: after RSM
EAX=000000b5 EBX=000f8d5b ECX=00001234 EDX=0000e000
ESI=000069e0 EDI=07fbdf66 EBP=000069a0 ESP=000069a0
EIP=000f8d5b EFL=00000002 [-------] CPL=0 II=0 A20=1 SMM=0 HLT=0
ES =0010 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
CS =0008 00000000 ffffffff 00c09b00 DPL=0 CS32 [-RA]
SS =0010 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
DS =0010 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
FS =0010 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
GS =0010 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
LDT=0000 00000000 0000ffff 00008200 DPL=0 LDT
TR =0000 00000000 0000ffff 00008b00 DPL=0 TSS32-busy
GDT=     000f6c00 00000037
IDT=     000f6c3e 00000000
CR0=00000011 CR2=00000000 CR3=00000000 CR4=00000000
DR0=00000000 DR1=00000000 DR2=00000000 DR3=00000000
DR6=ffff0ff0 DR7=00000400
CCS=00000000 CCD=00000000 CCO=EFLAGS 
EFER=0000000000000000
SMM: enter
EAX=000000b5 EBX=00008d75 ECX=00005678 EDX=07ed2460
ESI=07ed2460 EDI=07fbdf66 EBP=000069a0 ESP=000069a0
EIP=000f8d74 EFL=00000087 [--S--PC] CPL=0 II=0 A20=1 SMM=0 HLT=0
ES =0010 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
CS =0008 00000000 ffffffff 00c09b00 DPL=0 CS32 [-RA]
SS =0010 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
DS =0010 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
FS =0010 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
GS =0010 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
LDT=0000 00000000 0000ffff 00008200 DPL=0 LDT
TR =0000 00000000 0000ffff 00008b00 DPL=0 TSS32-busy
GDT=     000f6c00 00000037
IDT=     000f6c3e 00000000
CR0=00000011 CR2=00000000 CR3=00000000 CR4=00000000
DR0=00000000 DR1=00000000 DR2=00000000 DR3=00000000
DR6=ffff0ff0 DR7=00000400
CCS=00000085 CCD=fff40000 CCO=EFLAGS 
EFER=0000000000000000
SMM: after RSM
EAX=000000b5 EBX=00008d75 ECX=00005678 EDX=07ed2460
ESI=07ed2460 EDI=07fbdf66 EBP=000069a0 ESP=000069a0
EIP=00008d75 EFL=00000006 [-----P-] CPL=0 II=0 A20=1 SMM=0 HLT=0
ES =e000 000e0000 ffffffff 00809300
CS =f000 000f0000 ffffffff 00809b00
SS =0000 00000000 ffffffff 00809300
DS =0000 00000000 ffffffff 00809300
FS =0000 00000000 ffffffff 00809300
GS =c980 000c9800 ffffffff 00809300
LDT=0000 00000000 0000ffff 00008200
TR =0000 00000000 0000ffff 00008b00
GDT=     000f6c00 00000037
IDT=     00000000 000003ff
CR0=00000010 CR2=00000000 CR3=00000000 CR4=00000000
DR0=00000000 DR1=00000000 DR2=00000000 DR3=00000000
DR6=ffff0ff0 DR7=00000400
CCS=00000004 CCD=00000000 CCO=EFLAGS 
EFER=0000000000000000
     0: v=20 e=0000 i=0 cpl=0 IP=0008:00002017 pc=00002017 SP=0010:0008ff80 env->regs[R_EAX]=0000005d
EAX=0000005d EBX=00007d79 ECX=0008fff8 EDX=00000040
ESI=00000000 EDI=00000000 EBP=0008ffa8 ESP=0008ff80
EIP=00002017 EFL=00000202 [-------] 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=     00007ccd 00000017
IDT=     00005000 000007ff
CR0=00000011 CR2=00000000 CR3=00000000 CR4=00000000
DR0=00000000 DR1=00000000 DR2=00000000 DR3=00000000
DR6=ffff0ff0 DR7=00000400
CCS=00000008 CCD=0008ff70 CCO=SUBL   
EFER=0000000000000000
check_exception old: 0xffffffff new 0xe
     1: v=0e e=0000 i=0 cpl=0 IP=0008:0000267c pc=0000267c SP=0010:0008ff98 CR2=0008ff98
EAX=80000011 EBX=00007d79 ECX=00009000 EDX=00002734
ESI=00000000 EDI=00000000 EBP=0008ff98 ESP=0008ff98
EIP=0000267c EFL=00000286 [--S--P-] 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=     00007ccd 00000017
IDT=     00005000 000007ff
CR0=80000011 CR2=0008ff98 CR3=00007000 CR4=00000000
DR0=00000000 DR1=00000000 DR2=00000000 DR3=00000000
DR6=ffff0ff0 DR7=00000400
CCS=00001000 CCD=80000011 CCO=LOGICL 
EFER=0000000000000000
check_exception old: 0xe new 0xe
     2: v=08 e=0000 i=0 cpl=0 IP=0008:0000267c pc=0000267c SP=0010:0008ff98 env->regs[R_EAX]=80000011
EAX=80000011 EBX=00007d79 ECX=00009000 EDX=00002734
ESI=00000000 EDI=00000000 EBP=0008ff98 ESP=0008ff98
EIP=0000267c EFL=00000286 [--S--P-] 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=     00007ccd 00000017
IDT=     00005000 000007ff
CR0=80000011 CR2=0008ff94 CR3=00007000 CR4=00000000
DR0=00000000 DR1=00000000 DR2=00000000 DR3=00000000
DR6=ffff0ff0 DR7=00000400
CCS=00001000 CCD=80000011 CCO=LOGICL 
EFER=0000000000000000
check_exception old: 0x8 new 0xe

I think the 3 lines that start with "check_exception" are what cause the TF.

_________________
Gigaboy


Top
 Profile  
 
 Post subject: Re: Can't figure out paging
PostPosted: Thu Sep 07, 2017 6:38 pm 
Offline
Member
Member

Joined: Thu Aug 13, 2015 4:57 pm
Posts: 384
Gigaboy wrote:
How do I boot my kernel.bin from Bochs ? (sorry I've never used Bochs before, I've always used Qemu) I tried to make a configuration file from the example in the Bochs User Manual but I couldn't get it to work.


Bochs? I said Qemu..?

Use Qemu and gdb, check the wiki for how to use gdb (debugger) with Qemu. Then single step. Did you read my previous post?


Top
 Profile  
 
 Post subject: Re: Can't figure out paging
PostPosted: Thu Sep 07, 2017 7:20 pm 
Offline
User avatar

Joined: Wed Aug 23, 2017 1:09 pm
Posts: 20
LtG wrote:
Did you read my previous post?

Sorry, I didn't see it.

_________________
Gigaboy


Top
 Profile  
 
 Post subject: Re: Can't figure out paging
PostPosted: Thu Sep 07, 2017 8:49 pm 
Offline
User avatar

Joined: Wed Aug 23, 2017 1:09 pm
Posts: 20
Using the GDB and Qemu I set a breakpoint at paging.c:70 (line before page_fault() method) that where it starts TFing.
And it happens with a breakpoint on line 101 right before the clear_frame() method.
And the 3rd time it happens is with a breakpoint on line 141 right before the free_frame() method.

_________________
Gigaboy


Top
 Profile  
 
 Post subject: Re: Can't figure out paging
PostPosted: Thu Sep 07, 2017 11:35 pm 
Offline

Joined: Sat Apr 04, 2015 9:35 am
Posts: 17
Location: Scarborough, UK
Code:
1: v=0e e=0000 i=0 cpl=0 IP=0008:0000267c pc=0000267c SP=0010:0008ff98 CR2=0008ff98


The offending memory location (that is causing a page fault) is reported to you in the CR2 register. Notice that CR2 is the same as your Stack Pointer? You need to make sure you have mapped all of the memory that your kernel uses (not just the kernel code itself) before enabling paging.

Hope this helps.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 22 posts ]  Go to page Previous  1, 2

All times are UTC - 6 hours


Who is online

Users browsing this forum: Google [Bot], Majestic-12 [Bot] and 239 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group