summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--dev/Boot/Mod/SysChk/Module.cc27
-rw-r--r--dev/Boot/Mod/SysChk/build.json3
-rw-r--r--dev/Boot/amd64-efi.make2
-rw-r--r--dev/Boot/src/HEL/AMD64/.gitkeep0
-rw-r--r--dev/Boot/src/HEL/AMD64/BootMain.cc9
-rw-r--r--dev/Boot/src/HEL/ARM64/BootMain.cc4
-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.h2
-rw-r--r--dev/Kernel/NewKit/Macros.h8
-rw-r--r--dev/Kernel/src/FS/NeFS.cc2
-rw-r--r--dev/Kernel/src/Json.cc2
-rw-r--r--dev/Kernel/src/KernelPanic.cc2
-rw-r--r--dev/Mod/GfxMgr/FBMgr.h34
-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