Add M0.hex2.
This commit is contained in:
parent
cf07861e37
commit
d647ffa3a6
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -2,7 +2,7 @@
|
||||||
#
|
#
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
targets = kaem-optional hex0 hex1 hex2 catm
|
targets = kaem-optional hex0 hex1 hex2 catm M0
|
||||||
|
|
||||||
cc = clang
|
cc = clang
|
||||||
cflags = -ffreestanding -MMD -mno-red-zone -std=c11 -target x86_64-unknown-windows -masm=intel
|
cflags = -ffreestanding -MMD -mno-red-zone -std=c11 -target x86_64-unknown-windows -masm=intel
|
||||||
|
|
|
@ -109,7 +109,7 @@ DEFINE sub_rax, 83E8
|
||||||
DEFINE sub_rbx, 4883EB
|
DEFINE sub_rbx, 4883EB
|
||||||
DEFINE sub_rsp, 4883EC
|
DEFINE sub_rsp, 4883EC
|
||||||
DEFINE sub_rax,rdx 4829D0
|
DEFINE sub_rax,rdx 4829D0
|
||||||
DEFINE test_esi_esi 85F6
|
DEFINE test_esi,esi 85F6
|
||||||
DEFINE xor_eax,eax 31C0
|
DEFINE xor_eax,eax 31C0
|
||||||
DEFINE xor_edx,edx 31D2
|
DEFINE xor_edx,edx 31D2
|
||||||
DEFINE xor_esi,esi 31F6
|
DEFINE xor_esi,esi 31F6
|
||||||
|
@ -496,7 +496,7 @@ DEFINE xor_r9,r9 4D31C9
|
||||||
pop_r11 # restore r11
|
pop_r11 # restore r11
|
||||||
|
|
||||||
# If the file ended (0 bytes read) return EOF
|
# If the file ended (0 bytes read) return EOF
|
||||||
test_esi_esi
|
test_esi,esi
|
||||||
jne %Read_byte_1
|
jne %Read_byte_1
|
||||||
mov_rax, %-4 # Put EOF in rax
|
mov_rax, %-4 # Put EOF in rax
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -118,7 +118,7 @@ F0 00 # SizeOfOptionalHeader
|
||||||
|
|
||||||
# [0x148]
|
# [0x148]
|
||||||
# Start of section headers
|
# Start of section headers
|
||||||
00 00 00 00 00 00 00 00 ; Name of the section (empty) but could set to ".text"
|
2E 74 65 78 74 00 00 00 ; Name of the section: ".text"
|
||||||
%PE32_end>PE32_text ; VirtualSize
|
%PE32_end>PE32_text ; VirtualSize
|
||||||
00 10 00 00 ; VirtualAddress
|
00 10 00 00 ; VirtualAddress
|
||||||
%PE32_end>PE32_text ; SizeOfRawData
|
%PE32_end>PE32_text ; SizeOfRawData
|
||||||
|
|
|
@ -515,7 +515,7 @@ DD 06 00 00 ; SizeOfRawData
|
||||||
415B ; pop_r11 # restore r11
|
415B ; pop_r11 # restore r11
|
||||||
|
|
||||||
# If the file ended (0 bytes read) return EOF
|
# If the file ended (0 bytes read) return EOF
|
||||||
85F6 ; test_esi_esi
|
85F6 ; test_esi,esi
|
||||||
0F85 %y ; jne %Read_byte_1
|
0F85 %y ; jne %Read_byte_1
|
||||||
48C7C0 FCFFFFFF ; mov_rax, %-4 # Put EOF in rax
|
48C7C0 FCFFFFFF ; mov_rax, %-4 # Put EOF in rax
|
||||||
|
|
||||||
|
|
|
@ -26,3 +26,11 @@ amd64\artifact\hex1.efi amd64\hex2.hex1 amd64\artifact\hex2-0.efi
|
||||||
amd64\artifact\hex2-0.efi amd64\catm.hex2 amd64\artifact\catm.efi
|
amd64\artifact\hex2-0.efi amd64\catm.hex2 amd64\artifact\catm.efi
|
||||||
# catm removes the need for cat or shell support for redirection by providing
|
# catm removes the need for cat or shell support for redirection by providing
|
||||||
# equivalent functionality via catm output_file input1 input2 ... inputN
|
# equivalent functionality via catm output_file input1 input2 ... inputN
|
||||||
|
|
||||||
|
###############################
|
||||||
|
# Phase-3 Build M0 from hex2 #
|
||||||
|
###############################
|
||||||
|
amd64\artifact\catm.efi amd64\artifact\M0.hex2 amd64\PE32-amd64.hex2 amd64\M0.hex2
|
||||||
|
amd64\artifact\hex2-0.efi amd64\artifact\M0.hex2 amd64\artifact\M0.efi
|
||||||
|
# M0 is the architecture specific version of M1 and is by design single
|
||||||
|
# architecture only and will be replaced by the C code version of M1
|
||||||
|
|
Loading…
Reference in New Issue