diff options
Diffstat (limited to 'dev')
| -rw-r--r-- | dev/Boot/Mod/SysChk/Module.cc | 27 | ||||
| -rw-r--r-- | dev/Boot/Mod/SysChk/build.json | 3 | ||||
| -rw-r--r-- | dev/Boot/amd64-efi.make | 2 | ||||
| -rw-r--r-- | dev/Boot/src/HEL/AMD64/.gitkeep | 0 | ||||
| -rw-r--r-- | dev/Boot/src/HEL/AMD64/BootMain.cc | 9 | ||||
| -rw-r--r-- | dev/Boot/src/HEL/ARM64/BootMain.cc | 4 | ||||
| -rw-r--r-- | dev/Kernel/HALKit/ARM64/Storage/HalMFlash.cc (renamed from dev/Kernel/HALKit/ARM64/Storage/HalFlashMemory.cc) | 11 | ||||
| -rw-r--r-- | dev/Kernel/NewKit/Defines.h | 2 | ||||
| -rw-r--r-- | dev/Kernel/NewKit/Macros.h | 8 | ||||
| -rw-r--r-- | dev/Kernel/src/FS/NeFS.cc | 2 | ||||
| -rw-r--r-- | dev/Kernel/src/Json.cc | 2 | ||||
| -rw-r--r-- | dev/Kernel/src/KernelPanic.cc | 2 | ||||
| -rw-r--r-- | dev/Mod/GfxMgr/FBMgr.h | 34 | ||||
| -rw-r--r-- | dev/Mod/MFlash/MFlash.h (renamed from dev/Mod/Flash/Flash.h) | 0 |
14 files changed, 33 insertions, 73 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", diff --git a/dev/Boot/amd64-efi.make b/dev/Boot/amd64-efi.make index 3ffffee1..c9d04e7a 100644 --- a/dev/Boot/amd64-efi.make +++ b/dev/Boot/amd64-efi.make @@ -21,7 +21,7 @@ EMU=qemu-system-x86_64 -net none endif ifeq ($(NEWS_MODEL), ) -ZKA_MODEL=-DkMachineModel="\"ZKA\"" +ZKA_MODEL=-DkMachineModel="\"ZkaOS\"" endif BIOS=OVMF.fd diff --git a/dev/Boot/src/HEL/AMD64/.gitkeep b/dev/Boot/src/HEL/AMD64/.gitkeep deleted file mode 100644 index e69de29b..00000000 --- a/dev/Boot/src/HEL/AMD64/.gitkeep +++ /dev/null diff --git a/dev/Boot/src/HEL/AMD64/BootMain.cc b/dev/Boot/src/HEL/AMD64/BootMain.cc index 29238413..4609a1d3 100644 --- a/dev/Boot/src/HEL/AMD64/BootMain.cc +++ b/dev/Boot/src/HEL/AMD64/BootMain.cc @@ -147,7 +147,7 @@ EFI_EXTERN_C EFI_API Int32 Main(EfiHandlePtr ImageHandle, FBDrawBitMapInRegion(zka_disk, ZKA_DISK_HEIGHT, ZKA_DISK_WIDTH, (kHandoverHeader->f_GOP.f_Width - ZKA_DISK_WIDTH) / 2, (kHandoverHeader->f_GOP.f_Height - ZKA_DISK_HEIGHT) / 2); - fb_fini(); + fb_clear(); UInt32 cnt_enabled = 0; UInt32 cnt_disabled = 0; @@ -220,8 +220,7 @@ EFI_EXTERN_C EFI_API Int32 Main(EfiHandlePtr ImageHandle, Boot::BDiskFormatFactory<BootDeviceATA> partition_factory; - if (partition_factory.IsPartitionValid() == false && - syschk_thread->Start(handover_hdr, NO) == kEfiOk) + if (syschk_thread->Start(handover_hdr, NO) != kEfiOk) { fb_init(); @@ -232,13 +231,13 @@ EFI_EXTERN_C EFI_API Int32 Main(EfiHandlePtr ImageHandle, root.fKind = kNeFSCatalogKindDir; - partition_factory.Format("Zka HD", &root, 1); + partition_factory.Format(kMachineModel " HD", &root, 1); UI::ui_draw_background(); FBDrawBitMapInRegion(zka_has_disk, ZKA_HAS_DISK_HEIGHT, ZKA_HAS_DISK_WIDTH, (kHandoverHeader->f_GOP.f_Width - ZKA_HAS_DISK_WIDTH) / 2, (kHandoverHeader->f_GOP.f_Height - ZKA_HAS_DISK_HEIGHT) / 2); - fb_fini(); + fb_clear(); } // ------------------------------------------ // diff --git a/dev/Boot/src/HEL/ARM64/BootMain.cc b/dev/Boot/src/HEL/ARM64/BootMain.cc index fe35ea1b..254301a5 100644 --- a/dev/Boot/src/HEL/ARM64/BootMain.cc +++ b/dev/Boot/src/HEL/ARM64/BootMain.cc @@ -10,11 +10,11 @@ #include <BootKit/BootKit.h> #ifndef kExpectedWidth -#define kExpectedWidth 844 +#define kExpectedWidth (1280) #endif #ifndef kExpectedHeight -#define kExpectedHeight 390 +#define kExpectedHeight (720) #endif EXTERN EfiBootServices* BS; diff --git a/dev/Kernel/HALKit/ARM64/Storage/HalFlashMemory.cc b/dev/Kernel/HALKit/ARM64/Storage/HalMFlash.cc index d5a9ecf4..bc892e26 100644 --- a/dev/Kernel/HALKit/ARM64/Storage/HalFlashMemory.cc +++ b/dev/Kernel/HALKit/ARM64/Storage/HalMFlash.cc @@ -4,13 +4,14 @@ ------------------------------------------- */ +#ifdef ZKA_USE_MBCI_FLASH + #include <NewKit/Defines.h> #include <ArchKit/ArchKit.h> +#include <Mod/MFlash/MFlash.h> -/// @file Flash.cc -/// @brief Flash memory builtin. - -#ifdef ZKA_USE_MBCI_FLASH +/// @file HalMFlash.cc +/// @brief MBCI Flash builtin. #define kMaxFlash (4U) @@ -20,7 +21,7 @@ namespace Kernel constexpr auto kFlashBridgeMagic = "FLSH"; constexpr auto kFlashBridgeRevision = 1; - STATIC const Boolean kFlashEnabled = No; + STATIC CONST Boolean kFlashEnabled = No; STATIC SizeT kFlashSize[kMaxFlash] = {}; STATIC SizeT kFlashSectorSz[kMaxFlash] = {}; diff --git a/dev/Kernel/NewKit/Defines.h b/dev/Kernel/NewKit/Defines.h index 109be603..760fc100 100644 --- a/dev/Kernel/NewKit/Defines.h +++ b/dev/Kernel/NewKit/Defines.h @@ -75,7 +75,7 @@ namespace Kernel using Lba = UInt64; - using EfiChar16Type = char16_t; + using Char16 = char16_t; enum class Endian : UInt8 { diff --git a/dev/Kernel/NewKit/Macros.h b/dev/Kernel/NewKit/Macros.h index 15f7fe26..d2bc9ce7 100644 --- a/dev/Kernel/NewKit/Macros.h +++ b/dev/Kernel/NewKit/Macros.h @@ -142,8 +142,8 @@ #define BOOL Kernel::Boolean -#ifdef INIT_OBJECT -#undef INIT_OBJECT -#endif // ifdef INIT_OBJECT +#ifdef RTL_INIT_OBJECT +#undef RTL_INIT_OBJECT +#endif // ifdef RTL_INIT_OBJECT -#define INIT_OBJECT(OBJ, TYPE, ...) TYPE OBJ = TYPE(__VA_ARGS__) +#define RTL_INIT_OBJECT(OBJ, TYPE, ...) TYPE OBJ = TYPE(__VA_ARGS__) diff --git a/dev/Kernel/src/FS/NeFS.cc b/dev/Kernel/src/FS/NeFS.cc index 5484efc7..ecba58cb 100644 --- a/dev/Kernel/src/FS/NeFS.cc +++ b/dev/Kernel/src/FS/NeFS.cc @@ -11,7 +11,7 @@ #include <Mod/AHCI/AHCI.h> #include <Mod/ATA/ATA.h> -#include <Mod/Flash/Flash.h> +#include <Mod/MFlash/MFlash.h> #include <KernelKit/LPC.h> #include <NewKit/Crc32.h> #include <NewKit/KernelPanic.h> diff --git a/dev/Kernel/src/Json.cc b/dev/Kernel/src/Json.cc index f9fef7eb..c19d9149 100644 --- a/dev/Kernel/src/Json.cc +++ b/dev/Kernel/src/Json.cc @@ -7,4 +7,4 @@ #include <NewKit/Json.h> /// @brief Undefined object, is null in length. -INIT_OBJECT(Kernel::JSON::kNull, Kernel::JSON); +RTL_INIT_OBJECT(Kernel::JSON::kNull, Kernel::JSON); diff --git a/dev/Kernel/src/KernelPanic.cc b/dev/Kernel/src/KernelPanic.cc index f26925c5..9d1dda99 100644 --- a/dev/Kernel/src/KernelPanic.cc +++ b/dev/Kernel/src/KernelPanic.cc @@ -39,7 +39,7 @@ namespace Kernel start_y += 10; - fb_fini(); + fb_clear(); // show text according to error id. diff --git a/dev/Mod/GfxMgr/FBMgr.h b/dev/Mod/GfxMgr/FBMgr.h index 37fbaddc..75bdba6d 100644 --- a/dev/Mod/GfxMgr/FBMgr.h +++ b/dev/Mod/GfxMgr/FBMgr.h @@ -14,7 +14,7 @@ #define fb_get_clear_clr() fb_color(0x20, 0x20, 0x20) -#define fb_fini() kCGCursor = 0 +#define fb_clear() kCGCursor = 0 /// @brief Performs OR drawing on the framebuffer. #define FBDrawBitMapInRegionA(_BitMp, _Height, _Width, _BaseX, _BaseY) \ @@ -100,34 +100,6 @@ } \ } -#define FBDrawInRegionToVideoRgn(_VideoRgn, _Clr, _Height, _Width, _BaseX, _BaseY) \ - kCGCursor = 0; \ - \ - for (Kernel::SizeT x_base = _BaseX; x_base < (_Width + _BaseX); ++x_base) \ - { \ - for (Kernel::SizeT y_base = _BaseY; y_base < (_Height + _BaseY); ++y_base) \ - { \ - *(((volatile Kernel::UInt32*)(_VideoRgn + \ - 4 * kHandoverHeader->f_GOP.f_PixelPerLine * \ - x_base + \ - 4 * y_base))) = _Clr; \ - ++kCGCursor; \ - } \ - } - -#define FBDrawInRegionToVideoRgnA(_VideoRgn, _Clr, _Height, _Width, _BaseX, _BaseY) \ - for (Kernel::SizeT x_base = _BaseX; x_base < (_Width + _BaseX); ++x_base) \ - { \ - for (Kernel::SizeT y_base = _BaseY; y_base < (_Height + _BaseY); ++y_base) \ - { \ - *(((volatile Kernel::UInt32*)(_VideoRgn + \ - 4 * kHandoverHeader->f_GOP.f_PixelPerLine * \ - x_base + \ - 4 * y_base))) |= _Clr; \ - ++kCGCursor; \ - } \ - } - #define FBDrawInRegionA(_Clr, _Height, _Width, _BaseX, _BaseY) \ for (Kernel::SizeT x_base = _BaseX; x_base < (_Width + _BaseX); ++x_base) \ { \ @@ -140,7 +112,9 @@ } \ } +#ifndef GFX_MGR_ACCESSIBILITY_H #include <Mod/GfxMgr/AccessibilityMgr.h> +#endif // ifndef GFX_MGR_ACCESSIBILITY_H namespace UI { @@ -151,7 +125,7 @@ namespace UI FBDrawInRegion(fb_get_clear_clr(), UI::UIAccessibilty::Height(), UI::UIAccessibilty::Width(), 0, 0); - fb_fini(); + fb_clear(); } } // namespace UI
\ No newline at end of file diff --git a/dev/Mod/Flash/Flash.h b/dev/Mod/MFlash/MFlash.h index 9f5d4117..9f5d4117 100644 --- a/dev/Mod/Flash/Flash.h +++ b/dev/Mod/MFlash/MFlash.h |
