Bananymous
6ac3681604
Bootloader: Implement loading for 32 bit ELF files.
2024-04-02 15:30:35 +03:00
Bananymous
ca23360d07
Bootloader: Fix GDRT pointer size to 32 bits
2024-03-26 03:04:57 +02:00
Bananymous
dfe5a2d665
All: Cleanup all files
...
Add newline to end of files and remove whitespace from end of lines
2024-01-24 15:53:38 +02:00
Bananymous
7e36a0be75
Bootloader: Add .data section
2024-01-12 19:27:36 +02:00
Bananymous
ff2486f58c
Bootloader: Try to enable A20 line if it is disabled
...
VirtualBox seems to have A20 disabled by default
2024-01-12 02:55:06 +02:00
Bananymous
2fec718590
Bootloader: cleanup code
2024-01-08 10:50:55 +02:00
Bananymous
ccaa159a73
Bootloader: Add support for ext2 blocks up to 4 KiB
...
This should work with blocks bigger than that, but my linux system
only supports up to 4 KiB, so I cannot test this.
This allows getting rid of forced block size in mkfs and let the
program select appropriately sized blocks.
2024-01-03 18:26:03 +02:00
Bananymous
7356a83a44
Bootloader: Optimize some unnecessary branches on carry add/sub
2024-01-03 17:05:33 +02:00
Bananymous
2a68df81e2
Bootloader: Fix bootloader on bochs
...
Bochs int 0x10 seems to scrap full ebp and top bits in some
registers. I now save all 32-bit registers on call frame. Also
ebp is across all int 0x10 calls.
2024-01-03 13:09:55 +02:00
Bananymous
50ca2ac09e
Bootloader: Interpret 0x7F (DEL) as backspace
...
This allows backspace to work over qemu's serial connection
2024-01-03 11:58:50 +02:00
Bananymous
3f3e81fcf2
Bootloader: Align boot information passed to kernel
...
UBSAN found this bug
2023-12-14 10:52:51 +02:00
Bananymous
abc69fa3d5
Bootloader: Search framebuffer information from kernel memory
...
Framebuffer information is no longer hard coded into bootloader.
Kernel can define framebuffer info structure in its memory which is
used for finding proper video mode.
2023-12-09 17:32:10 +02:00
Bananymous
8b01e2d4a2
Bootloader: Generalize framebuffer video mode search
...
Framebuffer size is now taken as arguments to vesa_find_video_mode
2023-12-09 16:48:04 +02:00
Bananymous
25485069e6
Bootloader: Add cache to ext2 inode data block indices
...
This reduces the number of read calls with current kernel size from
~1700 to ~700 (60% performance boots). Loading the kernel is now alot
faster.
2023-11-22 13:54:53 +02:00
Bananymous
f80bd040c8
Bootloader: add missing size directive
2023-11-21 19:11:48 +02:00
Bananymous
cd646a1ab7
Bootloader do some directory restructuring
2023-11-18 13:59:45 +02:00