diff options
| author | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2025-01-06 20:11:53 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2025-01-06 20:11:53 +0100 |
| commit | 98110adc9f47666696e18a6c7c97a3edc89c5d90 (patch) | |
| tree | e39f76352995abfdcc154637b2dae00ed246d5c7 /dev/Boot/Mod/SysChk | |
| parent | 8c179d8801df7f5f77fe7ec65a0a98b7901dad09 (diff) | |
ADD: Fix kernel build and bootloader build on aarch64, add syschk for
aarch64.
WIP: aarch64 on CoreBoot (EFI is unpractical)
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'dev/Boot/Mod/SysChk')
| -rw-r--r-- | dev/Boot/Mod/SysChk/Boot.S | 2 | ||||
| -rw-r--r-- | dev/Boot/Mod/SysChk/Module.cc | 4 | ||||
| -rw-r--r-- | dev/Boot/Mod/SysChk/amd64.json (renamed from dev/Boot/Mod/SysChk/build.json) | 0 | ||||
| -rw-r--r-- | dev/Boot/Mod/SysChk/arm64.json | 26 |
4 files changed, 32 insertions, 0 deletions
diff --git a/dev/Boot/Mod/SysChk/Boot.S b/dev/Boot/Mod/SysChk/Boot.S index 88904a96..ab0ddc52 100644 --- a/dev/Boot/Mod/SysChk/Boot.S +++ b/dev/Boot/Mod/SysChk/Boot.S @@ -7,8 +7,10 @@ ;; * ======================================================== ;; */ +#ifdef __ZKA_AMD64__ .code64 .intel_syntax noprefix +#endif #define kTypeDriver 101 #define kArchAmd64 122 diff --git a/dev/Boot/Mod/SysChk/Module.cc b/dev/Boot/Mod/SysChk/Module.cc index c5edb161..bd89982d 100644 --- a/dev/Boot/Mod/SysChk/Module.cc +++ b/dev/Boot/Mod/SysChk/Module.cc @@ -23,10 +23,14 @@ EXTERN_C Int32 ModuleMain(Kernel::HEL::BootInfoHeader* handover) { +#ifdef __ZKA_AMD64__ Boot::BDiskFormatFactory<BootDeviceATA> partition_factory; if (partition_factory.IsPartitionValid()) return kEfiOk; return kEfiFail; +#else + return kEfiOk; +#endif } diff --git a/dev/Boot/Mod/SysChk/build.json b/dev/Boot/Mod/SysChk/amd64.json index 2c079889..2c079889 100644 --- a/dev/Boot/Mod/SysChk/build.json +++ b/dev/Boot/Mod/SysChk/amd64.json diff --git a/dev/Boot/Mod/SysChk/arm64.json b/dev/Boot/Mod/SysChk/arm64.json new file mode 100644 index 00000000..46cfb081 --- /dev/null +++ b/dev/Boot/Mod/SysChk/arm64.json @@ -0,0 +1,26 @@ +{ + "compiler_path": "clang++", + "compiler_std": "c++20", + "headers_path": ["../", "../../", "../../../Kernel", "../../../", "./"], + "sources_path": ["*.cc", "*.S", "../../src/HEL/ARM64/*.cc", "../../src/HEL/ARM64/*.S", "../../src/*.cc"], + "output_name": "syschk.sys", + "compiler_flags": [ + "-ffreestanding", + "-nostdlib", + "-std=c++20", + "-fno-rtti", + "-fno-exceptions", + "-fuse-ld=lld", + "-Wl,-subsystem:efi_application,-entry:ModuleMain", + "-target aarch64-unknown-windows" + ], + "cpp_macros": [ + "__MINOSKRNL__", + "__ZBAOSLDR__", + "__BOOTLDR_STANDALONE__", + "__ZKA_ARM64__", + "kChkVersionHighest=0x0100", + "kChkVersionLowest=0x0100", + "kChkVersion=0x0100" + ] +} |
