71 Commits

Author SHA1 Message Date
d8c85ad045 Map all memory regions and graphics framebuffer 2022-03-19 21:54:30 -04:00
7c5af33ace Fix receiving correct argument to hulk_start() 2022-03-19 20:02:49 -04:00
5a5d60abae Fix HULK virtual start address to be addressable 2022-03-19 00:04:59 -04:00
9182a83ef2 HELLO: Make sure scratch area is page-aligned 2022-03-18 23:43:05 -04:00
195b7496f4 HELLO: Include EfiLoaderCode and EfiLoaderData memory regions in memory map 2022-03-18 23:33:42 -04:00
b1042fd649 Jump to HULK
Unfortunately, crashes... :(
2022-03-18 23:16:07 -04:00
6beb7da4cd Map HULK virtual address space 2022-03-18 23:04:09 -04:00
8df1646c61 Add initial HULK source and linker script 2022-03-18 21:55:38 -04:00
3e25ab6ae4 HELLO: Zero out page tables after allocating, before using 2022-03-18 21:21:00 -04:00
05cc2da2e3 HULK: Add virtual start address 2022-03-18 21:19:06 -04:00
a54536660b HELLO: Create page tables to identity map available RAM prior to jumping to kernel 2022-03-18 21:15:58 -04:00
9e3d9b18ea Add write_cr3() 2022-03-18 16:40:46 -04:00
ef01239468 HELLO: Add scratch module 2022-03-18 16:03:50 -04:00
372b7265f1 Add src/common/hos/cpu.d 2022-03-18 10:51:35 -04:00
1bc8722098 Add hos.memory module in src/common 2022-03-18 00:07:10 -04:00
cd2f3f9a84 Rename kernel to hulk 2022-03-17 16:57:18 -04:00
08a35e40d4 Rename HEL -> HELLO 2022-03-16 16:11:26 -04:00
a855702214 Fix checking for EFI_INVALID_PARAMETER 2022-03-16 14:37:46 -04:00
706f2c1c5d HEL: Call ExitBootServices 2022-03-16 01:12:07 -04:00
704fd15f7b Get memory map; remove heap 2022-03-15 23:58:37 -04:00
f054bab5cc Set bootinfo framebuffer fields 2022-03-15 23:03:28 -04:00
3fa8e4a24b Set maximum resolution for running in qemu 2022-03-15 22:52:56 -04:00
a38f95a7b8 Set graphics mode 2022-03-14 22:26:55 -04:00
dd57a31d38 HEL: Add heap module; locate GOP handle 2022-03-14 21:43:40 -04:00
406f17c1db HEL: format hex, decimal, and CHAR16 strings in output module 2022-03-14 15:09:02 -04:00
0be1b113aa Add output module for console output routines 2022-03-14 13:53:02 -04:00
54451bcf5b Add initial HOS EFI Loader sources 2022-03-13 23:16:37 -04:00
1fc2dd34e5 Update build system for 64-bit, EFI, and D 2022-03-13 22:46:59 -04:00
6b1de7c9d4 Explicitly check page boundaries when adding bootloader-provided memory regions 2021-08-16 17:35:11 -04:00
ebfeca47b5 Use size_t rather than uint32_t 2021-08-16 14:01:39 -04:00
43f4a1f4b1 Show kernel size/address 2021-08-16 13:59:39 -04:00
0f73efbdc3 add mm module to manage free physical page regions 2020-10-26 20:17:08 -04:00
a084ab296c define _hos_mem_start and _hos_mem_end symbols 2020-10-25 17:08:07 -04:00
87c135b010 set up a GDT to stop using the one GRUB set up 2020-10-25 16:49:09 -04:00
556b0f0c4d add gdt.h 2020-10-23 00:48:40 -04:00
bffd652c16 walk multiboot2 memory map 2020-10-23 00:47:19 -04:00
cbd427b14b add 64-bit formatting support 2020-10-23 00:46:40 -04:00
fa4ff5facf load some multiboot2 info after the framebuffer is initialized 2020-10-22 22:03:43 -04:00
db16e69d5d add klog module to print kernel messages 2020-10-20 21:44:21 -04:00
1d3b0a5621 make fb_clear() public 2020-10-20 20:24:48 -04:00
d03a34ab3e fb: store fb.pitch in words, not bytes 2020-10-20 20:07:51 -04:00
494ef6de81 add fb_width(), fb_height() 2020-10-20 20:06:54 -04:00
784009ba6c hos_printf: handle field width, zero-padding, and left-justifiying conversion specifiers 2020-10-20 19:56:30 -04:00
9bddf11ee4 stream: use char instead of uint8_t 2020-10-20 19:47:15 -04:00
313b86fdc7 provide an implementation for memcpy() 2020-10-20 19:31:26 -04:00
75491dd36b add hos_printf and stream modules 2020-10-20 19:30:23 -04:00
c8db9fe905 add string.h 2020-10-20 17:55:31 -04:00
d0cbaba4d1 add memcpy(), memmove(), memset() 2020-10-20 17:47:40 -04:00
1f22d0c900 add a few multiboot2 info structures 2020-10-20 17:34:08 -04:00
fb88595dec add fb_clear(), just clear to solid bluish color for now 2020-10-20 17:28:16 -04:00