Commit Graph

21 Commits

Author SHA1 Message Date
Justin C. Miller
bc01a37452 Ninja-based buildsystem now building a running kernel! 2019-02-02 21:35:39 -08:00
Justin C. Miller
523d0b3b8c sysroot and cross-compiler based build WIP 2019-01-17 00:51:45 -08:00
Justin C. Miller
799fbbdd10 _Actually_ move the kernel to the last TiB.
More work on process page tables, including only mapping the last 2 pml4
entries (the highest 1TiB of the address space, ie, kernel space) into a
new table.

Includes the work of actually moving the kernel there, which I had
apparently done in name only previously. Oops.
2018-09-01 14:54:12 -07:00
Justin C. Miller
cce892e92f Load ELF file by sections to get addresses right 2018-05-06 22:03:44 -07:00
Justin C. Miller
9efb97c2a7 Increase to 64 IRQs 2018-05-06 18:24:12 -07:00
Justin C. Miller
bc6a42735c Bring Intel/HP efi source into project, remove gnu-efi 2018-05-05 14:13:38 -07:00
Justin C. Miller
33012f35ef Re-integrate framebuffer console 2018-05-03 22:01:33 -07:00
Justin C. Miller
3b560c063a Move kernel to higher half.
Return to having the bootloader re-map the kernel into the higher
half before jumping into the kernel entrypoint, so we don't have
to juggle pointers inside the kernel.
2018-04-19 01:37:34 -07:00
Justin C. Miller
e19c7cee50 Give kernel image a header.
Kernel image now has a header with version, magic number, and a
pointer to its actual entrypoint. Entry point is now _start in
boot.s, and we now generate versions.s in the build tree for the
version macros.
2018-03-24 18:34:44 -07:00
Justin C. Miller
d438392ed5 Formatting fixes and removed commented code only. 2018-03-23 09:04:51 -07:00
Justin C. Miller
47ebdc7f41 Prematurely jumping into kernel_main 2018-03-19 17:04:35 -07:00
Justin C. Miller
72e143b93c Bootloader loading kernel, not yet jumping to it 2018-03-18 18:07:19 -07:00
Justin C. Miller
d02e1d97d9 Splitting out UEFI bootloader code from kernel
Now the bootloader should be responsible for all initial setup,
loading the kernel, and then handing off to the kernel with
proper data in place.
2017-07-26 01:41:46 -07:00
Justin C. Miller
9ae583b1ec Fix up using con_status* calls.
* Main was using CHECK_EFI_STATUS_OR_RETURN despite saying it shouldn't
* Use con_status* calls instead
* Clean up line-clobbering in con_status_{ok,fail}
2017-07-14 09:25:23 -07:00
Justin C. Miller
e6dcdda6b9 Added memory.c
Includes routine replacing efilib's LibMemoryMap, and a debug function for
dumping the map to the console. Currently get_memory_map() is only used
for the debug function dump_memory_map.

Thanks to Finnbar Murphy for the blog post that helped me figure out why
my memory map iteration was wrong.
http://blog.fpmurphy.com/2012/08/uefi-memory-v-e820-memory.html
2017-02-20 22:12:11 -08:00
Justin C. Miller
29922e3546 Moved graphics.c into console.h, with boot message framework 2017-01-16 16:42:11 -08:00
Justin C. Miller
0260abecab Breaking gfx mode code out into graphics.c 2017-01-03 08:21:11 -08:00
Justin C. Miller
eeaf27bbdf Moved check_status to a header file and properly case/named it 2017-01-03 08:14:16 -08:00
Justin C. Miller
2397618a68 Wasn't using this linker script anymore - using GNU-EFI's instead. 2017-01-03 08:09:11 -08:00
Justin C. Miller
dba1ca186d Discover and set the best video mode supported by the UEFI graphics driver 2017-01-03 08:03:07 -08:00
Justin C. Miller
89c2c70c28 Initial commit - UEFI application building 2017-01-02 13:40:42 -08:00