diff options
Diffstat (limited to 'dev/Boot/Mod')
| -rw-r--r-- | dev/Boot/Mod/SysChk/Module.cc | 27 | ||||
| -rw-r--r-- | dev/Boot/Mod/SysChk/build.json | 3 |
2 files changed, 8 insertions, 22 deletions
diff --git a/dev/Boot/Mod/SysChk/Module.cc b/dev/Boot/Mod/SysChk/Module.cc index a48e524c..e51eabef 100644 --- a/dev/Boot/Mod/SysChk/Module.cc +++ b/dev/Boot/Mod/SysChk/Module.cc @@ -21,27 +21,12 @@ #include <BootKit/Thread.h> #include <Mod/GfxMgr/FBMgr.h> -EXTERN_C Int32 ModuleMain(Kernel::HEL::BootInfoHeader* Handover) +EXTERN_C Int32 ModuleMain(Kernel::HEL::BootInfoHeader* handover) { - EfiSystemTable* system_table = (EfiSystemTable*)Handover->f_FirmwareCustomTables[1]; + if (!handover) + return kEfiFail; - EfiInputKey key{}; - - system_table->ConIn->ReadKeyStroke(system_table->ConIn, &key); - - if (key.UnicodeChar == 'F' || - key.UnicodeChar == 'f') - { - UI::ui_draw_background(); - - fb_init(); - - FBDrawBitMapInRegion(zka_no_disk, ZKA_NO_DISK_HEIGHT, ZKA_NO_DISK_WIDTH, (kHandoverHeader->f_GOP.f_Width - ZKA_NO_DISK_WIDTH) / 2, (kHandoverHeader->f_GOP.f_Height - ZKA_NO_DISK_HEIGHT) / 2); - - fb_fini(); - - return kEfiOk; - } - - return kEfiFail; + Boot::BDiskFormatFactory<BootDeviceATA> partition_factory; + + return !partition_factory.IsPartitionValid() ? kEfiOk : kEfiFail; } diff --git a/dev/Boot/Mod/SysChk/build.json b/dev/Boot/Mod/SysChk/build.json index cd21e269..2c079889 100644 --- a/dev/Boot/Mod/SysChk/build.json +++ b/dev/Boot/Mod/SysChk/build.json @@ -2,7 +2,7 @@ "compiler_path": "x86_64-w64-mingw32-g++", "compiler_std": "c++20", "headers_path": ["../", "../../", "../../../Kernel", "../../../", "./"], - "sources_path": ["*.cc", "*.S"], + "sources_path": ["*.cc", "*.S", "../../src/HEL/AMD64/*.cc", "../../src/HEL/AMD64/*.S", "../../src/*.cc"], "output_name": "syschk.sys", "compiler_flags": [ "-ffreestanding", @@ -16,6 +16,7 @@ "cpp_macros": [ "__MINOSKRNL__", "__ZBAOSLDR__", + "__BOOTLDR_STANDALONE__", "__ZKA_AMD64__", "kChkVersionHighest=0x0100", "kChkVersionLowest=0x0100", |
