352 Commits

Author SHA1 Message Date
3d30025d3b write a map file when linking 2020-10-25 16:48:42 -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
a474368435 increase kernel font size a little 2020-10-20 17:28:43 -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
9fde638b6e build with -O2 2020-10-20 15:09:00 -04:00
b4b77dd52c add mem.h and memset32() 2020-10-20 15:08:12 -04:00
79951bd0f1 add cross/clean.sh 2020-10-20 14:15:28 -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
610f30fae9 generate a built-in kernel font 2020-10-20 00:34:53 -04:00
e22b90b768 configure GRUB to boot HOS automatically after 1s 2020-10-20 00:17:05 -04:00
08fc9a5445 rename target run-bios -> run 2020-10-20 00:11:12 -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
67b90a482f add "clean" target 2020-10-19 21:59:54 -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
d08d54ecbf make run tasks depend on all 2020-10-18 13:29:56 -04:00
06644a02f9 draw pixels to screen to verify framebuffer access and multiboot info 2020-10-18 13:25:26 -04:00
8f9881889b build both BIOS and EFI images 2020-10-18 13:16:02 -04:00
a91ea8d620 update Makefile to wrap rscons and add run target 2020-10-15 20:05:58 -04:00
a9a2f6dcaf fix GRUB config to add a HOS menu entry 2020-10-15 20:01:40 -04:00
9befd553eb always disassemble kernel when building 2020-10-15 19:47:20 -04:00
6053745ee9 build kernel as 32-bit ELF for now so GRUB can recognize it as multiboot 2020-10-15 19:46:53 -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
bbf212d5a2 add configure script 2020-10-13 19:53:14 -04:00