From c3856eddb5a8146751dac82ad1ba4433f5ca6d6d Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Fri, 11 Apr 2025 17:51:19 +0200 Subject: tweak kernel, boot: use -Wall, -Werror, -Wpedantic now. Signed-off-by: Amlal El Mahrouss --- dev/kernel/src/ACPIFactoryInterface.cc | 16 +++---- dev/kernel/src/BitMapMgr.cc | 27 ++++++----- dev/kernel/src/CxxAbi-AMD64.cc | 14 +++--- dev/kernel/src/DriveMgr.cc | 4 +- dev/kernel/src/FS/NeFS+FileMgr.cc | 4 +- dev/kernel/src/FS/NeFS.cc | 77 ++++++++++++++----------------- dev/kernel/src/GUIDWizard.cc | 28 +++++------ dev/kernel/src/HardwareThreadScheduler.cc | 4 +- dev/kernel/src/IndexableProperty.cc | 2 +- dev/kernel/src/KString.cc | 2 +- dev/kernel/src/KernelProcessScheduler.cc | 6 --- dev/kernel/src/MemoryMgr.cc | 10 ++-- dev/kernel/src/New+Delete.cc | 10 ++++ dev/kernel/src/PEFCodeMgr.cc | 2 +- dev/kernel/src/PageMgr.cc | 2 +- dev/kernel/src/SoftwareTimer.cc | 2 +- dev/kernel/src/Swap/DiskSwap.cc | 4 +- dev/kernel/src/ThreadLocalStorage.cc | 2 +- dev/kernel/src/User.cc | 4 +- dev/kernel/src/UserProcessScheduler.cc | 38 ++++++--------- dev/kernel/src/Utils.cc | 4 +- 21 files changed, 124 insertions(+), 138 deletions(-) (limited to 'dev/kernel/src') diff --git a/dev/kernel/src/ACPIFactoryInterface.cc b/dev/kernel/src/ACPIFactoryInterface.cc index 00fb3465..b85d6ab3 100644 --- a/dev/kernel/src/ACPIFactoryInterface.cc +++ b/dev/kernel/src/ACPIFactoryInterface.cc @@ -43,10 +43,10 @@ namespace Kernel this->fEntries = num; - kout << "ACPI: Number of entries: " << number(this->fEntries) << kendl; - kout << "ACPI: Revision: " << number(xsdt->Revision) << kendl; - kout << "ACPI: Signature: " << xsdt->Signature << kendl; - 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(xsdt->AddressArr[index]); - kout << "ACPI: Checksum: " << number(sdt->Checksum) << kendl; - 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)) { - kout << "ACPI: SDT Signature: " << sdt->Signature << kendl; - 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(reinterpret_cast(xsdt->AddressArr[index])); } } diff --git a/dev/kernel/src/BitMapMgr.cc b/dev/kernel/src/BitMapMgr.cc index 2e62d19f..5e596d6f 100644 --- a/dev/kernel/src/BitMapMgr.cc +++ b/dev/kernel/src/BitMapMgr.cc @@ -92,7 +92,7 @@ namespace Kernel /// @param pad additional padding added to **size** /// @return The new free address, or nullptr. /***********************************************************************************/ - auto FindBitMap(VoidPtr base_ptr, const SizeT size, const Bool wr, const Bool user, const SizeT pad) -> VoidPtr + auto FindBitMap(VoidPtr base_ptr, SizeT size, Bool wr, Bool user, SizeT pad) -> VoidPtr { if (!size) return nullptr; @@ -162,18 +162,18 @@ namespace Kernel { if (!this->IsBitMap(ptr_bit_set)) { - kout << "Not a BitMap: " << hex_number((UIntPtr)ptr_bit_set) << kendl; + (void)(kout << "Not a BitMap: " << hex_number((UIntPtr)ptr_bit_set) << kendl); return; } - kout << "Magic: " << hex_number(ptr_bit_set[kBitMapMagIdx]) << kendl; - kout << "Is Allocated? " << (ptr_bit_set[kBitMapUsedIdx] ? "YES" : "NO") << kendl; - kout << "Size of BitMap (B): " << number(ptr_bit_set[kBitMapSizeIdx]) << kendl; - kout << "Size of BitMap (KIB): " << number(KIB(ptr_bit_set[kBitMapSizeIdx])) << kendl; - kout << "Size of BitMap (MIB): " << number(MIB(ptr_bit_set[kBitMapSizeIdx])) << kendl; - kout << "Size of BitMap (GIB): " << number(GIB(ptr_bit_set[kBitMapSizeIdx])) << kendl; - kout << "Size of BitMap (TIB): " << number(TIB(ptr_bit_set[kBitMapSizeIdx])) << kendl; - 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 @@ -190,15 +190,14 @@ namespace Kernel /// @param user user bit. /// @return a new bitmap allocated pointer. /***********************************************************************************/ - auto mm_alloc_bitmap(Boolean wr, Boolean user, SizeT size, Bool is_page, const SizeT pad) -> VoidPtr + auto mm_alloc_bitmap(Boolean wr, Boolean user, SizeT size, Bool is_page, SizeT pad) -> VoidPtr { VoidPtr ptr_new = nullptr; Detail::IBitMapProxy bitmp; - ptr_new = bitmp.FindBitMap(kKernelBitMpStart, size, wr, user, pad); - - MUST_PASS(ptr_new); + NE_UNUSED(is_page); + ptr_new = bitmp.FindBitMap(kKernelBitMpStart, size, wr, user, pad); return (UIntPtr*)ptr_new; } diff --git a/dev/kernel/src/CxxAbi-AMD64.cc b/dev/kernel/src/CxxAbi-AMD64.cc index 9270d612..6bf5d009 100644 --- a/dev/kernel/src/CxxAbi-AMD64.cc +++ b/dev/kernel/src/CxxAbi-AMD64.cc @@ -19,24 +19,22 @@ Kernel::UIntPtr __dso_handle; EXTERN_C Kernel::Void __cxa_pure_virtual(void* self) { - kout << "object: " << Kernel::number(reinterpret_cast(self)); - kout << ", has unimplemented virtual functions.\r"; + (void)(Kernel::kout << "object: " << Kernel::number(reinterpret_cast(self))); + (void)(Kernel::kout << ", has unimplemented virtual functions.\r"); } EXTERN_C void ___chkstk_ms(void) { - kout << "Stack smashing detected!\r"; + (void)(Kernel::kout << "Stack smashing detected!\r"); dbg_break_point(); } -EXTERN_C int atexit(void (*f)(void*), void* arg, void* dso) +EXTERN_C int atexit(void (*f)()) { if (__atexit_func_count >= kAtExitMacDestructors) return 1; __atexit_funcs[__atexit_func_count].destructor_func = f; - __atexit_funcs[__atexit_func_count].obj_ptr = arg; - __atexit_funcs[__atexit_func_count].dso_handle = dso; __atexit_func_count++; @@ -52,7 +50,7 @@ EXTERN_C void __cxa_finalize(void* f) { if (__atexit_funcs[i].destructor_func) { - (*__atexit_funcs[i].destructor_func)(__atexit_funcs[i].obj_ptr); + (*__atexit_funcs[i].destructor_func)(); }; } @@ -63,7 +61,7 @@ EXTERN_C void __cxa_finalize(void* f) { if (__atexit_funcs[i].destructor_func) { - (*__atexit_funcs[i].destructor_func)(__atexit_funcs[i].obj_ptr); + (*__atexit_funcs[i].destructor_func)(); __atexit_funcs[i].destructor_func = 0; }; } diff --git a/dev/kernel/src/DriveMgr.cc b/dev/kernel/src/DriveMgr.cc index 0d24d4f8..a379ea43 100644 --- a/dev/kernel/src/DriveMgr.cc +++ b/dev/kernel/src/DriveMgr.cc @@ -63,6 +63,8 @@ namespace Kernel /// @return Void io_drv_init(DriveTrait::DrivePacket pckt) { + NE_UNUSED(pckt); + #if defined(__ATA_PIO__) || defined(__ATA_DMA__) kATAMaster = 0; kATAIO = 0; @@ -191,7 +193,7 @@ namespace Kernel } else { - kout << "Scheme Found: " << block_struct.Name << kendl; + (void)(kout << "Scheme Found: " << block_struct.Name << kendl); } } diff --git a/dev/kernel/src/FS/NeFS+FileMgr.cc b/dev/kernel/src/FS/NeFS+FileMgr.cc index fec88fae..0107bd9e 100644 --- a/dev/kernel/src/FS/NeFS+FileMgr.cc +++ b/dev/kernel/src/FS/NeFS+FileMgr.cc @@ -92,14 +92,14 @@ namespace Kernel /// @brief Gets the separator character. /// @return - const Char NeFileSystemHelper::Separator() + Char NeFileSystemHelper::Separator() { return kNeFSSeparator; } /// @brief Gets the metafile character. /// @return - const Char NeFileSystemHelper::MetaFile() + Char NeFileSystemHelper::MetaFile() { return kNeFSMetaFilePrefix; } diff --git a/dev/kernel/src/FS/NeFS.cc b/dev/kernel/src/FS/NeFS.cc index 7bc02b39..c98841ee 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; - 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); - kout << "Next fork: " << hex_number(cur_fork.NextSibling) << kendl; + (void)(kout << "Next fork: " << hex_number(cur_fork.NextSibling) << kendl); if (cur_fork.Flags & kNeFSFlagCreated) { @@ -139,17 +139,15 @@ _Output BOOL NeFileSystemParser::CreateFork(_Input NEFS_FORK_STRUCT& the_fork) drv.fPacket.fPacketSize = sizeof(NEFS_FORK_STRUCT); drv.fPacket.fPacketContent = &the_fork; - kout << "Allocating fork block...\r"; - - // drv.fOutput(drv.fPacket); + drv.fOutput(drv.fPacket); fs_ifs_write(&kMountpoint, drv, MountpointInterface::kDriveIndexA); /// log what we have now. - kout << "Fork offset is at: " << hex_number(the_fork.DataOffset) - << kendl; + (void)(kout << "Fork offset is at: " << hex_number(the_fork.DataOffset) + << kendl); - kout << "Wrote fork metadata at: " << hex_number(lba) << kendl; + (void)(kout << "Wrote fork metadata at: " << hex_number(lba) << kendl); return YES; } @@ -427,11 +425,6 @@ _Output NEFS_CATALOG_STRUCT* NeFileSystemParser::CreateCatalog(_Input const Char drive.fOutput(drive.fPacket); - kout << "Create new catalog with flags: " - << hex_number(child_catalog->Flags) << kendl; - kout << "Create new catalog with name: " << child_catalog->Name - << kendl; - delete catalog; catalog = nullptr; @@ -577,8 +570,6 @@ bool NeFileSystemParser::Format(_Input _Output DriveTrait* drive, _Input const L rt_copy_memory((VoidPtr)kNeFSUntitledHD, (VoidPtr)part_block->PartitionName, rt_string_len(kNeFSUntitledHD)); - SizeT catalogCount = 0UL; - SizeT sectorCount = drv_get_sector_count(); SizeT diskSize = drv_get_size(); @@ -597,14 +588,14 @@ bool NeFileSystemParser::Format(_Input _Output DriveTrait* drive, _Input const L drive->fOutput(drive->fPacket); - kout << "drive kind: " << drive->fProtocol() << kendl; + (void)(kout << "drive kind: " << drive->fProtocol() << kendl); - kout << "partition name: " << part_block->PartitionName << kendl; - kout << "start: " << hex_number(part_block->StartCatalog) << kendl; - kout << "number of catalogs: " << hex_number(part_block->CatalogCount) << kendl; - kout << "free catalog: " << hex_number(part_block->FreeCatalog) << kendl; - kout << "free sectors: " << hex_number(part_block->FreeSectors) << kendl; - 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); @@ -663,7 +654,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{}; - 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) @@ -674,13 +665,13 @@ bool NeFileSystemParser::WriteCatalog(_Input const Char* catalog_name, Bool is_r drive.fInput(drive.fPacket); - kout << hex_number(fork_data_input->DataSize) << kendl; - kout << hex_number(size_of_data) << kendl; - kout << hex_number(fork_data_input->Flags) << kendl; - kout << fork_name << kendl; - kout << fork_data_input->ForkName << kendl; - kout << fork_data_input->CatalogName << kendl; - 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) && @@ -695,11 +686,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; - 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); - 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; @@ -732,7 +723,7 @@ _Output NEFS_CATALOG_STRUCT* NeFileSystemParser::FindCatalog(_Input const Char* *catalog_name == 0) return nullptr; - NEFS_ROOT_PARTITION_BLOCK part{0}; + NEFS_ROOT_PARTITION_BLOCK part{}; auto& drive = kMountpoint.A(); rt_copy_memory((VoidPtr) "fs/nefs-packet", drive.fPacket.fPacketMime, @@ -745,7 +736,6 @@ _Output NEFS_CATALOG_STRUCT* NeFileSystemParser::FindCatalog(_Input const Char* drive.fInput(drive.fPacket); auto start_catalog_lba = kNeFSCatalogStartAddress; - const auto kStartCatalogList = start_catalog_lba; if (!KStringBuilder::Equals(catalog_name, NeFileSystemHelper::Root()) && local_search) { @@ -839,8 +829,8 @@ kNeFSSearchThroughCatalogList: goto NeFSContinueSearch; } - kout << "Found available catalog at: " << hex_number(start_catalog_lba) << kendl; - 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)); @@ -974,11 +964,9 @@ VoidPtr NeFileSystemParser::ReadCatalog(_Input _Output NEFS_CATALOG_STRUCT* cata return nullptr; } - Lba dataForkLba = (!is_rsrc_fork) ? catalog->DataFork : catalog->ResourceFork; - Size dataForkSize = (!is_rsrc_fork) ? catalog->DataForkSize : catalog->ResourceForkSize; + NE_UNUSED(dataSz); - kout << "catalog " << catalog->Name - << ", fork: " << hex_number(dataForkLba) << kendl; + Lba dataForkLba = (!is_rsrc_fork) ? catalog->DataFork : catalog->ResourceFork; NEFS_FORK_STRUCT* fs_buf = new NEFS_FORK_STRUCT(); auto& drive = kMountpoint.A(); @@ -998,8 +986,8 @@ VoidPtr NeFileSystemParser::ReadCatalog(_Input _Output NEFS_CATALOG_STRUCT* cata fs_fork_data = fs_buf; - kout << "ForkName: " << fs_fork_data->ForkName << kendl; - 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)) @@ -1026,6 +1014,9 @@ VoidPtr NeFileSystemParser::ReadCatalog(_Input _Output NEFS_CATALOG_STRUCT* cata bool NeFileSystemParser::Seek(_Input _Output NEFS_CATALOG_STRUCT* catalog, SizeT off) { + NE_UNUSED(catalog); + NE_UNUSED(off); + err_global_get() = kErrorUnimplemented; return false; } @@ -1038,6 +1029,8 @@ bool NeFileSystemParser::Seek(_Input _Output NEFS_CATALOG_STRUCT* catalog, SizeT SizeT NeFileSystemParser::Tell(_Input _Output NEFS_CATALOG_STRUCT* catalog) { + NE_UNUSED(catalog); + err_global_get() = kErrorUnimplemented; return 0; } diff --git a/dev/kernel/src/GUIDWizard.cc b/dev/kernel/src/GUIDWizard.cc index c2af3230..4aab3b76 100644 --- a/dev/kernel/src/GUIDWizard.cc +++ b/dev/kernel/src/GUIDWizard.cc @@ -26,17 +26,17 @@ namespace CF::XRN::Version1 Ref seq_ref{seq}; - seq_ref.Leak()->fMs1 = uuidSeq[0]; - seq_ref.Leak()->fMs2 = uuidSeq[1]; - seq_ref.Leak()->fMs3 = uuidSeq[2]; - seq_ref.Leak()->fMs4[0] = uuidSeq[3]; - seq_ref.Leak()->fMs4[1] = uuidSeq[4]; - seq_ref.Leak()->fMs4[2] = uuidSeq[5]; - seq_ref.Leak()->fMs4[3] = uuidSeq[6]; - seq_ref.Leak()->fMs4[4] = uuidSeq[7]; - seq_ref.Leak()->fMs4[5] = uuidSeq[8]; - seq_ref.Leak()->fMs4[6] = uuidSeq[9]; - seq_ref.Leak()->fMs4[7] = uuidSeq[10]; + seq_ref.Leak()->fUuid.fMs1 = uuidSeq[0]; + seq_ref.Leak()->fUuid.fMs2 = uuidSeq[1]; + seq_ref.Leak()->fUuid.fMs3 = uuidSeq[2]; + seq_ref.Leak()->fUuid.fMs4[0] = uuidSeq[3]; + seq_ref.Leak()->fUuid.fMs4[1] = uuidSeq[4]; + seq_ref.Leak()->fUuid.fMs4[2] = uuidSeq[5]; + seq_ref.Leak()->fUuid.fMs4[3] = uuidSeq[6]; + seq_ref.Leak()->fUuid.fMs4[4] = uuidSeq[7]; + seq_ref.Leak()->fUuid.fMs4[5] = uuidSeq[8]; + seq_ref.Leak()->fUuid.fMs4[6] = uuidSeq[9]; + seq_ref.Leak()->fUuid.fMs4[7] = uuidSeq[10]; return seq_ref; } @@ -49,17 +49,17 @@ namespace CF::XRN::Version1 for (SizeT index = 0; index < 16; ++index) { - buf[index] = seq.Leak()->u8[index] + kUUIDAsciiBegin; + buf[index] = seq.Leak()->fU8[index] + kUUIDAsciiBegin; } for (SizeT index = 16; index < 24; ++index) { - buf[index] = seq.Leak()->u16[index] + kUUIDAsciiBegin; + buf[index] = seq.Leak()->fU16[index] + kUUIDAsciiBegin; } for (SizeT index = 24; index < 28; ++index) { - buf[index] = seq.Leak()->u32[index] + kUUIDAsciiBegin; + buf[index] = seq.Leak()->fU32[index] + kUUIDAsciiBegin; } auto view = KStringBuilder::Construct(buf); diff --git a/dev/kernel/src/HardwareThreadScheduler.cc b/dev/kernel/src/HardwareThreadScheduler.cc index 55afeba1..96c80c77 100644 --- a/dev/kernel/src/HardwareThreadScheduler.cc +++ b/dev/kernel/src/HardwareThreadScheduler.cc @@ -87,7 +87,7 @@ namespace Kernel return this->fStack; } - Void HardwareThread::Busy(const Bool busy) noexcept + Void HardwareThread::Busy(Bool busy) noexcept { this->fBusy = busy; } @@ -174,7 +174,7 @@ namespace Kernel * @return the reference to the hardware thread. */ /***********************************************************************************/ - Ref HardwareThreadScheduler::operator[](const SizeT& idx) + Ref HardwareThreadScheduler::operator[](SizeT idx) { if (idx == 0) { diff --git a/dev/kernel/src/IndexableProperty.cc b/dev/kernel/src/IndexableProperty.cc index e6facc5f..d586398d 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); - kout << "FSKit: Indexed new file: " << filename << kendl; + (void)(kout << "FSKit: Indexed new file: " << filename << kendl); } } } // namespace Indexer diff --git a/dev/kernel/src/KString.cc b/dev/kernel/src/KString.cc index 9c99eff7..c1a8db65 100644 --- a/dev/kernel/src/KString.cc +++ b/dev/kernel/src/KString.cc @@ -100,7 +100,7 @@ namespace Kernel return ("?"); const Char* boolean_expr = i ? "YES" : "NO"; - Char* ret = (Char*)RTL_ALLOCA((sizeof(char) * i) ? 4 : 5 + rt_string_len(fmt)); + Char* ret = (Char*)RTL_ALLOCA(rt_string_len(boolean_expr) + rt_string_len(fmt)); if (!ret) return ("?"); diff --git a/dev/kernel/src/KernelProcessScheduler.cc b/dev/kernel/src/KernelProcessScheduler.cc index 58137545..a1185a91 100644 --- a/dev/kernel/src/KernelProcessScheduler.cc +++ b/dev/kernel/src/KernelProcessScheduler.cc @@ -17,10 +17,4 @@ namespace Kernel { - /***********************************************************************************/ - /// @brief Exit Code global variable. - /***********************************************************************************/ - - STATIC UInt32 kLastExitCode = 0U; - } // namespace Kernel \ No newline at end of file diff --git a/dev/kernel/src/MemoryMgr.cc b/dev/kernel/src/MemoryMgr.cc index 5c483ed5..8020ca1c 100644 --- a/dev/kernel/src/MemoryMgr.cc +++ b/dev/kernel/src/MemoryMgr.cc @@ -82,7 +82,7 @@ namespace Kernel if (!heap_ptr) return false; - auto base_heap = ((IntPtr)heap_ptr) - sizeof(Detail::MM_INFORMATION_BLOCK); + IntPtr base_heap = ((IntPtr)heap_ptr) - sizeof(Detail::MM_INFORMATION_BLOCK); /// Add that check in case we're having an integer underflow. /// @@ -120,7 +120,7 @@ namespace Kernel /// @param wr Read Write bit. /// @param user User enable bit. /// @return The newly allocated pointer. - _Output VoidPtr mm_new_heap(const SizeT sz, const Bool wr, const Bool user, const SizeT pad_amount) + _Output VoidPtr mm_new_heap(SizeT sz, Bool wr, Bool user, SizeT pad_amount) { auto sz_fix = sz; @@ -150,7 +150,7 @@ namespace Kernel auto result = reinterpret_cast(heap_info_ptr->fOffset); - kout << "Registered heap address: " << hex_number(reinterpret_cast(heap_info_ptr)) << kendl; + (void)(kout << "Registered heap address: " << hex_number(reinterpret_cast(heap_info_ptr)) << kendl); return result; } @@ -172,7 +172,7 @@ namespace Kernel heap_info_ptr->fPage = true; - kout << "Registered page address: " << hex_number(reinterpret_cast(heap_info_ptr)) << kendl; + (void)(kout << "Registered page address: " << hex_number(reinterpret_cast(heap_info_ptr)) << kendl); return kErrorSuccess; } @@ -239,7 +239,7 @@ namespace Kernel heap_info_ptr->fMagic = 0; heap_info_ptr->fPad = 0; - 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(heap_info_ptr) - sizeof(Detail::MM_INFORMATION_BLOCK)); Ref pte_address{page_wrapper}; diff --git a/dev/kernel/src/New+Delete.cc b/dev/kernel/src/New+Delete.cc index 7e8f75ba..d0abb20d 100644 --- a/dev/kernel/src/New+Delete.cc +++ b/dev/kernel/src/New+Delete.cc @@ -48,3 +48,13 @@ void operator delete(void* ptr, size_t sz) Kernel::mm_delete_heap(ptr); } + +void operator delete[](void* ptr, size_t sz) +{ + if (ptr == nullptr) + return; + + NE_UNUSED(sz); + + Kernel::mm_delete_heap(ptr); +} diff --git a/dev/kernel/src/PEFCodeMgr.cc b/dev/kernel/src/PEFCodeMgr.cc index 53f45113..668dd916 100644 --- a/dev/kernel/src/PEFCodeMgr.cc +++ b/dev/kernel/src/PEFCodeMgr.cc @@ -59,7 +59,7 @@ namespace Kernel /// @param path the filesystem path. /***********************************************************************************/ PEFLoader::PEFLoader(const Char* path) - : fCachedBlob(nullptr), fBad(false), fFatBinary(false) + : fCachedBlob(nullptr), fFatBinary(false), fBad(false) { fFile.New(const_cast(path), kRestrictRB); fPath = KStringBuilder::Construct(path).Leak(); diff --git a/dev/kernel/src/PageMgr.cc b/dev/kernel/src/PageMgr.cc index 4a0c2ef5..8778a855 100644 --- a/dev/kernel/src/PageMgr.cc +++ b/dev/kernel/src/PageMgr.cc @@ -78,7 +78,7 @@ namespace Kernel /// @brief Virtual PTE address. /// @return The virtual address of the page. - const UIntPtr PTEWrapper::VirtualAddress() + UIntPtr PTEWrapper::VirtualAddress() { return (fVirtAddr); } diff --git a/dev/kernel/src/SoftwareTimer.cc b/dev/kernel/src/SoftwareTimer.cc index 06e71b9e..35d9c6f1 100644 --- a/dev/kernel/src/SoftwareTimer.cc +++ b/dev/kernel/src/SoftwareTimer.cc @@ -13,7 +13,7 @@ using namespace Kernel; SoftwareTimer::SoftwareTimer(Int64 seconds) : fWaitFor(seconds) { - fDigitalTimer = new IntPtr(); + fDigitalTimer = new UIntPtr(); MUST_PASS(fDigitalTimer); } diff --git a/dev/kernel/src/Swap/DiskSwap.cc b/dev/kernel/src/Swap/DiskSwap.cc index eedfa62c..1650a5af 100644 --- a/dev/kernel/src/Swap/DiskSwap.cc +++ b/dev/kernel/src/Swap/DiskSwap.cc @@ -16,7 +16,7 @@ namespace Kernel /// @param data the data packet. /// @return Whether the swap was written to disk, or not. /***********************************************************************************/ - BOOL SwapDiskInterface::Write(const Char* fork_name, const SizeT fork_name_len, SWAP_DISK_HEADER* data) + BOOL SwapDiskInterface::Write(const Char* fork_name, SizeT fork_name_len, SWAP_DISK_HEADER* data) { if (!fork_name || !fork_name_len) return NO; @@ -44,7 +44,7 @@ namespace Kernel /// @param data the data packet length. /// @return Whether the swap was fetched to disk, or not. /***********************************************************************************/ - SWAP_DISK_HEADER* SwapDiskInterface::Read(const Char* fork_name, const SizeT fork_name_len, const SizeT data_len) + SWAP_DISK_HEADER* SwapDiskInterface::Read(const Char* fork_name, SizeT fork_name_len, SizeT data_len) { if (!fork_name || !fork_name_len) return nullptr; diff --git a/dev/kernel/src/ThreadLocalStorage.cc b/dev/kernel/src/ThreadLocalStorage.cc index 79d2ef5f..a6c12142 100644 --- a/dev/kernel/src/ThreadLocalStorage.cc +++ b/dev/kernel/src/ThreadLocalStorage.cc @@ -33,7 +33,7 @@ Boolean tls_check_tib(THREAD_INFORMATION_BLOCK* tib_ptr) return false; ICodec encoder; - const Char* tib_as_bytes = encoder.AsBytes(tib_ptr); + const Char* tib_as_bytes = encoder.AsBytes(tib_ptr); kout << "TLS: Validating the TIB...\r"; diff --git a/dev/kernel/src/User.cc b/dev/kernel/src/User.cc index e379eed9..d29ed112 100644 --- a/dev/kernel/src/User.cc +++ b/dev/kernel/src/User.cc @@ -31,7 +31,7 @@ namespace Kernel /// \param password password to hash. /// \return the hashed password //////////////////////////////////////////////////////////// - const Int32 cred_construct_token(Char* password, const Char* in_password, User* user, SizeT length) + Int32 cred_construct_token(Char* password, const Char* in_password, User* user, SizeT length) { if (!password || !user) return 1; @@ -40,7 +40,7 @@ namespace Kernel for (SizeT i_pass = 0UL; i_pass < length; ++i_pass) { - const Char cur_chr = in_password[i_pass]; + Char cur_chr = in_password[i_pass]; if (cur_chr == 0) break; diff --git a/dev/kernel/src/UserProcessScheduler.cc b/dev/kernel/src/UserProcessScheduler.cc index da8553ba..56b41436 100644 --- a/dev/kernel/src/UserProcessScheduler.cc +++ b/dev/kernel/src/UserProcessScheduler.cc @@ -58,7 +58,7 @@ namespace Kernel if (this->Status != ProcessStatusKind::kRunning) return; - kout << this->Name << ": crashed, error id: " << number(kErrorProcessFault) << kendl; + (void)(kout << this->Name << ": crashed, error id: " << number(kErrorProcessFault) << kendl); this->Exit(kErrorProcessFault); } @@ -96,7 +96,7 @@ namespace Kernel /// @param should_wakeup if the program shall wakeup or not. /***********************************************************************************/ - Void UserProcess::Wake(const Bool should_wakeup) + Void UserProcess::Wake(Bool should_wakeup) { this->Status = should_wakeup ? ProcessStatusKind::kRunning : ProcessStatusKind::kFrozen; @@ -106,7 +106,7 @@ namespace Kernel /** @brief Allocate pointer to track list. */ /***********************************************************************************/ - ErrorOr UserProcess::New(const SizeT& sz, const SizeT& pad_amount) + ErrorOr UserProcess::New(SizeT sz, SizeT pad_amount) { #ifdef __NE_VIRTUAL_MEMORY_SUPPORT__ auto vm_register = hal_read_cr3(); @@ -134,14 +134,12 @@ namespace Kernel else { ProcessMemoryHeapList* entry = this->ProcessMemoryHeap; - ProcessMemoryHeapList* prev_entry = nullptr; while (entry) { if (entry->MemoryEntry == nullptr) break; // chose to break here, when we get an already allocated memory entry for our needs. - prev_entry = entry; entry = entry->MemoryNext; } @@ -341,9 +339,10 @@ namespace Kernel case UserProcess::kExectuableDylibKind: { process.DylibDelegate = rtl_init_dylib(process); MUST_PASS(process.DylibDelegate); + break; } default: { - kout << "Unknown process kind: " << hex_number(process.Kind) << kendl; + (void)(kout << "Unknown process kind: " << hex_number(process.Kind) << kendl); break; } } @@ -371,8 +370,8 @@ namespace Kernel process.Status = ProcessStatusKind::kStarting; process.PTime = (UIntPtr)AffinityKind::kStandard; - kout << "PID: " << number(process.ProcessId) << kendl; - kout << "Name: " << process.Name << kendl; + (void)(kout << "PID: " << number(process.ProcessId) << kendl); + (void)(kout << "Name: " << process.Name << kendl); return pid; } @@ -395,34 +394,28 @@ namespace Kernel /***********************************************************************************/ - const Bool UserProcessScheduler::Remove(ProcessID process_id) + Void UserProcessScheduler::Remove(ProcessID process_id) { - // check if process is within range. - if (process_id > mTeam.mProcessList.Count()) - return No; - mTeam.mProcessList[process_id].Exit(0); - - return Yes; } /// @brief Is it a user scheduler? - const Bool UserProcessScheduler::IsUser() + Bool UserProcessScheduler::IsUser() { return Yes; } /// @brief Is it a kernel scheduler? - const Bool UserProcessScheduler::IsKernel() + Bool UserProcessScheduler::IsKernel() { return No; } /// @brief Is it a SMP scheduler? - const Bool UserProcessScheduler::HasMP() + Bool UserProcessScheduler::HasMP() { return Yes; } @@ -432,7 +425,7 @@ namespace Kernel /// @return Process count executed within a team. /***********************************************************************************/ - const SizeT UserProcessScheduler::Run() noexcept + SizeT UserProcessScheduler::Run() noexcept { SizeT process_index = 0UL; //! we store this guy to tell the scheduler how many //! things we have scheduled. @@ -551,7 +544,7 @@ namespace Kernel */ /***********************************************************************************/ - Bool UserProcessHelper::Switch(VoidPtr image, UInt8* stack, HAL::StackFramePtr frame_ptr, const PID& new_pid) + Bool UserProcessHelper::Switch(VoidPtr image, UInt8* stack, HAL::StackFramePtr frame_ptr, PID new_pid) { for (SizeT index = 0UL; index < HardwareThreadScheduler::The().Capacity(); ++index) { @@ -567,12 +560,9 @@ namespace Kernel if (HardwareThreadScheduler::The()[index].Leak()->Switch(image, stack, frame_ptr, new_pid)) { - PTime prev_ptime = HardwareThreadScheduler::The()[index].Leak()->fPTime; - HardwareThreadScheduler::The()[index].Leak()->fPTime = UserProcessScheduler::The().CurrentTeam().AsArray()[new_pid].PTime; - PID prev_pid = UserProcessHelper::TheCurrentPID(); - UserProcessHelper::TheCurrentPID().Leak().Leak() = new_pid; + UserProcessHelper::TheCurrentPID().Leak().Leak() = UserProcessHelper::TheCurrentPID(); return YES; } diff --git a/dev/kernel/src/Utils.cc b/dev/kernel/src/Utils.cc index 265c2b1d..f5e61ddf 100644 --- a/dev/kernel/src/Utils.cc +++ b/dev/kernel/src/Utils.cc @@ -160,7 +160,7 @@ namespace Kernel Char rt_to_char(UInt64 base, Int32 limit) { - const Char kNumbers[17] = "0123456789ABCDEF"; + Char kNumbers[17] = "0123456789ABCDEF"; return kNumbers[base % limit]; } @@ -198,7 +198,7 @@ namespace Kernel /// @brief Checks for a string start at the character. - Char* rt_string_has_char(Char* str, const Char chr) + Char* rt_string_has_char(Char* str, Char chr) { while (*str != chr) { -- cgit v1.2.3