Init
This commit is contained in:
1
kernel/amd64/.gitignore
vendored
Normal file
1
kernel/amd64/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
*.o
|
||||
4
kernel/amd64/bootmain.c
Normal file
4
kernel/amd64/bootmain.c
Normal file
@@ -0,0 +1,4 @@
|
||||
|
||||
void bootmain(void) {
|
||||
for (;;);
|
||||
}
|
||||
3
kernel/amd64/flags.mk
Normal file
3
kernel/amd64/flags.mk
Normal file
@@ -0,0 +1,3 @@
|
||||
cflags += --target=x86_64-pc-none-elf
|
||||
|
||||
ldflags += --target=x86_64-pc-none-elf
|
||||
51
kernel/amd64/link.ld
Normal file
51
kernel/amd64/link.ld
Normal file
@@ -0,0 +1,51 @@
|
||||
OUTPUT_FORMAT(elf64-x86-64)
|
||||
|
||||
ENTRY(bootmain)
|
||||
|
||||
PHDRS {
|
||||
limine_requests PT_LOAD;
|
||||
text PT_LOAD;
|
||||
rodata PT_LOAD;
|
||||
data PT_LOAD;
|
||||
}
|
||||
|
||||
SECTIONS {
|
||||
. = 0xffffffff80000000;
|
||||
|
||||
.limine_requests : {
|
||||
KEEP(*(.limine_requests_start))
|
||||
KEEP(*(.limine_requests))
|
||||
KEEP(*(.limine_requests_end))
|
||||
} :limine_requests
|
||||
|
||||
. = ALIGN(CONSTANT(MAXPAGESIZE));
|
||||
|
||||
.text : {
|
||||
*(.text .text.*)
|
||||
} :text
|
||||
|
||||
. = ALIGN(CONSTANT(MAXPAGESIZE));
|
||||
|
||||
.rodata : {
|
||||
*(.rodata .rodata.*)
|
||||
} :rodata
|
||||
|
||||
.note.gnu.build-id : {
|
||||
*(.note.gnu.build-id)
|
||||
} :rodata
|
||||
|
||||
. = ALIGN(CONSTANT(MAXPAGESIZE));
|
||||
|
||||
.data : {
|
||||
*(.data .data.*)
|
||||
} :data
|
||||
|
||||
.bss : {
|
||||
*(.bss .bss.*)
|
||||
} :data
|
||||
|
||||
/DISCARD/ : {
|
||||
*(.eh_frame*)
|
||||
*(.note .note.*)
|
||||
}
|
||||
}
|
||||
3
kernel/amd64/src.mk
Normal file
3
kernel/amd64/src.mk
Normal file
@@ -0,0 +1,3 @@
|
||||
c += amd64/bootmain.c
|
||||
|
||||
o += amd64/bootmain.o
|
||||
Reference in New Issue
Block a user