From 1c67d9655979b48a71fd3a9ba087142ed1bb28ea Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Mon, 7 Oct 2024 02:47:43 +0000 Subject: IMP: User.cxx, make hashing stronger. IMP: NVME.hxx, add documentation. IMP: LTE.hxx, adding new function to manipulate SIM card filesystem. --- dev/modules/AHCI/AHCI.hxx | 8 +++--- dev/modules/LTE/.keepme | 0 dev/modules/LTE/IO.hxx | 28 --------------------- dev/modules/LTE/LTE.hxx | 40 ++++++++++++++++++++++++++++++ dev/modules/NVME/.gitkeep | 0 dev/modules/NVME/NVME.hxx | 61 +++++++++++++++++++++++++--------------------- dev/zka/KernelKit/User.hxx | 5 ++-- dev/zka/src/User.cxx | 8 +++--- 8 files changed, 83 insertions(+), 67 deletions(-) delete mode 100644 dev/modules/LTE/.keepme delete mode 100644 dev/modules/LTE/IO.hxx create mode 100644 dev/modules/LTE/LTE.hxx delete mode 100644 dev/modules/NVME/.gitkeep diff --git a/dev/modules/AHCI/AHCI.hxx b/dev/modules/AHCI/AHCI.hxx index dd9806db..25fd9b6e 100644 --- a/dev/modules/AHCI/AHCI.hxx +++ b/dev/modules/AHCI/AHCI.hxx @@ -16,7 +16,7 @@ #include #include -// Forward declarations of structs. +/// @note Forward declarations of structs. #define kAHCISectorSize (512U) @@ -328,8 +328,6 @@ typedef struct HbaCmdTbl final struct HbaPrdtEntry prdtEntries[1]; // Physical region descriptor table entries, 0 ~ 65535 } HbaCmdTbl; -/* EOF */ - #if defined(__AHCI__) /// @brief Initializes an AHCI disk. @@ -367,4 +365,6 @@ Kernel::SizeT drv_get_sector_count(); /// @brief get device size. Kernel::SizeT drv_get_size(); -#endif // ifdef __NEWOSKRNL__ +#endif // ifdef __AHCI__ + +/* EOF */ diff --git a/dev/modules/LTE/.keepme b/dev/modules/LTE/.keepme deleted file mode 100644 index e69de29b..00000000 diff --git a/dev/modules/LTE/IO.hxx b/dev/modules/LTE/IO.hxx deleted file mode 100644 index 15546515..00000000 --- a/dev/modules/LTE/IO.hxx +++ /dev/null @@ -1,28 +0,0 @@ -/* ------------------------------------------- - -Copyright ZKA Technologies.. - -File: LTE\IO.hxx. -Purpose: LTE I/O. - -------------------------------------------- */ - -#ifndef _INC_NETWORK_LTE_IO_HXX_ -#define _INC_NETWORK_LTE_IO_HXX_ - -#include -#include - -/// @brief Long Term Evolution I/O routines. - -/// @brief Turn on SIM slot. -Kernel::Boolean lte_turn_on_slot(Kernel::Int32 slot); - -/// @brief Turn off SIM slot. -Kernel::Boolean lte_turn_off_slot(Kernel::Int32 slot); - -/// @brief Send AT command. -Kernel::Boolean lte_send_at_command(Kernel::Char* buf, - Kernel::Size bufSz); - -#endif // ifndef _INC_NETWORK_LTE_IO_HXX_ diff --git a/dev/modules/LTE/LTE.hxx b/dev/modules/LTE/LTE.hxx new file mode 100644 index 00000000..1a0dfcd7 --- /dev/null +++ b/dev/modules/LTE/LTE.hxx @@ -0,0 +1,40 @@ +/* ------------------------------------------- + +Copyright ZKA Technologies.. + +File: LTE\LTE.hxx. +Purpose: LTE Standard Library. + +------------------------------------------- */ + +#ifndef _INC_NETWORK_LTE_HXX_ +#define _INC_NETWORK_LTE_HXX_ + +#include +#include + +/// @brief Long Term Evolution I/O routines. + +/// @brief Turn on SIM slot. +Kernel::Boolean lte_turn_on_sim(Kernel::Int32 simSlot); + +/// @brief Turn off SIM slot. +Kernel::Boolean lte_turn_off_sim(Kernel::Int32 simSlot); + +/// @brief Send AT command. +Kernel::Boolean lte_send_at_command(Kernel::Char* buf, + Kernel::Size bufReadSz, + Kernel::Int32 simSlot); + +Kernel::Boolean lte_write_sim_file(Kernel::Char* file, + Kernel::VoidPtr buf, + Kernel::Size bufSz, + Kernel::Size offset, + Kernel::Int32 simSlot); + +Kernel::VoidPtr lte_read_sim_file(Kernel::Char* file, + Kernel::Size bufSz, + Kernel::Size offset, + Kernel::Int32 simSlot); + +#endif // ifndef _INC_NETWORK_LTE_HXX_ diff --git a/dev/modules/NVME/.gitkeep b/dev/modules/NVME/.gitkeep deleted file mode 100644 index e69de29b..00000000 diff --git a/dev/modules/NVME/NVME.hxx b/dev/modules/NVME/NVME.hxx index 3667b980..b0795cb4 100644 --- a/dev/modules/NVME/NVME.hxx +++ b/dev/modules/NVME/NVME.hxx @@ -16,46 +16,47 @@ /// TODO: checklist in: https://wiki.osdev.org/NVMe -#define ALIGN_NVME ATTRIBUTE(aligned(sizeof(Kernel::NVMEInt32))) +#define ALIGN_NVME ATTRIBUTE(aligned(sizeof(Kernel::UInt32))) namespace Kernel { - typedef UInt32 NVMEInt32; - - struct ALIGN_NVME NVMEBar0 final + struct ALIGN_NVME HAL_NVME_BAR_0 final { - NVMEInt32 fCapabilities; - NVMEInt32 fVersion; - NVMEInt32 fIntMaskSet; - NVMEInt32 fIntMaskClr; - NVMEInt32 fContrlConf; - NVMEInt32 fContrlStat; - NVMEInt32 fAdminQueueAttr; - NVMEInt32 fAdminSubmissionQueue; - NVMEInt32 fAdminCompletionQueue; + UInt32 fCapabilities; + UInt32 fVersion; + UInt32 fIntMaskSet; + UInt32 fIntMaskClr; + UInt32 fContrlConf; + UInt32 fContrlStat; + UInt32 fAdminQueueAttr; + UInt32 fAdminSubmissionQueue; + UInt32 fAdminCompletionQueue; }; - struct ALIGN_NVME NVMEQueue final + struct ALIGN_NVME HAL_NVME_QUEUE final { - NVMEInt32 fOpcode; - NVMEInt32 fNSID; - NVMEInt32 fReserved[3]; - NVMEInt32 fMetadataPtr[5]; - NVMEInt32 fDataPtr[9]; - NVMEInt32 CommandSpecific[15]; + UInt32 fOpcode; + UInt32 fNSID; + UInt32 fReserved[3]; + UInt32 fMetadataPtr[5]; + UInt32 fDataPtr[9]; + UInt32 CommandSpecific[15]; }; enum { - eCreateCompletionQueueNVME = 0x05, - eCreateSubmissionQueueNVME = 0x01, - eIdentifyNVME = 0x06, - eReadNVME = 0x02, - eWriteNVME = 0x01, + kCreateCompletionQueueNVME = 0x05, + kCreateSubmissionQueueNVME = 0x01, + kIdentifyNVME = 0x06, + kReadNVME = 0x02, + kWriteNVME = 0x01, }; + /// @brief Creates an admin command for a DMA operation. template - inline Bool nvme_create_admin_command(NVMEQueue* entry, UInt32 nsid, UInt32 prpTransfer[3], UInt32 startingLba[2], UInt32 lowTransferBlocks) + inline Bool nvme_create_admin_command(HAL_NVME_QUEUE* entry, UInt32 nsid, + UInt32 prpTransfer[3], UInt32 startingLba[2], + UInt32 lowTransferBlocks) { if (entry == nullptr) return false; @@ -74,8 +75,12 @@ namespace Kernel return true; } + /// @brief Creates an I/O command for a DMA operation. template - inline Bool nvme_create_io_command(NVMEQueue* entry, UInt64 baseAddress, UInt32 identLoAndQueueSizeHi, UInt32 flagsLoAndQueueComplIdHi, UInt32 identify, Bool provideIdentify = false, Bool namespaceIdentify = false) + inline Bool nvme_create_io_command(HAL_NVME_QUEUE* entry, UInt64 baseAddress, + UInt32 identLoAndQueueSizeHi, UInt32 flagsLoAndQueueComplIdHi, + UInt32 identify, Bool provideIdentify = false, + Bool namespaceIdentify = false) { if (entry == nullptr) return false; @@ -103,7 +108,7 @@ namespace Kernel } } - // use (1 << 0) as contigunous is better supported. + // Use (1 << 0) as contigunous is better supported. return true; } diff --git a/dev/zka/KernelKit/User.hxx b/dev/zka/KernelKit/User.hxx index ce16576b..9acd6ef7 100644 --- a/dev/zka/KernelKit/User.hxx +++ b/dev/zka/KernelKit/User.hxx @@ -13,10 +13,9 @@ #include // user mode users. -#define kSuperUser "ZKA USER\\SUPER" -#define kGuestUser "ZKA USER\\GUEST" +#define kSuperUser "ZKA AUTHORITY\\SUPER" +#define kGuestUser "ZKA AUTHORITY\\GUEST" -#define kUsersFile "\\Users\\$UsrRcrd" #define kUsersDir "\\Users\\" #define kMaxUserNameLen (255) diff --git a/dev/zka/src/User.cxx b/dev/zka/src/User.cxx index be3bff2d..d3f67760 100644 --- a/dev/zka/src/User.cxx +++ b/dev/zka/src/User.cxx @@ -11,15 +11,15 @@ */ #include + #include #include #include #include - #include -#define cStdUser (0xCF) -#define cSuperUser (0xEF) +#define cStdUser (0xCEEF) +#define cSuperUser (0xECCF) /// BUGS: 0 @@ -99,7 +99,7 @@ namespace Kernel delete[] password; password = nullptr; - kcout << "Saved password...\r"; + kcout << "Saved password successfully...\r"; return Yes; } -- cgit v1.2.3