Quote:
What range of addresses is your heap space?
My heap space start at: 0x93000
My stack top at 0x4093000
I define like that [Heap] -> My running OS <- [stack top]. There are 64M for my OS running.
Quote:
section .bss
global stack_base
global heap_base
heap_base: resb 64*1024*1024
stack_base:
stack_size equ $ - heap_base
Quote:
What values specifically?
The prevAddress is 0xA3009
The entryAddress is 0xB3012. I expect the entryAddress should be 0xA3009 + sizeof(MemoryEntry) + allocated size of prev, should be 0xA3009 + 10 + 6
Maybe the entryAddress is protected by another stuff, so that i cannot change the value.
zungnguyen wrote:
And it is in range of the memory map.
Quote:
Can I see your memory map?
Here my mapping code:
https://github.com/nguyenzung/kos/blob/ ... ctedMode.sI index for around 256MB
I found that in linker script, my old code is:
Quote:
ENTRY(start)
SECTIONS
{
. = 50000;
.text : { KEEP(*(.multiboot)) *(.text) }
.data : { *(.rodata*) *(.data*) KEEP(*(.init_array))}
.bss : { *(.bss) }
}
If i change to:
Quote:
ENTRY(start)
SECTIONS
{
. = 1M;
.text : { KEEP(*(.multiboot)) *(.text) }
.data : { *(.rodata*) *(.data*) KEEP(*(.init_array))}
.bss : { *(.bss) }
}
It seems now work correctly. But i am not sure about the root cause.