Commit Graph

392 Commits

Author SHA1 Message Date
Justin C. Miller
77cc1fe757 Move main module to c++ 2018-04-08 12:44:09 -07:00
Justin C. Miller
58729b412a Add inital console font rendering 2018-04-04 11:58:02 -07:00
Justin C. Miller
8914106bee Add PSF font header definition 2018-04-02 10:20:56 -07:00
Justin C. Miller
4577c2d10c Add the beginning of support for kernel graphics to bootloader.
* Load a font file off disk to pass to kernel
* Expose a framebuffer to the kernel
* Currently the kernel just paints the screen red
2018-04-01 22:48:46 -07:00
Justin C. Miller
23365b39c7 Move all guid instances into .rodata in our own list. 2018-04-01 17:06:49 -07:00
Justin C. Miller
913fb202eb Clean up lots of debug output I no longer use. 2018-04-01 15:41:32 -07:00
Justin C. Miller
967018c3ac Fix con_printf not returing anything. 2018-04-01 15:37:26 -07:00
Justin C. Miller
cbb6ca5bd1 Fix printing on video console 2018-04-01 14:19:17 -07:00
Justin C. Miller
7b4388af5c Add guids CSV 2018-03-31 17:33:31 -07:00
Justin C. Miller
165ed28cd3 Reduce dependency on efi library functions 2018-03-31 17:32:10 -07:00
Justin C. Miller
a09a25d3e6 Ignore .gdbinit 2018-03-31 17:31:39 -07:00
Justin C. Miller
7ce2898b6e Test for incoming data pointer in kernel_main 2018-03-29 09:49:38 -07:00
Justin C. Miller
cc01f9d260 Actually pass data pages to kernel 2018-03-27 14:50:28 -07:00
Justin C. Miller
fd32af4905 Make memory functions operate on structure type 2018-03-27 14:47:21 -07:00
Justin C. Miller
2b9a0ca15e Create a kernel data area for passing information 2018-03-27 14:46:53 -07:00
Justin C. Miller
561686abd3 Update gnu-efi 2018-03-26 10:21:34 -07:00
Justin C. Miller
fd5780610b Format using clang-format 2018-03-25 14:06:25 -07:00
Justin C. Miller
64a6d88e5c Truly enable virtual memory.
Map is still identity-mapped. I think we need to sort and/or clean up
the map before using a higher half address. In-kernel vga output not
working yet, but do_the_set_registers() is getting called.
2018-03-25 13:51:32 -07:00
Justin C. Miller
417f080993 Improve QEMU debugging setup 2018-03-25 13:45:52 -07:00
Justin C. Miller
df93eeb708 OVMF upgrade 2018-03-25 03:07:23 -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
cdef82f06f Virtualizing memory after exiting boot services 2018-03-22 19:16:44 -07:00
Justin C. Miller
b5c579fe0d Debugging helper changes 2018-03-22 18:37:18 -07:00
Justin C. Miller
47ebdc7f41 Prematurely jumping into kernel_main 2018-03-19 17:04:35 -07:00
Justin C. Miller
e4bd24bfe3 Make a copy of the pflash image.
Copy OVMF.fd to the build dir so we stop modifying it and making
git nervous.
2018-03-18 18:41:53 -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
0e3fa1c3cf Make QEMU batch files call make 2017-07-26 01:43:25 -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
e196d13334 Add debug_guest option to qemu. 2017-07-14 09:22:34 -07:00
Justin C. Miller
7bd6225164 Updated to allow running in VSCode 2017-02-20 23:34:39 -08: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
d083b2fcb7 Batch files for windows development with WSL building 2017-02-20 12:18:00 -08:00
Justin C. Miller
e856bae683 Fixing the deps in the Makefile 2017-01-16 16:51:41 -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
e87609ac6d Adding README 2017-01-02 13:45:51 -08:00
Justin C. Miller
89c2c70c28 Initial commit - UEFI application building 2017-01-02 13:40:42 -08:00