From 34cc73d2e443ab812e42982a76310627a6693f64 Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Thu, 29 Aug 2024 18:13:03 +0200 Subject: [FIX] Fix storage size for SSD inside StorageKit. [FIX] Don't support SIGG executables on bootloader side. [REF] Rename SIGG to FMT, to contain other formats. Signed-off-by: Amlal El Mahrouss --- dev/FMT/SIGG.hxx | 39 +++++++++++++++++++++++++++++++++++++++ dev/SIGG/SIGG.hxx | 37 ------------------------------------- dev/ZBA/Sources/Thread.cxx | 10 ++++++---- dev/ZKA/StorageKit/Storage.hxx | 4 ++-- 4 files changed, 47 insertions(+), 43 deletions(-) create mode 100644 dev/FMT/SIGG.hxx delete mode 100644 dev/SIGG/SIGG.hxx (limited to 'dev') diff --git a/dev/FMT/SIGG.hxx b/dev/FMT/SIGG.hxx new file mode 100644 index 00000000..a1e8400f --- /dev/null +++ b/dev/FMT/SIGG.hxx @@ -0,0 +1,39 @@ +/* ------------------------------------------- + + Copyright ZKA Technologies. + +------------------------------------------- */ + +#pragma once + +/// @file SIGG.hxx +/// @brief SIGG is the extended PE32+ container for drivers, not to confused with .sign.exe, .sign.dll formats. + +#include +#include +#include + +#define kDriverSignedExt ".sigg" +#define kDriverExt ".sys" +#define kSignedDriverMagic "SIGG" + +/// @brief SIGG format, takes care of signed drivers. + +namespace Kernel +{ + namespace Detail + { + /// @brief Instablle Secure Driver record. + struct SIGNED_DRIVER_HEADER final + { + // doesn't change. + Char d_binary_magic[5]; + Int d_binary_version; + // can change. + Char d_binary_name[4096]; + UInt64 d_binary_checksum; + UInt64 d_binary_size; + Char d_binary_padding[512]; + }; + } // namespace Detail +} // namespace Kernel diff --git a/dev/SIGG/SIGG.hxx b/dev/SIGG/SIGG.hxx deleted file mode 100644 index e7d9f60b..00000000 --- a/dev/SIGG/SIGG.hxx +++ /dev/null @@ -1,37 +0,0 @@ -/* ------------------------------------------- - - Copyright ZKA Technologies. - -------------------------------------------- */ - -#pragma once - -#include -#include -#include -#include - -#define kDriverSignedExt ".sigg" -#define kDriverExt ".sys" -#define kSignedDriverMagic "SIGG" - -/// @brief SIGG format, takes care of signed drivers. - -namespace Kernel -{ - namespace Detail - { - /// @brief Instablle Secure Driver record. - struct SIGNED_DRIVER_HEADER final - { - // doesn't change. - char d_binary_magic[5]; - int d_binary_version; - // can change. - char d_binary_name[4096]; - UInt64 d_binary_checksum; - UInt64 d_binary_size; - char d_binary_padding[512]; - }; - } // namespace Detail -} // namespace Kernel diff --git a/dev/ZBA/Sources/Thread.cxx b/dev/ZBA/Sources/Thread.cxx index 2f662f0d..bddbdd52 100644 --- a/dev/ZBA/Sources/Thread.cxx +++ b/dev/ZBA/Sources/Thread.cxx @@ -15,7 +15,8 @@ #include #include -#include +//! Get SIGG header from formats directory. +#include EXTERN_C{ #include @@ -111,7 +112,7 @@ namespace Boot if (structHandover->HandoverMagic != kHandoverMagic && structHandover->HandoverType != HEL::kTypeKernel) { - writer.Write("newosldr: Entrypoint of SYS: ").Write((UIntPtr)fStartAddress).Write("\r"); + writer.Write("newosldr: Entrypoint of EXE: ").Write((UIntPtr)fStartAddress).Write("\r"); CGDrawString("NEWOSLDR: NOT AN HANDOVER IMAGE...", 40, 10, RGB(0xFF, 0xFF, 0xFF)); } } @@ -131,11 +132,12 @@ namespace Boot // ========================================= // fStartAddress = nullptr; - writer.Write("newosldr: PEF executable detected.\r"); + writer.Write("newosldr: PEF executable detected, won't load it.\r"); + writer.Write("newosldr: note: PEF executables aren't loadable by default.\r"); } else { - writer.Write("newosldr: Invalid executable.\r"); + writer.Write("newosldr: Invalid executable. (note: SIGG executables aren't loadable by default).\r"); } } diff --git a/dev/ZKA/StorageKit/Storage.hxx b/dev/ZKA/StorageKit/Storage.hxx index a9e0f8e4..70f22420 100644 --- a/dev/ZKA/StorageKit/Storage.hxx +++ b/dev/ZKA/StorageKit/Storage.hxx @@ -6,8 +6,8 @@ #pragma once -#define kDriveSectorSizeHDD (512) -#define kDriveSectorSizeSSD (4096) +#define kDriveSectorSizeHDD (512U) +#define kDriveSectorSizeSSD (512U) #define kDriveSectorSizeOptical (2048) namespace Kernel -- cgit v1.2.3