You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Shouldn't Context::save() save the instruction address from before the interrupt, or does the page fault actually occur in the exception handler?
I've noticed that subtracting different values from esp changes the cr2 value slightly.
Also in case it's related, I'm curious how _binary_initram_elf_start gets resolved. It's declared as an external u8, and never referenced again. The closest thing I can find is the _start label in module.asm. But in the disassembly, I find this unfamiliar code:
Edit: figured out the linker creating the _binary_initram_elf_start section. The actual jump location is 0x08048060, which first appears in initram.elf. This error still doesn't make sense, since module.asm doesn't access the stack.
The text was updated successfully, but these errors were encountered:
Building on OS X gives me the page fault error: "
Accessed 0xc0000014 from 0x1196c
".The instruction pointer is different every time I build, but the
cr2
is always0xc0000014
. The stack starts at0xc0000000
, .However, I've noticed that the instruction pointer
0x1196c
points to inside"000118fa <exception_handler_asm>:"
Shouldn't
Context::save()
save the instruction address from before the interrupt, or does the page fault actually occur in the exception handler?I've noticed that subtracting different values from esp changes the
cr2
value slightly.Also in case it's related, I'm curious how_binary_initram_elf_start
gets resolved. It's declared as an externalu8
, and never referenced again. The closest thing I can find is the_start
label inmodule.asm
. But in the disassembly, I find this unfamiliar code:Edit: figured out the linker creating the
_binary_initram_elf_start
section. The actual jump location is0x08048060
, which first appears ininitram.elf
. This error still doesn't make sense, sincemodule.asm
doesn't access the stack.The text was updated successfully, but these errors were encountered: