it's very long time since my last post here, in fact it's exams
anyway, i have some trouble with physical address in memory
in some modules in my previous kernel (e.g SVGA ) depend on segmentation (real mode), you know in this case i have only less than 1 MB, so i began convert those modules to un-real mode, the code look like this
Code: Select all
enableA20();
initFlat(); //setup GDT,...
asm{ .386p //protected mode
mov edi, 0xB8000 //<---
mov FS:[edi],'A'
}
but i don't know how to access the memory beyond 1 MB,
in other word what is the physical address to memory above 1 MB ?
to access the second mega byte in memory what i should type in address
Code: Select all
dword address= 0x???????? ;//pointer to second megaByte and so on
asm{ .386p //protected mode
mov edi, address
mov FS:[edi],'A'
}
Cheers
a.T.d