pantonshire
|
1974163db6
|
use hlt for padding of stage 2 data section
|
2025-04-07 15:29:06 +01:00 |
|
pantonshire
|
96e98cd534
|
default to nightly compiler
|
2025-04-07 13:25:33 +01:00 |
|
pantonshire
|
4f79fbae5b
|
cargo xtask alias
|
2025-04-07 12:53:35 +01:00 |
|
pantonshire
|
63977011cf
|
update layout macros
|
2025-04-07 12:36:13 +01:00 |
|
pantonshire
|
b41ba2de55
|
workspace for build tools
|
2025-04-06 14:34:42 +01:00 |
|
pantonshire
|
2219fac4e5
|
more refactoring
|
2025-04-06 14:27:55 +01:00 |
|
pantonshire
|
909875ec5b
|
update resouces
|
2025-04-06 14:22:26 +01:00 |
|
pantonshire
|
f5b28bd24d
|
fix protected mode target specification
|
2025-04-05 19:20:14 +01:00 |
|
pantonshire
|
b2bb36e9f4
|
rust stage 4
|
2025-03-09 09:13:30 +00:00 |
|
pantonshire
|
dae57bb1a1
|
fix s3 a20
|
2025-03-05 09:00:39 +00:00 |
|
pantonshire
|
2b1a9f9412
|
wip refactor
|
2025-03-04 09:48:46 +00:00 |
|
pantonshire
|
ae2720c826
|
library-ify nasm helper
|
2025-03-03 09:32:58 +00:00 |
|
pantonshire
|
ed0f9119f4
|
memory region merge algorithm
|
2024-12-22 12:14:10 +00:00 |
|
pantonshire
|
b0e757769a
|
print to vga on panic
|
2024-10-18 14:09:43 +01:00 |
|
pantonshire
|
5d0539b987
|
global vga buf
|
2024-10-18 14:02:08 +01:00 |
|
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 |
|