From 6bcd425f0ee691eceeec5b3c6743aca4b0bbf66c Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Sat, 21 Feb 2026 06:10:42 +0100 Subject: feat: BootZ: BootThread and other modules patches and hardening. Copyright year updates. feat: Kernel: Copyright year updates. Signed-off-by: Amlal El Mahrouss --- doc/cpp_style.md | 15 +++++++++++++++ src/boot/src/BootFileReader.cc | 6 +++--- src/boot/src/BootThread.cc | 6 +++--- src/hint/CompilerHint.h | 13 ++++++++----- src/kernel/NetworkKit/IPC.h | 2 +- src/kernel/NetworkKit/LTE.h | 8 ++++---- src/kernel/NetworkKit/MAC.h | 2 +- src/kernel/NetworkKit/NetworkDevice.h | 6 +++--- src/kernel/NetworkKit/NetworkDevice.inl | 2 +- 9 files changed, 39 insertions(+), 21 deletions(-) create mode 100644 doc/cpp_style.md diff --git a/doc/cpp_style.md b/doc/cpp_style.md new file mode 100644 index 00000000..00b7c75a --- /dev/null +++ b/doc/cpp_style.md @@ -0,0 +1,15 @@ +# NeKernel C++ Style Guide: + +## Abstract: + +NeKernel uses the Google C++ Style. But applied to low-level systems. We use C++20 and later throughout all of our stack. As we keep iterating over time we will amend this document. + +## No Exceptions, Never. + +NeKernel bans the usage of exceptions in ne_kernel, ne_bootz, etc. +Unless it is a program space and not to be deemed performance dependent. + +## Privilege Templates and ZOA over C with Classes. + +NeKernel doesn't limit itself to a C++ paradigm, as we may find fitting solutions by exploring other patterns. + diff --git a/src/boot/src/BootFileReader.cc b/src/boot/src/BootFileReader.cc index 07f1d3c2..9deeeb4b 100644 --- a/src/boot/src/BootFileReader.cc +++ b/src/boot/src/BootFileReader.cc @@ -1,4 +1,4 @@ -// Copyright 2024-2025, Amlal El Mahrouss (amlal@nekernel.org) +// Copyright 2024-2026, Amlal El Mahrouss (amlal@nekernel.org) // Licensed under the Apache License, Version 2.0 (see LICENSE file) // Official repository: https://github.com/nekernel-org/nekernel @@ -69,7 +69,7 @@ Boot::BootFileReader::BootFileReader(const CharacterTypeUTF16* path, EfiHandlePt mWriter.Write(L"BootZ: Fetch-Protocol: No-Such-Path: ").Write(mPath).Write(L"\r"); this->mErrorCode = kNotSupported; - cg_render_string("BootZ: PLEASE RECOVER YOUR NEKERNEL INSTALL.", 40, 10, RGB(0xFF, 0xFF, 0xFF)); + cg_render_string("BOOTZ: PLEASE RECOVER YOUR NEKERNEL INSTALL.", 40, 10, RGB(0xFF, 0xFF, 0xFF)); mRootFs->Close(mRootFs); @@ -114,7 +114,7 @@ Void Boot::BootFileReader::ReadAll(SizeT readUntil, SizeT chunkToRead, UIntPtr o if (mFile->GetInfo(mFile, &kFileInfoGUID, &szInfo, &newPtrInfo) == kEfiOk) { readUntil = newPtrInfo.FileSize; - mWriter.Write(L"BootZ: File size: ").Write(readUntil).Write("\r"); + mWriter.Write(L"BootZ: File-Size: ").Write(readUntil).Write("\r"); } if (readUntil == 0) { diff --git a/src/boot/src/BootThread.cc b/src/boot/src/BootThread.cc index 2da5f638..c75ff41d 100644 --- a/src/boot/src/BootThread.cc +++ b/src/boot/src/BootThread.cc @@ -1,4 +1,4 @@ -// Copyright 2024-2025, Amlal El Mahrouss (amlal@nekernel.org) +// Copyright 2024-2026, Amlal El Mahrouss (amlal@nekernel.org) // Licensed under the Apache License, Version 2.0 (see LICENSE file) // Official repository: https://github.com/nekernel-org/nekernel @@ -80,7 +80,7 @@ BootThread::BootThread(VoidPtr blob) : fStartAddress(nullptr), fBlob(blob) { fStack = new UInt8[kBootThreadSz]; if (!fStack) { - writer.Write("BootZ: Unable to allocate stack.\r"); + writer.Write("BootZ: Unable to allocate the stack for the thread.\r"); return; } @@ -143,7 +143,7 @@ BootThread::BootThread(VoidPtr blob) : fStartAddress(nullptr), fBlob(blob) { } } - writer.Write("BootZ: Raw offset: ") + writer.Write("BootZ: Raw-Offset: ") .Write(sect->PointerToRawData) .Write(" of ") .Write(sect->Name) diff --git a/src/hint/CompilerHint.h b/src/hint/CompilerHint.h index 266ce024..315d9fdb 100644 --- a/src/hint/CompilerHint.h +++ b/src/hint/CompilerHint.h @@ -1,11 +1,11 @@ -// Copyright 2024-2025, Amlal El Mahrouss (amlal@nekernel.org) +// Copyright 2024-2026, Amlal El Mahrouss (amlal@nekernel.org) // Licensed under the Apache License, Version 2.0 (see LICENSE file) // Official repository: https://github.com/nekernel-org/nekernel -#ifndef _NE_COMPILERHINT_H_ -#define _NE_COMPILERHINT_H_ +#ifndef NE_COMPILERHINT_H +#define NE_COMPILERHINT_H -#ifdef __NECTI__ +#ifdef __NECTAR__ #pragma compiler(hint_manifest) #endif @@ -20,4 +20,7 @@ #define _InOut #define _StrictInOut -#endif // ifndef _NE_COMPILERHINT_H_ +#define _OptionalIn +#define _OptionalOut + +#endif // ifndef NE_COMPILERHINT_H diff --git a/src/kernel/NetworkKit/IPC.h b/src/kernel/NetworkKit/IPC.h index 8da5fc69..a45e55ed 100644 --- a/src/kernel/NetworkKit/IPC.h +++ b/src/kernel/NetworkKit/IPC.h @@ -1,4 +1,4 @@ -// Copyright 2024-2025, Amlal El Mahrouss (amlal@nekernel.org) +// Copyright 2024-2026, Amlal El Mahrouss (amlal@nekernel.org) // Licensed under the Apache License, Version 2.0 (see LICENSE file) // Official repository: https://github.com/nekernel-org/nekernel diff --git a/src/kernel/NetworkKit/LTE.h b/src/kernel/NetworkKit/LTE.h index a375b353..ac18c27f 100644 --- a/src/kernel/NetworkKit/LTE.h +++ b/src/kernel/NetworkKit/LTE.h @@ -1,11 +1,11 @@ -// Copyright 2024-2025, Amlal El Mahrouss (amlal@nekernel.org) +// Copyright 2024-2026, Amlal El Mahrouss (amlal@nekernel.org) // Licensed under the Apache License, Version 2.0 (see LICENSE file) // Official repository: https://github.com/nekernel-org/nekernel -#ifndef _INC_NETWORK_LTE_H_ -#define _INC_NETWORK_LTE_H_ +#ifndef INC_NETWORK_LTE_H +#define INC_NETWORK_LTE_H #include #include -#endif // ifndef _INC_NETWORK_LTE_H_ +#endif // ifndef INC_NETWORK_LTE_H diff --git a/src/kernel/NetworkKit/MAC.h b/src/kernel/NetworkKit/MAC.h index 6cbb5c75..0aadc248 100644 --- a/src/kernel/NetworkKit/MAC.h +++ b/src/kernel/NetworkKit/MAC.h @@ -1,4 +1,4 @@ -// Copyright 2024-2025, Amlal El Mahrouss (amlal@nekernel.org) +// Copyright 2024-2026, Amlal El Mahrouss (amlal@nekernel.org) // Licensed under the Apache License, Version 2.0 (see LICENSE file) // Official repository: https://github.com/nekernel-org/nekernel diff --git a/src/kernel/NetworkKit/NetworkDevice.h b/src/kernel/NetworkKit/NetworkDevice.h index 31f62079..2c2c5aa6 100644 --- a/src/kernel/NetworkKit/NetworkDevice.h +++ b/src/kernel/NetworkKit/NetworkDevice.h @@ -1,9 +1,9 @@ -// Copyright 2024-2025, Amlal El Mahrouss (amlal@nekernel.org) +// Copyright 2024-2026, Amlal El Mahrouss (amlal@nekernel.org) // Licensed under the Apache License, Version 2.0 (see LICENSE file) // Official repository: https://github.com/nekernel-org/nekernel -#ifndef __INC_NETWORK_DEVICE_H__ -#define __INC_NETWORK_DEVICE_H__ +#ifndef INC_NETWORK_DEVICE_H +#define INC_NETWORK_DEVICE_H #include #include diff --git a/src/kernel/NetworkKit/NetworkDevice.inl b/src/kernel/NetworkKit/NetworkDevice.inl index 69dc659c..36ffb029 100644 --- a/src/kernel/NetworkKit/NetworkDevice.inl +++ b/src/kernel/NetworkKit/NetworkDevice.inl @@ -1,4 +1,4 @@ -// Copyright 2024-2025, Amlal El Mahrouss (amlal@nekernel.org) +// Copyright 2024-2026, Amlal El Mahrouss (amlal@nekernel.org) // Licensed under the Apache License, Version 2.0 (see LICENSE file) // Official repository: https://github.com/nekernel-org/nekernel -- cgit v1.2.3