Hi,
I'm making a "memtest" internal command for BareMetal-OS.
my work is here:
https://github.com/neoedmund/BareMetal-OS/commit/03f11199d7c2a59024bc83c8740c8c4756b9acd4most of it works, but there is an error:
when I have 8GB memory
the e820 has a record is
start: 0x0000000100000000 length: 0x0000000140000000 usable
so I think it means address from 0x0000000100000000 to 0x0000000240000000 is usable,
but actually when I try to write to 0x0000000200000000 (8GB) it will throw int 14 page fault.
when I have 12GB memory
the error point is write to memory location at 0x0000000300000000 (12GB)
My question is,
(1) Do I understand the meaning of e820 wrong?
(2) how to access all usable memory?
Thank you.