diff options
Diffstat (limited to 'dev')
29 files changed, 268 insertions, 364 deletions
diff --git a/dev/boot/BootKit/BootKit.h b/dev/boot/BootKit/BootKit.h index 6299e27b..7b2a4f0a 100644 --- a/dev/boot/BootKit/BootKit.h +++ b/dev/boot/BootKit/BootKit.h @@ -32,6 +32,9 @@ #include <FirmwareKit/GPT.h> #include <FirmwareKit/EFI.h> +#define kBKBootFileMime "boot-x/file" +#define kBKBootDirMime "boot-x/dir" + /***********************************************************************************/ /// Framebuffer helpers. /***********************************************************************************/ @@ -184,15 +187,6 @@ namespace Boot #endif // __EFI_x86_64__ - static inline const UInt32 kRgbRed = 0x000000FF; - static inline const UInt32 kRgbGreen = 0x0000FF00; - static inline const UInt32 kRgbBlue = 0x00FF0000; - static inline const UInt32 kRgbBlack = 0x00000000; - static inline const UInt32 kRgbWhite = 0x00FFFFFF; - -#define kBKBootFileMime "boot-x/file" -#define kBKBootDirMime "boot-x/dir" - /// @brief BootKit Drive Formatter. template <typename BootDev> class BDiskFormatFactory final @@ -207,11 +201,6 @@ namespace Boot public: explicit BDiskFormatFactory() = default; - explicit BDiskFormatFactory(BootDev dev) - : fDiskDev(dev) - { - } - ~BDiskFormatFactory() = default; NE_COPY_DELETE(BDiskFormatFactory) @@ -222,18 +211,35 @@ namespace Boot /// @param blob_sz blobs array count. /// @retval True disk has been formatted. /// @retval False failed to format. - Boolean Format(const Char* part_name, BFileDescriptor* blob, SizeT blob_sz); + Boolean Format(const Char* part_name); /// @brief check if partition is good. Bool IsPartitionValid() noexcept { #if defined(BOOTZ_EPM_SUPPORT) + fDiskDev.Leak().mBase = (kEPMBootBlockLba); + fDiskDev.Leak().mSize = sizeof(EPM_PART_BLOCK); + + EPM_PART_BLOCK buf_epm = {}; + + fDiskDev.Read((Char*)&buf_epm, sizeof(EPM_PART_BLOCK)); + + if (StrCmp(buf_epm.Magic, kEPMMagic)) + { + return false; + } + + if (buf_epm.Version != kEPMRevisionBcd) + { + return false; + } + fDiskDev.Leak().mBase = (kNeFSRootCatalogStartAddress); - fDiskDev.Leak().mSize = BootDev::kSectorSize; + fDiskDev.Leak().mSize = sizeof(NEFS_ROOT_PARTITION_BLOCK); - Char buf[BootDev::kSectorSize] = {0}; + Char buf[sizeof(NEFS_ROOT_PARTITION_BLOCK)] = {0}; - fDiskDev.Read(buf, BootDev::kSectorSize); + fDiskDev.Read(buf, sizeof(NEFS_ROOT_PARTITION_BLOCK)); NEFS_ROOT_PARTITION_BLOCK* blockPart = reinterpret_cast<NEFS_ROOT_PARTITION_BLOCK*>(buf); @@ -258,55 +264,29 @@ namespace Boot return false; } - writer.Write(L"BootZ: Partition: ").Write(blockPart->PartitionName).Write(L" is healthy.\r"); + writer.Write(L"BootZ: NeFS Partition: ").Write(blockPart->PartitionName).Write(L" is healthy.\r"); return true; #else - return false; -#endif - } + GPT_PARTITION_TABLE gpt_part{}; - private: - /// @brief Write all of the requested catalogs into the filesystem. - /// @param blob the blobs. - /// @param blob_sz the number of blobs to write (n * sizeof(blob_struct)). - /// @param part the NeFS partition block. - Boolean WriteCatalogList(BFileDescriptor* blob, SizeT blob_sz, NEFS_ROOT_PARTITION_BLOCK& part) - { - if (blob_sz < sizeof(NEFS_CATALOG_STRUCT)) - return NO; + fDiskDev.Leak().mBase = (kGPTPartitionTableLBA); + fDiskDev.Leak().mSize = sizeof(GPT_PARTITION_TABLE); - if (!blob) - return NO; + fDiskDev.Read((Char*)&gpt_part, sizeof(GPT_PARTITION_TABLE)); - Lba startLba = part.StartCatalog; BootTextWriter writer; - NEFS_CATALOG_STRUCT catalogKind{0}; - - constexpr auto cNeFSCatalogPadding = 4; - - catalogKind.PrevSibling = startLba; - catalogKind.NextSibling = (startLba + sizeof(NEFS_CATALOG_STRUCT) * cNeFSCatalogPadding); - - /// Fill catalog kind. - catalogKind.Kind = blob->fKind; - catalogKind.Flags |= kNeFSFlagCreated; - catalogKind.CatalogFlags = kNeFSStatusUnlocked; - - --part.FreeCatalog; - --part.FreeSectors; - - CopyMem(catalogKind.Name, blob->fFileName, StrLen(blob->fFileName)); - - fDiskDev.Leak().mBase = startLba; - fDiskDev.Leak().mSize = sizeof(NEFS_CATALOG_STRUCT); - - fDiskDev.Write((Char*)&catalogKind, sizeof(NEFS_CATALOG_STRUCT)); + if (StrCmp(gpt_part.Signature, kMagicGPT) == 0) + { + writer.Write("BootZ: GPT Partition found.\r"); + return true; + } - writer.Write(L"BootZ: wrote root directory: ").Write(blob->fFileName).Write(L"\r"); + writer.Write("BootZ: No Partition found.\r"); - return true; + return false; +#endif } private: @@ -320,13 +300,9 @@ namespace Boot /// @retval True disk has been formatted. /// @retval False failed to format. template <typename BootDev> - inline Boolean BDiskFormatFactory<BootDev>::Format(const Char* part_name, - BDiskFormatFactory::BFileDescriptor* blob, - SizeT blob_sz) + inline Boolean BDiskFormatFactory<BootDev>::Format(const Char* part_name) { - if (!blob || !blob_sz) - return false; /// sanity check - +#if defined(BOOTZ_EPM_SUPPORT) /// @note A catalog roughly equal to a sector in NeFS terms. constexpr auto kMinimumDiskSize = kNeFSMinimumDiskSize; // at minimum. @@ -344,7 +320,7 @@ namespace Boot CopyMem(part.PartitionName, part_name, StrLen(part_name)); part.Version = kNeFSVersionInteger; - part.CatalogCount = blob_sz / sizeof(NEFS_CATALOG_STRUCT); + part.CatalogCount = blob_sz; part.Kind = BootDev::kSectorSize; part.SectorSize = kATASectorSize; part.FreeCatalog = fDiskDev.GetSectorsCount() / sizeof(NEFS_CATALOG_STRUCT); @@ -363,7 +339,6 @@ namespace Boot writer << "BootZ: Free sectors: " << part.FreeSectors << "\r"; writer << "BootZ: Sector size: " << part.SectorSize << "\r"; -#if defined(BOOTZ_EPM_SUPPORT) EPM_PART_BLOCK epm_boot{}; const auto kFsName = "NeFS"; @@ -393,38 +368,36 @@ namespace Boot fDiskDev.Write((Char*)&part, sizeof(NEFS_ROOT_PARTITION_BLOCK)); writer.Write(L"BootZ: Drive is EPM formatted.\r"); -#elif defined(BOOTZ_GPT_SUPPORT) || defined(BOOTZ_VEPM_SUPPORT) +#elif defined(BOOTZ_VEPM_SUPPORT) + NE_UNUSED(part_name); + GPT_PARTITION_TABLE gpt_part{}; CopyMem(gpt_part.Signature, reinterpret_cast<VoidPtr>(const_cast<Char*>(kMagicGPT)), StrLen(kMagicGPT)); - gpt_part.Revision = 0x00010000; + gpt_part.Revision = 0x00010000; gpt_part.HeaderSize = sizeof(GPT_PARTITION_TABLE); gpt_part.CRC32 = 0x00000000; - gpt_part.Reserved1 = 0x00000000; - gpt_part.LBAHeader = 0x00000000; - gpt_part.LBAAltHeader = 0x00000000; + gpt_part.Reserved1 = 0x00000000; + gpt_part.LBAHeader = 0x00000000; + gpt_part.LBAAltHeader = 0x00000000; gpt_part.FirstGPTEntry = 0x00000000; - gpt_part.LastGPTEntry = 0x00000000; + gpt_part.LastGPTEntry = 0x00000000; -#if defined(BOOTZ_GPT_SUPPORT) gpt_part.Guid.Data1 = 0x00000000; gpt_part.Guid.Data2 = 0x0000; gpt_part.Guid.Data3 = 0x0000; SetMem(gpt_part.Guid.Data4, 0, 8); -#else - gpt_part.Guid = kVEPMGuidEFI; -#endif gpt_part.Revision = 0x00010000; - gpt_part.StartingLBA = 0x00000000; + gpt_part.StartingLBA = 0x00000000; gpt_part.NumPartitionEntries = 0x00000000; - gpt_part.SizeOfEntries = 0x00000000; - gpt_part.CRC32PartEntry = 0x00000000; + gpt_part.SizeOfEntries = 0x00000000; + gpt_part.CRC32PartEntry = 0x00000000; SetMem(gpt_part.Reserved2, 0, kSectorAlignGPT_PartTbl); @@ -433,84 +406,8 @@ namespace Boot fDiskDev.Write((Char*)&gpt_part, sizeof(GPT_PARTITION_TABLE)); -#if defined(BOOTZ_VEPM_SUPPORT) - const auto kBlockName = "OS (VEPM)"; - - GPT_PARTITION_ENTRY gpt_part_entry{}; - - gpt_part_entry.StartLBA = kNeFSRootCatalogStartAddress; - gpt_part_entry.EndLBA = fDiskDev.GetDiskSize(); - gpt_part_entry.Attributes = 0x00000000; - - gpt_part_entry.PartitionTypeGUID.Data1 = 0x00000000; - gpt_part_entry.PartitionTypeGUID.Data2 = 0x0000; - gpt_part_entry.PartitionTypeGUID.Data3 = 0x0000; - - CopyMem(gpt_part_entry.Name, reinterpret_cast<VoidPtr>(const_cast<Char*>(kBlockName)), StrLen(kBlockName)); - - SetMem(gpt_part_entry.PartitionTypeGUID.Data4, 0, 8); - - EPM_PART_BLOCK epm_boot{}; - - const auto kFsName = "NeFS"; - - epm_boot.FsVersion = kNeFSVersionInteger; - epm_boot.LbaStart = kNeFSRootCatalogStartAddress; - epm_boot.LbaEnd = fDiskDev.GetDiskSize(); - epm_boot.SectorSz = part.SectorSize; - epm_boot.Kind = kEPMNeKernel; - epm_boot.NumBlocks = part.CatalogCount; - - epm_boot.Guid = kEPMNilGuid; - - CopyMem(epm_boot.Fs, reinterpret_cast<VoidPtr>(const_cast<Char*>(kFsName)), StrLen(kFsName)); - CopyMem(epm_boot.Name, reinterpret_cast<VoidPtr>(const_cast<Char*>(kBlockName)), StrLen(kBlockName)); - CopyMem(epm_boot.Magic, reinterpret_cast<VoidPtr>(const_cast<Char*>(kEPMMagic)), StrLen(kEPMMagic)); - - fDiskDev.Leak().mBase = kGPTPartitionTableLBA + sizeof(GPT_PARTITION_TABLE); - fDiskDev.Leak().mSize = sizeof(GPT_PARTITION_ENTRY); - - fDiskDev.Write((Char*)&gpt_part_entry, sizeof(GPT_PARTITION_ENTRY)); - - fDiskDev.Leak().mBase = gpt_part_entry.StartLBA; - fDiskDev.Leak().mSize = sizeof(EPM_PART_BLOCK); - - fDiskDev.Write((Char*)&epm_boot, sizeof(EPM_PART_BLOCK)); - - fDiskDev.Leak().mBase = gpt_part_entry.StartLBA + kNeFSRootCatalogStartAddress; - fDiskDev.Leak().mSize = sizeof(NEFS_ROOT_PARTITION_BLOCK); - - fDiskDev.Write((Char*)&part, sizeof(NEFS_ROOT_PARTITION_BLOCK)); - - writer.Write(L"BootZ: Drive is vEPM formatted.\r"); -#else - const auto kBlockName = "OS (GPT)"; - - GPT_PARTITION_ENTRY gpt_part_entry{0}; - - gpt_part_entry.StartLBA = kNeFSRootCatalogStartAddress; - gpt_part_entry.EndLBA = fDiskDev.GetDiskSize(); - gpt_part_entry.Attributes = 0x00000000; - - gpt_part_entry.PartitionTypeGUID.Data1 = 0x00000000; - gpt_part_entry.PartitionTypeGUID.Data2 = 0x0000; - gpt_part_entry.PartitionTypeGUID.Data3 = 0x0000; - - CopyMem(gpt_part_entry.Name, reinterpret_cast<VoidPtr>(const_cast<Char*>(kBlockName)), StrLen(kBlockName)); - - SetMem(gpt_part_entry.PartitionTypeGUID.Data4, 0, 8); - - fDiskDev.Leak().mBase = kGPTPartitionTableLBA + sizeof(GPT_PARTITION_TABLE); - fDiskDev.Leak().mSize = sizeof(GPT_PARTITION_ENTRY); - fDiskDev.Write((Char*)&gpt_part_entry, sizeof(GPT_PARTITION_ENTRY)); - - fDiskDev.Leak().mBase = gpt_part_entry.StartLBA; - fDiskDev.Leak().mSize = sizeof(NEFS_ROOT_PARTITION_BLOCK); - - fDiskDev.Write((Char*)&part, sizeof(NEFS_ROOT_PARTITION_BLOCK)); - + BootTextWriter writer; writer.Write(L"BootZ: Drive is GPT formatted.\r"); -#endif /// defined(BOOTZ_VEPM_SUPPORT) #endif return YES; diff --git a/dev/boot/BootKit/HW/ATA.h b/dev/boot/BootKit/HW/ATA.h index cc5e1166..56393125 100644 --- a/dev/boot/BootKit/HW/ATA.h +++ b/dev/boot/BootKit/HW/ATA.h @@ -23,8 +23,6 @@ public: explicit BootDeviceATA() noexcept; ~BootDeviceATA() = default; - NE_COPY_DELETE(BootDeviceATA) - enum { kSectorSize = kATASectorSize diff --git a/dev/boot/modules/SysChk/SysChk.cc b/dev/boot/modules/SysChk/SysChk.cc index 16684666..032c031d 100644 --- a/dev/boot/modules/SysChk/SysChk.cc +++ b/dev/boot/modules/SysChk/SysChk.cc @@ -28,29 +28,18 @@ EXTERN_C Int32 SysChkModuleMain(Kernel::HEL::BootInfoHeader* handover) { - NE_UNUSED(handover); - #if defined(__ATA_PIO__) fw_init_efi((EfiSystemTable*)handover->f_FirmwareCustomTables[1]); Boot::BDiskFormatFactory<BootDeviceATA> partition_factory; if (partition_factory.IsPartitionValid()) - return kEfiFail; - - Boot::BDiskFormatFactory<BootDeviceATA>::BFileDescriptor desc{}; - - desc.fFileName[0] = '/'; - desc.fFileName[1] = 0; - desc.fKind = kNeFSCatalogKindDir; - - partition_factory.Format(kMachineModel, &desc, 1); - - if (partition_factory.IsPartitionValid()) return kEfiOk; - return kEfiFail; + return partition_factory.Format(kMachineModel) == YES; #else + NE_UNUSED(handover); + return kEfiOk; #endif } diff --git a/dev/boot/modules/SysChk/amd64-pio-epm.json b/dev/boot/modules/SysChk/amd64-pio-epm.json index ccbb7d04..14a804d0 100644 --- a/dev/boot/modules/SysChk/amd64-pio-epm.json +++ b/dev/boot/modules/SysChk/amd64-pio-epm.json @@ -1,7 +1,13 @@ { "compiler_path": "x86_64-w64-mingw32-g++", "compiler_std": "c++20", - "headers_path": ["../", "../../", "../../../kernel", "../../../", "./"], + "headers_path": [ + "../", + "../../", + "../../../kernel", + "../../../", + "./" + ], "sources_path": [ "*.cc", "*.S", @@ -31,4 +37,4 @@ "kChkVersionLowest=0x0100", "kChkVersion=0x0100" ] -} +}
\ No newline at end of file diff --git a/dev/boot/src/BootThread.cc b/dev/boot/src/BootThread.cc index efbacc32..b6236df8 100644 --- a/dev/boot/src/BootThread.cc +++ b/dev/boot/src/BootThread.cc @@ -190,22 +190,22 @@ namespace Boot if (own_stack) { - writer.Write("BootZ: Using own stack.\r"); + writer.Write("BootZ: Using it's own stack.\r"); writer.Write("BootZ: Stack address: ").Write((UIntPtr)&fStack[mib_cast(16) - 1]).Write("\r"); writer.Write("BootZ: Stack size: ").Write(mib_cast(16)).Write("\r"); auto ret = rt_jump_to_address(fStartAddress, fHandover, &fStack[mib_cast(16) - 1]); + + // we don't need the stack anymore. + + delete[] fStack; + fStack = nullptr; + return ret; } else { - delete[] fStack; - fStack = nullptr; - // we don't need the stack anymore. - - BootTextWriter writer; - - writer.Write("BootZ: Using EFI stack.\r"); + writer.Write("BootZ: Using Bootloader's stack.\r"); return reinterpret_cast<HEL::HandoverProc>(fStartAddress)(fHandover); } diff --git a/dev/kernel/FSKit/NeFS.h b/dev/kernel/FSKit/NeFS.h index b6f92bc9..6b1849ff 100644 --- a/dev/kernel/FSKit/NeFS.h +++ b/dev/kernel/FSKit/NeFS.h @@ -432,7 +432,7 @@ namespace Kernel if (!parser->CreateFork(new_fork)) return NO; - (void)(kout << "XML commit: " << xml_data << " to fork: " << journal_name << kendl); + (Void)(kout << "XML commit: " << xml_data << " to fork: " << journal_name << kendl); auto ret = parser->WriteCatalog(new_fork.CatalogName, YES, xml_data, rt_string_len(xml_data), new_fork.ForkName); diff --git a/dev/kernel/HALKit/AMD64/HalApplicationProcessor.cc b/dev/kernel/HALKit/AMD64/HalApplicationProcessor.cc index 1f865057..fc50380a 100644 --- a/dev/kernel/HALKit/AMD64/HalApplicationProcessor.cc +++ b/dev/kernel/HALKit/AMD64/HalApplicationProcessor.cc @@ -36,15 +36,17 @@ namespace Kernel::HAL { - struct PROCESS_APIC_MADT; - struct PROCESS_CONTROL_BLOCK; + struct HAL_APIC_MADT; + struct HAL_HARDWARE_THREAD; - struct PROCESS_CONTROL_BLOCK final + struct HAL_HARDWARE_THREAD final { - HAL::StackFramePtr mFrame; + HAL::StackFramePtr mFramePtr; + ProcessID mProcessID{0}; + UInt8 mCoreID{0}; }; - STATIC PROCESS_APIC_MADT* kMADTBlock = nullptr; + STATIC HAL_APIC_MADT* kMADTBlock = nullptr; STATIC Bool kSMPAware = false; STATIC Int64 kSMPCount = 0; @@ -55,7 +57,7 @@ namespace Kernel::HAL STATIC VoidPtr kRawMADT = nullptr; /// @brief Multiple APIC Descriptor Table. - struct PROCESS_APIC_MADT final SDT_OBJECT + struct HAL_APIC_MADT final SDT_OBJECT { UInt32 Address; // Madt address UInt8 Flags; // Madt flags @@ -65,8 +67,8 @@ namespace Kernel::HAL UInt8 Type; UInt8 Len; - union { - struct + union APIC { + struct IOAPIC { UInt8 IoID; UInt8 Zero; @@ -74,7 +76,7 @@ namespace Kernel::HAL UInt32 GISBase; } IOAPIC; - struct + struct LAPIC_NMI { UInt8 Source; UInt8 IRQSource; @@ -82,27 +84,27 @@ namespace Kernel::HAL UInt16 Flags; } LApicNMI; - struct + struct LAPIC { UInt8 ProcessorID; UInt16 Flags; UInt8 LINT; } LAPIC; - struct + struct LAPIC_OVERRIDE { UInt16 Reserved; UInt64 Address; } LApicOverride; - struct + struct LAPIC_X2 { UInt16 Reserved; UInt32 x2APICID; UInt32 Flags; UInt32 AcpiID; - } LApic; - }; + } LocalApicX2; + } Apic; } List[1]; // Records List }; @@ -145,12 +147,13 @@ namespace Kernel::HAL } } - STATIC PROCESS_CONTROL_BLOCK kProcessBlocks[kSchedProcessLimitPerTeam] = {0}; + STATIC HAL_HARDWARE_THREAD kHWThread[kSchedProcessLimitPerTeam] = {{}}; EXTERN_C HAL::StackFramePtr mp_get_current_context(Int64 pid) { const auto process_index = pid % kSchedProcessLimitPerTeam; - return kProcessBlocks[process_index].mFrame; + + return kHWThread[process_index].mFramePtr; } EXTERN_C BOOL mp_register_process(HAL::StackFramePtr stack_frame, ProcessID pid) @@ -159,11 +162,12 @@ namespace Kernel::HAL const auto process_index = pid % kSchedProcessLimitPerTeam; - kProcessBlocks[process_index].mFrame = stack_frame; + kHWThread[process_index].mFramePtr = stack_frame; + kHWThread[process_index].mProcessID = pid; - auto first_id = kAPICLocales[0]; + kHWThread[process_index].mCoreID = kAPICLocales[0]; - hal_send_sipi(kApicBaseAddress, first_id, (UInt8)(((UIntPtr)stack_frame->BP) >> 12)); + hal_send_sipi(kApicBaseAddress, kHWThread[process_index].mCoreID, (UInt8)(((UIntPtr)stack_frame->BP) >> 12)); return YES; } @@ -205,7 +209,7 @@ namespace Kernel::HAL auto hw_and_pow_int = PowerFactoryInterface(vendor_ptr); kRawMADT = hw_and_pow_int.Find(kAPIC_Signature).Leak().Leak(); - kMADTBlock = reinterpret_cast<PROCESS_APIC_MADT*>(kRawMADT); + kMADTBlock = reinterpret_cast<HAL_APIC_MADT*>(kRawMADT); kSMPAware = NO; if (kMADTBlock) @@ -229,11 +233,11 @@ namespace Kernel::HAL switch (kMADTBlock->List[index].Type) { case 0x00: { - if (kMADTBlock->List[kSMPCount].LAPIC.ProcessorID < 1) + if (kMADTBlock->List[kSMPCount].Apic.LAPIC.ProcessorID < 1) break; - kAPICLocales[kSMPCount] = kMADTBlock->List[kSMPCount].LAPIC.ProcessorID; - (void)(kout << "SMP: APIC ID: " << number(kAPICLocales[kSMPCount]) << kendl); + kAPICLocales[kSMPCount] = kMADTBlock->List[kSMPCount].Apic.LAPIC.ProcessorID; + (Void)(kout << "SMP: APIC ID: " << number(kAPICLocales[kSMPCount]) << kendl); ++kSMPCount; break; @@ -245,7 +249,7 @@ namespace Kernel::HAL ++index; } - (void)(kout << "SMP: Number of APs: " << number(kSMPCount) << kendl); + (Void)(kout << "SMP: Number of APs: " << number(kSMPCount) << kendl); // Kernel is now SMP aware. // That means that the scheduler is now available (on MP Kernels) diff --git a/dev/kernel/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cc b/dev/kernel/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cc index 7dce21d1..4c873554 100644 --- a/dev/kernel/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cc +++ b/dev/kernel/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cc @@ -148,7 +148,7 @@ EXTERN_C Kernel::Void idt_handle_breakpoint(Kernel::UIntPtr rip) kIsScheduling = NO; - (void)(Kernel::kout << "Kernel: Process RIP: " << Kernel::hex_number(rip) << Kernel::kendl); + (Void)(Kernel::kout << "Kernel: Process RIP: " << Kernel::hex_number(rip) << Kernel::kendl); Kernel::kout << "Kernel: SIGTRAP\r"; process.Leak().Signal.SignalArg = rip; diff --git a/dev/kernel/HALKit/AMD64/HalKernelPanic.cc b/dev/kernel/HALKit/AMD64/HalKernelPanic.cc index 2641f058..9c8a235a 100644 --- a/dev/kernel/HALKit/AMD64/HalKernelPanic.cc +++ b/dev/kernel/HALKit/AMD64/HalKernelPanic.cc @@ -33,9 +33,9 @@ namespace Kernel /***********************************************************************************/ Void ke_panic(const Kernel::Int32& id, const Char* message) { - (void)(kout << "Kernel_Panic_MSG: " << message << kendl); - (void)(kout << "Kernel_Panic_ID: " << hex_number(id) << kendl); - (void)(kout << "Kernel_Panic_CR2: " << hex_number((UIntPtr)hal_read_cr2()) << kendl); + (Void)(kout << "Kernel_Panic_MSG: " << message << kendl); + (Void)(kout << "Kernel_Panic_ID: " << hex_number(id) << kendl); + (Void)(kout << "Kernel_Panic_CR2: " << hex_number((UIntPtr)hal_read_cr2()) << kendl); RecoveryFactory::Recover(); } @@ -52,8 +52,8 @@ namespace Kernel { if (!expr) { - (void)(kout << "Kernel_Panic_File: " << file << kendl); - (void)(kout << "Kernel_Panic_Line: " << line << kendl); + (Void)(kout << "Kernel_Panic_File: " << file << kendl); + (Void)(kout << "Kernel_Panic_Line: " << line << kendl); ke_panic(RUNTIME_CHECK_FAILED, file); // Runtime Check failed } diff --git a/dev/kernel/HALKit/AMD64/HalPagingMgrAMD64.cc b/dev/kernel/HALKit/AMD64/HalPagingMgrAMD64.cc index c6c24be1..08caed82 100644 --- a/dev/kernel/HALKit/AMD64/HalPagingMgrAMD64.cc +++ b/dev/kernel/HALKit/AMD64/HalPagingMgrAMD64.cc @@ -41,14 +41,14 @@ namespace Kernel::HAL /***********************************************************************************/ STATIC Void mmi_page_status(Detail::PTE* pte) { - (void)(kout << (pte->Present ? "Present" : "Not Present") << kendl); - (void)(kout << (pte->Wr ? "W/R" : "Not W/R") << kendl); - (void)(kout << (pte->Nx ? "NX" : "Not NX") << kendl); - (void)(kout << (pte->User ? "User" : "Not User") << kendl); - (void)(kout << (pte->Pcd ? "Not Cached" : "Cached") << kendl); - (void)(kout << (pte->Accessed ? "Accessed" : "Not Accessed") << kendl); - (void)(kout << hex_number(pte->PhysicalAddress) << kendl); - (void)(kout << (pte->ProtectionKey ? "Protected" : "Not Protected/PKU Disabled") << kendl); + (Void)(kout << (pte->Present ? "Present" : "Not Present") << kendl); + (Void)(kout << (pte->Wr ? "W/R" : "Not W/R") << kendl); + (Void)(kout << (pte->Nx ? "NX" : "Not NX") << kendl); + (Void)(kout << (pte->User ? "User" : "Not User") << kendl); + (Void)(kout << (pte->Pcd ? "Not Cached" : "Cached") << kendl); + (Void)(kout << (pte->Accessed ? "Accessed" : "Not Accessed") << kendl); + (Void)(kout << hex_number(pte->PhysicalAddress) << kendl); + (Void)(kout << (pte->ProtectionKey ? "Protected" : "Not Protected/PKU Disabled") << kendl); } /***********************************************************************************/ diff --git a/dev/kernel/HALKit/AMD64/PCI/DMA.cc b/dev/kernel/HALKit/AMD64/PCI/DMA.cc index 4a63625e..b16039d4 100644 --- a/dev/kernel/HALKit/AMD64/PCI/DMA.cc +++ b/dev/kernel/HALKit/AMD64/PCI/DMA.cc @@ -38,7 +38,7 @@ namespace Kernel if (!this->fAddress) return false; - (void)(kout << "[DMAWrapper::Write] Writing at address: " << hex_number(reinterpret_cast<UIntPtr>(this->fAddress) + offset) << kendl); + (Void)(kout << "[DMAWrapper::Write] Writing at address: " << hex_number(reinterpret_cast<UIntPtr>(this->fAddress) + offset) << kendl); ke_dma_write<UInt32>(reinterpret_cast<UIntPtr>(this->fAddress), offset, bit); @@ -52,7 +52,7 @@ namespace Kernel if (!this->fAddress) return ~0; - (void)(kout << "[DMAWrapper::Write] Writing at address: " << hex_number(reinterpret_cast<UIntPtr>(this->fAddress) + offset) << kendl); + (Void)(kout << "[DMAWrapper::Write] Writing at address: " << hex_number(reinterpret_cast<UIntPtr>(this->fAddress) + offset) << kendl); return (UIntPtr)ke_dma_read<UInt32>(reinterpret_cast<UIntPtr>(this->fAddress), offset); } diff --git a/dev/kernel/HALKit/AMD64/Storage/PIO+Generic.cc b/dev/kernel/HALKit/AMD64/Storage/PIO+Generic.cc index 257dd5c8..cd25ab7f 100644 --- a/dev/kernel/HALKit/AMD64/Storage/PIO+Generic.cc +++ b/dev/kernel/HALKit/AMD64/Storage/PIO+Generic.cc @@ -108,7 +108,7 @@ ATAInit_Retry: kATADiskModel[40] = '\0'; - (void)(kout << "Drive Model: " << kATADiskModel << kendl); + (Void)(kout << "Drive Model: " << kATADiskModel << kendl); return true; } diff --git a/dev/kernel/HALKit/ARM64/HalApplicationProcessor.cc b/dev/kernel/HALKit/ARM64/HalApplicationProcessor.cc index 1553b2ed..7d985a44 100644 --- a/dev/kernel/HALKit/ARM64/HalApplicationProcessor.cc +++ b/dev/kernel/HALKit/ARM64/HalApplicationProcessor.cc @@ -93,7 +93,7 @@ namespace Kernel const UInt16 kInterruptScheduler = 0x20;
- (void)(kout << "Handling interrupt for AP: " << interrupt << kendl);
+ (Void)(kout << "Handling interrupt for AP: " << interrupt << kendl);
switch (interrupt)
{
diff --git a/dev/kernel/HALKit/ARM64/HalKernelPanic.cc b/dev/kernel/HALKit/ARM64/HalKernelPanic.cc index 1c88ccc6..ad966991 100644 --- a/dev/kernel/HALKit/ARM64/HalKernelPanic.cc +++ b/dev/kernel/HALKit/ARM64/HalKernelPanic.cc @@ -71,8 +71,8 @@ namespace Kernel { if (!expr) { - (void)(kout << "FAILED: FILE: " << file << kendl); - (void)(kout << "FAILED: LINE: " << line << kendl); + (Void)(kout << "FAILED: FILE: " << file << kendl); + (Void)(kout << "FAILED: LINE: " << line << kendl); ke_panic(RUNTIME_CHECK_FAILED, file); // Runtime Check failed } diff --git a/dev/kernel/HALKit/POWER/AP.h b/dev/kernel/HALKit/POWER/AP.h index c990b950..4558804b 100644 --- a/dev/kernel/HALKit/POWER/AP.h +++ b/dev/kernel/HALKit/POWER/AP.h @@ -26,7 +26,9 @@ namespace Kernel typedef struct HAL_HARDWARE_THREAD { Kernel::UIntPtr fStartAddress; - Kernel::UInt8 fPrivleged : 1; + Kernel::UIntPtr fStackPtr; + Kernel::UIntPtr fFramePtr; + Kernel::UInt8 fPrivileged : 1; Kernel::UInt32 fPageMemoryFlags; hal_ap_kind fIdentNumber; } HAL_HARDWARE_THREAD; diff --git a/dev/kernel/HALKit/POWER/HalAP.cc b/dev/kernel/HALKit/POWER/HalAP.cc deleted file mode 100644 index 781b34a6..00000000 --- a/dev/kernel/HALKit/POWER/HalAP.cc +++ /dev/null @@ -1,40 +0,0 @@ -/* ------------------------------------------- - - Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved. - -------------------------------------------- */ - -#include <HALKit/POWER/Processor.h> -#include <KernelKit/DebugOutput.h> -#include <HALKit/POWER/AP.h> - -using namespace Kernel; - -namespace Kernel::Detail -{ - STATIC void mp_hang_fn(void) - { - while (YES) - ; - } -} // namespace Kernel::Detail - -/// @brief wakes up thread. -/// wakes up thread from hang. -void mp_wakeup_thread(HAL::StackFramePtr stack) -{ - if (!stack) - return; - - hal_set_pc_to_hart(reinterpret_cast<HAL_HARDWARE_THREAD*>(stack->R15), reinterpret_cast<VoidPtr>(stack->BP)); -} - -/// @brief makes thread sleep. -/// hooks and hangs thread to prevent code from executing. -void mp_hang_thread(HAL::StackFramePtr stack) -{ - if (!stack) - return; - - hal_set_pc_to_hart(reinterpret_cast<HAL_HARDWARE_THREAD*>(stack->R15), reinterpret_cast<VoidPtr>(Kernel::Detail::mp_hang_fn)); -} diff --git a/dev/kernel/HALKit/POWER/HalApplicationProcessor.cc b/dev/kernel/HALKit/POWER/HalApplicationProcessor.cc new file mode 100644 index 00000000..ca2153e3 --- /dev/null +++ b/dev/kernel/HALKit/POWER/HalApplicationProcessor.cc @@ -0,0 +1,41 @@ +/* ------------------------------------------- + + Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved. + +------------------------------------------- */ + +#include <HALKit/POWER/Processor.h> +#include <KernelKit/DebugOutput.h> +#include <HALKit/POWER/AP.h> + +namespace Kernel::Detail +{ + STATIC void mp_hang_fn(void) + { + while (YES) + ; + } +} // namespace Kernel::Detail + +namespace Kernel +{ + /// @brief wakes up thread. + /// wakes up thread from hang. + void mp_wakeup_thread(HAL::StackFramePtr stack) + { + if (!stack) + return; + + hal_set_pc_to_hart(reinterpret_cast<HAL_HARDWARE_THREAD*>(stack->R15), reinterpret_cast<VoidPtr>(stack->BP)); + } + + /// @brief makes thread sleep. + /// hooks and hangs thread to prevent code from executing. + void mp_hang_thread(HAL::StackFramePtr stack) + { + if (!stack) + return; + + hal_set_pc_to_hart(reinterpret_cast<HAL_HARDWARE_THREAD*>(stack->R15), reinterpret_cast<VoidPtr>(Kernel::Detail::mp_hang_fn)); + } +} // namespace Kernel
\ No newline at end of file diff --git a/dev/kernel/HALKit/POWER/HalThread.cc b/dev/kernel/HALKit/POWER/HalHardwareThread.cc index 40bb7d8a..40bb7d8a 100644 --- a/dev/kernel/HALKit/POWER/HalThread.cc +++ b/dev/kernel/HALKit/POWER/HalHardwareThread.cc diff --git a/dev/kernel/HALKit/RISCV/AP.h b/dev/kernel/HALKit/RISCV/AP.h index 0a8546e9..e55e3462 100644 --- a/dev/kernel/HALKit/RISCV/AP.h +++ b/dev/kernel/HALKit/RISCV/AP.h @@ -22,7 +22,9 @@ namespace Kernel typedef struct HAL_HARDWARE_THREAD { Kernel::UIntPtr fStartAddress; - Kernel::UInt8 fPrivleged : 1; + Kernel::UIntPtr fStackPtr; + Kernel::UIntPtr fFramePtr; + Kernel::UInt8 fPrivileged : 1; Kernel::UInt32 fPageMemoryFlags; hal_ap_kind fIdentNumber; } HAL_HARDWARE_THREAD; diff --git a/dev/kernel/HALKit/RISCV/HalAP.cc b/dev/kernel/HALKit/RISCV/HalAP.cc deleted file mode 100644 index 72a3cf13..00000000 --- a/dev/kernel/HALKit/RISCV/HalAP.cc +++ /dev/null @@ -1,40 +0,0 @@ -/* -------------------------------------------
-
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
-
-------------------------------------------- */
-
-#include <HALKit/RISCV/Processor.h>
-#include <KernelKit/DebugOutput.h>
-#include <HALKit/RISCV/AP.h>
-
-using namespace Kernel;
-
-namespace Kernel::Detail
-{
- STATIC void mp_hang_fn(void)
- {
- while (YES)
- ;
- }
-} // namespace Kernel::Detail
-
-/// @brief wakes up thread.
-/// wakes up thread from hang.
-void mp_wakeup_thread(HAL::StackFramePtr stack)
-{
- if (!stack)
- return;
-
- hal_set_pc_to_hart(reinterpret_cast<HAL_HARDWARE_THREAD*>(stack->R15), reinterpret_cast<VoidPtr>(stack->BP));
-}
-
-/// @brief makes thread sleep.
-/// hooks and hangs thread to prevent code from executing.
-void mp_hang_thread(HAL::StackFramePtr stack)
-{
- if (!stack)
- return;
-
- hal_set_pc_to_hart(reinterpret_cast<HAL_HARDWARE_THREAD*>(stack->R15), reinterpret_cast<VoidPtr>(Kernel::Detail::mp_hang_fn));
-}
diff --git a/dev/kernel/HALKit/RISCV/HalApplicationProcessor.cc b/dev/kernel/HALKit/RISCV/HalApplicationProcessor.cc new file mode 100644 index 00000000..1967a649 --- /dev/null +++ b/dev/kernel/HALKit/RISCV/HalApplicationProcessor.cc @@ -0,0 +1,45 @@ +/* -------------------------------------------
+
+ Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+
+------------------------------------------- */
+
+#include <HALKit/RISCV/Processor.h>
+#include <KernelKit/DebugOutput.h>
+#include <HALKit/RISCV/AP.h>
+
+using namespace Kernel;
+
+namespace Kernel
+{
+ namespace Detail
+ {
+ STATIC void mp_hang_fn(void)
+ {
+ while (YES)
+ ;
+ }
+
+ } // namespace Detail
+
+ /// @brief wakes up thread.
+ /// wakes up thread from hang.
+ void mp_wakeup_thread(HAL::StackFramePtr stack)
+ {
+ if (!stack)
+ return;
+
+ hal_set_pc_to_hart(reinterpret_cast<HAL_HARDWARE_THREAD*>(stack->R15), reinterpret_cast<VoidPtr>(stack->BP));
+ }
+
+ /// @brief makes thread sleep.
+ /// hooks and hangs thread to prevent code from executing.
+ void mp_hang_thread(HAL::StackFramePtr stack)
+ {
+ if (!stack)
+ return;
+
+ hal_set_pc_to_hart(reinterpret_cast<HAL_HARDWARE_THREAD*>(stack->R15), reinterpret_cast<VoidPtr>(Kernel::Detail::mp_hang_fn));
+ }
+
+} // namespace Kernel
diff --git a/dev/kernel/src/ACPIFactoryInterface.cc b/dev/kernel/src/ACPIFactoryInterface.cc index b85d6ab3..9a3c30d0 100644 --- a/dev/kernel/src/ACPIFactoryInterface.cc +++ b/dev/kernel/src/ACPIFactoryInterface.cc @@ -43,10 +43,10 @@ namespace Kernel this->fEntries = num; - (void)(kout << "ACPI: Number of entries: " << number(this->fEntries) << kendl); - (void)(kout << "ACPI: Revision: " << number(xsdt->Revision) << kendl); - (void)(kout << "ACPI: Signature: " << xsdt->Signature << kendl); - (void)(kout << "ACPI: Address of XSDT: " << hex_number((UIntPtr)xsdt) << kendl); + (Void)(kout << "ACPI: Number of entries: " << number(this->fEntries) << kendl); + (Void)(kout << "ACPI: Revision: " << number(xsdt->Revision) << kendl); + (Void)(kout << "ACPI: Signature: " << xsdt->Signature << kendl); + (Void)(kout << "ACPI: Address of XSDT: " << hex_number((UIntPtr)xsdt) << kendl); const short cAcpiSignatureLength = 4; @@ -54,8 +54,8 @@ namespace Kernel { SDT* sdt = reinterpret_cast<SDT*>(xsdt->AddressArr[index]); - (void)(kout << "ACPI: Checksum: " << number(sdt->Checksum) << kendl); - (void)(kout << "ACPI: Revision: " << number(sdt->Revision) << kendl); + (Void)(kout << "ACPI: Checksum: " << number(sdt->Checksum) << kendl); + (Void)(kout << "ACPI: Revision: " << number(sdt->Revision) << kendl); for (short signature_index = 0; signature_index < cAcpiSignatureLength; ++signature_index) { @@ -64,8 +64,8 @@ namespace Kernel if (signature_index == (cAcpiSignatureLength - 1)) { - (void)(kout << "ACPI: SDT Signature: " << sdt->Signature << kendl); - (void)(kout << "ACPI: SDT OEM ID: " << sdt->OemId << kendl); + (Void)(kout << "ACPI: SDT Signature: " << sdt->Signature << kendl); + (Void)(kout << "ACPI: SDT OEM ID: " << sdt->OemId << kendl); return ErrorOr<voidPtr>(reinterpret_cast<voidPtr>(xsdt->AddressArr[index])); } } diff --git a/dev/kernel/src/BitMapMgr.cc b/dev/kernel/src/BitMapMgr.cc index 1a1e2c0d..83efe4eb 100644 --- a/dev/kernel/src/BitMapMgr.cc +++ b/dev/kernel/src/BitMapMgr.cc @@ -161,18 +161,18 @@ namespace Kernel { if (!this->IsBitMap(ptr_bit_set)) { - (void)(kout << "Not a BitMap: " << hex_number((UIntPtr)ptr_bit_set) << kendl); + (Void)(kout << "Not a BitMap: " << hex_number((UIntPtr)ptr_bit_set) << kendl); return; } - (void)(kout << "Magic: " << hex_number(ptr_bit_set[kBitMapMagIdx]) << kendl); - (void)(kout << "Is Allocated? " << (ptr_bit_set[kBitMapUsedIdx] ? "YES" : "NO") << kendl); - (void)(kout << "Size of BitMap (B): " << number(ptr_bit_set[kBitMapSizeIdx]) << kendl); - (void)(kout << "Size of BitMap (KIB): " << number(KIB(ptr_bit_set[kBitMapSizeIdx])) << kendl); - (void)(kout << "Size of BitMap (MIB): " << number(MIB(ptr_bit_set[kBitMapSizeIdx])) << kendl); - (void)(kout << "Size of BitMap (GIB): " << number(GIB(ptr_bit_set[kBitMapSizeIdx])) << kendl); - (void)(kout << "Size of BitMap (TIB): " << number(TIB(ptr_bit_set[kBitMapSizeIdx])) << kendl); - (void)(kout << "BitMap Address: " << hex_number((UIntPtr)ptr_bit_set) << kendl); + (Void)(kout << "Magic: " << hex_number(ptr_bit_set[kBitMapMagIdx]) << kendl); + (Void)(kout << "Is Allocated? " << (ptr_bit_set[kBitMapUsedIdx] ? "YES" : "NO") << kendl); + (Void)(kout << "Size of BitMap (B): " << number(ptr_bit_set[kBitMapSizeIdx]) << kendl); + (Void)(kout << "Size of BitMap (KIB): " << number(KIB(ptr_bit_set[kBitMapSizeIdx])) << kendl); + (Void)(kout << "Size of BitMap (MIB): " << number(MIB(ptr_bit_set[kBitMapSizeIdx])) << kendl); + (Void)(kout << "Size of BitMap (GIB): " << number(GIB(ptr_bit_set[kBitMapSizeIdx])) << kendl); + (Void)(kout << "Size of BitMap (TIB): " << number(TIB(ptr_bit_set[kBitMapSizeIdx])) << kendl); + (Void)(kout << "BitMap Address: " << hex_number((UIntPtr)ptr_bit_set) << kendl); } }; } // namespace Detail diff --git a/dev/kernel/src/CxxAbi-AMD64.cc b/dev/kernel/src/CxxAbi-AMD64.cc index 6bf5d009..950e0c02 100644 --- a/dev/kernel/src/CxxAbi-AMD64.cc +++ b/dev/kernel/src/CxxAbi-AMD64.cc @@ -19,13 +19,13 @@ Kernel::UIntPtr __dso_handle; EXTERN_C Kernel::Void __cxa_pure_virtual(void* self) { - (void)(Kernel::kout << "object: " << Kernel::number(reinterpret_cast<Kernel::UIntPtr>(self))); - (void)(Kernel::kout << ", has unimplemented virtual functions.\r"); + (Kernel::Void)(Kernel::kout << "object: " << Kernel::number(reinterpret_cast<Kernel::UIntPtr>(self))); + (Kernel::Void)(Kernel::kout << ", has unimplemented virtual functions.\r"); } EXTERN_C void ___chkstk_ms(void) { - (void)(Kernel::kout << "Stack smashing detected!\r"); + (Kernel::Void)(Kernel::kout << "Stack smashing detected!\r"); dbg_break_point(); } diff --git a/dev/kernel/src/CxxAbi-ARM64.cc b/dev/kernel/src/CxxAbi-ARM64.cc index 34dab83a..b3db3815 100644 --- a/dev/kernel/src/CxxAbi-ARM64.cc +++ b/dev/kernel/src/CxxAbi-ARM64.cc @@ -83,8 +83,8 @@ namespace cxxabiv1 EXTERN_C Kernel::Void _purecall(void* self) { - kout << "object: " << Kernel::number(reinterpret_cast<Kernel::UIntPtr>(self)); - kout << ", has unimplemented virtual functions.\r"; + (Kernel::Void)(Kernel::kout << "object: " << Kernel::number(reinterpret_cast<Kernel::UIntPtr>(self))); + (Kernel::Void)(Kernel::kout << ", has unimplemented virtual functions.\r"); } EXTERN_C Kernel::Void _Init_thread_footer(Kernel::Int* thread_obj) diff --git a/dev/kernel/src/FS/NeFS.cc b/dev/kernel/src/FS/NeFS.cc index e8e3804c..8ebd551f 100644 --- a/dev/kernel/src/FS/NeFS.cc +++ b/dev/kernel/src/FS/NeFS.cc @@ -73,7 +73,7 @@ _Output BOOL NeFileSystemParser::CreateFork(_Input NEFS_FORK_STRUCT& the_fork) Lba lba = catalog->DataFork; - (void)(kout << "Fork LBA: " << hex_number(lba) << kendl); + (Void)(kout << "Fork LBA: " << hex_number(lba) << kendl); if (lba < kNeFSCatalogStartAddress) return NO; @@ -94,7 +94,7 @@ _Output BOOL NeFileSystemParser::CreateFork(_Input NEFS_FORK_STRUCT& the_fork) drv.fInput(drv.fPacket); - (void)(kout << "Next fork: " << hex_number(cur_fork.NextSibling) << kendl); + (Void)(kout << "Next fork: " << hex_number(cur_fork.NextSibling) << kendl); if (cur_fork.Flags & kNeFSFlagCreated) { @@ -144,10 +144,10 @@ _Output BOOL NeFileSystemParser::CreateFork(_Input NEFS_FORK_STRUCT& the_fork) fs_ifs_write(&kMountpoint, drv, MountpointInterface::kDriveIndexA); /// log what we have now. - (void)(kout << "Fork offset is at: " << hex_number(the_fork.DataOffset) + (Void)(kout << "Fork offset is at: " << hex_number(the_fork.DataOffset) << kendl); - (void)(kout << "Wrote fork metadata at: " << hex_number(lba) << kendl); + (Void)(kout << "Wrote fork metadata at: " << hex_number(lba) << kendl); return YES; } @@ -461,7 +461,7 @@ _Output Bool NeFileSystemParser::FormatGPT(_Input _Output DriveTrait* drive, _In NE_UNUSED(flags); NE_UNUSED(part_name); - (void)(kout << "FormatGPT: Not implemented yet.\r"); + (Void)(kout << "FormatGPT: Not implemented yet.\r"); return NO; } @@ -600,14 +600,14 @@ bool NeFileSystemParser::FormatEPM(_Input _Output DriveTrait* drive, _Input cons drive->fOutput(drive->fPacket); - (void)(kout << "drive kind: " << drive->fProtocol() << kendl); + (Void)(kout << "drive kind: " << drive->fProtocol() << kendl); - (void)(kout << "partition name: " << part_block->PartitionName << kendl); - (void)(kout << "start: " << hex_number(part_block->StartCatalog) << kendl); - (void)(kout << "number of catalogs: " << hex_number(part_block->CatalogCount) << kendl); - (void)(kout << "free catalog: " << hex_number(part_block->FreeCatalog) << kendl); - (void)(kout << "free sectors: " << hex_number(part_block->FreeSectors) << kendl); - (void)(kout << "sector size: " << hex_number(part_block->SectorSize) << kendl); + (Void)(kout << "partition name: " << part_block->PartitionName << kendl); + (Void)(kout << "start: " << hex_number(part_block->StartCatalog) << kendl); + (Void)(kout << "number of catalogs: " << hex_number(part_block->CatalogCount) << kendl); + (Void)(kout << "free catalog: " << hex_number(part_block->FreeCatalog) << kendl); + (Void)(kout << "free sectors: " << hex_number(part_block->FreeSectors) << kendl); + (Void)(kout << "sector size: " << hex_number(part_block->SectorSize) << kendl); // write the root catalog. this->CreateCatalog(kNeFSRoot, 0, kNeFSCatalogKindDir); @@ -666,7 +666,7 @@ bool NeFileSystemParser::WriteCatalog(_Input const Char* catalog_name, Bool is_r NEFS_FORK_STRUCT* fork_data_input = new NEFS_FORK_STRUCT(); NEFS_FORK_STRUCT prev_fork{}; - (void)(kout << hex_number(startFork) << kendl); + (Void)(kout << hex_number(startFork) << kendl); // sanity check of the fork position as the condition to run the loop. while (startFork >= kNeFSCatalogStartAddress) @@ -677,13 +677,13 @@ bool NeFileSystemParser::WriteCatalog(_Input const Char* catalog_name, Bool is_r drive.fInput(drive.fPacket); - (void)(kout << hex_number(fork_data_input->DataSize) << kendl); - (void)(kout << hex_number(size_of_data) << kendl); - (void)(kout << hex_number(fork_data_input->Flags) << kendl); - (void)(kout << fork_name << kendl); - (void)(kout << fork_data_input->ForkName << kendl); - (void)(kout << fork_data_input->CatalogName << kendl); - (void)(kout << catalog_name << kendl); + (Void)(kout << hex_number(fork_data_input->DataSize) << kendl); + (Void)(kout << hex_number(size_of_data) << kendl); + (Void)(kout << hex_number(fork_data_input->Flags) << kendl); + (Void)(kout << fork_name << kendl); + (Void)(kout << fork_data_input->ForkName << kendl); + (Void)(kout << fork_data_input->CatalogName << kendl); + (Void)(kout << catalog_name << kendl); if ((fork_data_input->Flags & kNeFSFlagCreated) && KStringBuilder::Equals(fork_data_input->ForkName, fork_name) && @@ -698,11 +698,11 @@ bool NeFileSystemParser::WriteCatalog(_Input const Char* catalog_name, Bool is_r drive.fPacket.fPacketSize = size_of_data; drive.fPacket.fPacketLba = fork_data_input->DataOffset; - (void)(kout << "data offset: " << hex_number(fork_data_input->DataOffset) << kendl); + (Void)(kout << "data offset: " << hex_number(fork_data_input->DataOffset) << kendl); drive.fOutput(drive.fPacket); - (void)(kout << "wrote data at offset: " << hex_number(fork_data_input->DataOffset) << kendl); + (Void)(kout << "wrote data at offset: " << hex_number(fork_data_input->DataOffset) << kendl); delete fork_data_input; delete[] buf; @@ -841,8 +841,8 @@ kNeFSSearchThroughCatalogList: goto NeFSContinueSearch; } - (void)(kout << "Found available catalog at: " << hex_number(start_catalog_lba) << kendl); - (void)(kout << "Found available catalog at: " << temporary_catalog.Name << kendl); + (Void)(kout << "Found available catalog at: " << hex_number(start_catalog_lba) << kendl); + (Void)(kout << "Found available catalog at: " << temporary_catalog.Name << kendl); NEFS_CATALOG_STRUCT* catalog_ptr = new NEFS_CATALOG_STRUCT(); rt_copy_memory(&temporary_catalog, catalog_ptr, sizeof(NEFS_CATALOG_STRUCT)); @@ -998,8 +998,8 @@ VoidPtr NeFileSystemParser::ReadCatalog(_Input _Output NEFS_CATALOG_STRUCT* cata fs_fork_data = fs_buf; - (void)(kout << "ForkName: " << fs_fork_data->ForkName << kendl); - (void)(kout << "CatalogName: " << fs_fork_data->CatalogName << kendl); + (Void)(kout << "ForkName: " << fs_fork_data->ForkName << kendl); + (Void)(kout << "CatalogName: " << fs_fork_data->CatalogName << kendl); if (KStringBuilder::Equals(forkName, fs_fork_data->ForkName) && KStringBuilder::Equals(catalog->Name, fs_fork_data->CatalogName)) diff --git a/dev/kernel/src/IndexableProperty.cc b/dev/kernel/src/IndexableProperty.cc index d586398d..05440ee9 100644 --- a/dev/kernel/src/IndexableProperty.cc +++ b/dev/kernel/src/IndexableProperty.cc @@ -50,7 +50,7 @@ namespace Kernel indexer.AddFlag(kIndexerClaimed); rt_copy_memory((VoidPtr)indexer.Leak().Path, (VoidPtr)filename, filenameLen); - (void)(kout << "FSKit: Indexed new file: " << filename << kendl); + (Void)(kout << "FSKit: Indexed new file: " << filename << kendl); } } } // namespace Indexer diff --git a/dev/kernel/src/MemoryMgr.cc b/dev/kernel/src/MemoryMgr.cc index eff54435..2f70d85f 100644 --- a/dev/kernel/src/MemoryMgr.cc +++ b/dev/kernel/src/MemoryMgr.cc @@ -150,7 +150,7 @@ namespace Kernel auto result = reinterpret_cast<VoidPtr>(heap_info_ptr->fOffset); - (void)(kout << "Registered heap address: " << hex_number(reinterpret_cast<UIntPtr>(heap_info_ptr)) << kendl); + (Void)(kout << "Registered heap address: " << hex_number(reinterpret_cast<UIntPtr>(heap_info_ptr)) << kendl); return result; } @@ -172,7 +172,7 @@ namespace Kernel heap_info_ptr->fPage = true; - (void)(kout << "Registered page address: " << hex_number(reinterpret_cast<UIntPtr>(heap_info_ptr)) << kendl); + (Void)(kout << "Registered page address: " << hex_number(reinterpret_cast<UIntPtr>(heap_info_ptr)) << kendl); return kErrorSuccess; } @@ -239,7 +239,7 @@ namespace Kernel heap_info_ptr->fMagic = 0; heap_info_ptr->fPad = 0; - (void)(kout << "Address has been successfully freed: " << hex_number((UIntPtr)heap_info_ptr) << kendl); + (Void)(kout << "Address has been successfully freed: " << hex_number((UIntPtr)heap_info_ptr) << kendl); PTEWrapper page_wrapper(No, No, No, reinterpret_cast<UIntPtr>(heap_info_ptr) - sizeof(Detail::MM_INFORMATION_BLOCK)); Ref<PTEWrapper> pte_address{page_wrapper}; diff --git a/dev/kernel/src/UserProcessScheduler.cc b/dev/kernel/src/UserProcessScheduler.cc index fb33e447..d6be0f5f 100644 --- a/dev/kernel/src/UserProcessScheduler.cc +++ b/dev/kernel/src/UserProcessScheduler.cc @@ -60,7 +60,7 @@ namespace Kernel if (this->Status != ProcessStatusKind::kRunning) return; - (void)(kout << this->Name << ": crashed, error id: " << number(-kErrorProcessFault) << kendl); + (Void)(kout << this->Name << ": crashed, error id: " << number(-kErrorProcessFault) << kendl); this->Exit(-kErrorProcessFault); } @@ -439,7 +439,7 @@ namespace Kernel break; } default: { - (void)(kout << "Unknown process kind: " << hex_number(process.Kind) << kendl); + (Void)(kout << "Unknown process kind: " << hex_number(process.Kind) << kendl); break; } } @@ -468,8 +468,8 @@ namespace Kernel process.Status = ProcessStatusKind::kStarting; process.PTime = (UIntPtr)AffinityKind::kStandard; - (void)(kout << "PID: " << number(process.ProcessId) << kendl); - (void)(kout << "Name: " << process.Name << kendl); + (Void)(kout << "PID: " << number(process.ProcessId) << kendl); + (Void)(kout << "Name: " << process.Name << kendl); return pid; } |
