mirror of
https://github.com/iceHtwoO/novaOS.git
synced 2026-04-16 20:22:26 +00:00
feat: implement MMU core functionality
* feat: Implement a basic MMU configuration * feat: Enhance MMU by separating sections and configuring permissions * feat: Update MMU configuration and memory allocation functions * fix: Level 3 translation fault * docs: add code documentation * fix: linter * feat: map translation tables to kernel space * feat: move el1 stack to kernel VA space * feat: use virtual memory for heap allocation * docs: update Readme
This commit is contained in:
committed by
GitHub
parent
55f410e2bb
commit
f78388ee2c
33
link.ld
33
link.ld
@@ -10,45 +10,40 @@ SECTIONS {
|
||||
*(.rodata .rodata.*)
|
||||
}
|
||||
|
||||
.data : {
|
||||
.data ALIGN(2M) : {
|
||||
_data = .;
|
||||
*(.data .data.*)
|
||||
}
|
||||
|
||||
.bss (NOLOAD) : {
|
||||
. = ALIGN(16);
|
||||
.bss ALIGN(16) (NOLOAD) : {
|
||||
__bss_start = .;
|
||||
*(.bss .bss.*)
|
||||
*(COMMON)
|
||||
__bss_end = .;
|
||||
}
|
||||
|
||||
.vector_table ALIGN(2048) : {
|
||||
.vector_table ALIGN(2K) : {
|
||||
KEEP(*(.vector_table))
|
||||
}
|
||||
|
||||
.heap : ALIGN(16)
|
||||
{
|
||||
__heap_start = .;
|
||||
. += 0x10000; #10kB
|
||||
__heap_end = .;
|
||||
}
|
||||
|
||||
.stack : ALIGN(16)
|
||||
{
|
||||
# EL2 Stack
|
||||
.stack ALIGN(16): {
|
||||
__stack_start = .;
|
||||
. += 0x10000; #10kB stack
|
||||
. += 100K; #100kB stack
|
||||
. = ALIGN(16);
|
||||
__stack_end = .;
|
||||
}
|
||||
|
||||
.stack_el0 : ALIGN(16)
|
||||
{
|
||||
. = ALIGN(2M);
|
||||
|
||||
__kernel_end = .;
|
||||
|
||||
.stack_el0 : {
|
||||
__stack_start_el0 = .;
|
||||
. += 0x10000; #10kB stack
|
||||
. += 10K; #10kB stack
|
||||
__stack_end_el0 = .;
|
||||
}
|
||||
|
||||
|
||||
. = ALIGN(2M);
|
||||
_end = .;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user