accessing above 1mb longmode
Posted: Mon Aug 20, 2012 8:09 am
Hi for some reason i can't find any thing talking about this.
i'm using my own stage1 bootloader, when i'm using the 'straight to long mode' example boot loader as a stage2, (then then calls my kernel) i'm not sure if it's how the example code sets it up or what not but;
My issue is when ever i try to access memory passed 0x100000 it ticks over back to 0, example if i was to read 0x007c00 or 0x107c00 or 0x207c00, it'd be the same result can reading/writing to 0x7c00,
my exact test code is:
when i look at memory 0x140000 is null, and 0x040000 is 199
is the issue i'm having due to the setup from this code http://wiki.osdev.org/Entering_Long_Mode_Directly or something else i'm doing terribly wrong/ haven't done yet?
I'm sorry i'm pretty new to this and looking forward to your help!
i'm using my own stage1 bootloader, when i'm using the 'straight to long mode' example boot loader as a stage2, (then then calls my kernel) i'm not sure if it's how the example code sets it up or what not but;
My issue is when ever i try to access memory passed 0x100000 it ticks over back to 0, example if i was to read 0x007c00 or 0x107c00 or 0x207c00, it'd be the same result can reading/writing to 0x7c00,
my exact test code is:
Code: Select all
mov rax, 0x140000
mov rbx, 199
mov [rax], rbx
is the issue i'm having due to the setup from this code http://wiki.osdev.org/Entering_Long_Mode_Directly or something else i'm doing terribly wrong/ haven't done yet?
I'm sorry i'm pretty new to this and looking forward to your help!