feat(loader, kernel): impl part of loader and initialize kernel structure
This commit is contained in:
59
arch/x86_64/boot/kcapsule.ld
Normal file
59
arch/x86_64/boot/kcapsule.ld
Normal file
@@ -0,0 +1,59 @@
|
||||
OUTPUT_ARCH(i386:x86_64)
|
||||
|
||||
ENTRY(startup_32)
|
||||
|
||||
SECTIONS {
|
||||
. = 0;
|
||||
.head.text : {
|
||||
KEEP(*(.head.text))
|
||||
}
|
||||
.rodata.compressed : {
|
||||
*(.rodata.compressed)
|
||||
}
|
||||
.text : {
|
||||
_text = .;
|
||||
*(.text)
|
||||
*(.text.*)
|
||||
_etext = .;
|
||||
}
|
||||
.rodata : {
|
||||
_rodata = .;
|
||||
*(.rodata)
|
||||
*(.rodata.*)
|
||||
_erodata = .;
|
||||
}
|
||||
.data : ALIGN(0x1000) {
|
||||
_data = .;
|
||||
*(.data)
|
||||
*(.data.*)
|
||||
. = ALIGN(. + 4, 0x200);
|
||||
_edata = .;
|
||||
}
|
||||
.rela.dyn : {
|
||||
__rela_dyn_start = .;
|
||||
*(.rela.dyn)
|
||||
__rela_dyn_end = .;
|
||||
}
|
||||
. = ALIGN(8);
|
||||
.bss : {
|
||||
_bss = .;
|
||||
*(.bss)
|
||||
*(.bss.*)
|
||||
*(COMMON)
|
||||
. = ALIGN(8);
|
||||
_ebss = .;
|
||||
}
|
||||
. = ALIGN(4096);
|
||||
.pgtable : {
|
||||
_pgtable = .;
|
||||
*(.pgtable)
|
||||
_epgtable = .;
|
||||
}
|
||||
_end = .;
|
||||
/DISCARD/ : {
|
||||
*(.dynamic) *(.dynsym) *(.dynstr) *(.dynbss)
|
||||
*(.hash) *(.gnu.hash)
|
||||
*(.note.*)
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user