249 Commits

Author SHA1 Message Date
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
70b4db9dbb fix fb_text_render_char() to use given color 2020-10-20 17:23:51 -04:00
b4b77dd52c add mem.h and memset32() 2020-10-20 15:08:12 -04:00
41152cb4ca add fb_fill() 2020-10-20 14:01:14 -04:00
dba3d28bbf draw a character 2020-10-20 13:34:02 -04:00
a66df19edc add fb_ready() 2020-10-20 00:09:09 -04:00
5bc844649b set desired framebuffer size to 1600x900x32 2020-10-19 23:57:54 -04:00
0d390465f6 simplify boot.S 2020-10-19 23:42:02 -04:00
04d29fdb71 add mbinfo module to parse multiboot2 boot info 2020-10-19 23:34:42 -04:00
e9f426894c rename kernel_main.c -> hos_main.c 2020-10-19 22:40:55 -04:00
c8810e4701 rename _start -> hos_start 2020-10-19 22:26:12 -04:00
b202eca0cc define startup stack in linker script, not assembly 2020-10-19 22:23:39 -04:00
05de14800b remove hard tabs! 2020-10-19 22:12:34 -04:00
8ae84716d6 rename kernel_main() to hos_main() 2020-10-19 22:12:17 -04:00
bb495eceec add "fb" module for framebuffer control 2020-10-19 22:09:33 -04:00
85e5b76aa3 Move multiboot2 header from assembly to C. 2020-10-19 21:44:27 -04:00
412925a790 switch from multiboot to multiboot2 2020-10-18 14:25:06 -04:00
21afa93c4b fill in framebuffer with more exciting pattern - working in qemu BIOS but lost graphics in qemu EFI 2020-10-18 13:47:35 -04:00
06644a02f9 draw pixels to screen to verify framebuffer access and multiboot info 2020-10-18 13:25:26 -04:00
0adc6e395c Add more modern build script for kernel and disk image based on osdev Bare Bones template
GRUB is not identifying the kernel as multiboot compatible. Possibly
because I am using x86_64 instead of i686. Need to investigate further.
2020-10-14 21:20:41 -04:00
8d0e6de040 Import backup from 2004-03-08 2017-07-25 22:23:46 -04:00
0b9d7fde22 Import backup from 2004-03-02 2017-07-25 22:23:46 -04:00