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
refactor: use a more decent physical memory map
[lunaix-os.git]
/
lunaix-os
/
link
/
linker.ld
diff --git
a/lunaix-os/link/linker.ld
b/lunaix-os/link/linker.ld
index 71bc1511ff31a2cca0d01055cf866ab693aa218d..f2510aa5194872677889770b26b1fcbc5c0c551c 100644
(file)
--- a/
lunaix-os/link/linker.ld
+++ b/
lunaix-os/link/linker.ld
@@
-1,12
+1,5
@@
ENTRY(start_)
ENTRY(start_)
-/*
- FUTURE: Use disk reader
- A bit of messy here.
- We will pull our higher half kernel out of this shit
- and load it separately once we have our disk reader.
-*/
-
SECTIONS {
. = 0x100000;
SECTIONS {
. = 0x100000;
@@
-33,7
+26,10
@@
SECTIONS {
}
__kexec_boot_end = ALIGN(4K);
}
__kexec_boot_end = ALIGN(4K);
- /* Relocation of our higher half kernel */
+ /* ---- boot end ---- */
+
+ /* ---- kernel start ---- */
+
. += 0xC0000000;
/* 好了,我们的内核…… */
. += 0xC0000000;
/* 好了,我们的内核…… */
@@
-71,11
+67,24
@@
SECTIONS {
/* ---- */
/* ---- */
+ /* align to 8 bytes, so it can cover both 32 and 64 bits address line*/
+ . = ALIGN(8);
+
PROVIDE(__lga_pci_dev_drivers_start = .);
KEEP(*(.lga.pci_dev_drivers));
PROVIDE(__lga_pci_dev_drivers_end = .);
PROVIDE(__lga_pci_dev_drivers_start = .);
KEEP(*(.lga.pci_dev_drivers));
PROVIDE(__lga_pci_dev_drivers_end = .);
+
+ /* ---- */
+
+ . = ALIGN(8);
+
+ PROVIDE(__lga_platdev_db_start = .);
+
+ KEEP(*(.lga.platdev_db));
+
+ PROVIDE(__lga_platdev_db_end = .);
}
.bss BLOCK(4K) : AT ( ADDR(.bss) - 0xC0000000 ) {
}
.bss BLOCK(4K) : AT ( ADDR(.bss) - 0xC0000000 ) {