Commit Graph

184 Commits

Author SHA1 Message Date
Andrius Štikonas 4e0c63955d kaem-optional: fix stack alignment and save non-volatile registers. 2023-12-10 19:57:31 +00:00
Andrius Štikonas 4a1f2ba310 Reduce size of hex0 by 3 bytes. 2023-12-09 19:54:44 +00:00
Andrius Štikonas daba916619 hex0: Use $ for unsigned 2-byte constants. 2023-12-09 17:47:35 +00:00
Andrius Štikonas dde77cdb0f Fix stack alignment to 16 bytes and save non-volatile registers. 2023-12-09 17:23:27 +00:00
Andrius Štikonas d290d4101b Also fix clang build flags on amd64/Development to work with newer clang. 2023-12-07 20:43:37 +00:00
Andrius Štikonas 2b8bc1569e Fix development makefile to work with newer versions of clang. 2023-12-06 19:50:58 +00:00
Andrius Štikonas bd13a75dfc Fix typos. 2023-12-06 19:50:40 +00:00
Andrius Štikonas 8ee15ee90e Fix a typo. 2023-01-19 22:55:53 +00:00
Andrius Štikonas 62d0f98d5e Minor update to comments. 2023-01-15 00:03:34 +00:00
Andrius Štikonas 85ece09803 Update M2-Mesoplanet. 2023-01-10 23:36:58 +00:00
Andrius Štikonas 01de00400e Update M2-Planet to fix macros with brackets. 2023-01-09 01:48:15 +00:00
Andrius Štikonas b9feaab627 Update M2libc. 2023-01-02 01:37:08 +00:00
Andrius Štikonas 85f0a81aa5 Update mescc-tools-extra. 2023-01-01 12:50:40 +00:00
Andrius Štikonas a1f0c65143 Mention blood-elf in README. 2022-12-31 22:06:38 +00:00
Andrius Štikonas dcdb221042 mkdir fixes. 2022-12-31 21:00:19 +00:00
Andrius Štikonas 164b8857c4 Add Generate-amd64-answers make target to calculate checksums. 2022-12-31 18:18:54 +00:00
Andrius Štikonas 77f78b2fe5 Add mescc-tools-extra. 2022-12-31 17:20:13 +00:00
Andrius Štikonas 33714ff1dd Update M2libc to pull in pwd for kaem. 2022-12-28 21:49:04 +00:00
Andrius Štikonas 990a2a2acc Fix get_machine. 2022-12-27 22:59:11 +00:00
Andrius Štikonas 52c1b7bb4f Build (still somewhat broken) M2-Mesoplanet and get_machine. 2022-12-26 23:05:50 +00:00
Andrius Štikonas e57d5363a4 Fix a typo. 2022-12-12 23:38:34 +00:00
Andrius Štikonas 5f43609fe9 Add description of bootstrap stages to README. 2022-12-12 23:24:20 +00:00
Andrius Štikonas e4443a731a Add support for spawning processes in kaem. 2022-12-08 21:22:07 +00:00
Andrius Štikonas 378e2a5b36 Also build kaem (though it's not yet functional). 2022-11-26 18:34:44 +00:00
Andrius Štikonas 296737c133 Build final versions of hex2 and M1. 2022-11-26 18:26:19 +00:00
Andrius Štikonas 83e0f53dcd update M2libc to include cleanup on exit() 2022-10-30 11:09:13 +00:00
Andrius Štikonas df9c276d81 Update M2libc with UEFI changes and build initial M2-Planet and M1. 2022-10-26 23:09:37 +01:00
Andrius Štikonas e5453f203a Remove an extra confusing zero from SIMPLE_FS_PROTOCOL_GUID. 2022-10-23 22:59:37 +01:00
Andrius Štikonas 4df1f2360f Fix cc_amd64 return code. 2022-10-19 21:03:31 +02:00
Andrius Štikonas 04e8f7190a Update bootstrap-seeds submodule. 2022-10-11 21:21:10 +01:00
Andrius Štikonas dbc06eff76 Make hex0 one byte smaller. 2022-10-11 00:59:36 +01:00
Andrius Štikonas d518c45e8d Backport PE32 header changes to all early stage0-uefi programs. 2022-10-11 00:55:46 +01:00
Andrius Štikonas 9876a5e51c Update PE32 header.
* Use hex2 %label1>label2 to calculate SizeOfHeaders and SizeOfOptionalHeader.
* Rename PE32_end to ELF_end for compatibility with stage0-posix.
* Zero ImageBase field.
* Zero BaseOfCode field.
2022-10-11 00:49:17 +01:00
Andrius Štikonas c34e2a61ac Add kaem commands to build M2-Planet (for now POSIX version). 2022-10-11 00:13:04 +01:00
Andrius Štikonas a73e927536 Allocate more memory in M0. 2022-10-10 23:58:23 +01:00
Andrius Štikonas 9a6c1a0efa Allocate more memory in cc_amd64, without it it tends to hang when building M2-Planet. 2022-10-10 23:43:36 +01:00
Andrius Štikonas 21262116e0 Add M2libc and M2-Planet as submodules. 2022-10-10 19:18:28 +01:00
Andrius Štikonas a4905777c9 Fix a bug in kaem read_byte function. 2022-10-09 21:35:00 +01:00
Andrius Štikonas 0400521170 Switch cc_amd64 to output new defines and position independent code. 2022-10-09 15:55:28 +01:00
Andrius Štikonas 7f17d4a475 Reorder M1 defines. 2022-10-08 20:52:11 +01:00
Andrius Štikonas ecca40494a Fix another cc_amd64 bug. cc_amd64 should be functional now. 2022-10-08 20:26:50 +01:00
Andrius Štikonas 92bebbf2cb Whitespace fix. 2022-10-08 19:46:08 +01:00
Andrius Štikonas 92ffae0dbe Fix a typo in cc_amd64.M1 that prevented it from working. 2022-10-08 19:33:25 +01:00
Andrius Štikonas b18a371718 Actually commit cc_amd64.M1 which was forgotten in the previous commit. 2022-10-08 01:20:46 +01:00
Andrius Štikonas 41393adeae Initial version of cc_amd64.M1.
Currently broken, possibly due to problems in PE header.
2022-10-06 22:49:57 +01:00
Andrius Štikonas fd021cef8f Fix a bug in exit_uefi_stack. 2022-10-02 14:46:21 +01:00
Andrius Štikonas d6d8b2b707 cc_amd64.S: implement user stack. 2022-10-02 14:38:20 +01:00
Andrius Štikonas b46ba0d078 Initial port of cc_amd64.S to UEFI.
It can build some simple stuff but fails to build M2-Planet
due to stack overflow. UEFI guarantees only 128 KiB of stack
space but we need about 2MiB.
2022-10-02 12:09:31 +01:00
Andrius Štikonas 89771b3fc7 cc_amd64.S: Simplify fixup_type function. 2022-10-01 17:31:58 +01:00
Andrius Štikonas da7132246a Add relocatable POSIX version of cc_amd64.S. 2022-10-01 15:15:57 +01:00