summaryrefslogtreecommitdiffhomepage
path: root/dev/boot
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/boot
parent9da6a352ecf70a1f5be99058a880b20db1b57940 (diff)
tweak kernel, boot: use -Wall, -Werror, -Wpedantic now.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'dev/boot')
-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
11 files changed, 32 insertions, 22 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);
}