josh
|
f761d0a445
|
Jump to HULK from assembly
|
2022-03-26 00:36:23 -04:00 |
|
josh
|
f29bd9d00c
|
Allocate HULK stack region from HELLO, translate memory region types
|
2022-03-26 00:29:19 -04:00 |
|
josh
|
f236a64b21
|
HELLO: Be more welcoming
|
2022-03-25 13:17:22 -04:00 |
|
josh
|
1225e98276
|
Pass HULK physical memory info to kernel from HELLO
|
2022-03-25 13:16:36 -04:00 |
|
josh
|
cb31e36e90
|
Clean up console
|
2022-03-25 12:37:18 -04:00 |
|
josh
|
0568a813f2
|
HELLO: Zero out HULK bss section
|
2022-03-25 11:53:01 -04:00 |
|
josh
|
37d5621e41
|
HULK console: clear last row when shifting rows up
|
2022-03-25 10:51:52 -04:00 |
|
josh
|
98e992aad0
|
Convert fb, console, klog to "static instance" namespacing structs
|
2022-03-25 10:48:32 -04:00 |
|
josh
|
06242a0c9f
|
Add console, klog, and writef modules.
They are not complete, but adding to checkpoint progress.
|
2022-03-24 17:52:39 -04:00 |
|
josh
|
e214a9c3de
|
Fix call to fb.blend_alpha_bitmap()
|
2022-03-24 09:52:26 -04:00 |
|
josh
|
c259ae4cee
|
Add Framebuffer.copy_rows_up()
|
2022-03-23 22:12:38 -04:00 |
|
josh
|
b4d8707243
|
Rename blending blit methods to blend
|
2022-03-22 22:32:45 -04:00 |
|
josh
|
6b7b14d954
|
Add Framebuffer.character()
|
2022-03-22 22:11:12 -04:00 |
|
josh
|
9e7c3ee676
|
Add Framebuffer.rect(), .hline(), .vline()
|
2022-03-22 21:55:25 -04:00 |
|
josh
|
2d7bf5197f
|
Drawing text working using Framebuffer.blit_alpha_bitmap()
|
2022-03-22 20:01:08 -04:00 |
|
josh
|
7562be585f
|
Add Framebuffer.blit_alpha_bitmap()
|
2022-03-22 20:00:32 -04:00 |
|
josh
|
3d04eec427
|
Compile HULK with large code model
|
2022-03-22 19:29:30 -04:00 |
|
josh
|
5c97acba5f
|
Update fontgen to output D instead of C
|
2022-03-22 13:01:20 -04:00 |
|
josh
|
c3ead56582
|
Add Framebuffer object
|
2022-03-21 16:32:11 -04:00 |
|
josh
|
15559b0a56
|
Add HULK header; map virtual memory for HULK bss section
|
2022-03-21 16:31:01 -04:00 |
|
josh
|
c58284761a
|
Comment hulk.hulk module a bit
|
2022-03-20 23:05:10 -04:00 |
|
josh
|
bd99e429a9
|
Comment hulk.bootinfo a bit
|
2022-03-20 22:58:25 -04:00 |
|
josh
|
d0acf5a718
|
Comment hello.hello module a bit better
|
2022-03-20 22:38:42 -04:00 |
|
josh
|
b40151055c
|
Rework scratch module and use qualified names for function calls
|
2022-03-20 22:21:10 -04:00 |
|
josh
|
1e00d7a9e9
|
Rename hello.output to hello.console
|
2022-03-20 22:12:46 -04:00 |
|
josh
|
79b34477ed
|
Reorganize D modules a bit
|
2022-03-19 22:39:12 -04:00 |
|
josh
|
163ef9f79e
|
Increase scratch buffer size
|
2022-03-19 22:08:35 -04:00 |
|
josh
|
3c549f0838
|
Write size file for HULK/HELLO
|
2022-03-19 22:07:37 -04:00 |
|
josh
|
d8c85ad045
|
Map all memory regions and graphics framebuffer
|
2022-03-19 21:54:30 -04:00 |
|
josh
|
7c5af33ace
|
Fix receiving correct argument to hulk_start()
|
2022-03-19 20:02:49 -04:00 |
|
josh
|
6f3521c576
|
Make sure to rebuild HELLO properly when HULK changes
|
2022-03-19 00:27:10 -04:00 |
|
josh
|
5a5d60abae
|
Fix HULK virtual start address to be addressable
|
2022-03-19 00:04:59 -04:00 |
|
josh
|
9182a83ef2
|
HELLO: Make sure scratch area is page-aligned
|
2022-03-18 23:43:05 -04:00 |
|
josh
|
195b7496f4
|
HELLO: Include EfiLoaderCode and EfiLoaderData memory regions in memory map
|
2022-03-18 23:33:42 -04:00 |
|
josh
|
b1042fd649
|
Jump to HULK
Unfortunately, crashes... :(
|
2022-03-18 23:16:07 -04:00 |
|
josh
|
6beb7da4cd
|
Map HULK virtual address space
|
2022-03-18 23:04:09 -04:00 |
|
josh
|
f27851def9
|
Bundle HULK in HELLO
|
2022-03-18 22:43:37 -04:00 |
|
josh
|
18f1bfc88f
|
Build HELLO after HULK
|
2022-03-18 22:02:07 -04:00 |
|
josh
|
cd6983e2cd
|
Generate HULK binary
|
2022-03-18 22:01:27 -04:00 |
|
josh
|
8df1646c61
|
Add initial HULK source and linker script
|
2022-03-18 21:55:38 -04:00 |
|
josh
|
3e25ab6ae4
|
HELLO: Zero out page tables after allocating, before using
|
2022-03-18 21:21:00 -04:00 |
|
josh
|
05cc2da2e3
|
HULK: Add virtual start address
|
2022-03-18 21:19:06 -04:00 |
|
josh
|
a54536660b
|
HELLO: Create page tables to identity map available RAM prior to jumping to kernel
|
2022-03-18 21:15:58 -04:00 |
|
josh
|
9e3d9b18ea
|
Add write_cr3()
|
2022-03-18 16:40:46 -04:00 |
|
josh
|
ef01239468
|
HELLO: Add scratch module
|
2022-03-18 16:03:50 -04:00 |
|
josh
|
372b7265f1
|
Add src/common/hos/cpu.d
|
2022-03-18 10:51:35 -04:00 |
|
josh
|
1bc8722098
|
Add hos.memory module in src/common
|
2022-03-18 00:07:10 -04:00 |
|
josh
|
cd2f3f9a84
|
Rename kernel to hulk
|
2022-03-17 16:57:18 -04:00 |
|
josh
|
08a35e40d4
|
Rename HEL -> HELLO
|
2022-03-16 16:11:26 -04:00 |
|
josh
|
a855702214
|
Fix checking for EFI_INVALID_PARAMETER
|
2022-03-16 14:37:46 -04:00 |
|
josh
|
706f2c1c5d
|
HEL: Call ExitBootServices
|
2022-03-16 01:12:07 -04:00 |
|
josh
|
704fd15f7b
|
Get memory map; remove heap
|
2022-03-15 23:58:37 -04:00 |
|
josh
|
f054bab5cc
|
Set bootinfo framebuffer fields
|
2022-03-15 23:03:28 -04:00 |
|
josh
|
3fa8e4a24b
|
Set maximum resolution for running in qemu
|
2022-03-15 22:52:56 -04:00 |
|
josh
|
a38f95a7b8
|
Set graphics mode
|
2022-03-14 22:26:55 -04:00 |
|
josh
|
dd57a31d38
|
HEL: Add heap module; locate GOP handle
|
2022-03-14 21:43:40 -04:00 |
|
josh
|
406f17c1db
|
HEL: format hex, decimal, and CHAR16 strings in output module
|
2022-03-14 15:09:02 -04:00 |
|
josh
|
0be1b113aa
|
Add output module for console output routines
|
2022-03-14 13:53:02 -04:00 |
|
josh
|
d782b59768
|
Write map file
|
2022-03-14 01:35:28 -04:00 |
|
josh
|
c3a6139f83
|
Run image from temporary copy to avoid modified disk image file
|
2022-03-14 00:57:24 -04:00 |
|
josh
|
3d3a433800
|
Update to rscons 3.0.2
|
2022-03-14 00:51:54 -04:00 |
|
josh
|
54451bcf5b
|
Add initial HOS EFI Loader sources
|
2022-03-13 23:16:37 -04:00 |
|
josh
|
1fc2dd34e5
|
Update build system for 64-bit, EFI, and D
|
2022-03-13 22:46:59 -04:00 |
|
josh
|
cb6bd3914c
|
Remove HOS v0.16 sources
|
2022-02-28 15:10:25 -05:00 |
|
josh
|
56c3be9207
|
Update to rscons 3.0.0
|
2022-02-28 13:40:08 -05:00 |
|
josh
|
c6ae200a54
|
Update to rscons 2.3.0
Move cross compiler to i686-elf-gcc directory.
Automatically build cross compiler using rscons subsidiary script.
|
2021-12-08 11:33:03 -05:00 |
|
josh
|
6b1de7c9d4
|
Explicitly check page boundaries when adding bootloader-provided memory regions
|
2021-08-16 17:35:11 -04:00 |
|
josh
|
ebfeca47b5
|
Use size_t rather than uint32_t
|
2021-08-16 14:01:39 -04:00 |
|
josh
|
43f4a1f4b1
|
Show kernel size/address
|
2021-08-16 13:59:39 -04:00 |
|
josh
|
0f73efbdc3
|
add mm module to manage free physical page regions
|
2020-10-26 20:17:08 -04:00 |
|
josh
|
a084ab296c
|
define _hos_mem_start and _hos_mem_end symbols
|
2020-10-25 17:08:07 -04:00 |
|
josh
|
aa28284187
|
build kernel .size file on build
|
2020-10-25 17:06:56 -04:00 |
|
josh
|
87c135b010
|
set up a GDT to stop using the one GRUB set up
|
2020-10-25 16:49:09 -04:00 |
|
josh
|
3d30025d3b
|
write a map file when linking
|
2020-10-25 16:48:42 -04:00 |
|
josh
|
556b0f0c4d
|
add gdt.h
|
2020-10-23 00:48:40 -04:00 |
|
josh
|
bffd652c16
|
walk multiboot2 memory map
|
2020-10-23 00:47:19 -04:00 |
|
josh
|
cbd427b14b
|
add 64-bit formatting support
|
2020-10-23 00:46:40 -04:00 |
|
josh
|
fa4ff5facf
|
load some multiboot2 info after the framebuffer is initialized
|
2020-10-22 22:03:43 -04:00 |
|
josh
|
db16e69d5d
|
add klog module to print kernel messages
|
2020-10-20 21:44:21 -04:00 |
|
josh
|
1d3b0a5621
|
make fb_clear() public
|
2020-10-20 20:24:48 -04:00 |
|
josh
|
d03a34ab3e
|
fb: store fb.pitch in words, not bytes
|
2020-10-20 20:07:51 -04:00 |
|
josh
|
494ef6de81
|
add fb_width(), fb_height()
|
2020-10-20 20:06:54 -04:00 |
|
josh
|
784009ba6c
|
hos_printf: handle field width, zero-padding, and left-justifiying conversion specifiers
|
2020-10-20 19:56:30 -04:00 |
|
josh
|
9bddf11ee4
|
stream: use char instead of uint8_t
|
2020-10-20 19:47:15 -04:00 |
|
josh
|
313b86fdc7
|
provide an implementation for memcpy()
|
2020-10-20 19:31:26 -04:00 |
|
josh
|
75491dd36b
|
add hos_printf and stream modules
|
2020-10-20 19:30:23 -04:00 |
|
josh
|
c8db9fe905
|
add string.h
|
2020-10-20 17:55:31 -04:00 |
|
josh
|
d0cbaba4d1
|
add memcpy(), memmove(), memset()
|
2020-10-20 17:47:40 -04:00 |
|
josh
|
1f22d0c900
|
add a few multiboot2 info structures
|
2020-10-20 17:34:08 -04:00 |
|
josh
|
a474368435
|
increase kernel font size a little
|
2020-10-20 17:28:43 -04:00 |
|
josh
|
fb88595dec
|
add fb_clear(), just clear to solid bluish color for now
|
2020-10-20 17:28:16 -04:00 |
|
josh
|
70b4db9dbb
|
fix fb_text_render_char() to use given color
|
2020-10-20 17:23:51 -04:00 |
|
josh
|
9fde638b6e
|
build with -O2
|
2020-10-20 15:09:00 -04:00 |
|
josh
|
b4b77dd52c
|
add mem.h and memset32()
|
2020-10-20 15:08:12 -04:00 |
|
josh
|
79951bd0f1
|
add cross/clean.sh
|
2020-10-20 14:15:28 -04:00 |
|
josh
|
41152cb4ca
|
add fb_fill()
|
2020-10-20 14:01:14 -04:00 |
|
josh
|
dba3d28bbf
|
draw a character
|
2020-10-20 13:34:02 -04:00 |
|
josh
|
610f30fae9
|
generate a built-in kernel font
|
2020-10-20 00:34:53 -04:00 |
|
josh
|
e22b90b768
|
configure GRUB to boot HOS automatically after 1s
|
2020-10-20 00:17:05 -04:00 |
|
josh
|
08fc9a5445
|
rename target run-bios -> run
|
2020-10-20 00:11:12 -04:00 |
|