Commit Graph
69 Commits
Author SHA1 Message Date
pantonshire 8ed5f45a08 add implementation of write_char for VgaBuf 2024-10-17 13:14:05 +01:00
pantonshire 161df47dd5 vga helper 2024-10-17 13:11:46 +01:00
pantonshire eb197c3122 update resources 2024-10-16 21:15:44 +01:00
pantonshire 1880e89194 fix bios call, return register values to caller 2024-10-16 21:15:29 +01:00
pantonshire 766a9c981c refactor + wip bios call from protected mode 2024-10-16 17:45:52 +01:00
pantonshire 121e13165b enable a20 in stage 2 prelude 2024-10-15 10:51:31 +01:00
pantonshire a86d73e6ee enter protected mode and jump to rust binary 2024-08-26 20:05:24 +01:00
pantonshire e20030fbc3 link in the prelude object 2024-08-25 18:40:05 +01:00
pantonshire 559a4275ba move defines.s to include directory 2024-08-25 11:23:43 +01:00
pantonshire d55d71059f build asm with werror 2024-08-25 11:19:07 +01:00
pantonshire 465da6e7cd build asm in build.rs 2024-08-25 11:15:11 +01:00
pantonshire 246f5cfccf build flat x86 rust binary 2024-08-11 14:18:27 +01:00
pantonshire 88aa06627c fix hexdump alignment for non-multiple-of-16 size 2024-08-10 18:25:39 +01:00
pantonshire d1ee14003c parse section names table header 2024-08-10 18:20:59 +01:00
pantonshire 4d6521c5b4 debug hexdump for elf 2024-08-10 17:01:53 +01:00
pantonshire 0474360fef start elf parser 2024-07-30 09:42:07 +01:00
pantonshire 8f94f4b5e9 update resources 2024-07-28 18:42:12 +01:00
pantonshire 2015399687 enter unreal mode 2024-07-27 17:13:58 +01:00
pantonshire 4617416378 update resources 2024-07-26 07:50:30 +01:00
pantonshire 93f6223afc update resources 2024-07-25 09:27:53 +01:00
pantonshire f25d0391c1 todo comment for memory detection 2024-07-25 08:58:56 +01:00
pantonshire a7b35d7302 vga segment define 2024-07-24 20:59:29 +01:00
pantonshire 62638cf6f5 explicitly set memory in qemu args 2024-07-24 09:32:00 +01:00
pantonshire f4085f1069 calculate memmap entry len, dump entries 2024-07-24 09:25:25 +01:00
pantonshire fdf6d81b2e use e820 to get available memory 2024-07-23 07:40:29 +01:00
pantonshire 8e5761f610 improve 8042 status defines 2024-07-22 09:37:08 +01:00
pantonshire 575ab46109 enable a20 2024-07-22 09:33:02 +01:00
pantonshire bf3a9d2a00 typo 2024-07-22 08:53:49 +01:00
pantonshire 15d97a8d55 replace and with test in boot0 to remove a mov 2024-07-22 08:50:02 +01:00
pantonshire d362758b4d panic dumps more registers, panic type arg 2024-07-21 17:18:50 +01:00
pantonshire 035bba16f6 dump more registers on panic, print register names 2024-07-20 08:23:07 +01:00
pantonshire 5c9987e99b readme 2024-07-20 07:40:44 +01:00
pantonshire 89e2cef4fa start work on panic handler 2024-07-19 09:05:13 +01:00
pantonshire 030edfc301 function for dumping register value 2024-07-18 09:05:19 +01:00
pantonshire e913eb04ae use null-terminated strings for vga_println 2024-07-18 08:12:51 +01:00
pantonshire bd3063a80d vga print helpers 2024-07-14 19:01:15 +01:00
pantonshire 592826e8cd load remaining boot1 sectors 2024-07-14 10:06:18 +01:00
pantonshire 76c6d5c355 save a few boot0 bytes 2024-07-14 08:17:22 +01:00
pantonshire 8a75404437 minor boot0 cleanup 2024-07-13 15:46:48 +01:00
pantonshire cdb70a4105 add seabios as submodule 2024-07-12 20:23:35 +01:00
pantonshire 5dad1faa66 write second stage to its own partition 2024-07-07 18:30:11 +01:00
pantonshire 49d53571c4 remove proof, perhaps we can put it elsewhere later 2024-07-07 18:22:09 +01:00
pantonshire 067e4df824 clean up dummy stage 2 a bit 2024-07-07 18:13:01 +01:00
pantonshire fbdbbc5345 jump to stage 2 bootloader 2024-07-07 18:07:18 +01:00
pantonshire b45ee48c90 treat partition end lba as inclusive 2024-07-07 17:56:45 +01:00
pantonshire b32a763d17 tiny optimisation to gpt entry size check 2024-07-07 17:21:20 +01:00
pantonshire c599bf3ed6 use labels for stack variables 2024-07-07 16:34:54 +01:00
pantonshire f9e2135e3b fix bug in stage 2 search 2024-07-07 16:04:05 +01:00
pantonshire cda3a448a9 use qemu stdio monitor 2024-07-06 22:36:25 +01:00
pantonshire 2cca21750c load stage 2 partition start and end 2024-07-06 22:36:04 +01:00
pantonshire 4433200e23 function for reading lba, get correct offset into sector for gpt entry 2024-07-06 12:59:35 +01:00
pantonshire f52b659945 start stage 2 partition search 2024-07-06 11:05:24 +01:00
pantonshire debcfdd281 find byte stride and entries per sector 2024-07-06 08:57:59 +01:00
pantonshire a4fc5c6352 update resources 2024-07-06 06:59:40 +01:00
pantonshire d27dc89984 load more gpt header fields 2024-07-05 09:20:45 +01:00
pantonshire f86617e750 bounds check gpt starting lba 2024-07-04 09:54:17 +01:00
pantonshire f645368a06 check gpt partition magic 2024-07-03 09:49:34 +01:00
pantonshire 1bad40143e explain div weirdness 2024-07-03 09:22:21 +01:00
pantonshire 108040ae01 load lba 1 2024-07-01 09:45:01 +01:00
pantonshire b0547844ed update resources 2024-07-01 08:31:35 +01:00
pantonshire 87854597a1 create disk image with gpt 2024-07-01 08:31:16 +01:00
pantonshire a33a21cde9 update memory layout table 2024-06-30 09:22:48 +01:00
pantonshire f666e43386 memory map resources 2024-06-30 09:00:47 +01:00
pantonshire 629fc3e826 get drive geometry 2024-06-29 16:45:58 +01:00
pantonshire fb6cc7a3be add resources.md 2024-06-29 13:10:43 +01:00
pantonshire f7733f1e74 estoy loopin 2024-06-29 11:12:32 +01:00
pantonshire 9024269ec5 rename first stage 2024-06-27 08:06:55 +01:00
pantonshire 0c74d1e873 reserve space for mbr partition table 2024-06-25 09:19:23 +01:00
pantonshire 50353bafdd little boot sector that writes hi to vga 2024-06-23 21:07:00 +01:00