Nigel
5051b8903c
The first stage after GRUB will be Pre-Kernel. This stage will organize the information we receive from the bootloader. (in our case that will be grub) The second stage is for now called early_main. The program will at this point already be running in virtual higher-half / higher-quarter address space. The goal of the second stage is to set up the kernel in such a way that we are ready to jump in to usermode. The third stage is for now called kernel_main. This stage will jump us into usermode and load the startup programs. - Added a GRUB entry for tests - Started writing the pre-kernel stage - Removed knowledge of multiboot from early_main - Edited the linkerscript to link variables in pre-kernel to lower address space. ( from 1MB and up)
14 lines
250 B
ArmAsm
14 lines
250 B
ArmAsm
.section .init
|
|
.global _init
|
|
.type _init, @function
|
|
_init:
|
|
push %ebp
|
|
movl %esp, %ebp
|
|
/* gcc will nicely put the contents of crtbegin.o's .init section here. */
|
|
|
|
.section .fini
|
|
.global _fini
|
|
.type _fini, @function
|
|
_fini:
|
|
push %ebp
|
|
movl %esp, %ebp |