diff options
44 files changed, 378 insertions, 346 deletions
diff --git a/dev/boot/BootKit/HW/SATA.h b/dev/boot/BootKit/HW/SATA.h index 6ae18740..41e454dd 100644 --- a/dev/boot/BootKit/HW/SATA.h +++ b/dev/boot/BootKit/HW/SATA.h @@ -19,7 +19,7 @@ public: struct SATATrait final { - Kernel::SizeT mBase{1024}; + Kernel::SizeT mBase{1024}; Kernel::Boolean mErr{false}; Kernel::Boolean mDetected{false}; diff --git a/dev/boot/modules/BootNet/BootNet.cc b/dev/boot/modules/BootNet/BootNet.cc index 4b7e5c30..0ca0998c 100644 --- a/dev/boot/modules/BootNet/BootNet.cc +++ b/dev/boot/modules/BootNet/BootNet.cc @@ -13,13 +13,13 @@ EXTERN_C Int32 ModuleMain(Kernel::HEL::BootInfoHeader* handover) { - NETBOOT_INTERNET_HEADER inet{}; + BOOTNET_INTERNET_HEADER inet{}; - memset(&inet, 0, sizeof(NETBOOT_INTERNET_HEADER)); + memset(&inet, 0, sizeof(BOOTNET_INTERNET_HEADER)); /// TODO: Read packet from JSON file 'bootnet.json' - if (inet.PatchLength < 1) + if (inet.Length < 1) { Boot::BootTextWriter writer; writer.Write("NetBootLauncher: No executable attached to the packet, aborting.\r"); @@ -27,9 +27,9 @@ EXTERN_C Int32 ModuleMain(Kernel::HEL::BootInfoHeader* handover) return kEfiFail; } - if (!inet.EEPROM) + if (!inet.ImpliesEEPROM) { - Boot::BootThread thread(inet.PatchData); + Boot::BootThread thread(inet.Data); if (thread.IsValid()) return thread.Start(handover, YES); diff --git a/dev/boot/modules/BootNet/BootNet.h b/dev/boot/modules/BootNet/BootNet.h index 4f795861..c8432d93 100644 --- a/dev/boot/modules/BootNet/BootNet.h +++ b/dev/boot/modules/BootNet/BootNet.h @@ -17,17 +17,17 @@ #define kNetBootNameLen (256U) /// @brief the internet header is used to download updates OTA. -typedef struct NETBOOT_INTERNET_HEADER +typedef struct BOOTNET_INTERNET_HEADER { Kernel::Char NB1; /// magic char 1 'N' Kernel::Char NB2; /// magic char 2 'E' Kernel::Char NB3; /// magic char 3 'T' Kernel::Char NB4; /// magic char 4 'B' - Kernel::Char PatchName[kNetBootNameLen]; /// example: Modjo - Kernel::Int32 PatchLength; /// the patch length. - Kernel::Char PatchTarget[kNetBootNameLen]; /// the target file. - Kernel::Boolean EEPROM : 1; /// does it imply an EEPROM reprogram? - Kernel::Boolean Preflight : 1; /// is it a preflight packet. - Kernel::Char PatchData[]; /// non preflight packet has a patch blob for a **PatchTarget** -} ATTRIBUTE(packed) NETBOOT_INTERNET_HEADER; + Kernel::Char Name[kNetBootNameLen]; /// example: Modjo + Kernel::Int32 Length; /// the patch length. + Kernel::Char Target[kNetBootNameLen]; /// the target file. + Kernel::Boolean ImpliesEEPROM : 1; /// does it imply an EEPROM reprogram? + Kernel::Boolean Preflight : 1; /// is it a preflight packet. + Kernel::Char Data[]; /// non preflight packet has a patch blob for a **PatchTarget** +} ATTRIBUTE(packed) BOOTNET_INTERNET_HEADER; diff --git a/dev/boot/src/BootThread.cc b/dev/boot/src/BootThread.cc index eef2104b..c6fb9975 100644 --- a/dev/boot/src/BootThread.cc +++ b/dev/boot/src/BootThread.cc @@ -41,8 +41,8 @@ namespace Boot if (blob_bytes[0] == kMagMz0 && blob_bytes[1] == kMagMz1) { - LDR_EXEC_HEADER_PTR header_ptr = CFKit::ldr_find_exec_header(blob_bytes); - LDR_OPTIONAL_HEADER_PTR opt_header_ptr = CFKit::ldr_find_opt_exec_header(blob_bytes); + LDR_EXEC_HEADER_PTR header_ptr = CF::ldr_find_exec_header(blob_bytes); + LDR_OPTIONAL_HEADER_PTR opt_header_ptr = CF::ldr_find_opt_exec_header(blob_bytes); if (!header_ptr || !opt_header_ptr) return; @@ -117,19 +117,15 @@ namespace Boot if (handover_struc->HandoverArch != HEL::kArchAMD64) { fb_render_string("BootZ: Not an handover header, bad CPU...", 40, 10, RGB(0xFF, 0xFF, 0xFF)); - ::Boot::Stop(); } -#endif - -#ifdef __NE_ARM64__ +#elif defined(__NE_ARM64__) if (handover_struc->HandoverArch != HEL::kArchARM64) { fb_render_string("BootZ: Not an handover header, bad CPU...", 40, 10, RGB(0xFF, 0xFF, 0xFF)); - ::Boot::Stop(); } #endif - fb_render_string("BootZ: Not an handover header...", 40, 10, RGB(0xFF, 0xFF, 0xFF)); + fb_render_string("BootZ: Not an handover header...", 40, 10, RGB(0xFF, 0xFF, 0xFF)); ::Boot::Stop(); } } @@ -145,7 +141,7 @@ namespace Boot blob_bytes[3] == kPefMagic[3]) { // ========================================= // - // PEF executable detected. + // PEF executable has been detected. // ========================================= // fStartAddress = nullptr; diff --git a/dev/kernel/ArchKit/ArchKit.h b/dev/kernel/ArchKit/ArchKit.h index 76e62a4e..51d47bc8 100644 --- a/dev/kernel/ArchKit/ArchKit.h +++ b/dev/kernel/ArchKit/ArchKit.h @@ -73,8 +73,8 @@ typedef Kernel::Void (*rt_syscall_proc)(Kernel::VoidPtr); struct HalSyscallEntry final { - Kernel::Int64 fHash; - Kernel::Bool fHooked; + Kernel::Int64 fHash; + Kernel::Bool fHooked; rt_syscall_proc fProc; operator bool() @@ -84,11 +84,11 @@ struct HalSyscallEntry final }; inline Kernel::Array<HalSyscallEntry, - kKernelMaxSystemCalls> + kKernelMaxSystemCalls> kSyscalls; inline Kernel::Array<HalSyscallEntry, - kKernelMaxSystemCalls> + kKernelMaxSystemCalls> kKerncalls; EXTERN_C Kernel::HAL::StackFramePtr mp_get_current_context(Kernel::Int64 pid); diff --git a/dev/kernel/CFKit/GUIDWizard.h b/dev/kernel/CFKit/GUIDWizard.h index 45572d32..6383ce5d 100644 --- a/dev/kernel/CFKit/GUIDWizard.h +++ b/dev/kernel/CFKit/GUIDWizard.h @@ -15,10 +15,10 @@ #include <NewKit/Stream.h> #include <NewKit/KString.h> -namespace CFKit::XRN::Version1 +namespace CF::XRN::Version1 { using namespace Kernel; - Ref<GUIDSequence*> cf_make_sequence(const ArrayList<UInt32>& seq); + Ref<GUIDSequence*> cf_make_sequence(const ArrayList<UInt32>& seq); ErrorOr<Ref<Kernel::KString>> cf_try_guid_to_string(Ref<GUIDSequence*>& guid); -} // namespace CFKit::XRN::Version1 +} // namespace CF::XRN::Version1 diff --git a/dev/kernel/CFKit/GUIDWrapper.h b/dev/kernel/CFKit/GUIDWrapper.h index 68c43033..7d0252c5 100644 --- a/dev/kernel/CFKit/GUIDWrapper.h +++ b/dev/kernel/CFKit/GUIDWrapper.h @@ -15,7 +15,7 @@ #define kXRNNil "@{........-....-M...-N...-............}" // eXtensible Resource Information -namespace CFKit::XRN +namespace CF::XRN { using namespace Kernel; @@ -57,4 +57,4 @@ namespace CFKit::XRN private: GUIDSequence fUUID; }; -} // namespace CFKit::XRN +} // namespace CF::XRN diff --git a/dev/kernel/CFKit/Property.h b/dev/kernel/CFKit/Property.h index b43434f6..effd4739 100644 --- a/dev/kernel/CFKit/Property.h +++ b/dev/kernel/CFKit/Property.h @@ -15,7 +15,7 @@ #define kMaxPropLen (256U) -namespace CFKit +namespace CF { using namespace Kernel; @@ -46,11 +46,11 @@ namespace CFKit template <SizeT N> using PropertyArray = Array<Property, N>; -} // namespace CFKit +} // namespace CF namespace Kernel { - using namespace CFKit; + using namespace CF; } #endif // !CFKIT_PROPS_H diff --git a/dev/kernel/CFKit/Utils.h b/dev/kernel/CFKit/Utils.h index 1de15c18..cc65bbee 100644 --- a/dev/kernel/CFKit/Utils.h +++ b/dev/kernel/CFKit/Utils.h @@ -4,7 +4,7 @@ #include <KernelKit/PE.h> #include <KernelKit/MSDOS.h> -namespace CFKit +namespace CF { using namespace Kernel; @@ -50,6 +50,6 @@ namespace CFKit { return ldr_find_opt_exec_header((DosHeaderPtr)ptrDos); } -} // namespace CFKit +} // namespace CF #endif // ifndef CFKIT_UTILS_H diff --git a/dev/kernel/FSKit/HeFS.h b/dev/kernel/FSKit/HeFS.h index cd547afb..b0e38e56 100644 --- a/dev/kernel/FSKit/HeFS.h +++ b/dev/kernel/FSKit/HeFS.h @@ -34,26 +34,26 @@ struct HeFS_BOOT_NODE; struct HeFS_BOOT_NODE final
{
- Kernel::Char fMagic[kHeFSMagicLen];
- Kernel::Char fPartName[kHeFSPartNameLen];
+ Kernel::Char fMagic[kHeFSMagicLen];
+ Kernel::Char fPartName[kHeFSPartNameLen];
Kernel::UInt32 fVersion;
Kernel::UInt64 fBadSectors;
Kernel::UInt64 fSectorCount;
Kernel::UInt64 fSectorSize;
Kernel::UInt32 fChecksum;
- Kernel::UInt8 fDriveKind;
- Kernel::UInt8 fTextEncoding;
+ Kernel::UInt8 fDriveKind;
+ Kernel::UInt8 fTextEncoding;
Kernel::UInt64 fRootINode;
Kernel::UInt64 fRecoveryINode;
};
struct HeFS_INDEX_NODE
{
- Kernel::Char fName[kHeFSFileNameLen];
+ Kernel::Char fName[kHeFSFileNameLen];
Kernel::UInt32 fFlags;
Kernel::UInt16 fKind;
Kernel::UInt32 fSize;
- Kernel::Lba fFirstINode;
- Kernel::Lba fLastINode;
+ Kernel::Lba fFirstINode;
+ Kernel::Lba fLastINode;
Kernel::UInt32 fChecksum;
};
\ No newline at end of file diff --git a/dev/kernel/FSKit/NeFS.h b/dev/kernel/FSKit/NeFS.h index d0e376a7..3b4a1244 100644 --- a/dev/kernel/FSKit/NeFS.h +++ b/dev/kernel/FSKit/NeFS.h @@ -143,7 +143,7 @@ struct PACKED NEFS_CATALOG_STRUCT final BOOL ForkOrCatalog : 1 {0}; Kernel::Char Name[kNeFSCatalogNameLen] = {0}; - Kernel::Char Mime[kNeFSMimeNameLen] = {0}; + Kernel::Char Mime[kNeFSMimeNameLen] = {0}; /// Catalog flags. Kernel::UInt16 Flags; @@ -186,7 +186,7 @@ struct PACKED NEFS_FORK_STRUCT final { BOOL ForkOrCatalog : 1 {1}; - Kernel::Char ForkName[kNeFSForkNameLen] = {0}; + Kernel::Char ForkName[kNeFSForkNameLen] = {0}; Kernel::Char CatalogName[kNeFSCatalogNameLen] = {0}; Kernel::Int32 Flags; @@ -196,8 +196,8 @@ struct PACKED NEFS_FORK_STRUCT final Kernel::Int32 ResourceKind; Kernel::Int32 ResourceFlags; - Kernel::Lba DataOffset; // 8 Where to look for this data? - Kernel::SizeT DataSize; /// Data size according using sector count. + Kernel::Lba DataOffset; // 8 Where to look for this data? + Kernel::SizeT DataSize; /// Data size according using sector count. Kernel::Lba NextSibling; Kernel::Lba PreviousSibling; @@ -208,13 +208,13 @@ struct PACKED NEFS_FORK_STRUCT final /// @brief Partition block type struct PACKED NEFS_ROOT_PARTITION_BLOCK final { - Kernel::Char Ident[kNeFSIdentLen] = {0}; + Kernel::Char Ident[kNeFSIdentLen] = {0}; Kernel::Char PartitionName[kNeFSPartLen] = {0}; Kernel::Int32 Flags; Kernel::Int32 Kind; - Kernel::Lba StartCatalog; + Kernel::Lba StartCatalog; Kernel::SizeT CatalogCount; Kernel::SizeT DiskSize; diff --git a/dev/kernel/FirmwareKit/CoreBoot/NetBoot.h b/dev/kernel/FirmwareKit/CoreBoot/NetBoot.h index 040fbbc8..a9c90327 100644 --- a/dev/kernel/FirmwareKit/CoreBoot/NetBoot.h +++ b/dev/kernel/FirmwareKit/CoreBoot/NetBoot.h @@ -9,17 +9,17 @@ #include <NewKit/Defines.h> /// @brief the internet header is used to download updates OTA. -typedef struct NETBOOT_INTERNET_HEADER +typedef struct BOOTNET_INTERNET_HEADER { Kernel::Char NB1; /// magic char 1 'N' Kernel::Char NB2; /// magic char 2 'E' Kernel::Char NB3; /// magic char 3 'T' Kernel::Char NB4; /// magic char 4 'B' - Kernel::Char PatchName[256U]; /// example: ColdChoco - Kernel::Int32 PatchLength; /// the patch length. - Kernel::Char PatchTarget[256U]; /// the target file. - Kernel::Boolean ImpliesROM; /// does it imply an EEPROM reprogram? - Kernel::Boolean Preflight; /// is it a preflight packet. - Kernel::Char Patch[]; /// non preflight packet has a patch blob for a **PatchTarget** -} NETBOOT_INTERNET_HEADER; + Kernel::Char PatchName[256U]; /// example: ColdChoco + Kernel::Int32 PatchLength; /// the patch length. + Kernel::Char PatchTarget[256U]; /// the target file. + Kernel::Boolean ImpliesROM; /// does it imply an EEPROM reprogram? + Kernel::Boolean Preflight; /// is it a preflight packet. + Kernel::Char Patch[]; /// non preflight packet has a patch blob for a **PatchTarget** +} BOOTNET_INTERNET_HEADER; diff --git a/dev/kernel/FirmwareKit/EPM.h b/dev/kernel/FirmwareKit/EPM.h index 31e9cff0..de616b18 100644 --- a/dev/kernel/FirmwareKit/EPM.h +++ b/dev/kernel/FirmwareKit/EPM.h @@ -71,7 +71,7 @@ typedef struct EPM_GUID Kernel::UInt32 Data1; Kernel::UInt16 Data2; Kernel::UInt16 Data3; - Kernel::UInt8 Data4[8]; + Kernel::UInt8 Data4[8]; } PACKED EPM_GUID; /** @@ -80,19 +80,19 @@ typedef struct EPM_GUID */ struct PACKED EPM_PART_BLOCK { - Kernel::Char Magic[kEPMMagicLength]; - Kernel::Char Name[kEPMNameLength]; - EPM_GUID Guid; + Kernel::Char Magic[kEPMMagicLength]; + Kernel::Char Name[kEPMNameLength]; + EPM_GUID Guid; Kernel::Int32 Version; Kernel::Int64 NumBlocks; Kernel::Int64 SectorSz; Kernel::Int64 LbaStart; // base offset - Kernel::Int64 LbaEnd; // end offset + Kernel::Int64 LbaEnd; // end offset Kernel::Int16 Kind; Kernel::Int16 Flags; Kernel::Int32 FsVersion; - Kernel::Char Fs[kEPMFilesystemLength]; /* NeFS, HeFS... */ - Kernel::Char Reserved[kEPMReserveLen]; // to fill a full sector. + Kernel::Char Fs[kEPMFilesystemLength]; /* NeFS, HeFS... */ + Kernel::Char Reserved[kEPMReserveLen]; // to fill a full sector. }; ///! @brief Version kind enum. diff --git a/dev/kernel/FirmwareKit/GPT.h b/dev/kernel/FirmwareKit/GPT.h index d129eab7..198b1a17 100644 --- a/dev/kernel/FirmwareKit/GPT.h +++ b/dev/kernel/FirmwareKit/GPT.h @@ -23,7 +23,7 @@ namespace Kernel Kernel::UInt32 Data1; Kernel::UInt16 Data2; Kernel::UInt16 Data3; - Kernel::UInt8 Data4[8]; + Kernel::UInt8 Data4[8]; } GPT_GUID; struct PACKED GPT_PARTITION_TABLE final diff --git a/dev/kernel/HALKit/AMD64/HalDebugOutput.cc b/dev/kernel/HALKit/AMD64/HalDebugOutput.cc index 1aab95aa..acf7dffd 100644 --- a/dev/kernel/HALKit/AMD64/HalDebugOutput.cc +++ b/dev/kernel/HALKit/AMD64/HalDebugOutput.cc @@ -125,7 +125,7 @@ namespace Kernel fb_init(); - FBDrawInRegion(fb_get_clear_clr(), FB::UIAccessibilty::Height(), FB::UIAccessibilty::Width(), + FBDrawInRegion(fb_get_clear_clr(), FB::FBAccessibilty::Height(), FB::FBAccessibilty::Width(), 0, 0); fb_clear(); diff --git a/dev/kernel/HALKit/AMD64/HalKernelMain.cc b/dev/kernel/HALKit/AMD64/HalKernelMain.cc index fadb37e4..30463f5d 100644 --- a/dev/kernel/HALKit/AMD64/HalKernelMain.cc +++ b/dev/kernel/HALKit/AMD64/HalKernelMain.cc @@ -22,7 +22,7 @@ STATIC Kernel::Void hal_init_scheduler_team() { for (Kernel::SizeT i = 0U; i < Kernel::UserProcessScheduler::The().CurrentTeam().AsArray().Count(); ++i) { - Kernel::UserProcessScheduler::The().CurrentTeam().AsArray()[i] = Kernel::UserProcess(); + Kernel::UserProcessScheduler::The().CurrentTeam().AsArray()[i] = Kernel::UserProcess(); Kernel::UserProcessScheduler::The().CurrentTeam().AsArray()[i].Status = Kernel::ProcessStatusKind::kKilled; } } diff --git a/dev/kernel/HALKit/AMD64/HalTimerAMD64.cc b/dev/kernel/HALKit/AMD64/HalTimerAMD64.cc index 55e92dfe..cddd4a1b 100644 --- a/dev/kernel/HALKit/AMD64/HalTimerAMD64.cc +++ b/dev/kernel/HALKit/AMD64/HalTimerAMD64.cc @@ -30,16 +30,16 @@ namespace Kernel::Detail {
struct HPET_BLOCK : public Kernel::SDT
{
- Kernel::UInt8 hardware_rev_id;
- Kernel::UInt8 comparator_count : 5;
- Kernel::UInt8 counter_size : 1;
- Kernel::UInt8 reserved : 1;
- Kernel::UInt8 legacy_replacement : 1;
+ Kernel::UInt8 hardware_rev_id;
+ Kernel::UInt8 comparator_count : 5;
+ Kernel::UInt8 counter_size : 1;
+ Kernel::UInt8 reserved : 1;
+ Kernel::UInt8 legacy_replacement : 1;
Kernel::UInt16 pci_vendor_id;
- ACPI_ADDRESS address;
- Kernel::UInt8 hpet_number;
+ ACPI_ADDRESS address;
+ Kernel::UInt8 hpet_number;
Kernel::UInt16 minimum_tick;
- Kernel::UInt8 page_protection;
+ Kernel::UInt8 page_protection;
} PACKED;
} // namespace Kernel::Detail
diff --git a/dev/kernel/HALKit/AMD64/PCI/Device.cc b/dev/kernel/HALKit/AMD64/PCI/Device.cc index 553ffad4..32ea9e1f 100644 --- a/dev/kernel/HALKit/AMD64/PCI/Device.cc +++ b/dev/kernel/HALKit/AMD64/PCI/Device.cc @@ -15,11 +15,11 @@ Kernel::UInt NE_PCIReadRaw(Kernel::UInt bar, Kernel::UShort bus, Kernel::UShort dev, Kernel::UShort fun) { Kernel::UInt target = 0x80000000 | ((Kernel::UInt)bus << 16) | - ((Kernel::UInt)dev << 11) | ((Kernel::UInt)fun << 8) | - (bar & 0xFC); + ((Kernel::UInt)dev << 11) | ((Kernel::UInt)fun << 8) | + (bar & 0xFC); Kernel::HAL::rt_out32((Kernel::UShort)Kernel::PCI::PciConfigKind::ConfigAddress, - target); + target); Kernel::HAL::rt_wait_400ns(); @@ -29,11 +29,11 @@ Kernel::UInt NE_PCIReadRaw(Kernel::UInt bar, Kernel::UShort bus, Kernel::UShort void NE_PCISetCfgTarget(Kernel::UInt bar, Kernel::UShort bus, Kernel::UShort dev, Kernel::UShort fun) { Kernel::UInt target = 0x80000000 | ((Kernel::UInt)bus << 16) | - ((Kernel::UInt)dev << 11) | ((Kernel::UInt)fun << 8) | - (bar & 0xFC); + ((Kernel::UInt)dev << 11) | ((Kernel::UInt)fun << 8) | + (bar & 0xFC); Kernel::HAL::rt_out32((Kernel::UShort)Kernel::PCI::PciConfigKind::ConfigAddress, - target); + target); Kernel::HAL::rt_wait_400ns(); } diff --git a/dev/kernel/HALKit/AMD64/Processor.h b/dev/kernel/HALKit/AMD64/Processor.h index 83fde9ba..57f50a48 100644 --- a/dev/kernel/HALKit/AMD64/Processor.h +++ b/dev/kernel/HALKit/AMD64/Processor.h @@ -323,4 +323,4 @@ EXTERN_C ATTRIBUTE(naked) Kernel::Void hal_load_idt(Kernel::HAL::Register64 ptr) EXTERN_C ATTRIBUTE(naked) Kernel::Void hal_load_gdt(Kernel::HAL::RegisterGDT ptr); inline Kernel::VoidPtr kKernelBitMpStart = nullptr; -inline Kernel::UIntPtr kKernelBitMpSize = 0UL; +inline Kernel::UIntPtr kKernelBitMpSize = 0UL; diff --git a/dev/kernel/HALKit/AMD64/Storage/AHCI+Generic.cc b/dev/kernel/HALKit/AMD64/Storage/AHCI+Generic.cc index 318327f8..2ef2fda7 100644 --- a/dev/kernel/HALKit/AMD64/Storage/AHCI+Generic.cc +++ b/dev/kernel/HALKit/AMD64/Storage/AHCI+Generic.cc @@ -5,7 +5,7 @@ ------------------------------------------- */ /** - * @file AHCI.cc + * @file AHCI+Generic.cc * @author Amlal El Mahrouss (amlal@nekernel.org) * @brief AHCI driver. * @version 0.1 @@ -19,17 +19,14 @@ #include <KernelKit/DriveMgr.h> #include <KernelKit/UserProcessScheduler.h> #include <KernelKit/KPC.h> - #include <FirmwareKit/EPM.h> - +#include <StorageKit/AHCI.h> #include <modules/ATA/ATA.h> #include <modules/AHCI/AHCI.h> #include <KernelKit/PCI/Iterator.h> #include <NewKit/Utils.h> #include <KernelKit/LockDelegate.h> -#include <StorageKit/AHCI.h> - #define kHBAErrTaskFile (1 << 30) #define kHBAPxCmdST (0x0001) #define kHBAPxCmdFre (0x0010) @@ -345,8 +342,6 @@ STATIC Bool drv_std_init_ahci(UInt16& pi, BOOL& atapi) if (mem_ahci->Ports[ahci_index].Sig == kSATASignature) { - kout << "detect device: /dev/sat" << number(ahci_index) << kendl; - kSATAIndex = ahci_index; kSATAHba = mem_ahci; @@ -356,8 +351,6 @@ STATIC Bool drv_std_init_ahci(UInt16& pi, BOOL& atapi) } else if (atapi && kSATAPISignature == mem_ahci->Ports[ahci_index].Sig) { - kout << "detect device: /dev/atp" << number(ahci_index) << kendl; - kSATAIndex = ahci_index; kSATAHba = mem_ahci; @@ -370,6 +363,8 @@ STATIC Bool drv_std_init_ahci(UInt16& pi, BOOL& atapi) ++ahci_index; } + err_global_get() = kErrorSuccess; + return YES; } } @@ -476,38 +471,54 @@ namespace Kernel #ifdef __AHCI__ +//////////////////////////////////////////////////// +/// +//////////////////////////////////////////////////// Void drv_std_write(UInt64 lba, Char* buffer, SizeT sector_sz, SizeT size_buffer) { drv_std_input_output_ahci<YES, YES, NO>(lba, reinterpret_cast<UInt8*>(buffer), sector_sz, size_buffer); } +//////////////////////////////////////////////////// +/// +//////////////////////////////////////////////////// Void drv_std_read(UInt64 lba, Char* buffer, SizeT sector_sz, SizeT size_buffer) { drv_std_input_output_ahci<NO, YES, NO>(lba, reinterpret_cast<UInt8*>(buffer), sector_sz, size_buffer); } +//////////////////////////////////////////////////// +/// +//////////////////////////////////////////////////// Bool drv_std_init(UInt16& pi) { BOOL atapi = NO; return drv_std_init_ahci(pi, atapi); } +//////////////////////////////////////////////////// +/// +//////////////////////////////////////////////////// Bool drv_std_detected(Void) { return drv_std_detected_ahci(); } -/*** +//////////////////////////////////////////////////// +/** @brief Gets the number of sectors inside the drive. @return Sector size in bytes. */ +//////////////////////////////////////////////////// SizeT drv_get_sector_count() { return drv_get_sector_count_ahci(); } +//////////////////////////////////////////////////// /// @brief Get the drive size. /// @return Disk size in bytes. +//////////////////////////////////////////////////// SizeT drv_get_size() { return drv_get_size_ahci(); diff --git a/dev/kernel/HALKit/AMD64/Storage/DMA+Generic.cc b/dev/kernel/HALKit/AMD64/Storage/DMA+Generic.cc index 261643fc..e350228d 100644 --- a/dev/kernel/HALKit/AMD64/Storage/DMA+Generic.cc +++ b/dev/kernel/HALKit/AMD64/Storage/DMA+Generic.cc @@ -5,7 +5,7 @@ ------------------------------------------- */ /** - * @file ATA-PIO.cc + * @file DMA+Generic.cc * @author Amlal EL Mahrouss (amlal@nekernel.org) * @brief ATA driver (DMA mode). * @version 0.1 @@ -32,7 +32,7 @@ STATIC Boolean kATADetected = false; STATIC Int32 kATADeviceType = kATADeviceCount; STATIC Char kATAData[kATADataLen] = {0}; STATIC Kernel::PCI::Device kATADevice; -STATIC Char kCurrentDiskModel[50] = {"UNKNOWN DMA DRIVE"}; +STATIC Char kCurrentDiskModel[50] = {"UNKNOWN DMA DRIVE"}; Boolean drv_std_wait_io(UInt16 IO) { diff --git a/dev/kernel/HALKit/AMD64/Storage/PIO+Generic.cc b/dev/kernel/HALKit/AMD64/Storage/PIO+Generic.cc index 2bbdb0e5..d828839d 100644 --- a/dev/kernel/HALKit/AMD64/Storage/PIO+Generic.cc +++ b/dev/kernel/HALKit/AMD64/Storage/PIO+Generic.cc @@ -5,7 +5,7 @@ ------------------------------------------- */ /** - * @file PIO.cc + * @file PIO+Generic.cc * @author Amlal EL Mahrouss (amlal@nekernel.org) * @brief ATA driver (PIO mode). * @version 0.1 diff --git a/dev/kernel/HALKit/ARM64/Processor.h b/dev/kernel/HALKit/ARM64/Processor.h index cf600122..cc48c856 100644 --- a/dev/kernel/HALKit/ARM64/Processor.h +++ b/dev/kernel/HALKit/ARM64/Processor.h @@ -84,7 +84,7 @@ namespace Kernel::HAL } // namespace Kernel::HAL inline Kernel::VoidPtr kKernelBitMpStart = nullptr; -inline Kernel::UIntPtr kKernelBitMpSize = 0UL; +inline Kernel::UIntPtr kKernelBitMpSize = 0UL; inline Kernel::VoidPtr kKernelPhysicalStart = nullptr; diff --git a/dev/kernel/HALKit/POWER/AP.h b/dev/kernel/HALKit/POWER/AP.h index b97b6d3e..12ba467c 100644 --- a/dev/kernel/HALKit/POWER/AP.h +++ b/dev/kernel/HALKit/POWER/AP.h @@ -26,9 +26,9 @@ namespace Kernel typedef struct HAL_HARDWARE_THREAD { Kernel::UIntPtr fStartAddress; - Kernel::UInt8 fPrivleged : 1; - Kernel::UInt32 fPageMemoryFlags; - hal_ap_kind fIdentNumber; + Kernel::UInt8 fPrivleged : 1; + Kernel::UInt32 fPageMemoryFlags; + hal_ap_kind fIdentNumber; } HAL_HARDWARE_THREAD; /// @brief Set PC to specific hart. diff --git a/dev/kernel/HALKit/RISCV/AP.h b/dev/kernel/HALKit/RISCV/AP.h index 33ca3192..2be2013e 100644 --- a/dev/kernel/HALKit/RISCV/AP.h +++ b/dev/kernel/HALKit/RISCV/AP.h @@ -22,9 +22,9 @@ namespace Kernel typedef struct HAL_HARDWARE_THREAD { Kernel::UIntPtr fStartAddress; - Kernel::UInt8 fPrivleged : 1; - Kernel::UInt32 fPageMemoryFlags; - hal_ap_kind fIdentNumber; + Kernel::UInt8 fPrivleged : 1; + Kernel::UInt32 fPageMemoryFlags; + hal_ap_kind fIdentNumber; } HAL_HARDWARE_THREAD; /// @brief Set PC to specific hart. diff --git a/dev/kernel/KernelKit/MSDOS.h b/dev/kernel/KernelKit/MSDOS.h index 8d18b884..d0d2533b 100644 --- a/dev/kernel/KernelKit/MSDOS.h +++ b/dev/kernel/KernelKit/MSDOS.h @@ -24,29 +24,29 @@ #define kMagMz1 'Z' typedef Kernel::UInt32 DosWord; -typedef Kernel::Long DosLong; +typedef Kernel::Long DosLong; typedef struct _DosHeader { Kernel::UInt8 eMagic[2]; - DosWord eMagLen; - DosWord ePagesCount; - DosWord eCrlc; - DosWord eCParHdr; - DosWord eMinAlloc; - DosWord eMaxAlloc; - DosWord eStackSeg; - DosWord eStackPtr; - DosWord eChksum; - DosWord eIp; - DosWord eCs; - DosWord eLfarlc; - DosWord eOvno; - DosWord eRes[4]; - DosWord eOemid; - DosWord eOeminfo; - DosWord eRes2[10]; - DosLong eLfanew; + DosWord eMagLen; + DosWord ePagesCount; + DosWord eCrlc; + DosWord eCParHdr; + DosWord eMinAlloc; + DosWord eMaxAlloc; + DosWord eStackSeg; + DosWord eStackPtr; + DosWord eChksum; + DosWord eIp; + DosWord eCs; + DosWord eLfarlc; + DosWord eOvno; + DosWord eRes[4]; + DosWord eOemid; + DosWord eOeminfo; + DosWord eRes2[10]; + DosLong eLfanew; } DosHeader, *DosHeaderPtr; #endif /* ifndef __MSDOS_EXEC__ */ diff --git a/dev/kernel/KernelKit/PE.h b/dev/kernel/KernelKit/PE.h index 3746cf90..313cddd2 100644 --- a/dev/kernel/KernelKit/PE.h +++ b/dev/kernel/KernelKit/PE.h @@ -42,8 +42,8 @@ typedef struct LDR_EXEC_HEADER final typedef struct LDR_OPTIONAL_HEADER final { Kernel::UInt16 Magic; // 0x010b - PE32, 0x020b - PE32+ (64 bit) - Kernel::UInt8 MajorLinkerVersion; - Kernel::UInt8 MinorLinkerVersion; + Kernel::UInt8 MajorLinkerVersion; + Kernel::UInt8 MinorLinkerVersion; Kernel::UInt32 SizeOfCode; Kernel::UInt32 SizeOfInitializedData; Kernel::UInt32 SizeOfUninitializedData; @@ -75,7 +75,7 @@ typedef struct LDR_OPTIONAL_HEADER final typedef struct LDR_SECTION_HEADER final { - Kernel::Char Name[8]; + Kernel::Char Name[8]; Kernel::UInt32 VirtualSize; Kernel::UInt32 VirtualAddress; Kernel::UInt32 SizeOfRawData; diff --git a/dev/kernel/KernelKit/ThreadLocalStorage.h b/dev/kernel/KernelKit/ThreadLocalStorage.h index 98747ca7..5f80d7c7 100644 --- a/dev/kernel/KernelKit/ThreadLocalStorage.h +++ b/dev/kernel/KernelKit/ThreadLocalStorage.h @@ -28,8 +28,8 @@ struct THREAD_INFORMATION_BLOCK; /// Located in GS on AMD64, other architectures have their own stuff. (64x0, 32x0, ARM64) struct PACKED THREAD_INFORMATION_BLOCK final { - Kernel::Char Cookie[kTLSCookieLen]{0}; //! Thread magic number. - Kernel::VoidPtr Record{nullptr}; //! Thread information record. + Kernel::Char Cookie[kTLSCookieLen]{0}; //! Thread magic number. + Kernel::VoidPtr Record{nullptr}; //! Thread information record. }; ///! @brief Cookie Sanity check. diff --git a/dev/kernel/KernelKit/UserProcessScheduler.h b/dev/kernel/KernelKit/UserProcessScheduler.h index dc90dc96..b9c1676b 100644 --- a/dev/kernel/KernelKit/UserProcessScheduler.h +++ b/dev/kernel/KernelKit/UserProcessScheduler.h @@ -19,7 +19,7 @@ #define kSchedMaxMemoryLimit gib_cast(128) /* max physical memory limit */ #define kSchedMaxStackSz mib_cast(8) /* maximum stack size */ -#define kSchedNameLen (128U) +#define kSchedNameLen (128U) //////////////////////////////////////////////////// // Last revision date is: Fri Mar 28 2025 // diff --git a/dev/kernel/KernelKit/XCOFF.h b/dev/kernel/KernelKit/XCOFF.h index 037a52bb..d38c2e02 100644 --- a/dev/kernel/KernelKit/XCOFF.h +++ b/dev/kernel/KernelKit/XCOFF.h @@ -29,13 +29,13 @@ struct XCoffForkHeader; /// @brief XCoff file header, meant for POWER apps. typedef struct XCoffFileHeader { - Kernel::UInt16 fMagic; - Kernel::UInt16 fTarget; - Kernel::UInt16 fNumSecs; - Kernel::UInt32 fTimeDat; + Kernel::UInt16 fMagic; + Kernel::UInt16 fTarget; + Kernel::UInt16 fNumSecs; + Kernel::UInt32 fTimeDat; Kernel::UIntPtr fSymPtr; - Kernel::UInt32 fNumSyms; - Kernel::UInt16 fOptHdr; // ?: Number of bytes in optional header + Kernel::UInt32 fNumSyms; + Kernel::UInt16 fOptHdr; // ?: Number of bytes in optional header } XCoffFileHeader64; #define kForkNameLen (256U) diff --git a/dev/kernel/NewKit/Macros.h b/dev/kernel/NewKit/Macros.h index 660877f6..bf1283e2 100644 --- a/dev/kernel/NewKit/Macros.h +++ b/dev/kernel/NewKit/Macros.h @@ -131,7 +131,7 @@ #define dbg_break_point() ((void)0) #endif -#define RTL_ENDIAN(address, value) \ +#define RTL_ENDIAN(address, value) \ (((reinterpret_cast<Kernel::Char*>(address)[0]) == (value)) \ ? (Kernel::Endian::kEndianBig) \ : (Kernel::Endian::kEndianLittle)) diff --git a/dev/kernel/obj/.hgkeep b/dev/kernel/obj/.gitkeep index e69de29b..e69de29b 100644 --- a/dev/kernel/obj/.hgkeep +++ b/dev/kernel/obj/.gitkeep diff --git a/dev/kernel/src/GUIDWizard.cc b/dev/kernel/src/GUIDWizard.cc index 96e15d85..1aff3a21 100644 --- a/dev/kernel/src/GUIDWizard.cc +++ b/dev/kernel/src/GUIDWizard.cc @@ -17,7 +17,7 @@ // @brief Size of UUID. #define kUUIDSize 37 -namespace CFKit::XRN::Version1 +namespace CF::XRN::Version1 { auto cf_make_sequence(const ArrayList<UInt32>& uuidSeq) -> Ref<GUIDSequence*> { @@ -69,4 +69,4 @@ namespace CFKit::XRN::Version1 return ErrorOr<Ref<KString>>{-1}; } -} // namespace CFKit::XRN::Version1 +} // namespace CF::XRN::Version1 diff --git a/dev/kernel/src/GUIDWrapper.cc b/dev/kernel/src/GUIDWrapper.cc index cd4a6aa3..cd25e3cf 100644 --- a/dev/kernel/src/GUIDWrapper.cc +++ b/dev/kernel/src/GUIDWrapper.cc @@ -6,6 +6,6 @@ #include <CFKit/GUIDWrapper.h> -namespace CFKit::XRN +namespace CF::XRN { } diff --git a/dev/kernel/src/Property.cc b/dev/kernel/src/Property.cc index 8f3b5314..1493b027 100644 --- a/dev/kernel/src/Property.cc +++ b/dev/kernel/src/Property.cc @@ -6,7 +6,7 @@ #include <CFKit/Property.h> -namespace CFKit +namespace CF { /***********************************************************************************/ /// @brief Destructor. @@ -42,4 +42,4 @@ namespace CFKit { return fValue; } -} // namespace CFKit +} // namespace CF diff --git a/dev/modules/AHCI/AHCI.h b/dev/modules/AHCI/AHCI.h index 35065561..c1d63002 100644 --- a/dev/modules/AHCI/AHCI.h +++ b/dev/modules/AHCI/AHCI.h @@ -53,30 +53,30 @@ typedef struct FisRegH2D final // DWORD 0 Kernel::UInt8 FisType; // FIS_TYPE_REG_H2D - Kernel::UInt8 PortMul : 4; // Port multiplier + Kernel::UInt8 PortMul : 4; // Port multiplier Kernel::UInt8 Reserved0 : 3; // Reserved Kernel::UInt8 CmdOrCtrl : 1; // 1: Command, 0: Control - Kernel::UInt8 Command; // Command register + Kernel::UInt8 Command; // Command register Kernel::UInt8 FeatureLow; // Feature register, 7:0 // DWORD 1 - Kernel::UInt8 Lba0; // LBA low register, 7:0 - Kernel::UInt8 Lba1; // LBA mid register, 15:8 - Kernel::UInt8 Lba2; // LBA high register, 23:16 + Kernel::UInt8 Lba0; // LBA low register, 7:0 + Kernel::UInt8 Lba1; // LBA mid register, 15:8 + Kernel::UInt8 Lba2; // LBA high register, 23:16 Kernel::UInt8 Device; // Device register // DWORD 2 - Kernel::UInt8 Lba3; // LBA register, 31:24 - Kernel::UInt8 Lba4; // LBA register, 39:32 - Kernel::UInt8 Lba5; // LBA register, 47:40 + Kernel::UInt8 Lba3; // LBA register, 31:24 + Kernel::UInt8 Lba4; // LBA register, 39:32 + Kernel::UInt8 Lba5; // LBA register, 47:40 Kernel::UInt8 FeatureHigh; // Feature register, 15:8 // DWORD 3 - Kernel::UInt8 CountLow; // Count register, 7:0 + Kernel::UInt8 CountLow; // Count register, 7:0 Kernel::UInt8 CountHigh; // Count register, 15:8 - Kernel::UInt8 Icc; // Isochronous command completion - Kernel::UInt8 Control; // Control register + Kernel::UInt8 Icc; // Isochronous command completion + Kernel::UInt8 Control; // Control register // DWORD 4 Kernel::UInt8 Reserved1[4]; // Reserved @@ -87,18 +87,18 @@ typedef struct FisRegD2H final // DWORD 0 Kernel::UInt8 FisType; // FIS_TYPE_REG_D2H - Kernel::UInt8 PortMul : 4; // Port multiplier + Kernel::UInt8 PortMul : 4; // Port multiplier Kernel::UInt8 Reserved0 : 2; // Reserved - Kernel::UInt8 IE : 1; // Interrupt bit + Kernel::UInt8 IE : 1; // Interrupt bit Kernel::UInt8 Reserved1 : 1; // Reserved Kernel::UInt8 Status; // Status register - Kernel::UInt8 Error; // Error register + Kernel::UInt8 Error; // Error register // DWORD 1 - Kernel::UInt8 Lba0; // LBA low register, 7:0 - Kernel::UInt8 Lba1; // LBA mid register, 15:8 - Kernel::UInt8 Lba2; // LBA high register, 23:16 + Kernel::UInt8 Lba0; // LBA low register, 7:0 + Kernel::UInt8 Lba1; // LBA mid register, 15:8 + Kernel::UInt8 Lba2; // LBA high register, 23:16 Kernel::UInt8 Device; // Device register // DWORD 2 @@ -108,9 +108,9 @@ typedef struct FisRegD2H final Kernel::UInt8 Rsv2; // Reserved // DWORD 3 - Kernel::UInt8 CountLow; // Count register, 7:0 + Kernel::UInt8 CountLow; // Count register, 7:0 Kernel::UInt8 CountHigh; // Count register, 15:8 - Kernel::UInt8 Rsv3[2]; // Reserved + Kernel::UInt8 Rsv3[2]; // Reserved // DWORD 4 Kernel::UInt8 Rsv4[4]; // Reserved @@ -121,7 +121,7 @@ typedef struct FisData final // DWORD 0 Kernel::UInt8 FisType; // FIS_TYPE_DATA - Kernel::UInt8 PortMul : 4; // Port multiplier + Kernel::UInt8 PortMul : 4; // Port multiplier Kernel::UInt8 Reserved0 : 4; // Reserved Kernel::UInt8 Reserved1[2]; // Reserved @@ -135,19 +135,19 @@ typedef struct FisPioSetup final // DWORD 0 Kernel::UInt8 FisType; // FIS_TYPE_PIO_SETUP - Kernel::UInt8 PortMul : 4; // Port multiplier + Kernel::UInt8 PortMul : 4; // Port multiplier Kernel::UInt8 Reserved0 : 1; // Reserved - Kernel::UInt8 DTD : 1; // Data transfer direction, 1 - device to host - Kernel::UInt8 IE : 1; // Interrupt bit + Kernel::UInt8 DTD : 1; // Data transfer direction, 1 - device to host + Kernel::UInt8 IE : 1; // Interrupt bit Kernel::UInt8 Reserved1 : 1; Kernel::UInt8 Status; // Status register - Kernel::UInt8 Error; // Error register + Kernel::UInt8 Error; // Error register // DWORD 1 - Kernel::UInt8 Lba0; // LBA low register, 7:0 - Kernel::UInt8 Lba1; // LBA mid register, 15:8 - Kernel::UInt8 Lba2; // LBA high register, 23:16 + Kernel::UInt8 Lba0; // LBA low register, 7:0 + Kernel::UInt8 Lba1; // LBA mid register, 15:8 + Kernel::UInt8 Lba2; // LBA high register, 23:16 Kernel::UInt8 Device; // Device register // DWORD 2 @@ -157,14 +157,14 @@ typedef struct FisPioSetup final Kernel::UInt8 Rsv2; // Reserved // DWORD 3 - Kernel::UInt8 CountLow; // Count register, 7:0 + Kernel::UInt8 CountLow; // Count register, 7:0 Kernel::UInt8 CountHigh; // Count register, 15:8 - Kernel::UInt8 Rsv3; // Reserved - Kernel::UInt8 EStatus; // New value of status register + Kernel::UInt8 Rsv3; // Reserved + Kernel::UInt8 EStatus; // New value of status register // DWORD 4 Kernel::UInt16 TranferCount; // Transfer count - Kernel::UInt8 Rsv4[2]; // Reserved + Kernel::UInt8 Rsv4[2]; // Reserved } FisPioSetup; typedef struct FisDmaSetup final @@ -172,18 +172,18 @@ typedef struct FisDmaSetup final // DWORD 0 Kernel::UInt8 FisType; // FIS_TYPE_DMA_SETUP - Kernel::UInt8 PortMul : 4; // Port multiplier - Kernel::UInt8 Reserved0 : 1; // Reserved - Kernel::UInt8 DTD : 1; // Data transfer direction, 1 - device to host - Kernel::UInt8 IE : 1; // Interrupt bit + Kernel::UInt8 PortMul : 4; // Port multiplier + Kernel::UInt8 Reserved0 : 1; // Reserved + Kernel::UInt8 DTD : 1; // Data transfer direction, 1 - device to host + Kernel::UInt8 IE : 1; // Interrupt bit Kernel::UInt8 AutoEnable : 1; // Auto-activate. Specifies if DMA Activate FIS is needed Kernel::UInt8 Reserved1[2]; // Reserved // DWORD 1&2 volatile Kernel::UInt64 DmaBufferId; // DMA Buffer Identifier. Used to Identify DMA buffer in - // host memory. SATA Spec says host specific and not in - // Spec. Trying AHCI spec might work. + // host memory. SATA Spec says host specific and not in + // Spec. Trying AHCI spec might work. // DWORD 3 Kernel::UInt32 Rsvd; // More reserved @@ -226,41 +226,41 @@ typedef struct FisDevBits final typedef struct HbaPort final { - Kernel::UInt32 Clb; // 0x00, command list base address, 1K-byte aligned - Kernel::UInt32 Clbu; // 0x04, command list base address upper 32 bits - Kernel::UInt32 Fb; // 0x08, FIS base address, 256-byte aligned - Kernel::UInt32 Fbu; // 0x0C, FIS base address upper 32 bits - Kernel::UInt32 Is; // 0x10, interrupt status - Kernel::UInt32 Ie; // 0x14, interrupt enable - Kernel::UInt32 Cmd; // 0x18, command and status - Kernel::UInt32 Reserved0; // 0x1C, Reserved - Kernel::UInt32 Tfd; // 0x20, task file data - Kernel::UInt32 Sig; // 0x24, signature - Kernel::UInt32 Ssts; // 0x28, SATA status (SCR0:SStatus) - Kernel::UInt32 Sctl; // 0x2C, SATA control (SCR2:SControl) - Kernel::UInt32 Serr; // 0x30, SATA error (SCR1:SError) - Kernel::UInt32 Sact; // 0x34, SATA active (SCR3:SActive) - Kernel::UInt32 Ci; // 0x38, command issue - Kernel::UInt32 Sntf; // 0x3C, SATA notification (SCR4:SNotification) - Kernel::UInt32 Fbs; // 0x40, FIS-based switch control + Kernel::UInt32 Clb; // 0x00, command list base address, 1K-byte aligned + Kernel::UInt32 Clbu; // 0x04, command list base address upper 32 bits + Kernel::UInt32 Fb; // 0x08, FIS base address, 256-byte aligned + Kernel::UInt32 Fbu; // 0x0C, FIS base address upper 32 bits + Kernel::UInt32 Is; // 0x10, interrupt status + Kernel::UInt32 Ie; // 0x14, interrupt enable + Kernel::UInt32 Cmd; // 0x18, command and status + Kernel::UInt32 Reserved0; // 0x1C, Reserved + Kernel::UInt32 Tfd; // 0x20, task file data + Kernel::UInt32 Sig; // 0x24, signature + Kernel::UInt32 Ssts; // 0x28, SATA status (SCR0:SStatus) + Kernel::UInt32 Sctl; // 0x2C, SATA control (SCR2:SControl) + Kernel::UInt32 Serr; // 0x30, SATA error (SCR1:SError) + Kernel::UInt32 Sact; // 0x34, SATA active (SCR3:SActive) + Kernel::UInt32 Ci; // 0x38, command issue + Kernel::UInt32 Sntf; // 0x3C, SATA notification (SCR4:SNotification) + Kernel::UInt32 Fbs; // 0x40, FIS-based switch control Kernel::UInt32 Reserved1[11]; // 0x44 ~ 0x6F, Reserved - Kernel::UInt32 Vendor[4]; // 0x70 ~ 0x7F, vendor specific + Kernel::UInt32 Vendor[4]; // 0x70 ~ 0x7F, vendor specific } HbaPort; typedef struct HbaMem final { // 0x00 - 0x2B, Generic Host Control - Kernel::UInt32 Cap; // 0x00, Host capability - Kernel::UInt32 Ghc; // 0x04, Global host control - Kernel::UInt32 Is; // 0x08, Interrupt status - Kernel::UInt32 Pi; // 0x0C, Port implemented - Kernel::UInt32 Vs; // 0x10, Version + Kernel::UInt32 Cap; // 0x00, Host capability + Kernel::UInt32 Ghc; // 0x04, Global host control + Kernel::UInt32 Is; // 0x08, Interrupt status + Kernel::UInt32 Pi; // 0x0C, Port implemented + Kernel::UInt32 Vs; // 0x10, Version Kernel::UInt32 Ccc_ctl; // 0x14, Command completion coalescing control Kernel::UInt32 Ccc_pts; // 0x18, Command completion coalescing ports - Kernel::UInt32 Em_loc; // 0x1C, Enclosure management location - Kernel::UInt32 Em_ctl; // 0x20, Enclosure management control - Kernel::UInt32 Cap2; // 0x24, Host capabilities extended - Kernel::UInt32 Bohc; // 0x28, BIOS/OS handoff control and status + Kernel::UInt32 Em_loc; // 0x1C, Enclosure management location + Kernel::UInt32 Em_ctl; // 0x20, Enclosure management control + Kernel::UInt32 Cap2; // 0x24, Host capabilities extended + Kernel::UInt32 Bohc; // 0x28, BIOS/OS handoff control and status Kernel::UInt8 Resv0[0xA0 - 0x2C]; Kernel::UInt8 Vendor[0x100 - 0xA0]; @@ -276,16 +276,16 @@ typedef struct HbaCmdHeader final union { struct { - Kernel::UInt8 Cfl : 5; // Command FIS length in DWORDS, 2 ~ 16 - Kernel::UInt8 Atapi : 1; // ATAPI - Kernel::UInt8 Write : 1; // Write, 1: H2D, 0: D2H + Kernel::UInt8 Cfl : 5; // Command FIS length in DWORDS, 2 ~ 16 + Kernel::UInt8 Atapi : 1; // ATAPI + Kernel::UInt8 Write : 1; // Write, 1: H2D, 0: D2H Kernel::UInt8 Prefetchable : 1; // Prefetchable - Kernel::UInt8 Reset : 1; // Reset - Kernel::UInt8 BIST : 1; // BIST - Kernel::UInt8 Clear : 1; // Clear busy upon R_OK + Kernel::UInt8 Reset : 1; // Reset + Kernel::UInt8 BIST : 1; // BIST + Kernel::UInt8 Clear : 1; // Clear busy upon R_OK Kernel::UInt8 Reserved0 : 1; // Reserved - Kernel::UInt8 Pmp : 4; // Port multiplier port + Kernel::UInt8 Pmp : 4; // Port multiplier port }; Kernel::UInt16 Flags; }; @@ -293,7 +293,7 @@ typedef struct HbaCmdHeader final Kernel::UInt16 Prdtl; // Physical region descriptor table length in entries Kernel::UInt32 Prdbc; // Physical region descriptor byte count transferred - Kernel::UInt32 Ctba; // Command table descriptor base address + Kernel::UInt32 Ctba; // Command table descriptor base address Kernel::UInt32 Ctbau; // Command table descriptor base address upper 32 bits Kernel::UInt32 Rsv[4]; @@ -302,13 +302,13 @@ typedef struct HbaCmdHeader final typedef struct HbaFis final { // 0x00 - FisDmaSetup Dsfis; // DMA Setup FIS + FisDmaSetup Dsfis; // DMA Setup FIS Kernel::UInt8 Pad0[4]; // 0x20 - FisPioSetup Psfis; // PIO Setup FIS + FisPioSetup Psfis; // PIO Setup FIS Kernel::UInt8 Pad1[12]; // 0x40 - FisRegD2H Rfis; // Register – Device to Host FIS + FisRegD2H Rfis; // Register – Device to Host FIS Kernel::UInt8 Pad2[4]; // 0x58 FisDevBits Sdbfis; // Set Device Bit FIS @@ -320,20 +320,20 @@ typedef struct HbaFis final typedef struct HbaPrdtEntry final { - Kernel::UInt32 Dba; // Data base address - Kernel::UInt32 Dbau; // Data base address upper 32 bits + Kernel::UInt32 Dba; // Data base address + Kernel::UInt32 Dbau; // Data base address upper 32 bits Kernel::UInt32 Reserved0; // Reserved // DW3 - Kernel::UInt32 Dbc : 22; // Byte count, 4M max + Kernel::UInt32 Dbc : 22; // Byte count, 4M max Kernel::UInt32 Reserved1 : 9; // Reserved - Kernel::UInt32 Ie : 1; // Interrupt on completion + Kernel::UInt32 Ie : 1; // Interrupt on completion } HbaPrdtEntry; typedef struct HbaCmdTbl final { - Kernel::UInt8 Cfis[64]; // Command FIS - Kernel::UInt8 Acmd[16]; // ATAPI command, 12 or 16 bytes - Kernel::UInt8 Rsv[48]; // Reserved + Kernel::UInt8 Cfis[64]; // Command FIS + Kernel::UInt8 Acmd[16]; // ATAPI command, 12 or 16 bytes + Kernel::UInt8 Rsv[48]; // Reserved struct HbaPrdtEntry Prdt[]; // Physical region descriptor table entries, 0 ~ 65535 } HbaCmdTbl; diff --git a/dev/modules/CoreGfx/AccessibilityMgr.h b/dev/modules/CoreGfx/AccessibilityMgr.h index d74059d0..61e0379a 100644 --- a/dev/modules/CoreGfx/AccessibilityMgr.h +++ b/dev/modules/CoreGfx/AccessibilityMgr.h @@ -18,13 +18,13 @@ namespace FB using namespace Kernel; /// @brief common User interface class. - class UIAccessibilty final + class FBAccessibilty final { - explicit UIAccessibilty() = default; - ~UIAccessibilty() = default; + explicit FBAccessibilty() = default; + ~FBAccessibilty() = default; public: - NE_COPY_DELETE(UIAccessibilty); + NE_COPY_DELETE(FBAccessibilty); static Int64 Width() noexcept { diff --git a/dev/modules/CoreGfx/FBMgr.h b/dev/modules/CoreGfx/FBMgr.h index 6ac4df02..73c51580 100644 --- a/dev/modules/CoreGfx/FBMgr.h +++ b/dev/modules/CoreGfx/FBMgr.h @@ -18,115 +18,115 @@ #ifdef __NE_AMD64__ /// @brief Performs Alpha drawing on the framebuffer. -#define FBDrawBitMapInRegionA(reg_ptr, height, width, base_x, base_y) \ +#define FBDrawBitMapInRegionA(reg_ptr, height, width, base_x, base_y) \ for (Kernel::SizeT i = base_x; i < (width + base_x); ++i) \ - { \ + { \ for (Kernel::SizeT u = base_y; u < (height + base_y); ++u) \ - { \ + { \ *(((Kernel::UInt32*)(kHandoverHeader->f_GOP.f_The + \ - 4 * kHandoverHeader->f_GOP.f_PixelPerLine * \ - i + \ - 4 * u))) |= (reg_ptr)[kCGCursor]; \ - \ - ++kCGCursor; \ - } \ + 4 * kHandoverHeader->f_GOP.f_PixelPerLine * \ + i + \ + 4 * u))) |= (reg_ptr)[kCGCursor]; \ + \ + ++kCGCursor; \ + } \ } /// @brief Performs drawing on the framebuffer. -#define FBDrawBitMapInRegion(reg_ptr, height, width, base_x, base_y) \ +#define FBDrawBitMapInRegion(reg_ptr, height, width, base_x, base_y) \ for (Kernel::SizeT i = base_x; i < (width + base_x); ++i) \ - { \ + { \ for (Kernel::SizeT u = base_y; u < (height + base_y); ++u) \ - { \ + { \ *(((Kernel::UInt32*)(kHandoverHeader->f_GOP.f_The + \ - 4 * kHandoverHeader->f_GOP.f_PixelPerLine * \ - i + \ - 4 * u))) = (reg_ptr)[kCGCursor]; \ - \ - ++kCGCursor; \ - } \ + 4 * kHandoverHeader->f_GOP.f_PixelPerLine * \ + i + \ + 4 * u))) = (reg_ptr)[kCGCursor]; \ + \ + ++kCGCursor; \ + } \ } #define FBDrawBitMapInRegionToRgn(_Rgn, reg_ptr, height, width, base_x, base_y) \ - for (Kernel::SizeT i = base_x; i < (width + base_x); ++i) \ + for (Kernel::SizeT i = base_x; i < (width + base_x); ++i) \ { \ - for (Kernel::SizeT u = base_y; u < (height + base_y); ++u) \ + for (Kernel::SizeT u = base_y; u < (height + base_y); ++u) \ { \ - *(((Kernel::UInt32*)(_Rgn + \ - 4 * kHandoverHeader->f_GOP.f_PixelPerLine * \ - i + \ - 4 * u))) = (reg_ptr)[kCGCursor]; \ + *(((Kernel::UInt32*)(_Rgn + \ + 4 * kHandoverHeader->f_GOP.f_PixelPerLine * \ + i + \ + 4 * u))) = (reg_ptr)[kCGCursor]; \ \ ++kCGCursor; \ } \ } /// @brief Cleans a resource. -#define CGClearRegion(height, width, base_x, base_y) \ +#define FBClearRegion(height, width, base_x, base_y) \ for (Kernel::SizeT i = base_x; i < (width + base_x); ++i) \ - { \ + { \ for (Kernel::SizeT u = base_y; u < (height + base_y); ++u) \ - { \ + { \ *(((volatile Kernel::UInt32*)(kHandoverHeader->f_GOP.f_The + \ - 4 * kHandoverHeader->f_GOP.f_PixelPerLine * \ - i + \ - 4 * u))) = fb_get_clear_clr(); \ - } \ + 4 * kHandoverHeader->f_GOP.f_PixelPerLine * \ + i + \ + 4 * u))) = fb_get_clear_clr(); \ + } \ } /// @brief Draws inside a zone. -#define FBDrawInRegion(_Clr, height, width, base_x, base_y) \ +#define FBDrawInRegion(clr, height, width, base_x, base_y) \ for (Kernel::SizeT x_base = base_x; x_base < (width + base_x); ++x_base) \ - { \ + { \ for (Kernel::SizeT y_base = base_y; y_base < (height + base_y); ++y_base) \ - { \ + { \ *(((volatile Kernel::UInt32*)(kHandoverHeader->f_GOP.f_The + \ - 4 * kHandoverHeader->f_GOP.f_PixelPerLine * \ - x_base + \ - 4 * y_base))) = _Clr; \ - } \ + 4 * kHandoverHeader->f_GOP.f_PixelPerLine * \ + x_base + \ + 4 * y_base))) = clr; \ + } \ } /// @brief Draws inside a zone. -#define FBDrawInRegionToRgn(_Rgn, _Clr, height, width, base_x, base_y) \ +#define FBDrawInRegionToRgn(_Rgn, clr, height, width, base_x, base_y) \ for (Kernel::SizeT x_base = base_x; x_base < (width + base_x); ++x_base) \ - { \ + { \ for (Kernel::SizeT y_base = base_y; y_base < (height + base_y); ++y_base) \ - { \ + { \ *(((volatile Kernel::UInt32*)(_Rgn + \ - 4 * kHandoverHeader->f_GOP.f_PixelPerLine * \ - x_base + \ - 4 * y_base))) = _Clr[kCGCursor]; \ - ++kCGCursor; \ - } \ + 4 * kHandoverHeader->f_GOP.f_PixelPerLine * \ + x_base + \ + 4 * y_base))) = clr[kCGCursor]; \ + ++kCGCursor; \ + } \ } -#define FBDrawInRegionA(_Clr, height, width, base_x, base_y) \ +#define FBDrawInRegionA(clr, height, width, base_x, base_y) \ for (Kernel::SizeT x_base = base_x; x_base < (width + base_x); ++x_base) \ - { \ + { \ for (Kernel::SizeT y_base = base_y; y_base < (height + base_y); ++y_base) \ - { \ + { \ *(((volatile Kernel::UInt32*)(kHandoverHeader->f_GOP.f_The + \ - 4 * kHandoverHeader->f_GOP.f_PixelPerLine * \ - x_base + \ - 4 * y_base))) |= _Clr; \ - } \ + 4 * kHandoverHeader->f_GOP.f_PixelPerLine * \ + x_base + \ + 4 * y_base))) |= clr; \ + } \ } #else #define FBDrawBitMapInRegionA(reg_ptr, height, width, base_x, base_y) #define FBDrawBitMapInRegion(reg_ptr, height, width, base_x, base_y) #define FBDrawBitMapInRegionToRgn(_Rgn, reg_ptr, height, width, base_x, base_y) -#define CGClearRegion(height, width, base_x, base_y) -#define FBDrawInRegion(_Clr, height, width, base_x, base_y) -#define FBDrawInRegionToRgn(_Rgn, _Clr, height, width, base_x, base_y) -#define FBDrawInRegionA(_Clr, height, width, base_x, base_y) +#define FBClearRegion(height, width, base_x, base_y) +#define FBDrawInRegion(clr, height, width, base_x, base_y) +#define FBDrawInRegionToRgn(_Rgn, clr, height, width, base_x, base_y) +#define FBDrawInRegionA(clr, height, width, base_x, base_y) #define FBDrawBitMapInRegionA(reg_ptr, height, width, base_x, base_y) #define FBDrawBitMapInRegion(reg_ptr, height, width, base_x, base_y) #define FBDrawBitMapInRegionToRgn(_Rgn, reg_ptr, height, width, base_x, base_y) -#define CGClearRegion(height, width, base_x, base_y) -#define FBDrawInRegion(_Clr, height, width, base_x, base_y) -#define FBDrawInRegionToRgn(_Rgn, _Clr, height, width, base_x, base_y) -#define FBDrawInRegionA(_Clr, height, width, base_x, base_y) +#define FBClearRegion(height, width, base_x, base_y) +#define FBDrawInRegion(clr, height, width, base_x, base_y) +#define FBDrawInRegionToRgn(_Rgn, clr, height, width, base_x, base_y) +#define FBDrawInRegionA(clr, height, width, base_x, base_y) #endif // __NE_AMD64__ #ifndef GFX_MGR_ACCESSIBILITY_H @@ -141,7 +141,7 @@ namespace FB { fb_init(); - FBDrawInRegion(fb_get_clear_clr(), FB::UIAccessibilty::Height(), FB::UIAccessibilty::Width(), + FBDrawInRegion(fb_get_clear_clr(), FB::FBAccessibilty::Height(), FB::FBAccessibilty::Width(), 0, 0); fb_clear(); diff --git a/dev/modules/HPET/Defines.h b/dev/modules/HPET/Defines.h index bb825495..82254a27 100644 --- a/dev/modules/HPET/Defines.h +++ b/dev/modules/HPET/Defines.h @@ -18,25 +18,25 @@ namespace Kernel { struct PACKED HPETAddressStructure final { - Kernel::UInt8 AddressSpaceId; // 0 - system memory, 1 - system I/O - Kernel::UInt8 RegisterBitWidth; - Kernel::UInt8 RegisterBitOffset; - Kernel::UInt8 Reserved; + Kernel::UInt8 AddressSpaceId; // 0 - system memory, 1 - system I/O + Kernel::UInt8 RegisterBitWidth; + Kernel::UInt8 RegisterBitOffset; + Kernel::UInt8 Reserved; Kernel::UInt64 Address; }; struct PACKED HPETHeader final : public SDT { - Kernel::UInt8 HardwareRevId; - Kernel::UInt8 ComparatorCount : 5; - Kernel::UInt8 CounterSize : 1; - Kernel::UInt8 Reserved : 1; - Kernel::UInt8 LegacyReplacement : 1; + Kernel::UInt8 HardwareRevId; + Kernel::UInt8 ComparatorCount : 5; + Kernel::UInt8 CounterSize : 1; + Kernel::UInt8 Reserved : 1; + Kernel::UInt8 LegacyReplacement : 1; Kernel::UInt16 PciVendorId; HPETAddressStructure Address; - Kernel::UInt8 HpetNumber; + Kernel::UInt8 HpetNumber; Kernel::UInt16 MinimumTick; - Kernel::UInt8 PageProtection; + Kernel::UInt8 PageProtection; }; } // namespace Kernel diff --git a/dev/modules/LTE/LTE.h b/dev/modules/LTE/LTE.h index cd3dd616..32a7748d 100644 --- a/dev/modules/LTE/LTE.h +++ b/dev/modules/LTE/LTE.h @@ -23,18 +23,18 @@ 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::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 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);
+ Kernel::Size bufSz,
+ Kernel::Size offset,
+ Kernel::Int32 simSlot);
#endif // ifndef _INC_NETWORK_LTE_H_
diff --git a/dev/user/ProcessCodes.h b/dev/user/ProcessCodes.h index 2b740784..90ea33a1 100644 --- a/dev/user/ProcessCodes.h +++ b/dev/user/ProcessCodes.h @@ -15,42 +15,42 @@ #define err_local_fail() (kLastError != kErrorSuccess) #define err_local_get() (kLastError) -typedef SInt32 ErrKind; - -inline constexpr ErrKind kErrorSuccess = 0; -inline constexpr ErrKind kErrorExecutable = 33; -inline constexpr ErrKind kErrorExecutableLib = 34; -inline constexpr ErrKind kErrorFileNotFound = 35; -inline constexpr ErrKind kErrorDirectoryNotFound = 36; -inline constexpr ErrKind kErrorDiskReadOnly = 37; -inline constexpr ErrKind kErrorDiskIsFull = 38; -inline constexpr ErrKind kErrorProcessFault = 39; -inline constexpr ErrKind kErrorSocketHangUp = 40; -inline constexpr ErrKind kErrorThreadLocalStorage = 41; -inline constexpr ErrKind kErrorMath = 42; -inline constexpr ErrKind kErrorNoNetwork = 43; -inline constexpr ErrKind kErrorHeapOutOfMemory = 44; -inline constexpr ErrKind kErrorNoSuchDisk = 45; -inline constexpr ErrKind kErrorFileExists = 46; -inline constexpr ErrKind kErrorFormatFailed = 47; -inline constexpr ErrKind kErrorNetworkTimeout = 48; -inline constexpr ErrKind kErrorInternal = 49; -inline constexpr ErrKind kErrorForkAlreadyExists = 50; -inline constexpr ErrKind kErrorOutOfTeamSlot = 51; -inline constexpr ErrKind kErrorHeapNotPresent = 52; -inline constexpr ErrKind kErrorNoEntrypoint = 53; -inline constexpr ErrKind kErrorDiskIsCorrupted = 54; -inline constexpr ErrKind kErrorDisk = 55; -inline constexpr ErrKind kErrorInvalidData = 56; -inline constexpr ErrKind kErrorAsync = 57; -inline constexpr ErrKind kErrorNonBlocking = 58; -inline constexpr ErrKind kErrorIPC = 59; -inline constexpr ErrKind kErrorSign = 60; -inline constexpr ErrKind kErrorInvalidCreds = 61; -inline constexpr ErrKind kErrorCDTrayBroken = 62; -inline constexpr ErrKind kErrorUnrecoverableDisk = 63; -inline constexpr ErrKind kErrorFileLocked = 64; -inline constexpr ErrKind kErrorUnimplemented = -1; +typedef SInt32 ErrRef; + +inline constexpr ErrRef kErrorSuccess = 0; +inline constexpr ErrRef kErrorExecutable = 33; +inline constexpr ErrRef kErrorExecutableLib = 34; +inline constexpr ErrRef kErrorFileNotFound = 35; +inline constexpr ErrRef kErrorDirectoryNotFound = 36; +inline constexpr ErrRef kErrorDiskReadOnly = 37; +inline constexpr ErrRef kErrorDiskIsFull = 38; +inline constexpr ErrRef kErrorProcessFault = 39; +inline constexpr ErrRef kErrorSocketHangUp = 40; +inline constexpr ErrRef kErrorThreadLocalStorage = 41; +inline constexpr ErrRef kErrorMath = 42; +inline constexpr ErrRef kErrorNoNetwork = 43; +inline constexpr ErrRef kErrorHeapOutOfMemory = 44; +inline constexpr ErrRef kErrorNoSuchDisk = 45; +inline constexpr ErrRef kErrorFileExists = 46; +inline constexpr ErrRef kErrorFormatFailed = 47; +inline constexpr ErrRef kErrorNetworkTimeout = 48; +inline constexpr ErrRef kErrorInternal = 49; +inline constexpr ErrRef kErrorForkAlreadyExists = 50; +inline constexpr ErrRef kErrorOutOfTeamSlot = 51; +inline constexpr ErrRef kErrorHeapNotPresent = 52; +inline constexpr ErrRef kErrorNoEntrypoint = 53; +inline constexpr ErrRef kErrorDiskIsCorrupted = 54; +inline constexpr ErrRef kErrorDisk = 55; +inline constexpr ErrRef kErrorInvalidData = 56; +inline constexpr ErrRef kErrorAsync = 57; +inline constexpr ErrRef kErrorNonBlocking = 58; +inline constexpr ErrRef kErrorIPC = 59; +inline constexpr ErrRef kErrorSign = 60; +inline constexpr ErrRef kErrorInvalidCreds = 61; +inline constexpr ErrRef kErrorCDTrayBroken = 62; +inline constexpr ErrRef kErrorUnrecoverableDisk = 63; +inline constexpr ErrRef kErrorFileLocked = 64; +inline constexpr ErrRef kErrorUnimplemented = -1; /// @brief The last error reported by the system to the process. -IMPORT_C ErrKind kLastError; +IMPORT_C ErrRef kLastError; @@ -3,7 +3,7 @@ THIS_PATH="$(realpath "$0")" THIS_DIR="$(dirname "$THIS_PATH")" -FILE_LIST="$(find "$THIS_DIR" | grep -E ".*(\.cc|\.c|\.h|\.hpp|\.cxx|\.hh|\.inl)$")" +FILE_LIST="$(find "$THIS_DIR" | grep -E ".*(\.cc|\.c|\.h|\.inl)$")" echo -e "Files found to format = \n\"\"\"\n$FILE_LIST\n\"\"\"" diff --git a/public/frameworks/CoreFoundation.fwrk/src/Foundation.cc b/public/frameworks/CoreFoundation.fwrk/src/Foundation.cc index 8dffdd02..89adf665 100644 --- a/public/frameworks/CoreFoundation.fwrk/src/Foundation.cc +++ b/public/frameworks/CoreFoundation.fwrk/src/Foundation.cc @@ -6,6 +6,9 @@ #include <CoreFoundation.fwrk/headers/Foundation.h> +/***********************************************************************************/ +/// @brief returns true if the proportions are valid. +/***********************************************************************************/ CF::CFRect::operator bool() { return width > 0 && height > 0; diff --git a/public/frameworks/KernelTest.fwrk/KernelTest.json b/public/frameworks/KernelTest.fwrk/KernelTest.json new file mode 100644 index 00000000..93207890 --- /dev/null +++ b/public/frameworks/KernelTest.fwrk/KernelTest.json @@ -0,0 +1,22 @@ +{ + "compiler_path": "x86_64-w64-mingw32-g++", + "compiler_std": "c++20", + "headers_path": ["../", "./", "../../../dev", "../../../dev/kernel"], + "sources_path": ["src/*.cc"], + "output_name": "./dist/libKernelTest.dylib", + "compiler_flags": [ + "-fPIC", + "-ffreestanding", + "-shared", + "-fno-rtti", + "-fno-exceptions", + "-Wl,--subsystem=17" + ], + "cpp_macros": [ + "kKTVersion=0x0100", + "kKTVersionHighest=0x0100", + "kKTVersionLowest=0x0100", + "__NE_AMD64__" + ] + } +
\ No newline at end of file |
