diff options
Diffstat (limited to 'dev/boot')
| -rw-r--r-- | dev/boot/BootKit/Device.h | 4 | ||||
| -rw-r--r-- | dev/boot/BootKit/HW/ATA.h | 4 | ||||
| -rw-r--r-- | dev/boot/BootKit/HW/SATA.h | 4 | ||||
| -rw-r--r-- | dev/boot/amd64-ci.make | 2 | ||||
| -rw-r--r-- | dev/boot/amd64-desktop.make | 2 | ||||
| -rw-r--r-- | dev/boot/src/BootSupport.cc | 3 | ||||
| -rw-r--r-- | dev/boot/src/BootTextWriter.cc | 2 | ||||
| -rw-r--r-- | dev/boot/src/BootThread.cc | 5 | ||||
| -rw-r--r-- | dev/boot/src/HEL/AMD64/BootATA.cc | 9 | ||||
| -rw-r--r-- | dev/boot/src/HEL/AMD64/BootEFI.cc | 4 | ||||
| -rw-r--r-- | dev/boot/src/New+Delete.cc | 15 |
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); } |
