summaryrefslogtreecommitdiffhomepage
path: root/dev
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-04-11 17:51:19 +0200
committerAmlal El Mahrouss <amlal@nekernel.org>2025-04-11 17:51:19 +0200
commitc3856eddb5a8146751dac82ad1ba4433f5ca6d6d (patch)
treea74bdf6f87d07a24496effbc157f74d379d25007 /dev
parent9da6a352ecf70a1f5be99058a880b20db1b57940 (diff)
tweak kernel, boot: use -Wall, -Werror, -Wpedantic now.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'dev')
-rw-r--r--dev/boot/BootKit/Device.h4
-rw-r--r--dev/boot/BootKit/HW/ATA.h4
-rw-r--r--dev/boot/BootKit/HW/SATA.h4
-rw-r--r--dev/boot/amd64-ci.make2
-rw-r--r--dev/boot/amd64-desktop.make2
-rw-r--r--dev/boot/src/BootSupport.cc3
-rw-r--r--dev/boot/src/BootTextWriter.cc2
-rw-r--r--dev/boot/src/BootThread.cc5
-rw-r--r--dev/boot/src/HEL/AMD64/BootATA.cc9
-rw-r--r--dev/boot/src/HEL/AMD64/BootEFI.cc4
-rw-r--r--dev/boot/src/New+Delete.cc15
-rw-r--r--dev/kernel/CFKit/GUIDWrapper.h12
-rw-r--r--dev/kernel/FSKit/NeFS.h8
-rw-r--r--dev/kernel/FirmwareKit/CoreBoot/CoreBoot.h8
-rw-r--r--dev/kernel/HALKit/AMD64/HalACPIFactoryInterface.cc2
-rw-r--r--dev/kernel/HALKit/AMD64/HalApplicationProcessor.cc7
-rw-r--r--dev/kernel/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cc46
-rw-r--r--dev/kernel/HALKit/AMD64/HalDebugOutput.cc10
-rw-r--r--dev/kernel/HALKit/AMD64/HalDescriptorLoader.cc41
-rw-r--r--dev/kernel/HALKit/AMD64/HalKernelMain.cc4
-rw-r--r--dev/kernel/HALKit/AMD64/HalKernelPanic.cc17
-rw-r--r--dev/kernel/HALKit/AMD64/HalPagingMgrAMD64.cc13
-rw-r--r--dev/kernel/HALKit/AMD64/HalSchedulerCorePrimitivesAMD64.cc3
-rw-r--r--dev/kernel/HALKit/AMD64/HalTimerAMD64.cc2
-rw-r--r--dev/kernel/HALKit/AMD64/PCI/DMA.cc10
-rw-r--r--dev/kernel/HALKit/AMD64/Paging.h2
-rw-r--r--dev/kernel/HALKit/AMD64/Storage/AHCI+Generic.cc13
-rw-r--r--dev/kernel/HALKit/AMD64/Storage/PIO+Generic.cc5
-rw-r--r--dev/kernel/HALKit/ARM64/HalApplicationProcessor.cc2
-rw-r--r--dev/kernel/HALKit/ARM64/HalKernelPanic.cc4
-rw-r--r--dev/kernel/KernelKit/CodeMgr.h2
-rw-r--r--dev/kernel/KernelKit/DebugOutput.h17
-rw-r--r--dev/kernel/KernelKit/DeviceMgr.h6
-rw-r--r--dev/kernel/KernelKit/FileMgr.h10
-rw-r--r--dev/kernel/KernelKit/HardwareThreadScheduler.h8
-rw-r--r--dev/kernel/KernelKit/MemoryMgr.h2
-rw-r--r--dev/kernel/KernelKit/PCI/DMA.h6
-rw-r--r--dev/kernel/KernelKit/PCI/DMA.inl2
-rw-r--r--dev/kernel/KernelKit/ProcessScheduler.h22
-rw-r--r--dev/kernel/KernelKit/ThreadLocalStorage.inl2
-rw-r--r--dev/kernel/KernelKit/Timer.h4
-rw-r--r--dev/kernel/KernelKit/UserProcessScheduler.inl (renamed from dev/kernel/KernelKit/ProcessScheduler.inl)2
-rw-r--r--dev/kernel/NewKit/Array.h6
-rw-r--r--dev/kernel/NewKit/ArrayList.h2
-rw-r--r--dev/kernel/NewKit/CxxAbi.h2
-rw-r--r--dev/kernel/NewKit/Defines.h9
-rw-r--r--dev/kernel/NewKit/Json.h2
-rw-r--r--dev/kernel/NewKit/KString.h2
-rw-r--r--dev/kernel/NewKit/KernelPanic.h3
-rw-r--r--dev/kernel/NewKit/MutableArray.h6
-rw-r--r--dev/kernel/NewKit/PageMgr.h2
-rw-r--r--dev/kernel/NewKit/Ref.h3
-rw-r--r--dev/kernel/NewKit/Utils.h2
-rw-r--r--dev/kernel/SwapKit/DiskSwap.h6
-rw-r--r--dev/kernel/amd64-ci.make10
-rw-r--r--dev/kernel/amd64-desktop.make10
-rw-r--r--dev/kernel/arm64-desktop.make8
-rw-r--r--dev/kernel/src/ACPIFactoryInterface.cc16
-rw-r--r--dev/kernel/src/BitMapMgr.cc27
-rw-r--r--dev/kernel/src/CxxAbi-AMD64.cc14
-rw-r--r--dev/kernel/src/DriveMgr.cc4
-rw-r--r--dev/kernel/src/FS/NeFS+FileMgr.cc4
-rw-r--r--dev/kernel/src/FS/NeFS.cc77
-rw-r--r--dev/kernel/src/GUIDWizard.cc28
-rw-r--r--dev/kernel/src/HardwareThreadScheduler.cc4
-rw-r--r--dev/kernel/src/IndexableProperty.cc2
-rw-r--r--dev/kernel/src/KString.cc2
-rw-r--r--dev/kernel/src/KernelProcessScheduler.cc6
-rw-r--r--dev/kernel/src/MemoryMgr.cc10
-rw-r--r--dev/kernel/src/New+Delete.cc10
-rw-r--r--dev/kernel/src/PEFCodeMgr.cc2
-rw-r--r--dev/kernel/src/PageMgr.cc2
-rw-r--r--dev/kernel/src/SoftwareTimer.cc2
-rw-r--r--dev/kernel/src/Swap/DiskSwap.cc4
-rw-r--r--dev/kernel/src/ThreadLocalStorage.cc2
-rw-r--r--dev/kernel/src/User.cc4
-rw-r--r--dev/kernel/src/UserProcessScheduler.cc38
-rw-r--r--dev/kernel/src/Utils.cc4
-rw-r--r--dev/modules/ACPI/ACPI.h2
-rw-r--r--dev/modules/ACPI/ACPIFactoryInterface.h2
-rw-r--r--dev/modules/AHCI/AHCI.h5
-rw-r--r--dev/modules/CoreGfx/CoreAccess.h4
-rw-r--r--dev/modules/CoreGfx/CoreGfx.h6
-rw-r--r--dev/modules/CoreGfx/TextGfx.h12
-rw-r--r--dev/user/SystemCalls.h6
85 files changed, 351 insertions, 367 deletions
diff --git a/dev/boot/BootKit/Device.h b/dev/boot/BootKit/Device.h
index 293c616c..dd77a811 100644
--- a/dev/boot/BootKit/Device.h
+++ b/dev/boot/BootKit/Device.h
@@ -28,8 +28,8 @@ public:
virtual Trait& Leak() = 0;
- virtual Device& Read(Char* Buf, const SizeT& SecCount) = 0;
- virtual Device& Write(Char* Buf, const SizeT& SecCount) = 0;
+ virtual Device& Read(Char* Buf, SizeT SecCount) = 0;
+ virtual Device& Write(Char* Buf, SizeT SecCount) = 0;
};
typedef Device BootDevice;
diff --git a/dev/boot/BootKit/HW/ATA.h b/dev/boot/BootKit/HW/ATA.h
index 8ca859b2..1bf4aa9c 100644
--- a/dev/boot/BootKit/HW/ATA.h
+++ b/dev/boot/BootKit/HW/ATA.h
@@ -48,8 +48,8 @@ public:
SizeT GetSectorsCount() noexcept;
SizeT GetDiskSize() noexcept;
- BootDeviceATA& Read(Char* Buf, const SizeT& SecCount) override;
- BootDeviceATA& Write(Char* Buf, const SizeT& SecCount) override;
+ BootDeviceATA& Read(Char* Buf, SizeT SecCount) override;
+ BootDeviceATA& Write(Char* Buf, SizeT SecCount) override;
ATATrait& Leak() override;
diff --git a/dev/boot/BootKit/HW/SATA.h b/dev/boot/BootKit/HW/SATA.h
index 0156affd..c7672cf6 100644
--- a/dev/boot/BootKit/HW/SATA.h
+++ b/dev/boot/BootKit/HW/SATA.h
@@ -34,8 +34,8 @@ public:
return this->Leak().mDetected;
}
- BootDeviceSATA& Read(Kernel::WideChar* Buf, const Kernel::SizeT& SecCount);
- BootDeviceSATA& Write(Kernel::WideChar* Buf, const Kernel::SizeT& SecCount);
+ BootDeviceSATA& Read(Kernel::WideChar* Buf, const Kernel::SizeT SecCount);
+ BootDeviceSATA& Write(Kernel::WideChar* Buf, const Kernel::SizeT SecCount);
SATATrait& Leak();
diff --git a/dev/boot/amd64-ci.make b/dev/boot/amd64-ci.make
index bdb4545f..62ecb88c 100644
--- a/dev/boot/amd64-ci.make
+++ b/dev/boot/amd64-ci.make
@@ -67,7 +67,7 @@ REM=rm
REM_FLAG=-f
FLAG_ASM=-f win64
-FLAG_GNU=-fshort-wchar -D__EFI_x86_64__ -mno-red-zone -D__NEOSKRNL__ -D__BOOTZ__ \
+FLAG_GNU=-fshort-wchar -Wall -Wpedantic -Wextra -Werror -D__EFI_x86_64__ -mno-red-zone -D__NEOSKRNL__ -D__BOOTZ__ \
-DEFI_FUNCTION_WRAPPER -I./ -I../kernel $(DISK_DRV) -I../ -c -nostdlib -fno-rtti -fno-exceptions \
-std=c++20 -DBOOTZ_GPT_SUPPORT -DBOOTZ_EPM_SUPPORT -D__HAVE_NE_APIS__ -DZBA_USE_FB -D__NE_AMD64__ -D__NE__ -DNE_AUTO_FORMAT
diff --git a/dev/boot/amd64-desktop.make b/dev/boot/amd64-desktop.make
index 9e4e9894..3adbfb33 100644
--- a/dev/boot/amd64-desktop.make
+++ b/dev/boot/amd64-desktop.make
@@ -67,7 +67,7 @@ REM=rm
REM_FLAG=-f
FLAG_ASM=-f win64
-FLAG_GNU=-fshort-wchar -D__EFI_x86_64__ -mno-red-zone -D__NEOSKRNL__ -D__BOOTZ__ \
+FLAG_GNU=-fshort-wchar -D__EFI_x86_64__ -Wall -Wpedantic -Wextra -mno-red-zone -D__NEOSKRNL__ -D__BOOTZ__ \
-DEFI_FUNCTION_WRAPPER -I./ -I../kernel $(DISK_DRV) -I../ -c -nostdlib -fno-rtti -fno-exceptions \
-std=c++20 -DBOOTZ_GPT_SUPPORT -DBOOTZ_EPM_SUPPORT -D__HAVE_NE_APIS__ -DZBA_USE_FB -D__NE_AMD64__ -D__NE__ -DNE_AUTO_FORMAT -Wl,--disable-reloc-section
diff --git a/dev/boot/src/BootSupport.cc b/dev/boot/src/BootSupport.cc
index f8a527d9..ade8ed01 100644
--- a/dev/boot/src/BootSupport.cc
+++ b/dev/boot/src/BootSupport.cc
@@ -58,9 +58,6 @@ EXTERN_C size_t strlen(const char* whatToCheck)
/// @brief strcmp definition in C++.
EXTERN_C int strcmp(const char* whatToCheck, const char* whatToCheckRight)
{
- if (!whatToCheck || *whatToCheck == 0)
- return 0;
-
SizeT len = 0;
while (whatToCheck[len] == whatToCheckRight[len])
diff --git a/dev/boot/src/BootTextWriter.cc b/dev/boot/src/BootTextWriter.cc
index 0b132f83..95e248a2 100644
--- a/dev/boot/src/BootTextWriter.cc
+++ b/dev/boot/src/BootTextWriter.cc
@@ -157,7 +157,7 @@ Boot::BootTextWriter& Boot::BootTextWriter::_Write(const UInt64& x)
return *this;
}
- if (y < 0)
+ if (y == ~0UL)
y = -y;
const char cNumbers[] = "0123456789ABCDEF";
diff --git a/dev/boot/src/BootThread.cc b/dev/boot/src/BootThread.cc
index ee70812f..ce691f96 100644
--- a/dev/boot/src/BootThread.cc
+++ b/dev/boot/src/BootThread.cc
@@ -25,7 +25,7 @@ namespace Boot
EXTERN_C Int32 rt_jump_to_address(VoidPtr code, HEL::BootInfoHeader* handover, UInt8* stack);
BootThread::BootThread(VoidPtr blob)
- : fBlob(blob), fStartAddress(nullptr)
+ : fStartAddress(nullptr), fBlob(blob)
{
// detect the format.
const Char* blob_bytes = reinterpret_cast<char*>(fBlob);
@@ -84,7 +84,6 @@ namespace Boot
constexpr auto sectionForCode = ".text";
constexpr auto sectionForBootZ = ".ldr";
- constexpr auto sectionForBSS = ".bss";
for (SizeT sectIndex = 0; sectIndex < numSecs; ++sectIndex)
{
@@ -168,6 +167,8 @@ namespace Boot
Int32 BootThread::Start(HEL::BootInfoHeader* handover, Bool own_stack)
{
HEL::HandoverProc err_fn = [](HEL::BootInfoHeader* rcx) -> Int32 {
+ NE_UNUSED(rcx);
+
fb_render_string("BootZ: Invalid Boot Image...", 50, 10, RGB(0xFF, 0xFF, 0xFF));
::Boot::Stop();
diff --git a/dev/boot/src/HEL/AMD64/BootATA.cc b/dev/boot/src/HEL/AMD64/BootATA.cc
index a172e4cb..8b1b5a0a 100644
--- a/dev/boot/src/HEL/AMD64/BootATA.cc
+++ b/dev/boot/src/HEL/AMD64/BootATA.cc
@@ -23,10 +23,9 @@
using namespace Boot;
-#define kATADataLen 256
+#define kATADataLen (256)
static Boolean kATADetected = false;
-static Int32 kATADeviceType = kATADeviceCount;
static UInt16 kATAData[kATADataLen] = {0};
Boolean boot_ata_detected(Void);
@@ -64,6 +63,8 @@ Void boot_ata_select(UInt16 Bus)
Boolean boot_ata_init(UInt16 Bus, UInt8 Drive, UInt16& OutBus, UInt8& OutMaster)
{
+ NE_UNUSED(Drive);
+
if (boot_ata_detected())
return true;
@@ -214,7 +215,7 @@ BootDeviceATA::operator bool()
@param Sz Sector size
@param Buf buffer
*/
-BootDeviceATA& BootDeviceATA::Read(CharacterTypeUTF8* Buf, const SizeT& SectorSz)
+BootDeviceATA& BootDeviceATA::Read(CharacterTypeUTF8* Buf, SizeT SectorSz)
{
if (!boot_ata_detected())
{
@@ -238,7 +239,7 @@ BootDeviceATA& BootDeviceATA::Read(CharacterTypeUTF8* Buf, const SizeT& SectorSz
@param Sz Sector size
@param Buf buffer
*/
-BootDeviceATA& BootDeviceATA::Write(CharacterTypeUTF8* Buf, const SizeT& SectorSz)
+BootDeviceATA& BootDeviceATA::Write(CharacterTypeUTF8* Buf, SizeT SectorSz)
{
if (!boot_ata_detected())
{
diff --git a/dev/boot/src/HEL/AMD64/BootEFI.cc b/dev/boot/src/HEL/AMD64/BootEFI.cc
index 4d0e9a59..4220c6cb 100644
--- a/dev/boot/src/HEL/AMD64/BootEFI.cc
+++ b/dev/boot/src/HEL/AMD64/BootEFI.cc
@@ -86,10 +86,6 @@ EFI_EXTERN_C EFI_API Int32 ModuleMain(EfiHandlePtr image_handle,
new HEL::BootInfoHeader();
UInt32 map_key = 0;
- UInt32 size_struct_ptr = 0;
- EfiMemoryDescriptor* struct_ptr = nullptr;
- UInt32 sz_desc = 0;
- UInt32 rev_desc = 0;
#ifdef ZBA_USE_FB
if (!boot_init_fb())
diff --git a/dev/boot/src/New+Delete.cc b/dev/boot/src/New+Delete.cc
index 3e3cf48f..61698510 100644
--- a/dev/boot/src/New+Delete.cc
+++ b/dev/boot/src/New+Delete.cc
@@ -63,6 +63,21 @@ void operator delete(void* buf, size_t size)
if (!buf)
return;
+ NE_UNUSED(size);
+
+ BS->FreePool(buf);
+}
+
+/// @brief Deletes the object (array specific).
+/// @param buf the object.
+/// @param size it's size.
+void operator delete[](void* buf, size_t size)
+{
+ if (!buf)
+ return;
+
+ NE_UNUSED(size);
+
BS->FreePool(buf);
}
diff --git a/dev/kernel/CFKit/GUIDWrapper.h b/dev/kernel/CFKit/GUIDWrapper.h
index e58fcc69..c8143cea 100644
--- a/dev/kernel/CFKit/GUIDWrapper.h
+++ b/dev/kernel/CFKit/GUIDWrapper.h
@@ -20,18 +20,18 @@ namespace CF::XRN
using namespace Kernel;
union GUIDSequence {
- alignas(8) UShort u8[16];
- alignas(8) UShort u16[8];
- alignas(8) UInt u32[4];
- alignas(8) ULong u64[2];
+ alignas(8) UShort fU8[16];
+ alignas(8) UShort fU16[8];
+ alignas(8) UInt fU32[4];
+ alignas(8) ULong fU64[2];
- struct
+ struct GUID
{
alignas(8) UInt fMs1;
UShort fMs2;
UShort fMs3;
UChar fMs4[8];
- };
+ } fUuid;
};
class GUID final
diff --git a/dev/kernel/FSKit/NeFS.h b/dev/kernel/FSKit/NeFS.h
index 87585a42..40ec84da 100644
--- a/dev/kernel/FSKit/NeFS.h
+++ b/dev/kernel/FSKit/NeFS.h
@@ -336,8 +336,8 @@ namespace Kernel
public:
STATIC const Char* Root();
STATIC const Char* UpDir();
- STATIC const Char Separator();
- STATIC const Char MetaFile();
+ STATIC Char Separator();
+ STATIC Char MetaFile();
};
/// @brief Journal class for NeFS.
@@ -355,7 +355,7 @@ namespace Kernel
return;
}
- kout << "Info: Journal stamp: " << stamp << kendl;
+ (void)(kout << "Info: Journal stamp: " << stamp << kendl);
rt_copy_memory((VoidPtr)stamp, this->mStamp, rt_string_len(stamp));
}
@@ -427,7 +427,7 @@ namespace Kernel
if (!parser->CreateFork(new_fork))
return NO;
- kout << "XML Commited: " << xml_data << "\r\nTo Journal Fork: " << journal_name << kendl;
+ (void)(kout << "XML Commited: " << xml_data << "\r\nTo Journal 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/FirmwareKit/CoreBoot/CoreBoot.h b/dev/kernel/FirmwareKit/CoreBoot/CoreBoot.h
index d2711025..f5470877 100644
--- a/dev/kernel/FirmwareKit/CoreBoot/CoreBoot.h
+++ b/dev/kernel/FirmwareKit/CoreBoot/CoreBoot.h
@@ -24,13 +24,13 @@ namespace Firmware::Detail::CoreBoot
const UInt32 fStartAddress; // start address (master/slave(s) thread)
#ifdef NE_IS_EXTENDED_COREBOOT
- const UIntPtr fMasterStructure; // master structure for MP/PM and device tree and such. (ARM)
- const UIntPtr fMasterStructureVersion; // master structure version.
+ UIntPtr fMasterStructure; // master structure for MP/PM and device tree and such. (ARM)
+ UIntPtr fMasterStructureVersion; // master structure version.
#endif
#ifdef NE_IS_MBCI_COREBOOT
- const UIntPtr fMBCIStructure; // MBCI structure for MBCI (ARM)
- const UIntPtr fMBCIStructureVersion; // MBCI structure version.
+ UIntPtr fMBCIStructure; // MBCI structure for MBCI (ARM)
+ UIntPtr fMBCIStructureVersion; // MBCI structure version.
#endif
};
} // namespace Firmware::Detail::CoreBoot
diff --git a/dev/kernel/HALKit/AMD64/HalACPIFactoryInterface.cc b/dev/kernel/HALKit/AMD64/HalACPIFactoryInterface.cc
index 711fc78a..2430da07 100644
--- a/dev/kernel/HALKit/AMD64/HalACPIFactoryInterface.cc
+++ b/dev/kernel/HALKit/AMD64/HalACPIFactoryInterface.cc
@@ -89,7 +89,6 @@ namespace Kernel
Bool ACPIFactoryInterface::Shutdown()
{
- failed_to_shutdown:
return NO;
}
@@ -97,7 +96,6 @@ namespace Kernel
/// @return nothing it's a reboot.
Void ACPIFactoryInterface::Reboot()
{
- failed_to_reboot:
asm volatile(".intel_syntax noprefix; "
"rt_reset_hardware:; "
"cli; "
diff --git a/dev/kernel/HALKit/AMD64/HalApplicationProcessor.cc b/dev/kernel/HALKit/AMD64/HalApplicationProcessor.cc
index c7e639e4..43888f3b 100644
--- a/dev/kernel/HALKit/AMD64/HalApplicationProcessor.cc
+++ b/dev/kernel/HALKit/AMD64/HalApplicationProcessor.cc
@@ -103,7 +103,7 @@ namespace Kernel::HAL
UInt32 AcpiID;
} LApic;
};
- } List[]; // Records List
+ } List[1]; // Records List
};
///////////////////////////////////////////////////////////////////////////////////////
@@ -215,7 +215,6 @@ namespace Kernel::HAL
kSMPInterrupt = 0;
kSMPCount = 0;
- UInt32 eax, edx;
kout << "SMP: Starting APs...\r";
kApicBaseAddress = kMADTBlock->Address;
@@ -242,7 +241,7 @@ namespace Kernel::HAL
break;
kAPICLocales[kSMPCount] = kMADTBlock->List[kSMPCount].LAPIC.ProcessorID;
- kout << "SMP: APIC ID: " << number(kAPICLocales[kSMPCount]) << kendl;
+ (void)(kout << "SMP: APIC ID: " << number(kAPICLocales[kSMPCount]) << kendl);
// I'll just make the AP start from scratch here.
@@ -265,7 +264,7 @@ namespace Kernel::HAL
++index;
}
- 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 7de5bb0b..7209fd06 100644
--- a/dev/kernel/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cc
+++ b/dev/kernel/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cc
@@ -22,13 +22,13 @@ EXTERN_C void idt_handle_gpf(Kernel::UIntPtr rsp)
kIsScheduling = NO;
- kout << "Kernel: General Protection Fault.\r";
+ Kernel::kout << "Kernel: General Protection Fault.\r";
process.Leak().ProcessSignal.SignalArg = rsp;
process.Leak().ProcessSignal.SignalID = SIGKILL;
process.Leak().ProcessSignal.PreviousStatus = process.Leak().Status;
- kout << "Kernel: SIGKILL status.\r";
+ Kernel::kout << "Kernel: SIGKILL status.\r";
process.Leak().Status = Kernel::ProcessStatusKind::kKilled;
@@ -46,8 +46,8 @@ EXTERN_C void idt_handle_pf(Kernel::UIntPtr rsp)
kIsScheduling = NO;
- kout << "Kernel: Page Fault.\r";
- kout << "Kernel: SIGKILL\r";
+ Kernel::kout << "Kernel: Page Fault.\r";
+ Kernel::kout << "Kernel: SIGKILL\r";
process.Leak().ProcessSignal.SignalArg = rsp;
process.Leak().ProcessSignal.SignalID = SIGKILL;
@@ -66,6 +66,8 @@ namespace Kernel::Detail
/// @brief Handle scheduler interrupt.
EXTERN_C void idt_handle_scheduler(Kernel::UIntPtr rsp)
{
+ NE_UNUSED(rsp);
+
static Kernel::Int64 try_count_before_brute = Kernel::Detail::kTimeoutCount;
while (kIsScheduling)
@@ -95,13 +97,13 @@ EXTERN_C void idt_handle_math(Kernel::UIntPtr rsp)
kIsScheduling = NO;
- kout << "Kernel: Math error (division by zero?).\r";
+ Kernel::kout << "Kernel: Math error (division by zero?).\r";
process.Leak().ProcessSignal.SignalArg = rsp;
process.Leak().ProcessSignal.SignalID = SIGKILL;
process.Leak().ProcessSignal.PreviousStatus = process.Leak().Status;
- kout << "Kernel: SIGKILL status.\r";
+ Kernel::kout << "Kernel: SIGKILL status.\r";
process.Leak().Status = Kernel::ProcessStatusKind::kKilled;
@@ -119,13 +121,13 @@ EXTERN_C void idt_handle_generic(Kernel::UIntPtr rsp)
kIsScheduling = NO;
- kout << "Kernel: Generic Process Fault.\r";
+ Kernel::kout << "Kernel: Generic Process Fault.\r";
process.Leak().ProcessSignal.SignalArg = rsp;
process.Leak().ProcessSignal.SignalID = SIGKILL;
process.Leak().ProcessSignal.PreviousStatus = process.Leak().Status;
- kout << "Kernel: SIGKILL status.\r";
+ Kernel::kout << "Kernel: SIGKILL status.\r";
process.Leak().Status = Kernel::ProcessStatusKind::kKilled;
@@ -138,7 +140,7 @@ EXTERN_C Kernel::Void idt_handle_breakpoint(Kernel::UIntPtr rip)
if (process.Leak().Status != Kernel::ProcessStatusKind::kRunning)
{
- kout << "Kernel: SIGTRAP\r";
+ Kernel::kout << "Kernel: SIGTRAP\r";
while (YES)
;
@@ -146,15 +148,15 @@ EXTERN_C Kernel::Void idt_handle_breakpoint(Kernel::UIntPtr rip)
kIsScheduling = NO;
- kout << "Kernel: Process RIP: " << Kernel::hex_number(rip) << kendl;
- kout << "Kernel: SIGTRAP\r";
+ (void)(Kernel::kout << "Kernel: Process RIP: " << Kernel::hex_number(rip) << Kernel::kendl);
+ Kernel::kout << "Kernel: SIGTRAP\r";
process.Leak().ProcessSignal.SignalArg = rip;
process.Leak().ProcessSignal.SignalID = SIGTRAP;
process.Leak().ProcessSignal.PreviousStatus = process.Leak().Status;
- kout << "Kernel: SIGTRAP status.\r";
+ Kernel::kout << "Kernel: SIGTRAP status.\r";
process.Leak().Status = Kernel::ProcessStatusKind::kFrozen;
}
@@ -170,13 +172,13 @@ EXTERN_C void idt_handle_ud(Kernel::UIntPtr rsp)
kIsScheduling = NO;
- kout << "Kernel: Undefined Opcode.\r";
+ Kernel::kout << "Kernel: Undefined Opcode.\r";
process.Leak().ProcessSignal.SignalArg = rsp;
process.Leak().ProcessSignal.SignalID = SIGKILL;
process.Leak().ProcessSignal.PreviousStatus = process.Leak().Status;
- kout << "Kernel: SIGKILL status.\r";
+ Kernel::kout << "Kernel: SIGKILL status.\r";
process.Leak().Status = Kernel::ProcessStatusKind::kKilled;
@@ -190,7 +192,7 @@ EXTERN_C Kernel::Void hal_system_call_enter(Kernel::UIntPtr rcx_syscall_index, K
{
if (rcx_syscall_index < kSyscalls.Count())
{
- kout << "syscall: Enter Syscall.\r";
+ Kernel::kout << "syscall: Enter Syscall.\r";
if (kSyscalls[rcx_syscall_index].fHooked)
{
@@ -200,15 +202,15 @@ EXTERN_C Kernel::Void hal_system_call_enter(Kernel::UIntPtr rcx_syscall_index, K
}
else
{
- kout << "syscall: syscall isn't valid at all! (is nullptr)\r";
+ Kernel::kout << "syscall: syscall isn't valid at all! (is nullptr)\r";
}
}
else
{
- kout << "syscall: syscall isn't hooked at all! (is set to false)\r";
+ Kernel::kout << "syscall: syscall isn't hooked at all! (is set to false)\r";
}
- kout << "syscall: Exit Syscall.\r";
+ Kernel::kout << "syscall: Exit Syscall.\r";
}
}
@@ -219,7 +221,7 @@ EXTERN_C Kernel::Void hal_kernel_call_enter(Kernel::UIntPtr rcx_kerncall_index,
{
if (rcx_kerncall_index < kKerncalls.Count())
{
- kout << "kerncall: Enter Kernel Call List.\r";
+ Kernel::kout << "kerncall: Enter Kernel Call List.\r";
if (kKerncalls[rcx_kerncall_index].fHooked)
{
@@ -229,14 +231,14 @@ EXTERN_C Kernel::Void hal_kernel_call_enter(Kernel::UIntPtr rcx_kerncall_index,
}
else
{
- kout << "kerncall: Kernel call isn't valid at all! (is nullptr)\r";
+ Kernel::kout << "kerncall: Kernel call isn't valid at all! (is nullptr)\r";
}
}
else
{
- kout << "kerncall: Kernel call isn't hooked at all! (is set to false)\r";
+ Kernel::kout << "kerncall: Kernel call isn't hooked at all! (is set to false)\r";
}
- kout << "kerncall: Exit Kernel Call List.\r";
+ Kernel::kout << "kerncall: Exit Kernel Call List.\r";
}
}
diff --git a/dev/kernel/HALKit/AMD64/HalDebugOutput.cc b/dev/kernel/HALKit/AMD64/HalDebugOutput.cc
index e79b6b09..0ee7eef0 100644
--- a/dev/kernel/HALKit/AMD64/HalDebugOutput.cc
+++ b/dev/kernel/HALKit/AMD64/HalDebugOutput.cc
@@ -65,6 +65,8 @@ namespace Kernel
EXTERN_C void ke_io_write(IDeviceObject<const Char*>* obj, const Char* bytes)
{
+ NE_UNUSED(obj);
+
#ifdef __DEBUG__
Detail::hal_serial_init<Detail::kPort>();
@@ -82,7 +84,7 @@ namespace Kernel
index = 0;
len = rt_string_len(bytes, 256U);
- static int x = kFontSizeX, y = kFontSizeY;
+ static SizeT x = kFontSizeX, y = kFontSizeY;
static BOOL not_important = YES;
@@ -123,12 +125,8 @@ namespace Kernel
{
y = kFontSizeY;
- fb_init();
-
FBDrawInRegion(fb_get_clear_clr(), FB::FBAccessibilty::Height(), FB::FBAccessibilty::Width(),
0, 0);
-
- fb_clear();
}
++index;
@@ -183,7 +181,7 @@ namespace Kernel
TerminalDevice TerminalDevice::The() noexcept
{
- TerminalDevice out(Kernel::ke_io_write, Kernel::ke_io_read);
+ static TerminalDevice out(Kernel::ke_io_write, Kernel::ke_io_read);
return out;
}
diff --git a/dev/kernel/HALKit/AMD64/HalDescriptorLoader.cc b/dev/kernel/HALKit/AMD64/HalDescriptorLoader.cc
index 96276964..ddfc49b6 100644
--- a/dev/kernel/HALKit/AMD64/HalDescriptorLoader.cc
+++ b/dev/kernel/HALKit/AMD64/HalDescriptorLoader.cc
@@ -17,26 +17,8 @@ namespace Kernel::HAL
STATIC ::Kernel::Detail::AMD64::InterruptDescriptorAMD64
kInterruptVectorTable[kKernelIdtSize] = {};
- STATIC void hal_set_irq_mask(UInt8 irql);
- STATIC void hal_clear_irq_mask(UInt8 irql);
-
- STATIC Void hal_enable_pit(UInt16 ticks) noexcept
- {
- if (ticks == 0)
- ticks = kPITDefaultTicks;
-
- // Configure PIT to receieve scheduler interrupts.
-
- UInt16 kPITCommDivisor = kPITFrequency / ticks; // 100 Hz.
-
- HAL::rt_out8(kPITControlPort, 0x36); // Command to PIT
- HAL::rt_out8(kPITChannel0Port, kPITCommDivisor & 0xFF); // Send low byte
- HAL::rt_out8(kPITChannel0Port, (kPITCommDivisor >> 8) & 0xFF); // Send high byte
-
- hal_clear_irq_mask(32);
- }
-
- STATIC void hal_set_irq_mask(UInt8 irql)
+#if 0
+ STATIC void hal_set_irq_mask(UInt8 irql) [[maybe_unused]]
{
UInt16 port;
UInt8 value;
@@ -54,8 +36,9 @@ namespace Kernel::HAL
value = rt_in8(port) | (1 << irql);
rt_out8(port, value);
}
+#endif // make gcc shut up
- STATIC void hal_clear_irq_mask(UInt8 irql)
+ STATIC void hal_clear_irq_mask(UInt8 irql) [[maybe_unused]]
{
UInt16 port;
UInt8 value;
@@ -73,6 +56,22 @@ namespace Kernel::HAL
value = rt_in8(port) & ~(1 << irql);
rt_out8(port, value);
}
+
+ STATIC Void hal_enable_pit(UInt16 ticks) noexcept
+ {
+ if (ticks == 0)
+ ticks = kPITDefaultTicks;
+
+ // Configure PIT to receieve scheduler interrupts.
+
+ UInt16 kPITCommDivisor = kPITFrequency / ticks; // 100 Hz.
+
+ HAL::rt_out8(kPITControlPort, 0x36); // Command to PIT
+ HAL::rt_out8(kPITChannel0Port, kPITCommDivisor & 0xFF); // Send low byte
+ HAL::rt_out8(kPITChannel0Port, (kPITCommDivisor >> 8) & 0xFF); // Send high byte
+
+ hal_clear_irq_mask(32);
+ }
} // namespace Detail
/// @brief Loads the provided Global Descriptor Table.
diff --git a/dev/kernel/HALKit/AMD64/HalKernelMain.cc b/dev/kernel/HALKit/AMD64/HalKernelMain.cc
index 0d58bb8a..cc346b5c 100644
--- a/dev/kernel/HALKit/AMD64/HalKernelMain.cc
+++ b/dev/kernel/HALKit/AMD64/HalKernelMain.cc
@@ -96,7 +96,7 @@ EXTERN_C Kernel::Void hal_real_init(Kernel::Void) noexcept
{
kEndTim = hal_rdtsc_fn();
- kout << "Boot Time: " << Kernel::number(kEndTim - kStartTim) << kendl;
+ (void)(Kernel::kout << "Boot Time: " << Kernel::number(kEndTim - kStartTim) << Kernel::kendl);
Kernel::NeFS::fs_init_nefs();
@@ -110,7 +110,7 @@ EXTERN_C Kernel::Void hal_real_init(Kernel::Void) noexcept
kEndTim = hal_rdtsc_fn();
- kout << "Init Time: " << Kernel::number(kEndTim - kStartTim) << kendl;
+ (void)(Kernel::kout << "Init Time: " << Kernel::number(kEndTim - kStartTim) << Kernel::kendl);
idt_loader.Load(idt_reg);
diff --git a/dev/kernel/HALKit/AMD64/HalKernelPanic.cc b/dev/kernel/HALKit/AMD64/HalKernelPanic.cc
index 3703692c..2641f058 100644
--- a/dev/kernel/HALKit/AMD64/HalKernelPanic.cc
+++ b/dev/kernel/HALKit/AMD64/HalKernelPanic.cc
@@ -33,16 +33,9 @@ namespace Kernel
/***********************************************************************************/
Void ke_panic(const Kernel::Int32& id, const Char* message)
{
- fb_init();
-
- auto panic_text = RGB(0xff, 0xff, 0xff);
-
- auto y = 10;
- auto x = 10;
-
- kout << "Kernel_Panic_MSG: " << message << kendl;
- kout << "Kernel_Panic_ID: " << hex_number(id) << kendl;
- 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();
}
@@ -59,8 +52,8 @@ namespace Kernel
{
if (!expr)
{
- kout << "Kernel_Panic_File: " << file << kendl;
- 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 bb7274b5..8bd98923 100644
--- a/dev/kernel/HALKit/AMD64/HalPagingMgrAMD64.cc
+++ b/dev/kernel/HALKit/AMD64/HalPagingMgrAMD64.cc
@@ -40,11 +40,11 @@ namespace Kernel::HAL
/***********************************************************************************/
STATIC Void mmi_page_status(Detail::PTE* pte)
{
- kout << (pte->Present ? "Present" : "Not Present") << kendl;
- kout << (pte->Wr ? "W/R" : "Not W/R") << kendl;
- kout << (pte->Nx ? "NX" : "Not NX") << kendl;
- kout << (pte->User ? "User" : "Not User") << kendl;
- kout << (pte->Pcd ? "Not Cached" : "Cached") << 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);
}
/***********************************************************************************/
@@ -143,6 +143,9 @@ namespace Kernel::HAL
pte->Nx = !!(flags & kMMFlagsNX);
pte->Pcd = !(flags & kMMFlagsUncached);
+ if (physical_address)
+ pte->PhysicalAddress = (UIntPtr)physical_address;
+
hal_invl_tlb(virtual_address);
mmi_page_status(pte);
diff --git a/dev/kernel/HALKit/AMD64/HalSchedulerCorePrimitivesAMD64.cc b/dev/kernel/HALKit/AMD64/HalSchedulerCorePrimitivesAMD64.cc
index fafb29e9..dea3b3d4 100644
--- a/dev/kernel/HALKit/AMD64/HalSchedulerCorePrimitivesAMD64.cc
+++ b/dev/kernel/HALKit/AMD64/HalSchedulerCorePrimitivesAMD64.cc
@@ -37,6 +37,7 @@ namespace Kernel
/// Wakes up thread from the hang state.
Void mp_wakeup_thread(HAL::StackFrame* stack)
{
+ NE_UNUSED(stack);
Kernel::UserProcessHelper::StartScheduling();
}
@@ -44,6 +45,8 @@ namespace Kernel
/// hooks and hangs thread to prevent code from executing.
Void mp_hang_thread(HAL::StackFrame* stack)
{
+ NE_UNUSED(stack);
+
while (Yes)
{
/* Nothing to do, code is spinning */
diff --git a/dev/kernel/HALKit/AMD64/HalTimerAMD64.cc b/dev/kernel/HALKit/AMD64/HalTimerAMD64.cc
index 2cb23716..01be2be5 100644
--- a/dev/kernel/HALKit/AMD64/HalTimerAMD64.cc
+++ b/dev/kernel/HALKit/AMD64/HalTimerAMD64.cc
@@ -53,7 +53,7 @@ HardwareTimer::HardwareTimer(Int64 ms)
auto hpet = (Detail::HPET_BLOCK*)power.Find("HPET").Leak().Leak();
MUST_PASS(hpet);
- fDigitalTimer = (IntPtr*)hpet->address.Address;
+ fDigitalTimer = (UIntPtr*)hpet->address.Address;
}
HardwareTimer::~HardwareTimer()
diff --git a/dev/kernel/HALKit/AMD64/PCI/DMA.cc b/dev/kernel/HALKit/AMD64/PCI/DMA.cc
index 33cff13e..4a63625e 100644
--- a/dev/kernel/HALKit/AMD64/PCI/DMA.cc
+++ b/dev/kernel/HALKit/AMD64/PCI/DMA.cc
@@ -31,14 +31,14 @@ namespace Kernel
return reinterpret_cast<UIntPtr>(this->fAddress) >= offset;
}
- bool DMAWrapper::Write(const UIntPtr& bit, const UInt32& offset)
+ bool DMAWrapper::Write(UIntPtr& bit, const UInt32& offset)
{
kout << "[DMAWrapper::Read] Checking this->fAddress...\r";
if (!this->fAddress)
return false;
- 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,12 +52,12 @@ namespace Kernel
if (!this->fAddress)
return ~0;
- 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 ke_dma_read<UInt32>(reinterpret_cast<UIntPtr>(this->fAddress), offset);
+ return (UIntPtr)ke_dma_read<UInt32>(reinterpret_cast<UIntPtr>(this->fAddress), offset);
}
- UIntPtr DMAWrapper::operator[](const UIntPtr& offset)
+ UIntPtr DMAWrapper::operator[](UIntPtr& offset)
{
return this->Read(offset);
}
diff --git a/dev/kernel/HALKit/AMD64/Paging.h b/dev/kernel/HALKit/AMD64/Paging.h
index 6299d9b4..da90a71a 100644
--- a/dev/kernel/HALKit/AMD64/Paging.h
+++ b/dev/kernel/HALKit/AMD64/Paging.h
@@ -65,7 +65,7 @@ namespace Kernel::HAL
} // namespace Detail
- auto mm_alloc_bitmap(Boolean wr, Boolean user, SizeT size, Bool is_page, const SizeT pad = 0) -> VoidPtr;
+ auto mm_alloc_bitmap(Boolean wr, Boolean user, SizeT size, Bool is_page, SizeT pad = 0) -> VoidPtr;
auto mm_free_bitmap(VoidPtr page_ptr) -> Bool;
} // namespace Kernel::HAL
diff --git a/dev/kernel/HALKit/AMD64/Storage/AHCI+Generic.cc b/dev/kernel/HALKit/AMD64/Storage/AHCI+Generic.cc
index a1a9a164..f0893e2d 100644
--- a/dev/kernel/HALKit/AMD64/Storage/AHCI+Generic.cc
+++ b/dev/kernel/HALKit/AMD64/Storage/AHCI+Generic.cc
@@ -76,7 +76,7 @@ namespace AHCI::Detail
UIntPtr addr = (UIntPtr)address;
- UIntPtr aligned_addr = (addr + alignement - 1) & ~alignement - 1;
+ UIntPtr aligned_addr = (addr + alignement - 1) & (~alignement - 1);
return (RetType*)aligned_addr;
}
@@ -107,6 +107,8 @@ STATIC Void drv_compute_disk_ahci() noexcept
else
kSATASectorCount = lba48_sectors;
+ (Void)(kout << "Device: " << kCurrentDiskModel << kendl);
+
delete[] identify_data;
identify_data = nullptr;
}
@@ -141,7 +143,7 @@ STATIC Void drv_std_input_output_ahci(UInt64 lba, UInt8* buffer, SizeT sector_sz
slot = drv_find_cmd_slot_ahci(&kSATAHba->Ports[kSATAIndex]);
- if (slot == ~0)
+ if (slot == ~0UL)
{
err_global_get() = kErrorDisk;
return;
@@ -166,11 +168,8 @@ STATIC Void drv_std_input_output_ahci(UInt64 lba, UInt8* buffer, SizeT sector_sz
/// check for command header.
MUST_PASS(command_header);
- /// 4kb per PRD.
- constexpr const UInt32 kMaxPRDSize = kib_cast(4);
-
- command_header->Cfl = sizeof(FisRegH2D) / sizeof(UInt32);
- command_header->Write = Write;
+ command_header->Struc.Cfl = sizeof(FisRegH2D) / sizeof(UInt32);
+ command_header->Struc.Write = Write;
command_header->Prdtl = 1;
auto ctba_phys = ((UInt64)command_header->Ctbau << 32) | command_header->Ctba;
diff --git a/dev/kernel/HALKit/AMD64/Storage/PIO+Generic.cc b/dev/kernel/HALKit/AMD64/Storage/PIO+Generic.cc
index fc608e94..cc8c92d8 100644
--- a/dev/kernel/HALKit/AMD64/Storage/PIO+Generic.cc
+++ b/dev/kernel/HALKit/AMD64/Storage/PIO+Generic.cc
@@ -28,7 +28,6 @@ using namespace Kernel::HAL;
#define kATADataLen 256
STATIC Boolean kATADetected = false;
-STATIC Int32 kATADeviceType = kATADeviceCount;
STATIC UInt16 kATAIdentifyData[kATADataLen] = {0};
STATIC Char kATADiskModel[50] = {"GENERIC PIO"};
@@ -67,6 +66,8 @@ Boolean drv_pio_std_init(UInt16 Bus, UInt8 Drive, UInt16& OutBus, UInt8& OutMast
{
UInt16 IO = Bus;
+ NE_UNUSED(Drive);
+
drv_pio_std_select(IO);
// Bus init, NEIN bit.
@@ -107,7 +108,7 @@ ATAInit_Retry:
kATADiskModel[40] = '\0';
- 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 8ad16c57..1553b2ed 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;
- 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 1e008c0f..1c88ccc6 100644
--- a/dev/kernel/HALKit/ARM64/HalKernelPanic.cc
+++ b/dev/kernel/HALKit/ARM64/HalKernelPanic.cc
@@ -71,8 +71,8 @@ namespace Kernel
{
if (!expr)
{
- kout << "FAILED: FILE: " << file << kendl;
- 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/KernelKit/CodeMgr.h b/dev/kernel/KernelKit/CodeMgr.h
index cff3b4bf..47c05d2e 100644
--- a/dev/kernel/KernelKit/CodeMgr.h
+++ b/dev/kernel/KernelKit/CodeMgr.h
@@ -21,7 +21,7 @@
namespace Kernel
{
/// @brief Main process entrypoint.
- typedef void (*rtl_main_kind)(const SizeT argc, Char** argv, Char** envp, const SizeT envp_len);
+ typedef void (*rtl_main_kind)(SizeT argc, Char** argv, Char** envp, SizeT envp_len);
/// @brief C++ Constructor entrypoint.
typedef void (*rtl_ctor_kind)(void);
diff --git a/dev/kernel/KernelKit/DebugOutput.h b/dev/kernel/KernelKit/DebugOutput.h
index 448e6208..c4174f27 100644
--- a/dev/kernel/KernelKit/DebugOutput.h
+++ b/dev/kernel/KernelKit/DebugOutput.h
@@ -107,7 +107,7 @@ namespace Kernel
return term;
}
- if (y < 0)
+ if (y == ~0UL)
y = -y;
const Char kNumbers[11] = "0123456789";
@@ -135,7 +135,7 @@ namespace Kernel
return term;
}
- if (y < 0)
+ if (y == ~0UL)
y = -y;
const Char kNumbers[17] = "0123456789ABCDEF";
@@ -159,15 +159,6 @@ namespace Kernel
return self;
}
- inline TerminalDevice number(const Char* x)
- {
- TerminalDevice self = TerminalDevice::The();
-
- self << "?";
-
- return self;
- }
-
inline TerminalDevice number(const Long& x)
{
TerminalDevice self = TerminalDevice::The();
@@ -208,6 +199,6 @@ namespace Kernel
#undef kout
#endif // ifdef kout
-#define kout Kernel::TerminalDevice::The()
+#define kout TerminalDevice::The()
-#define kendl Kernel::TerminalDevice::The() << Kernel::end_line()
+#define kendl end_line()
diff --git a/dev/kernel/KernelKit/DeviceMgr.h b/dev/kernel/KernelKit/DeviceMgr.h
index f34001f2..64949162 100644
--- a/dev/kernel/KernelKit/DeviceMgr.h
+++ b/dev/kernel/KernelKit/DeviceMgr.h
@@ -22,7 +22,7 @@
#include <NewKit/ErrorOr.h>
#include <NewKit/Ref.h>
-#define kDeviceMgrRootDirPath "/Devices/"
+#define kDeviceMgrRootDirPath "/dev/"
#define NE_DEVICE : public ::Kernel::IDeviceObject
@@ -52,13 +52,13 @@ namespace Kernel
IDeviceObject(const IDeviceObject<T>&) = default;
public:
- virtual IDeviceObject<T>& operator<<(T Data)
+ virtual IDeviceObject<T>& operator<<(T Data) [[maybe_unused]]
{
fOut(this, Data);
return *this;
}
- virtual IDeviceObject<T>& operator>>(T Data)
+ virtual IDeviceObject<T>& operator>>(T Data) [[maybe_unused]]
{
fIn(this, Data);
return *this;
diff --git a/dev/kernel/KernelKit/FileMgr.h b/dev/kernel/KernelKit/FileMgr.h
index f1475749..a73c4a85 100644
--- a/dev/kernel/KernelKit/FileMgr.h
+++ b/dev/kernel/KernelKit/FileMgr.h
@@ -210,7 +210,7 @@ namespace Kernel
FileStream(const FileStream&);
public:
- ErrorOr<Int64> Write(const SizeT offset, const VoidPtr data, SizeT len) noexcept
+ ErrorOr<Int64> Write(SizeT offset, const VoidPtr data, SizeT len) noexcept
{
if (this->fFileRestrict != kFileMgrRestrictReadWrite &&
this->fFileRestrict != kFileMgrRestrictReadWriteBinary &&
@@ -254,7 +254,7 @@ namespace Kernel
return ErrorOr<Int64>(kErrorInvalidData);
}
- VoidPtr Read(const Char* name, const SizeT sz) noexcept
+ VoidPtr Read(const Char* name, SizeT sz) noexcept
{
if (this->fFileRestrict != kFileMgrRestrictReadWrite &&
this->fFileRestrict != kFileMgrRestrictReadWriteBinary &&
@@ -262,6 +262,8 @@ namespace Kernel
this->fFileRestrict != kFileMgrRestrictReadBinary)
return nullptr;
+ NE_UNUSED(sz);
+
auto man = FSClass::GetMounted();
if (man)
@@ -273,7 +275,7 @@ namespace Kernel
return nullptr;
}
- VoidPtr Read(SizeT offset, const SizeT sz)
+ VoidPtr Read(SizeT offset, SizeT sz)
{
if (this->fFileRestrict != kFileMgrRestrictReadWrite &&
this->fFileRestrict != kFileMgrRestrictReadWriteBinary &&
@@ -345,7 +347,7 @@ namespace Kernel
const Encoding* restrict_type)
: fFile(Class::GetMounted()->Open(path, restrict_type))
{
- const SizeT kRestrictCount = kRestrictMax;
+ SizeT kRestrictCount = kRestrictMax;
const FileRestrictKind kRestrictList[] = {
{
.fRestrict = kRestrictR,
diff --git a/dev/kernel/KernelKit/HardwareThreadScheduler.h b/dev/kernel/KernelKit/HardwareThreadScheduler.h
index 815be306..74d96bd8 100644
--- a/dev/kernel/KernelKit/HardwareThreadScheduler.h
+++ b/dev/kernel/KernelKit/HardwareThreadScheduler.h
@@ -103,21 +103,21 @@ namespace Kernel
HAL::StackFramePtr Leak() noexcept;
public:
- Ref<HardwareThread*> operator[](const SizeT& idx);
+ Ref<HardwareThread*> operator[](SizeT idx);
bool operator!() noexcept;
operator bool() noexcept;
- const Bool IsUser() override
+ Bool IsUser() override
{
return Yes;
}
- const Bool IsKernel() override
+ Bool IsKernel() override
{
return No;
}
- const Bool HasMP() override
+ Bool HasMP() override
{
return kHandoverHeader->f_HardwareTables.f_MultiProcessingEnabled;
}
diff --git a/dev/kernel/KernelKit/MemoryMgr.h b/dev/kernel/KernelKit/MemoryMgr.h
index 061aa182..ac11ac29 100644
--- a/dev/kernel/KernelKit/MemoryMgr.h
+++ b/dev/kernel/KernelKit/MemoryMgr.h
@@ -37,7 +37,7 @@ namespace Kernel
/// @param wr Read Write bit.
/// @param user User enable bit.
/// @return The newly allocated pointer, or nullptr.
- VoidPtr mm_new_heap(const SizeT sz, const Bool wr, const Bool user, const SizeT pad_amount = 0);
+ VoidPtr mm_new_heap(SizeT sz, Bool wr, Bool user, SizeT pad_amount = 0);
/// @brief Protect the heap with a CRC value.
/// @param heap_ptr pointer.
diff --git a/dev/kernel/KernelKit/PCI/DMA.h b/dev/kernel/KernelKit/PCI/DMA.h
index 19170e8f..b2d3cfa8 100644
--- a/dev/kernel/KernelKit/PCI/DMA.h
+++ b/dev/kernel/KernelKit/PCI/DMA.h
@@ -49,19 +49,19 @@ namespace Kernel
T* operator->();
template <class T>
- T* Get(const UIntPtr off = 0);
+ T* Get(UIntPtr off = 0);
public:
operator bool();
bool operator!();
public:
- bool Write(const UIntPtr& bit, const UInt32& offset);
+ bool Write(UIntPtr& bit, const UInt32& offset);
UIntPtr Read(const UInt32& offset);
Boolean Check(UIntPtr offset) const;
public:
- UIntPtr operator[](const UIntPtr& offset);
+ UIntPtr operator[](UIntPtr& offset);
private:
voidPtr fAddress{nullptr};
diff --git a/dev/kernel/KernelKit/PCI/DMA.inl b/dev/kernel/KernelKit/PCI/DMA.inl
index 0b80b208..89381149 100644
--- a/dev/kernel/KernelKit/PCI/DMA.inl
+++ b/dev/kernel/KernelKit/PCI/DMA.inl
@@ -13,7 +13,7 @@ namespace Kernel
}
template <class T>
- T* DMAWrapper::Get(const UIntPtr offset)
+ T* DMAWrapper::Get(UIntPtr offset)
{
return reinterpret_cast<T*>((UIntPtr)this->fAddress + offset);
}
diff --git a/dev/kernel/KernelKit/ProcessScheduler.h b/dev/kernel/KernelKit/ProcessScheduler.h
index d33fe7a5..97589d31 100644
--- a/dev/kernel/KernelKit/ProcessScheduler.h
+++ b/dev/kernel/KernelKit/ProcessScheduler.h
@@ -123,7 +123,7 @@ namespace Kernel
};
using ProcessTime = UInt64;
- using PID = UInt64;
+ using PID = Int64;
/***********************************************************************************/
/// @note For User manager, tells where we run the code.
@@ -245,7 +245,7 @@ namespace Kernel
///! @param pad_amount amount to add after pointer.
///! @return A wrapped pointer, or error code.
/***********************************************************************************/
- ErrorOr<VoidPtr> New(const SizeT& sz, const SizeT& pad_amount = 0);
+ ErrorOr<VoidPtr> New(SizeT sz, SizeT pad_amount = 0);
/***********************************************************************************/
///! @brief TLS free.
@@ -253,12 +253,12 @@ namespace Kernel
///! @param sz the size of it.
/***********************************************************************************/
template <typename T>
- Boolean Delete(ErrorOr<T*> ptr, const SizeT& sz);
+ Boolean Delete(ErrorOr<T*> ptr);
/***********************************************************************************/
///! @brief Wakes up thread.
/***********************************************************************************/
- Void Wake(const Bool wakeup = false);
+ Void Wake(Bool wakeup = false);
public:
/***********************************************************************************/
@@ -337,15 +337,15 @@ namespace Kernel
public:
ProcessID Spawn(const Char* name, VoidPtr code, VoidPtr image);
- const Bool Remove(ProcessID process_id);
+ Void Remove(ProcessID process_id);
- const Bool IsUser() override;
- const Bool IsKernel() override;
- const Bool HasMP() override;
+ Bool IsUser() override;
+ Bool IsKernel() override;
+ Bool HasMP() override;
public:
Ref<UserProcess>& CurrentProcess();
- const SizeT Run() noexcept;
+ SizeT Run() noexcept;
public:
STATIC UserProcessScheduler& The();
@@ -363,7 +363,7 @@ namespace Kernel
class UserProcessHelper final
{
public:
- STATIC Bool Switch(VoidPtr image_ptr, UInt8* stack_ptr, HAL::StackFramePtr frame_ptr, const PID& new_pid);
+ STATIC Bool Switch(VoidPtr image_ptr, UInt8* stack_ptr, HAL::StackFramePtr frame_ptr, PID new_pid);
STATIC Bool CanBeScheduled(const UserProcess& process);
STATIC ErrorOr<PID> TheCurrentPID();
STATIC SizeT StartScheduling();
@@ -373,7 +373,7 @@ namespace Kernel
} // namespace Kernel
#include <KernelKit/ThreadLocalStorage.h>
-#include <KernelKit/ProcessScheduler.inl>
+#include <KernelKit/UserProcessScheduler.inl>
////////////////////////////////////////////////////
// END
diff --git a/dev/kernel/KernelKit/ThreadLocalStorage.inl b/dev/kernel/KernelKit/ThreadLocalStorage.inl
index d017144d..9161b5d0 100644
--- a/dev/kernel/KernelKit/ThreadLocalStorage.inl
+++ b/dev/kernel/KernelKit/ThreadLocalStorage.inl
@@ -42,7 +42,7 @@ inline Kernel::Bool tls_delete_ptr(T* obj) noexcept
ErrorOr<T*> obj_wrapped{obj};
- return ref_process.Leak().Delete(obj_wrapped, sizeof(T));
+ return ref_process.Leak().Delete(obj_wrapped);
}
//! @brief Delete process pointer.
diff --git a/dev/kernel/KernelKit/Timer.h b/dev/kernel/KernelKit/Timer.h
index 86fa1a59..f3fb5ee6 100644
--- a/dev/kernel/KernelKit/Timer.h
+++ b/dev/kernel/KernelKit/Timer.h
@@ -43,7 +43,7 @@ namespace Kernel
BOOL Wait() noexcept override;
private:
- IntPtr* fDigitalTimer{nullptr};
+ UIntPtr* fDigitalTimer{nullptr};
Int64 fWaitFor{0};
};
@@ -60,7 +60,7 @@ namespace Kernel
BOOL Wait() noexcept override;
private:
- IntPtr* fDigitalTimer{nullptr};
+ UIntPtr* fDigitalTimer{nullptr};
Int64 fWaitFor{0};
};
diff --git a/dev/kernel/KernelKit/ProcessScheduler.inl b/dev/kernel/KernelKit/UserProcessScheduler.inl
index 3169682e..39e2aaf0 100644
--- a/dev/kernel/KernelKit/ProcessScheduler.inl
+++ b/dev/kernel/KernelKit/UserProcessScheduler.inl
@@ -17,7 +17,7 @@ namespace Kernel
/***********************************************************************************/
template <typename T>
- Boolean UserProcess::Delete(ErrorOr<T*> ptr, const SizeT& sz)
+ Boolean UserProcess::Delete(ErrorOr<T*> ptr)
{
if (!ptr)
return No;
diff --git a/dev/kernel/NewKit/Array.h b/dev/kernel/NewKit/Array.h
index ca887153..1dcc6720 100644
--- a/dev/kernel/NewKit/Array.h
+++ b/dev/kernel/NewKit/Array.h
@@ -22,7 +22,7 @@ namespace Kernel
Array& operator=(const Array&) = default;
Array(const Array&) = default;
- T& operator[](const SizeT& at)
+ T& operator[](SizeT at)
{
MUST_PASS(at < this->Count());
return fArray[at];
@@ -33,12 +33,12 @@ namespace Kernel
return this->Count() > 0;
}
- const SizeT Capacity()
+ SizeT Capacity()
{
return N;
}
- const SizeT Count()
+ SizeT Count()
{
return N;
}
diff --git a/dev/kernel/NewKit/ArrayList.h b/dev/kernel/NewKit/ArrayList.h
index 16220451..1ea69fc5 100644
--- a/dev/kernel/NewKit/ArrayList.h
+++ b/dev/kernel/NewKit/ArrayList.h
@@ -34,7 +34,7 @@ namespace Kernel
return fList;
}
- T& operator[](int index) const
+ T& operator[](SizeT index) const
{
MUST_PASS(index < this->Count());
return fList[index];
diff --git a/dev/kernel/NewKit/CxxAbi.h b/dev/kernel/NewKit/CxxAbi.h
index 32c91862..4bd3f662 100644
--- a/dev/kernel/NewKit/CxxAbi.h
+++ b/dev/kernel/NewKit/CxxAbi.h
@@ -13,7 +13,7 @@
struct atexit_func_entry_t
{
- void (*destructor_func)(void*);
+ void (*destructor_func)();
void* obj_ptr;
void* dso_handle;
};
diff --git a/dev/kernel/NewKit/Defines.h b/dev/kernel/NewKit/Defines.h
index 72e3c552..15b1d907 100644
--- a/dev/kernel/NewKit/Defines.h
+++ b/dev/kernel/NewKit/Defines.h
@@ -135,8 +135,9 @@ namespace Kernel
/// @param type (a1) the data.
/// @return a1 as Char*
template <typename T>
- Char* AsBytes(T type) noexcept
+ const Char* AsBytes(T type) noexcept
{
+ NE_UNUSED(type);
return nullptr;
}
@@ -180,19 +181,19 @@ namespace Kernel
ISchedulable(const ISchedulable&) = default;
/// @brief Is this object only accepting user tasks?
- virtual const Bool IsUser()
+ virtual Bool IsUser()
{
return NO;
}
/// @brief Is this object only accepting kernel tasks?
- virtual const Bool IsKernel()
+ virtual Bool IsKernel()
{
return NO;
}
/// @brief Is this object offloading to another CPU?
- virtual const Bool HasMP()
+ virtual Bool HasMP()
{
return NO;
}
diff --git a/dev/kernel/NewKit/Json.h b/dev/kernel/NewKit/Json.h
index 5f979ceb..3cbc61dd 100644
--- a/dev/kernel/NewKit/Json.h
+++ b/dev/kernel/NewKit/Json.h
@@ -45,7 +45,7 @@ namespace Kernel
NE_COPY_DEFAULT(Json);
- const Bool& IsUndefined()
+ Bool& IsUndefined()
{
return fUndefined;
}
diff --git a/dev/kernel/NewKit/KString.h b/dev/kernel/NewKit/KString.h
index ff809bd3..0c9aaa34 100644
--- a/dev/kernel/NewKit/KString.h
+++ b/dev/kernel/NewKit/KString.h
@@ -30,7 +30,7 @@ namespace Kernel
rt_set_memory(fData, 0, fDataSz);
}
- explicit KString(const SizeT& Sz)
+ explicit KString(SizeT Sz)
: fDataSz(Sz)
{
MUST_PASS(Sz > 1);
diff --git a/dev/kernel/NewKit/KernelPanic.h b/dev/kernel/NewKit/KernelPanic.h
index 08f2990a..60a6519c 100644
--- a/dev/kernel/NewKit/KernelPanic.h
+++ b/dev/kernel/NewKit/KernelPanic.h
@@ -33,8 +33,7 @@ namespace Kernel
#undef __MUST_PASS
#endif
-#define __MUST_PASS(EXPR, FILE, LINE) \
- Kernel::ke_runtime_check(EXPR, FILE, STRINGIFY(LINE))
+#define __MUST_PASS(EXPR, FILE, LINE) Kernel::ke_runtime_check(EXPR, FILE, STRINGIFY(LINE))
#ifdef __DEBUG__
#define MUST_PASS(EXPR) __MUST_PASS((EXPR), __FILE__, __LINE__)
diff --git a/dev/kernel/NewKit/MutableArray.h b/dev/kernel/NewKit/MutableArray.h
index b6bb0d98..40d61495 100644
--- a/dev/kernel/NewKit/MutableArray.h
+++ b/dev/kernel/NewKit/MutableArray.h
@@ -96,7 +96,7 @@ namespace Kernel
}
public:
- T operator[](const SizeT& Index) const
+ T operator[](SizeT Index) const
{
TRY_FIND_NODE(first, fFirstNode);
TRY_FIND_NODE(last, fLastNode);
@@ -110,7 +110,7 @@ namespace Kernel
}
public:
- Boolean Remove(const SizeT& Index)
+ Boolean Remove(SizeT Index)
{
TRY_REMOVE_NODE(fFirstNode);
TRY_REMOVE_NODE(fLastNode);
@@ -200,7 +200,7 @@ namespace Kernel
}
public:
- Ref<T> operator[](const SizeT& Index) const
+ Ref<T> operator[](SizeT Index) const
{
TRY_FIND_NODE2(first, fFirstNode);
TRY_FIND_NODE2(last, fLastNode);
diff --git a/dev/kernel/NewKit/PageMgr.h b/dev/kernel/NewKit/PageMgr.h
index 537b3225..bc8ee776 100644
--- a/dev/kernel/NewKit/PageMgr.h
+++ b/dev/kernel/NewKit/PageMgr.h
@@ -27,7 +27,7 @@ namespace Kernel
PTEWrapper(const PTEWrapper&) = default;
public:
- const UIntPtr VirtualAddress();
+ UIntPtr VirtualAddress();
Void NoExecute(const bool enable = false);
Bool NoExecute();
diff --git a/dev/kernel/NewKit/Ref.h b/dev/kernel/NewKit/Ref.h
index 2523c46a..7ec0825a 100644
--- a/dev/kernel/NewKit/Ref.h
+++ b/dev/kernel/NewKit/Ref.h
@@ -33,8 +33,9 @@ namespace Kernel
}
Ref(T cls)
- : fClass(&cls)
+ : fClass(nullptr)
{
+ fClass = new T(cls);
}
Ref& operator=(T ref)
diff --git a/dev/kernel/NewKit/Utils.h b/dev/kernel/NewKit/Utils.h
index 23f5c6c2..5fc77366 100644
--- a/dev/kernel/NewKit/Utils.h
+++ b/dev/kernel/NewKit/Utils.h
@@ -26,5 +26,5 @@ namespace Kernel
Int rt_to_uppercase(Int c);
Int rt_to_lower(Int c);
voidPtr rt_string_in_string(const Char* in, const Char* needle);
- char* rt_string_has_char(Char* str, const Char chr);
+ char* rt_string_has_char(Char* str, Char chr);
} // namespace Kernel
diff --git a/dev/kernel/SwapKit/DiskSwap.h b/dev/kernel/SwapKit/DiskSwap.h
index d09e719a..d8377656 100644
--- a/dev/kernel/SwapKit/DiskSwap.h
+++ b/dev/kernel/SwapKit/DiskSwap.h
@@ -37,7 +37,7 @@ namespace Kernel
/// @param data the data packet.
/// @return Whether the swap was written to disk, or not.
/***********************************************************************************/
- BOOL Write(const Char* fork_name, const SizeT fork_name_len, SWAP_DISK_HEADER* data);
+ BOOL Write(const Char* fork_name, SizeT fork_name_len, SWAP_DISK_HEADER* data);
/***********************************************************************************/
/// @brief Read memory chunk from disk.
@@ -46,7 +46,7 @@ namespace Kernel
/// @param data the data packet length.
/// @return Whether the swap was fetched to disk, or not.
/***********************************************************************************/
- SWAP_DISK_HEADER* Read(const Char* fork_name, const SizeT fork_name_len, const SizeT data_len);
+ SWAP_DISK_HEADER* Read(const Char* fork_name, SizeT fork_name_len, SizeT data_len);
};
/// @brief Swap disk header, containing information about the held virtual memory.
@@ -65,6 +65,6 @@ namespace Kernel
UInt64 fProcessID;
UInt64 fVirtualAddress;
SizeT fBlobSz;
- UInt8 fBlob[];
+ UInt8 fBlob[1];
} PACKED SWAP_DISK_HEADER;
} // namespace Kernel
diff --git a/dev/kernel/amd64-ci.make b/dev/kernel/amd64-ci.make
index a03c8fdd..4c76c0f3 100644
--- a/dev/kernel/amd64-ci.make
+++ b/dev/kernel/amd64-ci.make
@@ -5,7 +5,7 @@
CXX = x86_64-w64-mingw32-g++
LD = x86_64-w64-mingw32-ld
-CCFLAGS = -fshort-wchar -c -D__NE_AMD64__ -mno-red-zone -fno-rtti -fno-exceptions -std=c++20 -D__NE_SUPPORT_NX__ -O0 -I../Vendor -D__FSKIT_INCLUDES_NEFS__ -D__NEOSKRNL__ -D__HAVE_NE_APIS__ -D__FREESTANDING__ -D__NE_VIRTUAL_MEMORY_SUPPORT__ -D__NE_AUTO_FORMAT__ -D__NE__ -I./ -I../ -I../zba
+CCFLAGS = -fshort-wchar -c -D__NE_AMD64__ -Werror -Wall -Wpedantic -Wextra -mno-red-zone -fno-rtti -fno-exceptions -std=c++20 -D__NE_SUPPORT_NX__ -O0 -I../Vendor -D__FSKIT_INCLUDES_NEFS__ -D__NEOSKRNL__ -D__HAVE_NE_APIS__ -D__FREESTANDING__ -D__NE_VIRTUAL_MEMORY_SUPPORT__ -D__NE_AUTO_FORMAT__ -D__NE__ -I./ -I../ -I../zba
ASM = nasm
@@ -47,8 +47,8 @@ error:
MOVEALL=./MoveAll.X64.sh
WINDRES=x86_64-w64-mingw32-windres
-.PHONY: newos-amd64-epm
-newos-amd64-epm: clean
+.PHONY: nekernel-amd64-epm
+nekernel-amd64-epm: clean
$(WINDRES) kernel_rsrc.rsrc -O coff -o kernel_rsrc.obj
$(CXX) $(CCFLAGS) $(DISK_DRV) $(DEBUG_MACRO) $(wildcard src/*.cc) $(wildcard HALKit/AMD64/PCI/*.cc) $(wildcard src/Network/*.cc) $(wildcard src/Storage/*.cc) $(wildcard src/FS/*.cc) $(wildcard HALKit/AMD64/Storage/*.cc) $(wildcard HALKit/AMD64/*.cc) $(wildcard src/Swap/*.cc) $(wildcard HALKit/AMD64/*.s)
$(ASM) $(ASMFLAGS) HALKit/AMD64/HalInterruptAPI.asm
@@ -64,7 +64,7 @@ link-amd64-epm:
$(LD) $(LDFLAGS) $(LDOBJ) -o $(KERNEL_IMG)
.PHONY: all
-all: newos-amd64-epm link-amd64-epm
+all: nekernel-amd64-epm link-amd64-epm
@echo "Kernel => OK."
.PHONY: help
@@ -72,7 +72,7 @@ help:
@echo "=== HELP ==="
@echo "all: Build Kernel and link it."
@echo "link-amd64-epm: Link Kernel for EPM based disks."
- @echo "newos-amd64-epm: Build Kernel for EPM based disks."
+ @echo "nekernel-amd64-epm: Build Kernel for EPM based disks."
.PHONY: clean
clean:
diff --git a/dev/kernel/amd64-desktop.make b/dev/kernel/amd64-desktop.make
index a03c8fdd..905a6c91 100644
--- a/dev/kernel/amd64-desktop.make
+++ b/dev/kernel/amd64-desktop.make
@@ -5,7 +5,7 @@
CXX = x86_64-w64-mingw32-g++
LD = x86_64-w64-mingw32-ld
-CCFLAGS = -fshort-wchar -c -D__NE_AMD64__ -mno-red-zone -fno-rtti -fno-exceptions -std=c++20 -D__NE_SUPPORT_NX__ -O0 -I../Vendor -D__FSKIT_INCLUDES_NEFS__ -D__NEOSKRNL__ -D__HAVE_NE_APIS__ -D__FREESTANDING__ -D__NE_VIRTUAL_MEMORY_SUPPORT__ -D__NE_AUTO_FORMAT__ -D__NE__ -I./ -I../ -I../zba
+CCFLAGS = -fshort-wchar -c -D__NE_AMD64__ -Wall -Wpedantic -Wextra -mno-red-zone -fno-rtti -fno-exceptions -std=c++20 -D__NE_SUPPORT_NX__ -O0 -I../Vendor -D__FSKIT_INCLUDES_NEFS__ -D__NEOSKRNL__ -D__HAVE_NE_APIS__ -D__FREESTANDING__ -D__NE_VIRTUAL_MEMORY_SUPPORT__ -D__NE_AUTO_FORMAT__ -D__NE__ -I./ -I../ -I../zba
ASM = nasm
@@ -47,8 +47,8 @@ error:
MOVEALL=./MoveAll.X64.sh
WINDRES=x86_64-w64-mingw32-windres
-.PHONY: newos-amd64-epm
-newos-amd64-epm: clean
+.PHONY: nekernel-amd64-epm
+nekernel-amd64-epm: clean
$(WINDRES) kernel_rsrc.rsrc -O coff -o kernel_rsrc.obj
$(CXX) $(CCFLAGS) $(DISK_DRV) $(DEBUG_MACRO) $(wildcard src/*.cc) $(wildcard HALKit/AMD64/PCI/*.cc) $(wildcard src/Network/*.cc) $(wildcard src/Storage/*.cc) $(wildcard src/FS/*.cc) $(wildcard HALKit/AMD64/Storage/*.cc) $(wildcard HALKit/AMD64/*.cc) $(wildcard src/Swap/*.cc) $(wildcard HALKit/AMD64/*.s)
$(ASM) $(ASMFLAGS) HALKit/AMD64/HalInterruptAPI.asm
@@ -64,7 +64,7 @@ link-amd64-epm:
$(LD) $(LDFLAGS) $(LDOBJ) -o $(KERNEL_IMG)
.PHONY: all
-all: newos-amd64-epm link-amd64-epm
+all: nekernel-amd64-epm link-amd64-epm
@echo "Kernel => OK."
.PHONY: help
@@ -72,7 +72,7 @@ help:
@echo "=== HELP ==="
@echo "all: Build Kernel and link it."
@echo "link-amd64-epm: Link Kernel for EPM based disks."
- @echo "newos-amd64-epm: Build Kernel for EPM based disks."
+ @echo "nekernel-amd64-epm: Build Kernel for EPM based disks."
.PHONY: clean
clean:
diff --git a/dev/kernel/arm64-desktop.make b/dev/kernel/arm64-desktop.make
index 7ae4d9f8..ec2a04ce 100644
--- a/dev/kernel/arm64-desktop.make
+++ b/dev/kernel/arm64-desktop.make
@@ -32,8 +32,8 @@ error:
MOVEALL=./MoveAll.ARM64.sh
-.PHONY: newos-arm64-epm
-newos-arm64-epm: clean
+.PHONY: nekernel-arm64-epm
+nekernel-arm64-epm: clean
$(CC) $(CCFLAGS) $(DISKDRIVER) $(DEBUG) $(wildcard src/*.cc) \
$(wildcard src/FS/*.cc) $(wildcard HALKit/ARM64/Storage/*.cc) \
$(wildcard HALKit/ARM64/PCI/*.cc) $(wildcard src/Network/*.cc) $(wildcard src/Storage/*.cc) \
@@ -49,7 +49,7 @@ link-arm64-epm:
$(LD) $(LDFLAGS) $(LDOBJ) /out:$(KERNEL)
.PHONY: all
-all: newos-arm64-epm link-arm64-epm
+all: nekernel-arm64-epm link-arm64-epm
@echo "Kernel => OK."
.PHONY: help
@@ -57,7 +57,7 @@ help:
@echo "=== HELP ==="
@echo "all: Build Kernel and link it."
@echo "link-arm64-epm: Link Kernel for EPM based disks."
- @echo "newos-arm64-epm: Build Kernel for EPM based disks."
+ @echo "nekernel-arm64-epm: Build Kernel for EPM based disks."
.PHONY: clean
clean:
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<SDT*>(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<voidPtr>(reinterpret_cast<voidPtr>(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<Kernel::UIntPtr>(self));
- kout << ", has unimplemented virtual functions.\r";
+ (void)(Kernel::kout << "object: " << Kernel::number(reinterpret_cast<Kernel::UIntPtr>(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<GUIDSequence*> seq_ref{seq};
- seq_ref.Leak()->fMs1 = uuidSeq[0];
- seq_ref.Leak()->fMs2 = uuidSeq[1];
- seq_ref.Leak()->fMs3 = uuidSeq[2];
- seq_ref.Leak()->fMs4[0] = uuidSeq[3];
- seq_ref.Leak()->fMs4[1] = uuidSeq[4];
- seq_ref.Leak()->fMs4[2] = uuidSeq[5];
- seq_ref.Leak()->fMs4[3] = uuidSeq[6];
- seq_ref.Leak()->fMs4[4] = uuidSeq[7];
- seq_ref.Leak()->fMs4[5] = uuidSeq[8];
- seq_ref.Leak()->fMs4[6] = uuidSeq[9];
- seq_ref.Leak()->fMs4[7] = uuidSeq[10];
+ seq_ref.Leak()->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<HardwareThread*> HardwareThreadScheduler::operator[](const SizeT& idx)
+ Ref<HardwareThread*> 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<VoidPtr>(heap_info_ptr->fOffset);
- 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;
- 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;
- 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/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<Char*>(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<THREAD_INFORMATION_BLOCK*>(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<VoidPtr> UserProcess::New(const SizeT& sz, const SizeT& pad_amount)
+ ErrorOr<VoidPtr> 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)
{
diff --git a/dev/modules/ACPI/ACPI.h b/dev/modules/ACPI/ACPI.h
index 49434de0..305c061c 100644
--- a/dev/modules/ACPI/ACPI.h
+++ b/dev/modules/ACPI/ACPI.h
@@ -83,7 +83,7 @@ namespace Kernel
UInt32 OemRev;
UInt32 CreatorID;
UInt32 CreatorRevision;
- UInt32 AddressArr[];
+ UInt32 AddressArr[1];
};
} // namespace Kernel
diff --git a/dev/modules/ACPI/ACPIFactoryInterface.h b/dev/modules/ACPI/ACPIFactoryInterface.h
index e4eafca5..10b8ccf1 100644
--- a/dev/modules/ACPI/ACPIFactoryInterface.h
+++ b/dev/modules/ACPI/ACPIFactoryInterface.h
@@ -51,7 +51,7 @@ namespace Kernel
private:
VoidPtr fRsdp{nullptr}; // pointer to root descriptor.
- SSizeT fEntries{0UL}; // number of entries, -1 tells that no invalid entries were
+ SizeT fEntries{0UL}; // number of entries, -1 tells that no invalid entries were
// found.
};
} // namespace Kernel
diff --git a/dev/modules/AHCI/AHCI.h b/dev/modules/AHCI/AHCI.h
index 38252b2f..67e12c45 100644
--- a/dev/modules/AHCI/AHCI.h
+++ b/dev/modules/AHCI/AHCI.h
@@ -286,7 +286,8 @@ typedef struct HbaCmdHeader final
Kernel::UInt8 Clear : 1; // Clear busy upon R_OK
Kernel::UInt8 Reserved0 : 1; // Reserved
Kernel::UInt8 Pmp : 4; // Port multiplier port
- };
+ } Struc;
+
Kernel::UInt16 Flags;
};
@@ -334,7 +335,7 @@ 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
- struct HbaPrdtEntry Prdt[]; // Physical region descriptor table entries, 0 ~ 65535
+ struct HbaPrdtEntry Prdt[1]; // Physical region descriptor table entries, 0 ~ 65535
} HbaCmdTbl;
/// @brief Initializes an AHCI disk.
diff --git a/dev/modules/CoreGfx/CoreAccess.h b/dev/modules/CoreGfx/CoreAccess.h
index b3d17a59..39ff6da3 100644
--- a/dev/modules/CoreGfx/CoreAccess.h
+++ b/dev/modules/CoreGfx/CoreAccess.h
@@ -26,12 +26,12 @@ namespace FB
public:
NE_COPY_DELETE(FBAccessibilty);
- static Int64 Width() noexcept
+ static UInt64 Width() noexcept
{
return kHandoverHeader->f_GOP.f_Width;
}
- static Int64 Height() noexcept
+ static UInt64 Height() noexcept
{
return kHandoverHeader->f_GOP.f_Height;
}
diff --git a/dev/modules/CoreGfx/CoreGfx.h b/dev/modules/CoreGfx/CoreGfx.h
index eda52520..74326f16 100644
--- a/dev/modules/CoreGfx/CoreGfx.h
+++ b/dev/modules/CoreGfx/CoreGfx.h
@@ -14,7 +14,7 @@
#define fb_get_clear_clr() fb_color(0x20, 0x20, 0x20)
-#define fb_clear() kCGCursor = 0
+#define fb_clear() kCGCursor = 0UL
#ifdef __NE_AMD64__
/// @brief Performs Alpha drawing on the framebuffer.
@@ -137,11 +137,7 @@ namespace FB
{
inline Void fb_clear_video() noexcept
{
- fb_init();
-
FBDrawInRegion(fb_get_clear_clr(), FB::FBAccessibilty::Height(), FB::FBAccessibilty::Width(),
0, 0);
-
- fb_clear();
}
} // namespace FB \ No newline at end of file
diff --git a/dev/modules/CoreGfx/TextGfx.h b/dev/modules/CoreGfx/TextGfx.h
index 13811d37..cbe62022 100644
--- a/dev/modules/CoreGfx/TextGfx.h
+++ b/dev/modules/CoreGfx/TextGfx.h
@@ -145,10 +145,10 @@ inline const Kernel::UInt8 kFontBitmap[kFontNOFChars][kFontSizeX] = {
};
-inline Kernel::Void fb_render_string_for_bitmap(const Kernel::UInt8* bitmap, const Kernel::SizeT& x_sz, const Kernel::SizeT& y_sz, Kernel::Int32& x_dst, Kernel::Int32& y_dst, Kernel::Int32& color)
+inline Kernel::Void fb_render_string_for_bitmap(const Kernel::UInt8* bitmap, const Kernel::SizeT x_sz, const Kernel::SizeT y_sz, Kernel::Int32& x_dst, Kernel::Int32& y_dst, Kernel::Int32& color)
{
- Kernel::Int32 x, y;
- Kernel::Int32 set;
+ Kernel::SizeT x, y;
+ Kernel::SizeT set;
x = 0;
y = 0;
@@ -170,9 +170,11 @@ inline Kernel::Void fb_render_string_for_bitmap(const Kernel::UInt8* bitmap, con
inline Kernel::Void fb_render_string(const Kernel::Char* text, Kernel::Int32 x_dst, Kernel::Int32 y_dst, Kernel::Int32 color)
{
- for (Kernel::SizeT i = 0; text[i] != 0; ++i)
+ auto len = Kernel::rt_string_len(text);
+
+ for (Kernel::SizeT i = 0; i < len; ++i)
{
- fb_render_string_for_bitmap(&kFontBitmap[text[i]][0], kFontSizeX, kFontSizeY, x_dst, y_dst, color);
+ fb_render_string_for_bitmap(&kFontBitmap[(Kernel::UInt8)text[i]][0], kFontSizeX, kFontSizeY, x_dst, y_dst, color);
y_dst += kFontSizeY;
}
}
diff --git a/dev/user/SystemCalls.h b/dev/user/SystemCalls.h
index 5288e7b4..97a49469 100644
--- a/dev/user/SystemCalls.h
+++ b/dev/user/SystemCalls.h
@@ -215,7 +215,7 @@ IMPORT_C Char* DrvGetDriveLetterFromPath(_Input const Char* path);
/// @param letter the letter (A..Z).
/// @return the drive object.
// ------------------------------------------------------------------------------------------ //
-IMPORT_C Ref DrvGetMountedDrive(_Input const Char letter);
+IMPORT_C Ref DrvGetMountedDrive(_Input Char letter);
// ------------------------------------------------------------------------------------------ //
/// @brief Mount a drive.
@@ -228,7 +228,7 @@ IMPORT_C Void DrvMountDrive(_Input const Char* path, _Input const Char* letter);
/// @brief Unmount a drive.
/// @param letter the letter to unmount.
// ------------------------------------------------------------------------------------------ //
-IMPORT_C Void DrvUnmountDrive(_Input const Char letter);
+IMPORT_C Void DrvUnmountDrive(_Input Char letter);
// ------------------------------------------------------------------------
// Event handling API, use to listen to OS specific events.
@@ -283,7 +283,7 @@ IMPORT_C SInt32 PwrSendCode(_Output SInt32& code);
// CD-ROM API.
// ------------------------------------------------------------------------------------------ //
-IMPORT_C SInt32 CdEjectDrive(_Input const Char drv_letter);
+IMPORT_C SInt32 CdEjectDrive(_Input Char drv_letter);
IMPORT_C SInt32 CdOpenTray(Void);