diff options
50 files changed, 117 insertions, 285 deletions
diff --git a/dev/sci/sci_hint.h b/dev/SCIKit/CompilerHint.h index b550bac5..b550bac5 100644 --- a/dev/sci/sci_hint.h +++ b/dev/SCIKit/CompilerHint.h diff --git a/dev/sci/sci_base.h b/dev/SCIKit/Foundation.h index 0860e72f..d0ba87a1 100644 --- a/dev/sci/sci_base.h +++ b/dev/SCIKit/Foundation.h @@ -7,11 +7,10 @@ Purpose: SCI core header file (C++ only). ------------------------------------------- */
-#ifndef __SCI_BASE_H__
-#define __SCI_BASE_H__
+#ifndef SCI_BASE_H
+#define SCI_BASE_H
#define ATTRIBUTE(X) __attribute__((X))
-#define IMPORT_XPCOM extern "XPCOM"
#define IMPORT_CXX extern "C++"
#define IMPORT_C extern "C"
@@ -34,8 +33,8 @@ typedef void* VoidPtr; typedef __UINTPTR_TYPE__ UIntPtr;
typedef char Char;
-#include <sci/sci_hint.h>
-#include <sci/sci_lpc.h>
+#include <SCIKit/CompilerHint.h>
+#include <SCIKit/LPC.h>
// ------------------------------------------------------------------------------------------ //
/// @brief Handle Type Definitions.
@@ -122,38 +121,6 @@ IMPORT_C UInt64 IoSeekFile(_Input SCIObject file_desc, UInt64 file_offset); /// @return > 0 error ocurred or already present, = 0 success.
IMPORT_C UInt32 RtlTlsInstall(Void);
-#ifndef __XPCOM_IMPL__
-
-// ------------------------------------------------------------------------
-// XPCOM API.
-// ------------------------------------------------------------------------
-
-/// @brief Allocate new XPCOM object.
-/// @tparam TCLS the class type.
-/// @tparam UCLSID UCLS factory class type.
-/// @param uclsidOfCls UCLS factory class
-/// @return TCLS interface
-template <typename TCLS, typename UCLSID, typename... Args>
-TCLS* XPCOMQueryClass(_Input UCLSID* uclsidOfCls, _Input Args&&... args);
-
-/// @brief Release XPCOM object.
-/// @tparam TCLS the class type.
-/// @param cls the class to release.
-/// @return status code.
-template <typename TCLS>
-SInt32 XPCOMReleaseClass(_Input TCLS* cls);
-
-/// @brief Creates an XPCOM instance in the process.
-/// @param handle_instance the XPCOM handle.
-/// @param flags the XPCOM flags.
-IMPORT_C SInt32 XPCOMCreateInstance(_Input UInt32 flags, _Output SCIObject* handle_instance);
-
-/// @brief Destroys an XPCOM instance of the process.
-/// @param handle_instance the XPCOM handle.
-IMPORT_C Void XPCOMDestroyInstance(_Input SCIObject handle_instance);
-
-#endif // !__XPCOM_IMPL__
-
// ------------------------------------------------------------------------
// Memory Management API.
// ------------------------------------------------------------------------
@@ -207,26 +174,27 @@ IMPORT_C Void ThrExitMainThread(_Input SInt32 exit_code); /// @param exit_code the exit code.
IMPORT_C Void ThrExitThread(_Input ThreadObject thread, _Input SInt32 exit_code);
+/// @brief Thread procedure function type.
typedef Void (*ThreadProc)(Void);
-/// @brief Create a thread.
+/// @brief Creates a thread.
/// @param procedure the thread procedure.
/// @param argument_count number of arguments inside that thread.
/// @param flags Thread flags.
/// @return the thread object.
IMPORT_C ThreadObject ThrCreateThread(ThreadProc procedure, SInt32 argument_count, SInt32 flags);
-/// @brief Yield the current thread.
+/// @brief Yields the current thread.
/// @param thread the thread to yield.
-IMPORT_C Void ThrExitYieldThread(Void);
+IMPORT_C Void ThrYieldThread(Void);
-/// @brief Join a thread.
+/// @brief Joins a thread.
/// @param thread the thread to join.
-IMPORT_C Void ThrExitJoinThread(Void);
+IMPORT_C Void ThrJoinThread(Void);
-/// @brief Detach a thread.
+/// @brief Detach sa thread.
/// @param thread the thread to detach.
-IMPORT_C Void ThrExitDetachThread(Void);
+IMPORT_C Void ThrDetachThread(Void);
// ------------------------------------------------------------------------
// Drive Management API.
@@ -278,4 +246,4 @@ IMPORT_C Void EvtRemoveListener(_Input const Char* event_name, _Input SCIObject /// @return the event data.
IMPORT_C VoidPtr EvtDispatchEvent(_Input const Char* event_name, _Input VoidPtr event_data);
-#endif // ifndef __SCI_BASE_H__
+#endif // ifndef SCI_BASE_H
diff --git a/dev/sci/sci_lpc.h b/dev/SCIKit/LPC.h index c634b790..c634b790 100644 --- a/dev/sci/sci_lpc.h +++ b/dev/SCIKit/LPC.h diff --git a/dev/sci/ReadMe.md b/dev/SCIKit/ReadMe.md index f3b5a156..f3b5a156 100644 --- a/dev/sci/ReadMe.md +++ b/dev/SCIKit/ReadMe.md diff --git a/dev/sci/sci.json b/dev/SCIKit/build.json index 104be044..104be044 100644 --- a/dev/sci/sci.json +++ b/dev/SCIKit/build.json diff --git a/dev/sci/makefile b/dev/SCIKit/makefile index f18fbeff..f18fbeff 100644 --- a/dev/sci/makefile +++ b/dev/SCIKit/makefile diff --git a/dev/sci/scm-design.drawio b/dev/SCIKit/scm-design.drawio index 22bcace6..22bcace6 100644 --- a/dev/sci/scm-design.drawio +++ b/dev/SCIKit/scm-design.drawio diff --git a/dev/sci/src/sci_mm.cc b/dev/SCIKit/src/Foundation.cc index a776fe4a..93104a45 100644 --- a/dev/sci/src/sci_mm.cc +++ b/dev/SCIKit/src/Foundation.cc @@ -4,9 +4,9 @@ ------------------------------------------- */
-#include <sci/sci_base.h>
+#include <SCIKit/Foundation.h>
-/// @file sci_base.cxx
+/// @file sci_base.cc
/// @brief Base Memory Manager functions for SCI.dll
/// @brief Copy memory region.
diff --git a/dev/sci/source_deploy.xml b/dev/sci/source_deploy.xml deleted file mode 100644 index 30c64973..00000000 --- a/dev/sci/source_deploy.xml +++ /dev/null @@ -1,6 +0,0 @@ -<SourceDeploy>
-<HiddenFiles>
- <SourceFile>*.h</SourceFile>
- <SourceFile>*.idl</SourceFile>
-</HiddenFiles>
-</SourceDeploy>
diff --git a/dev/zba/src/BootFileReader.cc b/dev/zba/src/BootFileReader.cc index 835fcb05..ab5d53ee 100644 --- a/dev/zba/src/BootFileReader.cc +++ b/dev/zba/src/BootFileReader.cc @@ -2,7 +2,7 @@ Copyright ZKA Web Services Co. - File: FileReader.cxx + File: FileReader.cc Purpose: New Boot FileReader, Read complete file and store it in a buffer. diff --git a/dev/zba/src/BootString.cc b/dev/zba/src/BootString.cc index faa7f168..6bc5cf9d 100644 --- a/dev/zba/src/BootString.cc +++ b/dev/zba/src/BootString.cc @@ -2,7 +2,7 @@ Copyright ZKA Web Services Co. - File: String.cxx + File: String.cc Purpose: ZBA string library Revision History: diff --git a/dev/zba/src/BootTextWriter.cc b/dev/zba/src/BootTextWriter.cc index 650484b3..e394d193 100644 --- a/dev/zba/src/BootTextWriter.cc +++ b/dev/zba/src/BootTextWriter.cc @@ -2,7 +2,7 @@ Copyright ZKA Web Services Co. - File: String.cxx + File: String.cc Purpose: ZBA string library Revision History: diff --git a/dev/zba/src/Thread.cc b/dev/zba/src/BootThread.cc index d009a633..c185b367 100644 --- a/dev/zba/src/Thread.cc +++ b/dev/zba/src/BootThread.cc @@ -12,7 +12,7 @@ #include <KernelKit/PEF.h> #include <KernelKit/PE.h> #include <KernelKit/MSDOS.h> -#include <CFKit/LoaderUtils.h> +#include <CFKit/Utils.h> #include <modules/FB/Text.h> // External boot services symbol. diff --git a/dev/zba/src/HEL/AMD64/BootAHCI.cc b/dev/zba/src/HEL/AMD64/BootAHCI.cc index 5899f177..60520ac9 100644 --- a/dev/zba/src/HEL/AMD64/BootAHCI.cc +++ b/dev/zba/src/HEL/AMD64/BootAHCI.cc @@ -5,9 +5,9 @@ ------------------------------------------- */ /** - * @file AHCI.cxx + * @file BootAHCI.cc * @author Amlal El Mahrouss (amlalelmahrouss@icloud.com) - * @brief AHCI driver. + * @brief AHCI support for ZBA. * @version 0.1 * @date 2024-02-02 * diff --git a/dev/zba/src/HEL/AMD64/BootATA.cc b/dev/zba/src/HEL/AMD64/BootATA.cc index 0faba789..34f1df29 100644 --- a/dev/zba/src/HEL/AMD64/BootATA.cc +++ b/dev/zba/src/HEL/AMD64/BootATA.cc @@ -5,7 +5,7 @@ ------------------------------------------- */ /** - * @file ATA.cxx + * @file BootATA.cc * @author Amlal El Mahrouss (amlalelmahrouss@icloud.com) * @brief ATA driver. * @version 0.1 diff --git a/dev/zba/src/HEL/AMD64/BootMain.cc b/dev/zba/src/HEL/AMD64/BootMain.cc index 392fce0d..e939ac18 100644 --- a/dev/zba/src/HEL/AMD64/BootMain.cc +++ b/dev/zba/src/HEL/AMD64/BootMain.cc @@ -17,17 +17,17 @@ #include <NewKit/Ref.h> #include <BootKit/Thread.h> -// make the compiler shut up. +// Makes the compiler shut up. #ifndef kMachineModel #define kMachineModel "ZKA SSD" #endif // !kMachineModel -#ifndef cExpectedWidth -#define cExpectedWidth 1280 +#ifndef kExpectedWidth +#define kExpectedWidth 1280 #endif -#ifndef cExpectedHeight -#define cExpectedHeight 720 +#ifndef kExpectedHeight +#define kExpectedHeight 720 #endif /** Graphics related. */ @@ -38,18 +38,18 @@ STATIC EfiGUID kGopGuid; EXTERN_C Void rt_reset_hardware(); -/** - @brief Finds and stores the GOP. -*/ - EXTERN EfiBootServices* BS; -STATIC Void boot_init_fb() noexcept +/** + @brief Finds and stores the GOP object. +*/ +STATIC Bool boot_init_fb() noexcept { kGopGuid = EfiGUID(EFI_GRAPHICS_OUTPUT_PROTOCOL_GUID); kGop = nullptr; - BS->LocateProtocol(&kGopGuid, nullptr, (VoidPtr*)&kGop); + if (BS->LocateProtocol(&kGopGuid, nullptr, (VoidPtr*)&kGop) /= kEfiOk) + return No; kGopStride = 4; @@ -60,8 +60,8 @@ STATIC Void boot_init_fb() noexcept kGop->QueryMode(kGop, i, &sz, &infoPtr); - if (infoPtr->HorizontalResolution == cExpectedWidth && - infoPtr->VerticalResolution == cExpectedHeight) + if (infoPtr->HorizontalResolution == kExpectedWidth && + infoPtr->VerticalResolution == kExpectedHeight) { kGop->SetMode(kGop, i); break; @@ -93,15 +93,16 @@ EFI_EXTERN_C EFI_API Int32 Main(EfiHandlePtr ImageHandle, UInt32 rev_desc = 0; #ifdef __ZKA_USE_FB__ - boot_init_fb(); ///! Init the GOP. + if (!boot_init_fb()) + return -1; ///! Init the GOP. - for (SizeT indexVT = 0; indexVT < SystemTable->NumberOfTableEntries; - ++indexVT) + for (SizeT index_vt = 0; index_vt < SystemTable->NumberOfTableEntries; + ++index_vt) { Char* vendor_table = reinterpret_cast<Char*>( - SystemTable->ConfigurationTable[indexVT].VendorTable); + SystemTable->ConfigurationTable[index_vt].VendorTable); - /// ACPI's 'RSD PTR', which contains hardware tables (MADT, FACP...) + // ACPI's 'RSD PTR', which contains the ACPI SDT (MADT, FACP...) if (vendor_table[0] == 'R' && vendor_table[1] == 'S' && vendor_table[2] == 'D' && vendor_table[3] == ' ' && vendor_table[4] == 'P' && vendor_table[5] == 'T' && @@ -164,7 +165,6 @@ EFI_EXTERN_C EFI_API Int32 Main(EfiHandlePtr ImageHandle, // format the disk. // ---------------------------------------------------- // -#ifdef __AHCI__ if (!partition_factory.IsPartitionValid()) { Boot::BDiskFormatFactory<BootDeviceATA>::BFileDescriptor root; @@ -177,7 +177,6 @@ EFI_EXTERN_C EFI_API Int32 Main(EfiHandlePtr ImageHandle, rt_reset_hardware(); } -#endif BS->GetMemoryMap(&size_struct_ptr, struct_ptr, &map_key, &sz_desc, &rev_desc); @@ -231,7 +230,7 @@ EFI_EXTERN_C EFI_API Int32 Main(EfiHandlePtr ImageHandle, if (reader_syschk.Blob()) { syschk_thread = new Boot::BThread(reader_syschk.Blob()); - syschk_thread->SetName("System Check."); + syschk_thread->SetName("System Check (Integrity check)"); } syschk_thread->Start(handover_hdr); @@ -268,7 +267,7 @@ EFI_EXTERN_C EFI_API Int32 Main(EfiHandlePtr ImageHandle, if (reader_kernel.Blob()) { kernel_thread = new Boot::BThread(reader_kernel.Blob()); - kernel_thread->SetName("Minimal Kernel."); + kernel_thread->SetName("OS Kernel (Microkernel)."); handover_hdr->f_KernelImage = reader_kernel.Blob(); } @@ -315,7 +314,7 @@ EFI_EXTERN_C EFI_API Int32 Main(EfiHandlePtr ImageHandle, #endif // __ZKA_USE_FB__ // ---------------------------------------------------- // - // Finally load Kernel, and the cr3 to it. + // Finally load the operating system kernel. // ---------------------------------------------------- // kernel_thread->Start(handover_hdr); diff --git a/dev/zka/CFKit/GUIDWizard.h b/dev/zka/CFKit/GUIDWizard.h index 4a41cf7f..b4a92249 100644 --- a/dev/zka/CFKit/GUIDWizard.h +++ b/dev/zka/CFKit/GUIDWizard.h @@ -19,6 +19,6 @@ namespace CFKit::XRN::Version1 { using namespace Kernel; - Ref<GUIDSequence> cf_make_sequence(const ArrayList<UInt32>& seq); - ErrorOr<Ref<Kernel::StringView>> cf_try_guid_to_string(Ref<GUIDSequence>& guid); + Ref<GUIDSequence*> cf_make_sequence(const ArrayList<UInt32>& seq); + ErrorOr<Ref<Kernel::StringView>> cf_try_guid_to_string(Ref<GUIDSequence*>& guid); } // namespace CFKit::XRN::Version1 diff --git a/dev/zka/CFKit/LoaderUtils.h b/dev/zka/CFKit/Utils.h index edaa38d0..370eca45 100644 --- a/dev/zka/CFKit/LoaderUtils.h +++ b/dev/zka/CFKit/Utils.h @@ -1,5 +1,5 @@ -#ifndef __CFKIT_LOADER_UTILS_H__ -#define __CFKIT_LOADER_UTILS_H__ +#ifndef CFKIT_UTILS_H +#define CFKIT_UTILS_H #include <KernelKit/PE.h> #include <KernelKit/MSDOS.h> @@ -52,4 +52,4 @@ namespace CFKit } } // namespace CFKit -#endif // ifndef __CFKIT_LOADER_UTILS_H__ +#endif // ifndef CFKIT_UTILS_H diff --git a/dev/zka/HALKit/AMD64/HalCPU.cc b/dev/zka/HALKit/AMD64/HalCPU.cc index 80729346..d24bfc0a 100644 --- a/dev/zka/HALKit/AMD64/HalCPU.cc +++ b/dev/zka/HALKit/AMD64/HalCPU.cc @@ -2,7 +2,7 @@ Copyright ZKA Web Services Co. - File: HalCPU.cxx + File: HalCPU.cc Purpose: Platform processor routines. ------------------------------------------- */ @@ -11,7 +11,7 @@ #include <HALKit/AMD64/Processor.h> /** - * @file HalCPU.cxx + * @file HalCPU.cc * @brief Common CPU API. */ diff --git a/dev/zka/HALKit/AMD64/HalDebugPort.cc b/dev/zka/HALKit/AMD64/HalDebugPort.cc index 6c8ebf2b..c6acfac6 100644 --- a/dev/zka/HALKit/AMD64/HalDebugPort.cc +++ b/dev/zka/HALKit/AMD64/HalDebugPort.cc @@ -4,7 +4,7 @@ ------------------------------------------- */ -//! @file DebuggerPort.cxx +//! @file DebuggerPort.cc //! @brief UART debug via packets. #include <ArchKit/ArchKit.h> diff --git a/dev/zka/HALKit/AMD64/HalPagingMgr.cc b/dev/zka/HALKit/AMD64/HalPagingMgr.cc index afc86eeb..1a7202d7 100644 --- a/dev/zka/HALKit/AMD64/HalPagingMgr.cc +++ b/dev/zka/HALKit/AMD64/HalPagingMgr.cc @@ -2,7 +2,7 @@ Copyright ZKA Web Services Co. - File: HalPagingMgr.cxx + File: HalPagingMgr.cc Purpose: Platform Paging Manager.. ------------------------------------------- */ diff --git a/dev/zka/HALKit/AMD64/HalTimer.cc b/dev/zka/HALKit/AMD64/HalTimer.cc index 6d552a09..c7f6bea3 100644 --- a/dev/zka/HALKit/AMD64/HalTimer.cc +++ b/dev/zka/HALKit/AMD64/HalTimer.cc @@ -2,7 +2,7 @@ Copyright ZKA Web Services Co.
- File: HalTimer.cxx
+ File: HalTimer.cc
Purpose: HAL timer
Revision History:
@@ -23,7 +23,7 @@ #define cHPETInterruptRegValue (0x2C)
///! BUGS: 0
-///! @file HalTimer.cxx
+///! @file HalTimer.cc
///! @brief Hardware Timer (HPET)
namespace Kernel::Detail
diff --git a/dev/zka/HALKit/AMD64/Storage/AHCI.cc b/dev/zka/HALKit/AMD64/Storage/AHCI.cc index 1d237465..1a9b640f 100644 --- a/dev/zka/HALKit/AMD64/Storage/AHCI.cc +++ b/dev/zka/HALKit/AMD64/Storage/AHCI.cc @@ -5,7 +5,7 @@ ------------------------------------------- */ /** - * @file AHCI.cxx + * @file AHCI.cc * @author Amlal El Mahrouss (amlalelmahrouss@icloud.com) * @brief AHCI driver. * @version 0.1 diff --git a/dev/zka/HALKit/AMD64/Storage/ATA-DMA.cc b/dev/zka/HALKit/AMD64/Storage/ATA-DMA.cc index ddf08501..841960e1 100644 --- a/dev/zka/HALKit/AMD64/Storage/ATA-DMA.cc +++ b/dev/zka/HALKit/AMD64/Storage/ATA-DMA.cc @@ -5,7 +5,7 @@ ------------------------------------------- */ /** - * @file ATA-DMA.cxx + * @file ATA-DMA.cc * @author Amlal El Mahrouss (amlalelmahrouss@icloud.com) * @brief ATA driver (DMA mode). * @version 0.1 diff --git a/dev/zka/HALKit/AMD64/Storage/ATA-PIO.cc b/dev/zka/HALKit/AMD64/Storage/ATA-PIO.cc index f3907fa3..eaefbd58 100644 --- a/dev/zka/HALKit/AMD64/Storage/ATA-PIO.cc +++ b/dev/zka/HALKit/AMD64/Storage/ATA-PIO.cc @@ -5,7 +5,7 @@ ------------------------------------------- */ /** - * @file ATA-PIO.cxx + * @file ATA-PIO.cc * @author Amlal El Mahrouss (amlalelmahrouss@icloud.com) * @brief ATA driver (PIO mode). * @version 0.1 diff --git a/dev/zka/HALKit/ARM64/HalPagingMgr.cc b/dev/zka/HALKit/ARM64/HalPagingMgr.cc index 0182c315..52dd738b 100644 --- a/dev/zka/HALKit/ARM64/HalPagingMgr.cc +++ b/dev/zka/HALKit/ARM64/HalPagingMgr.cc @@ -2,7 +2,7 @@ Copyright ZKA Web Services Co. - File: HalPagingMgr.cxx + File: HalPagingMgr.cc Purpose: Platform Paging Manager.. ------------------------------------------- */ diff --git a/dev/zka/HALKit/ARM64/HalTimer.cc b/dev/zka/HALKit/ARM64/HalTimer.cc index d3f8c457..18b15bf3 100644 --- a/dev/zka/HALKit/ARM64/HalTimer.cc +++ b/dev/zka/HALKit/ARM64/HalTimer.cc @@ -2,7 +2,7 @@ Copyright ZKA Web Services Co. - File: HalTimer.cxx + File: HalTimer.cc Purpose: HAL timer Revision History: diff --git a/dev/zka/HALKit/ARM64/Storage/HalFlash.cc b/dev/zka/HALKit/ARM64/Storage/HalFlash.cc index d64d9d82..24999070 100644 --- a/dev/zka/HALKit/ARM64/Storage/HalFlash.cc +++ b/dev/zka/HALKit/ARM64/Storage/HalFlash.cc @@ -7,7 +7,7 @@ #include <NewKit/Defines.h> #include <ArchKit/ArchKit.h> -/// @file Flash.cxx +/// @file Flash.cc /// @brief Flash memory builtin. #ifdef __USE_MBCI_FLASH__ diff --git a/dev/zka/src/DriveMgr.cc b/dev/zka/src/DriveMgr.cc index 16e3c12d..e2011785 100644 --- a/dev/zka/src/DriveMgr.cc +++ b/dev/zka/src/DriveMgr.cc @@ -13,7 +13,7 @@ #include <modules/NVME/NVME.h> /***********************************************************************************/ -/// @file DriveMgr.cxx +/// @file DriveMgr.cc /// @brief Drive Manager API. /***********************************************************************************/ diff --git a/dev/zka/src/ErrorOr.cc b/dev/zka/src/ErrorOr.cc index 9c10745e..b6b3aca4 100644 --- a/dev/zka/src/ErrorOr.cc +++ b/dev/zka/src/ErrorOr.cc @@ -7,6 +7,6 @@ #include <NewKit/ErrorOr.h> /***********************************************************************************/ -/// @file ErrorOr.cxx /// +/// @file ErrorOr.cc /// /// @brief ErrorOr container class. /// /***********************************************************************************/ diff --git a/dev/zka/src/GUIDWizard.cc b/dev/zka/src/GUIDWizard.cc index a904696f..d72c77eb 100644 --- a/dev/zka/src/GUIDWizard.cc +++ b/dev/zka/src/GUIDWizard.cc @@ -2,7 +2,7 @@ Copyright ZKA Web Services Co. - File: GUIDWizard.cxx + File: GUIDWizard.cc Purpose: GUID helper code Revision History: @@ -13,53 +13,53 @@ #include <NewKit/Ref.h> // begin of ascii 'readable' characters. (A, C, C, 1, 2) -#define kAsciiBegin 47 +#define kUUIDAsciiBegin 47 // @brief Size of UUID. #define kUUIDSize 37 namespace CFKit::XRN::Version1 { - auto cf_make_sequence(const ArrayList<UInt32>& uuidSeq) -> Ref<GUIDSequence> + auto cf_make_sequence(const ArrayList<UInt32>& uuidSeq) -> Ref<GUIDSequence*> { GUIDSequence* seq = new GUIDSequence(); MUST_PASS(seq); - Ref<GUIDSequence> seq_ref{*seq}; + Ref<GUIDSequence*> seq_ref{seq}; - seq_ref.Leak().fMs1 = uuidSeq[0]; - seq_ref.Leak().fMs2 = uuidSeq[1]; - seq_ref.Leak().fMs3 = uuidSeq[2]; - seq_ref.Leak().fMs4[0] = uuidSeq[3]; - seq_ref.Leak().fMs4[1] = uuidSeq[4]; - seq_ref.Leak().fMs4[2] = uuidSeq[5]; - seq_ref.Leak().fMs4[3] = uuidSeq[6]; - seq_ref.Leak().fMs4[4] = uuidSeq[7]; - seq_ref.Leak().fMs4[5] = uuidSeq[8]; - seq_ref.Leak().fMs4[6] = uuidSeq[9]; - seq_ref.Leak().fMs4[7] = uuidSeq[10]; + seq_ref.Leak()->fMs1 = uuidSeq[0]; + seq_ref.Leak()->fMs2 = uuidSeq[1]; + seq_ref.Leak()->fMs3 = uuidSeq[2]; + seq_ref.Leak()->fMs4[0] = uuidSeq[3]; + seq_ref.Leak()->fMs4[1] = uuidSeq[4]; + seq_ref.Leak()->fMs4[2] = uuidSeq[5]; + seq_ref.Leak()->fMs4[3] = uuidSeq[6]; + seq_ref.Leak()->fMs4[4] = uuidSeq[7]; + seq_ref.Leak()->fMs4[5] = uuidSeq[8]; + seq_ref.Leak()->fMs4[6] = uuidSeq[9]; + seq_ref.Leak()->fMs4[7] = uuidSeq[10]; return seq_ref; } // @brief Tries to make a guid out of a string. // This function is not complete for now - auto cf_try_guid_to_string(Ref<GUIDSequence>& seq) -> ErrorOr<Ref<StringView>> + auto cf_try_guid_to_string(Ref<GUIDSequence*>& seq) -> ErrorOr<Ref<StringView>> { Char buf[kUUIDSize]; for (SizeT index = 0; index < 16; ++index) { - buf[index] = seq.Leak().u8[index] + kAsciiBegin; + buf[index] = seq.Leak()->u8[index] + kUUIDAsciiBegin; } for (SizeT index = 16; index < 24; ++index) { - buf[index] = seq.Leak().u16[index] + kAsciiBegin; + buf[index] = seq.Leak()->u16[index] + kUUIDAsciiBegin; } for (SizeT index = 24; index < 28; ++index) { - buf[index] = seq.Leak().u32[index] + kAsciiBegin; + buf[index] = seq.Leak()->u32[index] + kUUIDAsciiBegin; } auto view = StringBuilder::Construct(buf); diff --git a/dev/zka/src/HardwareThreadScheduler.cc b/dev/zka/src/HardwareThreadScheduler.cc index 37d81f04..c1d06531 100644 --- a/dev/zka/src/HardwareThreadScheduler.cc +++ b/dev/zka/src/HardwareThreadScheduler.cc @@ -11,7 +11,7 @@ ///! BUGS: 0 -///! @file MP.cxx +///! @file MP.cc ///! @brief This file handles multi processing in the Kernel. ///! @brief Multi processing is needed for multi-tasking operations. diff --git a/dev/zka/src/Heap.cc b/dev/zka/src/Heap.cc index 45b7aa73..8db31178 100644 --- a/dev/zka/src/Heap.cc +++ b/dev/zka/src/Heap.cc @@ -19,7 +19,7 @@ ------------------------------------------- */ -//! @file Heap.cxx +//! @file Heap.cc //! @brief Kernel's heap manager, serves as the main memory manager. #define kKernelHeapMagic (0xD4D7D5) diff --git a/dev/zka/src/IPEFDLLObject.cc b/dev/zka/src/IPEFDLLObject.cc index d7fe2948..0f0ac483 100644 --- a/dev/zka/src/IPEFDLLObject.cc +++ b/dev/zka/src/IPEFDLLObject.cc @@ -31,7 +31,7 @@ using namespace Kernel; /***********************************************************************************/ -/// @file PEFSharedObjectRT.cxx +/// @file PEFSharedObjectRT.cc /// @brief PEF's shared object runtime. /***********************************************************************************/ diff --git a/dev/zka/src/NeFS+IO.cc b/dev/zka/src/NeFS+IO.cc index 5a5f60c6..b55707f9 100644 --- a/dev/zka/src/NeFS+IO.cc +++ b/dev/zka/src/NeFS+IO.cc @@ -9,7 +9,7 @@ /************************************************************* * - * File: NeFS+IO.cxx + * File: NeFS+IO.cc * Purpose: Filesystem to mountpoint interface. * Date: 3/26/24 * diff --git a/dev/zka/src/Stream.cc b/dev/zka/src/Stream.cc index cf5cb4a4..be1f2308 100644 --- a/dev/zka/src/Stream.cc +++ b/dev/zka/src/Stream.cc @@ -2,7 +2,7 @@ Copyright ZKA Web Services Co. - File: Stream.cxx + File: Stream.cc Purpose: Stream object Revision History: diff --git a/dev/zka/src/ThreadLocalStorage.cc b/dev/zka/src/ThreadLocalStorage.cc index ef8aba6c..8c75d522 100644 --- a/dev/zka/src/ThreadLocalStorage.cc +++ b/dev/zka/src/ThreadLocalStorage.cc @@ -14,7 +14,7 @@ /***********************************************************************************/ /// @bugs: 0 -/// @file ThreadLocalStorage.cxx +/// @file ThreadLocalStorage.cc /// @brief Process Thread Local Storage. /***********************************************************************************/ diff --git a/dev/zka/src/Timer.cc b/dev/zka/src/Timer.cc index e7ad488a..a36ac0c3 100644 --- a/dev/zka/src/Timer.cc +++ b/dev/zka/src/Timer.cc @@ -7,7 +7,7 @@ #include <KernelKit/Timer.h> ///! BUGS: 0 -///! @file Timer.cxx +///! @file Timer.cc ///! @brief Software Timer implementation using namespace Kernel; diff --git a/dev/zka/src/User.cc b/dev/zka/src/User.cc index 9037d729..80a14041 100644 --- a/dev/zka/src/User.cc +++ b/dev/zka/src/User.cc @@ -4,7 +4,7 @@ * ZKA * Copyright ZKA Web Services Co., all rights reserved. * - * File: User.cxx + * File: User.cc * Purpose: User class, used to provide authentication and security. * * ======================================================== diff --git a/dev/zka/src/UserProcessScheduler.cc b/dev/zka/src/UserProcessScheduler.cc index 0081367a..05c2b35e 100644 --- a/dev/zka/src/UserProcessScheduler.cc +++ b/dev/zka/src/UserProcessScheduler.cc @@ -2,13 +2,13 @@ Copyright ZKA Web Services Co. - FILE: UserProcessScheduler.cxx + FILE: UserProcessScheduler.cc PURPOSE: EL0/Ring-3 Process scheduler. ------------------------------------------- */ /***********************************************************************************/ -/// @file UserProcessScheduler.cxx +/// @file UserProcessScheduler.cc /// @brief User process scheduler. /***********************************************************************************/ diff --git a/dev/zka/src/UserProcessTeam.cc b/dev/zka/src/UserProcessTeam.cc index 22b158b9..982a9388 100644 --- a/dev/zka/src/UserProcessTeam.cc +++ b/dev/zka/src/UserProcessTeam.cc @@ -5,7 +5,7 @@ ------------------------------------------- */ /***********************************************************************************/ -/// @file UserProcessTeam.cxx +/// @file UserProcessTeam.cc /// @brief UserProcess teams implementation. /***********************************************************************************/ diff --git a/tools/common_zka.h b/tools/Common.h index 3b7a1b19..e80f1d11 100644 --- a/tools/common_zka.h +++ b/tools/Common.h @@ -1,3 +1,10 @@ +/** + Sat Oct 26 07:03:28 AM CEST 2024 + (C) ZKA Web Services Co. +*/ + +#pragma once + #include <cstdint> #include <iostream> #include <fstream> diff --git a/tools/framework.h b/tools/Framework.h index 66a8e497..0572a521 100644 --- a/tools/framework.h +++ b/tools/Framework.h @@ -5,7 +5,7 @@ #pragma once -#include <common_zka.h> +#include <Common.h> #define kFKDLLDirectory "ZKA/DLL/" #define kFKManifestDirectory "ZKA/Manifests/" diff --git a/tools/make_framework.json b/tools/make_framework.json index c597e5d6..4ef2d7b6 100644 --- a/tools/make_framework.json +++ b/tools/make_framework.json @@ -2,7 +2,7 @@ "compiler_path": "g++", "compiler_std": "c++20", "headers_path": ["./"], - "sources_path": ["src/make_framework.cxx"], + "sources_path": ["src/MakeFramework.cc"], "output_name": "make_framework.exe", "cpp_macros": [ "__MKF_AMD64__", diff --git a/tools/make_zxd.json b/tools/make_zxd.json deleted file mode 100644 index 1c25c1a2..00000000 --- a/tools/make_zxd.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "compiler_path": "g++", - "compiler_std": "c++20", - "headers_path": ["./"], - "sources_path": ["src/make_zxd.cxx"], - "output_name": "make_zxd.exe", - "cpp_macros": [ - "__DRVSIGN_AMD64__", - "cDSVersion=0x0100", - "cDSVersionHighest=0x0100", - "cDSVersionLowest=0x0100" - ] -} diff --git a/tools/src/make_framework.cc b/tools/src/MakeFramework.cc index 718a9ad1..11077ddf 100644 --- a/tools/src/make_framework.cc +++ b/tools/src/MakeFramework.cc @@ -15,7 +15,7 @@ int main(int argc, char* argv[]) { if (strcmp(argv[i], "/?") == 0) { - std::cout << "make_framework: Framework Tool.\n"; + std::cout << "make_framework: Framework Creation Tool.\n"; std::cout << "make_framework: © ZKA Web Services Co, all rights reserved.\n"; return 0; diff --git a/tools/src/make_zxd.cc b/tools/src/make_zxd.cc deleted file mode 100644 index 535b51db..00000000 --- a/tools/src/make_zxd.cc +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Created on Thu Aug 22 09:29:13 CEST 2024 - * - * Copyright (c) 2024 ZKA Web Services Co - */ - -#include <zxd.h> - -/// @brief This program converts a PE32+ driver, into a custom format, the ZXD. -/// @note ZXD is a format for ZKA signed drivers. -int main(int argc, char* argv[]) -{ - for (size_t i = 1ul; i < argc; ++i) - { - if (strcmp(argv[i], "/?") == 0) - { - std::cout << "make_zxd: ZXD Tool.\n"; - std::cout << "make_zxd: © ZKA Web Services Co, all rights reserved.\n"; - - return 0; - } - } - - if (!std::filesystem::exists(argv[1]) || - !std::string(argv[1]).ends_with(kDriverExt)) - return -1; - - ZXD::ZXD_HEADER zxd_hdr{0}; - - zxd_hdr.d_binary_version = 1; - - memcpy(zxd_hdr.d_binary_magic, kSignedDriverMagic, strlen(kSignedDriverMagic)); - memcpy(zxd_hdr.d_binary_name, argv[1], strlen(argv[1])); - - zxd_hdr.d_binary_size = std::filesystem::file_size(argv[1]); - - memset(zxd_hdr.d_binary_padding, 0x00, 512); - - zxd_hdr.d_binary_checksum = 0; - - std::string signed_path = argv[1]; - signed_path.erase(signed_path.find(kDriverExt), strlen(kDriverExt)); - signed_path += kDriverSignedExt; - - std::ofstream of_drv(signed_path, std::ios::binary); - std::ifstream if_drv(argv[1], std::ios::binary); - - std::stringstream ss; - ss << if_drv.rdbuf(); - - if (!ZXD::zxd_check_for_mz(ss.str())) - { - std::filesystem::remove(signed_path); - std::cout << "zxdmake: Couldn't sign current driver, Input driver isn't a valid executable.\n"; - - return 1; - } - - for (auto ch : ss.str()) - { - zxd_hdr.d_binary_checksum |= ch; - } - - zxd_hdr.d_binary_checksum ^= zxd_hdr.d_binary_size; - - of_drv.write((char*)&zxd_hdr, sizeof(ZXD::ZXD_HEADER)); - of_drv.write(ss.str().c_str(), ss.str().size()); - - std::cout << "zxdmake: Signing is done, quiting, Checksum: " << zxd_hdr.d_binary_checksum << ".\n"; - - return 0; -} diff --git a/tools/zxd.h b/tools/zxd.h deleted file mode 100644 index 07702595..00000000 --- a/tools/zxd.h +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Created on Thu Aug 22 09:29:13 CEST 2024 - * - * Copyright (c) 2024 ZKA Web Services Co - */ - -#pragma once - -#include <common_zka.h> - -#define kDriverSignedExt ".zxd" -#define kDriverExt ".sys" -#define kSignedDriverMagic " ZXD" - -#define cZXDPaddingSize (512) -#define cZXDMagicSize (5) - -namespace ZXD -{ - /// <summary> - /// ZXD header. - /// </summary> - struct ZXD_HEADER final - { - char d_binary_padding[cZXDPaddingSize]; - // doesn't change. - char d_binary_magic[cZXDMagicSize]; - std::int32_t d_binary_version; - // can change. - char d_binary_name[4096]; - std::uint64_t d_binary_checksum; - std::uint64_t d_binary_size; - }; - - /***********************************************************************************/ - /* @brief These two handles the detection of a MZ header. */ - /***********************************************************************************/ - - inline bool zxd_check_for_mz(const char* mz_blob) noexcept - { - return mz_blob[0] == 'M' && - mz_blob[1] == 'Z'; - } - - inline bool zxd_check_for_mz(std::string mz_blob) noexcept - { - return mz_blob[0] == 'M' && - mz_blob[1] == 'Z'; - } -} // namespace ZXD diff --git a/zka-dev.files b/zka-dev.files index 60c53225..aab39fc7 100644 --- a/zka-dev.files +++ b/zka-dev.files @@ -1,3 +1,4 @@ +dev/SCIKit/src/Foundation.cc dev/base/EncryptFS/build.json dev/base/EncryptFS/disk_crypt.h dev/base/EncryptFS/src/disk_crypt.cc @@ -54,13 +55,11 @@ dev/modules/MBCI/MBCI.h dev/modules/NVME/NVME.h dev/modules/SCSI/SCSI.h dev/modules/XHCI/Defines.h -dev/sci/sci.json -dev/sci/sci_base.h -dev/sci/sci_hint.h -dev/sci/sci_lpc.h -dev/sci/source_deploy.xml -dev/sci/src/sci_mm.cc -dev/sci/xpcom_core.h +dev/SCIKit/CompilerHint.h +dev/SCIKit/Foundation.h +dev/SCIKit/LPC.h +dev/SCIKit/build.json +dev/SCIKit/xpcom_core.h dev/zba/BootKit/BitManip.h dev/zba/BootKit/BootKit.h dev/zba/BootKit/Device.h @@ -83,6 +82,7 @@ dev/zba/src/BootFileReader.cc dev/zba/src/BootString.cc dev/zba/src/BootSupport.cc dev/zba/src/BootTextWriter.cc +dev/zba/src/BootThread.cc dev/zba/src/HEL/64X000/Boot64x0.S dev/zba/src/HEL/AMD64/BootAHCI.cc dev/zba/src/HEL/AMD64/BootAPI.S @@ -93,12 +93,11 @@ dev/zba/src/HEL/ARM64/BootMain.cc dev/zba/src/HEL/ARM64/BootPlatform.cc dev/zba/src/HEL/POWER/CoreBootStartup.S dev/zba/src/New+Delete.cc -dev/zba/src/Thread.cc dev/zka/ArchKit/ArchKit.h dev/zka/CFKit/GUIDWizard.h dev/zka/CFKit/GUIDWrapper.h -dev/zka/CFKit/LoaderUtils.h dev/zka/CFKit/Property.h +dev/zka/CFKit/Utils.h dev/zka/CompilerKit/CompilerKit.h dev/zka/CompilerKit/Detail.h dev/zka/CompilerKit/Version.h @@ -298,11 +297,8 @@ dev/zka/src/UserProcessScheduler.cc dev/zka/src/UserProcessTeam.cc dev/zka/src/Utils.cc dev/zka/src/Variant.cc -tools/common_zka.h -tools/framework.h +tools/Common.h +tools/Framework.h tools/make_framework.json -tools/make_zxd.json -tools/src/make_framework.cc -tools/src/make_zxd.cc -tools/zxd.h compile_flags.txt +tools/src/MakeFramework.cc diff --git a/zka-dev.includes b/zka-dev.includes index e69de29b..87fb7352 100644 --- a/zka-dev.includes +++ b/zka-dev.includes @@ -0,0 +1,3 @@ +dev/zba +dev/ +dev/zka |
