Andrius Štikonas
1407f92220
cc_amd64: fix stack alignment and save non-volatile registers.
2023-12-23 23:09:33 +00:00
Andrius Štikonas
8247a28f78
M0: fix stack alignment and save non-volatile registers.
2023-12-23 17:06:20 +00:00
Andrius Štikonas
e871378bcf
catm: fix stack alignment and save non-volatile registers.
2023-12-23 01:12:17 +00:00
Andrius Štikonas
c01f86c7c5
hex2: fix stack alignment and save non-volatile registers.
2023-12-22 23:16:51 +00:00
Andrius Štikonas
90d9bc7fb4
hex1: fix stack alignment and save non-volatile registers.
2023-12-22 19:13:27 +00:00
Andrius Štikonas
ddcc53ab44
hex0: optimize stack alignment code.
2023-12-17 17:34:49 +00:00
Andrius Štikonas
78a70d0af8
Fix remaining alignment issues in kaem-optional.
2023-12-17 16:51:13 +00:00
Andrius Štikonas
20c3bfbb99
Further hex0 size reduction and calling convention fixes.
2023-12-16 17:09:51 +00:00
Andrius Štikonas
2e2f608c31
Minor whitespace cleanup.
2023-12-10 23:10:28 +00:00
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
62d0f98d5e
Minor update to comments.
2023-01-15 00:03:34 +00:00
Andrius Štikonas
85f0a81aa5
Update mescc-tools-extra.
2023-01-01 12:50:40 +00:00
Andrius Štikonas
77f78b2fe5
Add mescc-tools-extra.
2022-12-31 17:20:13 +00:00
Andrius Štikonas
52c1b7bb4f
Build (still somewhat broken) M2-Mesoplanet and get_machine.
2022-12-26 23:05:50 +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
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
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
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
Andrius Štikonas
999a4b5148
Use .intel_syntax directive instead of Makefile option in .S files.
2022-09-27 22:52:18 +01:00
Andrius Štikonas
d647ffa3a6
Add M0.hex2.
2022-09-25 23:01:25 +01:00
Andrius Štikonas
a4fdf03827
Rename kaem-minimal->kame-optional to be consistent with bootstrap seeds.
2022-09-17 14:29:58 +01:00
Andrius Štikonas
cc85d5f8db
kame-minimal: Implement various improvements:
...
* Make sure to close all protocols before exit.
* Use more sophisticated command line argument processing
that pushes command line arguments onto stack.
* Switch to more readable M1 defines.
2022-09-17 14:18:59 +01:00
Andrius Štikonas
32deb0ffaf
hex0: Implement various improvements:
...
* Make sure to close all protocols before exit.
* Use more sophisticated command line argument processing
that pushes command line arguments onto stack.
* Switch to more readable M1 defines.
2022-09-10 23:57:31 +01:00
Andrius Štikonas
9b9ff9ac52
hex1: Implement various improvements:
...
* Make sure to close all protocols before exit.
* Use more sophisticated command line argument processing
that pushes command line arguments onto stack.
* Switch to more readable M1 defines.
2022-09-07 22:32:18 +01:00
Andrius Štikonas
7020101bd7
Remove a separate .data section in assembly prototypes to match what we are doing in hex/M1.
2022-09-04 00:45:13 +01:00