git://scm.lunaixsky.com
/
lunaix-os.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
vmm - allow remapping
[lunaix-os.git]
/
lunaix-os
/
linker.ld
diff --git
a/lunaix-os/linker.ld
b/lunaix-os/linker.ld
index f0eebd51673bd481992abca7caa72b8d44d65edd..bac8600d93978b4612ff598dde819fe7766f18fa 100644
(file)
--- a/
lunaix-os/linker.ld
+++ b/
lunaix-os/linker.ld
@@
-1,10
+1,10
@@
ENTRY(start_)
/*
ENTRY(start_)
/*
- FUTURE: Use d
ynamic linker to separate kernel and boot code
+ FUTURE: Use d
isk reader
A bit of messy here.
We will pull our higher half kernel out of this shit
A bit of messy here.
We will pull our higher half kernel out of this shit
- and load it separately once we have our d
ynamic linker ready
.
+ and load it separately once we have our d
isk reader
.
*/
SECTIONS {
*/
SECTIONS {
@@
-29,7
+29,7
@@
SECTIONS {
.hhk_init_rodata BLOCK(4K) : {
build/obj/arch/x86/*.o (.rodata)
}
.hhk_init_rodata BLOCK(4K) : {
build/obj/arch/x86/*.o (.rodata)
}
- __init_hhk_end =
.
;
+ __init_hhk_end =
ALIGN(4K)
;
/* Relocation of our higher half kernel */
. += 0xC0000000;
/* Relocation of our higher half kernel */
. += 0xC0000000;
@@
-38,24
+38,28
@@
SECTIONS {
.text BLOCK(4K) : AT ( ADDR(.text) - 0xC0000000 ) {
__kernel_start = .;
build/obj/kernel/*.o (.text)
.text BLOCK(4K) : AT ( ADDR(.text) - 0xC0000000 ) {
__kernel_start = .;
build/obj/kernel/*.o (.text)
+ build/obj/hal/*.o (.text)
}
.bss BLOCK(4K) : AT ( ADDR(.bss) - 0xC0000000 ) {
build/obj/kernel/*.o (.bss)
}
.bss BLOCK(4K) : AT ( ADDR(.bss) - 0xC0000000 ) {
build/obj/kernel/*.o (.bss)
+ build/obj/hal/*.o (.bss)
}
.data BLOCK(4k) : AT ( ADDR(.data) - 0xC0000000 ) {
build/obj/kernel/*.o (.data)
}
.data BLOCK(4k) : AT ( ADDR(.data) - 0xC0000000 ) {
build/obj/kernel/*.o (.data)
+ build/obj/hal/*.o (.data)
}
.rodata BLOCK(4K) : AT ( ADDR(.rodata) - 0xC0000000 ) {
build/obj/kernel/*.o (.rodata)
}
.rodata BLOCK(4K) : AT ( ADDR(.rodata) - 0xC0000000 ) {
build/obj/kernel/*.o (.rodata)
+ build/obj/hal/*.o (.rodata)
}
.kpg BLOCK(4K) : AT ( ADDR(.kpg) - 0xC0000000 ) {
build/obj/arch/x86/*.o (.kpg)
}
}
.kpg BLOCK(4K) : AT ( ADDR(.kpg) - 0xC0000000 ) {
build/obj/arch/x86/*.o (.kpg)
}
- __kernel_end = ALIGN(
.
);
- __heap_start = ALIGN(
.
); /* 内核结束的地方即堆开始的地方 */
+ __kernel_end = ALIGN(
4K
);
+ __heap_start = ALIGN(
4K
); /* 内核结束的地方即堆开始的地方 */
}
\ No newline at end of file
}
\ No newline at end of file