From 4337019afdad1069fdc757733febb7db5b531421 Mon Sep 17 00:00:00 2001 From: Amlal Date: Thu, 11 Jul 2024 14:15:21 +0200 Subject: [META] Update copyright notice. Signed-off-by: Amlal --- Kernel/Sources/GUIDWizard.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Kernel/Sources/GUIDWizard.cxx') diff --git a/Kernel/Sources/GUIDWizard.cxx b/Kernel/Sources/GUIDWizard.cxx index 0af8e289..be7ad627 100644 --- a/Kernel/Sources/GUIDWizard.cxx +++ b/Kernel/Sources/GUIDWizard.cxx @@ -1,6 +1,6 @@ /* ------------------------------------------- - Copyright Zeta Electronics Corporation + Copyright ZKA Technologies File: GUIDWizard.cxx Purpose: GUID helper code -- cgit v1.2.3 From ea937555b04ae7f39785341e45955b48515e5bf1 Mon Sep 17 00:00:00 2001 From: Amlal Date: Sun, 21 Jul 2024 09:48:52 +0200 Subject: [IMP] MHR-36: Much better ref class Signed-off-by: Amlal --- Boot/Sources/HEL/AMD64/BootMain.cxx | 2 +- Kernel/CFKit/GUIDWizard.hpp | 2 +- Kernel/CFKit/GUIDWrapper.hpp | 2 +- Kernel/KernelKit/DeviceManager.hpp | 2 +- Kernel/KernelKit/FileManager.hpp | 2 +- Kernel/KernelKit/Framebuffer.hpp | 2 +- Kernel/KernelKit/PCI/Dma.hpp | 2 +- Kernel/KernelKit/PCI/IO.hpp | 2 +- Kernel/KernelKit/PCI/Iterator.hpp | 2 +- Kernel/KernelKit/ProcessHeap.hxx | 2 +- Kernel/KernelKit/ProcessScheduler.hxx | 2 +- Kernel/KernelKit/SMPManager.hpp | 2 +- Kernel/Modules/ACPI/ACPIFactoryInterface.hxx | 2 +- Kernel/NetworkKit/IP.hpp | 2 +- Kernel/NewKit/ErrorOr.hpp | 2 +- Kernel/NewKit/NewKit.hpp | 2 +- Kernel/NewKit/OwnPtr.hpp | 2 +- Kernel/NewKit/PageManager.hpp | 2 +- Kernel/NewKit/Pmm.hpp | 2 +- Kernel/NewKit/Ref.hpp | 98 ------------------------- Kernel/NewKit/Ref.hxx | 106 +++++++++++++++++++++++++++ Kernel/NewKit/Stream.hpp | 2 +- Kernel/Sources/GUIDWizard.cxx | 2 +- Kernel/Sources/ProcessScheduler.cxx | 8 +- Kernel/Sources/Ref.cxx | 2 +- Kernel/StorageKit/PRDT.hpp | 2 +- newoskrnl.files | 2 +- 27 files changed, 135 insertions(+), 125 deletions(-) delete mode 100644 Kernel/NewKit/Ref.hpp create mode 100644 Kernel/NewKit/Ref.hxx (limited to 'Kernel/Sources/GUIDWizard.cxx') diff --git a/Boot/Sources/HEL/AMD64/BootMain.cxx b/Boot/Sources/HEL/AMD64/BootMain.cxx index 95d795ea..15c9b7e5 100644 --- a/Boot/Sources/HEL/AMD64/BootMain.cxx +++ b/Boot/Sources/HEL/AMD64/BootMain.cxx @@ -15,7 +15,7 @@ #include #include #include -#include +#include #include #include diff --git a/Kernel/CFKit/GUIDWizard.hpp b/Kernel/CFKit/GUIDWizard.hpp index 43c0fd89..59e83153 100644 --- a/Kernel/CFKit/GUIDWizard.hpp +++ b/Kernel/CFKit/GUIDWizard.hpp @@ -11,7 +11,7 @@ #include #include #include -#include +#include #include #include diff --git a/Kernel/CFKit/GUIDWrapper.hpp b/Kernel/CFKit/GUIDWrapper.hpp index c3293365..fe9e373b 100644 --- a/Kernel/CFKit/GUIDWrapper.hpp +++ b/Kernel/CFKit/GUIDWrapper.hpp @@ -7,7 +7,7 @@ #pragma once #include -#include +#include #include /* GUID for C++ Components */ diff --git a/Kernel/KernelKit/DeviceManager.hpp b/Kernel/KernelKit/DeviceManager.hpp index 125422c8..8261834d 100644 --- a/Kernel/KernelKit/DeviceManager.hpp +++ b/Kernel/KernelKit/DeviceManager.hpp @@ -19,7 +19,7 @@ /* @brief Device abstraction and I/O buffer. */ #include -#include +#include // Last Rev // Wed, Apr 3, 2024 9:09:41 AM diff --git a/Kernel/KernelKit/FileManager.hpp b/Kernel/KernelKit/FileManager.hpp index 1e9fbb75..0d721ec0 100644 --- a/Kernel/KernelKit/FileManager.hpp +++ b/Kernel/KernelKit/FileManager.hpp @@ -26,7 +26,7 @@ #include #include #include -#include +#include /// @brief Filesystem manager, abstraction over mounted filesystem. /// Works like the VFS or IFS. diff --git a/Kernel/KernelKit/Framebuffer.hpp b/Kernel/KernelKit/Framebuffer.hpp index 170ab2a4..3d0914ef 100644 --- a/Kernel/KernelKit/Framebuffer.hpp +++ b/Kernel/KernelKit/Framebuffer.hpp @@ -11,7 +11,7 @@ #define __INC_FB_HPP__ #include -#include +#include namespace Kernel { diff --git a/Kernel/KernelKit/PCI/Dma.hpp b/Kernel/KernelKit/PCI/Dma.hpp index e5e44c0b..dfac226f 100644 --- a/Kernel/KernelKit/PCI/Dma.hpp +++ b/Kernel/KernelKit/PCI/Dma.hpp @@ -10,7 +10,7 @@ #include #include #include -#include +#include namespace Kernel { diff --git a/Kernel/KernelKit/PCI/IO.hpp b/Kernel/KernelKit/PCI/IO.hpp index 6328921d..90e9244d 100644 --- a/Kernel/KernelKit/PCI/IO.hpp +++ b/Kernel/KernelKit/PCI/IO.hpp @@ -9,7 +9,7 @@ #include #include #include -#include +#include namespace Kernel { diff --git a/Kernel/KernelKit/PCI/Iterator.hpp b/Kernel/KernelKit/PCI/Iterator.hpp index 2274df31..0d6d894c 100644 --- a/Kernel/KernelKit/PCI/Iterator.hpp +++ b/Kernel/KernelKit/PCI/Iterator.hpp @@ -5,7 +5,7 @@ #include #include #include -#include +#include #define NEWOS_BUS_COUNT (256) #define NEWOS_DEVICE_COUNT (33) diff --git a/Kernel/KernelKit/ProcessHeap.hxx b/Kernel/KernelKit/ProcessHeap.hxx index d2ec4035..7772398e 100644 --- a/Kernel/KernelKit/ProcessHeap.hxx +++ b/Kernel/KernelKit/ProcessHeap.hxx @@ -10,7 +10,7 @@ #include #include #include -#include +#include #include /// @version 5/11/23 diff --git a/Kernel/KernelKit/ProcessScheduler.hxx b/Kernel/KernelKit/ProcessScheduler.hxx index 3f6e7828..1785e145 100644 --- a/Kernel/KernelKit/ProcessScheduler.hxx +++ b/Kernel/KernelKit/ProcessScheduler.hxx @@ -266,7 +266,7 @@ namespace Kernel SizeT Run() noexcept; public: - STATIC Ref The(); + STATIC Ref& The(); private: ProcessTeam mTeam; diff --git a/Kernel/KernelKit/SMPManager.hpp b/Kernel/KernelKit/SMPManager.hpp index 69c8b54e..cb6b7884 100644 --- a/Kernel/KernelKit/SMPManager.hpp +++ b/Kernel/KernelKit/SMPManager.hpp @@ -9,7 +9,7 @@ #include #include -#include +#include // Last Rev // Sat Feb 24 CET 2024 diff --git a/Kernel/Modules/ACPI/ACPIFactoryInterface.hxx b/Kernel/Modules/ACPI/ACPIFactoryInterface.hxx index 6beb12a9..2977ff2e 100644 --- a/Kernel/Modules/ACPI/ACPIFactoryInterface.hxx +++ b/Kernel/Modules/ACPI/ACPIFactoryInterface.hxx @@ -10,7 +10,7 @@ #include #include #include -#include +#include namespace Kernel { diff --git a/Kernel/NetworkKit/IP.hpp b/Kernel/NetworkKit/IP.hpp index 5e29cc1f..80c4ba54 100644 --- a/Kernel/NetworkKit/IP.hpp +++ b/Kernel/NetworkKit/IP.hpp @@ -8,7 +8,7 @@ #include #include -#include +#include #include namespace Kernel diff --git a/Kernel/NewKit/ErrorOr.hpp b/Kernel/NewKit/ErrorOr.hpp index a528de57..7e261abf 100644 --- a/Kernel/NewKit/ErrorOr.hpp +++ b/Kernel/NewKit/ErrorOr.hpp @@ -10,7 +10,7 @@ #pragma once #include -#include +#include namespace Kernel { diff --git a/Kernel/NewKit/NewKit.hpp b/Kernel/NewKit/NewKit.hpp index 761a0411..144a0ea9 100644 --- a/Kernel/NewKit/NewKit.hpp +++ b/Kernel/NewKit/NewKit.hpp @@ -16,7 +16,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/Kernel/NewKit/OwnPtr.hpp b/Kernel/NewKit/OwnPtr.hpp index 7aa2a247..6157a1b6 100644 --- a/Kernel/NewKit/OwnPtr.hpp +++ b/Kernel/NewKit/OwnPtr.hpp @@ -9,7 +9,7 @@ #include #include -#include +#include namespace Kernel { diff --git a/Kernel/NewKit/PageManager.hpp b/Kernel/NewKit/PageManager.hpp index 89c449f7..57b842ba 100644 --- a/Kernel/NewKit/PageManager.hpp +++ b/Kernel/NewKit/PageManager.hpp @@ -11,7 +11,7 @@ #include #include -#include +#include #ifndef kBadAddress #define kBadAddress (0) diff --git a/Kernel/NewKit/Pmm.hpp b/Kernel/NewKit/Pmm.hpp index 8c918de4..46db1879 100644 --- a/Kernel/NewKit/Pmm.hpp +++ b/Kernel/NewKit/Pmm.hpp @@ -8,7 +8,7 @@ #pragma once #include -#include +#include namespace Kernel { diff --git a/Kernel/NewKit/Ref.hpp b/Kernel/NewKit/Ref.hpp deleted file mode 100644 index 0b0f89cc..00000000 --- a/Kernel/NewKit/Ref.hpp +++ /dev/null @@ -1,98 +0,0 @@ - -/* ------------------------------------------- - - Copyright ZKA Technologies - -------------------------------------------- */ - -#ifndef _NEWKIT_REF_HPP_ -#define _NEWKIT_REF_HPP_ - -#include -#include - -namespace Kernel -{ - template - class Ref final - { - public: - Ref() = default; - ~Ref() = default; - - public: - Ref(T cls, const bool& strong = false) - : fClass(cls), fStrong(strong) - { - } - - Ref& operator=(T ref) - { - fClass = ref; - return *this; - } - - public: - T operator->() const - { - return fClass; - } - - T& Leak() noexcept - { - return fClass; - } - - T& Fetch() const noexcept - { - return fClass; - } - - T operator*() - { - return fClass; - } - - bool IsStrong() const - { - return fStrong; - } - - operator bool() noexcept - { - return fStrong; - } - - private: - T fClass; - bool fStrong{false}; - }; - - template - class NonNullRef final - { - public: - NonNullRef() = delete; - NonNullRef(nullPtr) = delete; - - NonNullRef(T* ref) - : fRef(ref, true) - { - MUST_PASS(ref != nullptr); - } - - Ref& operator->() - { - MUST_PASS(fRef); - return fRef; - } - - NonNullRef& operator=(const NonNullRef& ref) = delete; - NonNullRef(const NonNullRef& ref) = default; - - private: - Ref fRef{nullptr}; - }; -} // namespace Kernel - -#endif // ifndef _NEWKIT_REF_HPP_ diff --git a/Kernel/NewKit/Ref.hxx b/Kernel/NewKit/Ref.hxx new file mode 100644 index 00000000..69150054 --- /dev/null +++ b/Kernel/NewKit/Ref.hxx @@ -0,0 +1,106 @@ + +/* ------------------------------------------- + + Copyright ZKA Technologies + +------------------------------------------- */ + +#ifndef _NEWKIT_REF_HPP_ +#define _NEWKIT_REF_HPP_ + +#include +#include + +namespace Kernel +{ + template + class Ref final + { + public: + Ref() = default; + + ~Ref() + { + if (fStrong) + { + fClass = nullptr; + } + } + + public: + Ref(T cls, const bool& strong = false) + : fClass(&cls), fStrong(strong) + { + } + + Ref& operator=(T ref) + { + *fClass = ref; + return *this; + } + + public: + T operator->() const + { + return *fClass; + } + + T& Leak() noexcept + { + return *fClass; + } + + T& TryLeak() const noexcept + { + MUST_PASS(*fClass); + return *fClass; + } + + T operator*() + { + return *fClass; + } + + bool IsStrong() const + { + return fStrong; + } + + operator bool() noexcept + { + return fStrong; + } + + private: + T* fClass; + Bool fStrong{false}; + }; + + template + class NonNullRef final + { + public: + NonNullRef() = delete; + NonNullRef(nullPtr) = delete; + + NonNullRef(T* ref) + : fRef(ref, true) + { + MUST_PASS(ref != nullptr); + } + + Ref& operator->() + { + MUST_PASS(fRef); + return fRef; + } + + NonNullRef& operator=(const NonNullRef& ref) = delete; + NonNullRef(const NonNullRef& ref) = default; + + private: + Ref fRef{nullptr}; + }; +} // namespace Kernel + +#endif // ifndef _NEWKIT_REF_HPP_ diff --git a/Kernel/NewKit/Stream.hpp b/Kernel/NewKit/Stream.hpp index b615dc77..eefb0a1c 100644 --- a/Kernel/NewKit/Stream.hpp +++ b/Kernel/NewKit/Stream.hpp @@ -8,7 +8,7 @@ #pragma once #include -#include +#include namespace Kernel { diff --git a/Kernel/Sources/GUIDWizard.cxx b/Kernel/Sources/GUIDWizard.cxx index be7ad627..71488096 100644 --- a/Kernel/Sources/GUIDWizard.cxx +++ b/Kernel/Sources/GUIDWizard.cxx @@ -10,7 +10,7 @@ ------------------------------------------- */ #include -#include +#include // begin of ascii 'readable' characters. (A, C, C, 1, 2) #define kAsciiBegin 47 diff --git a/Kernel/Sources/ProcessScheduler.cxx b/Kernel/Sources/ProcessScheduler.cxx index 34bc321d..b3e79c97 100644 --- a/Kernel/Sources/ProcessScheduler.cxx +++ b/Kernel/Sources/ProcessScheduler.cxx @@ -301,12 +301,14 @@ namespace Kernel return mTeam; } + /// @internal + STATIC Ref cSchedulerRef; + /// @brief Shared instance of the process scheduler. /// @return - Ref ProcessScheduler::The() + Ref& ProcessScheduler::The() { - static ProcessScheduler ref; - return {ref}; + return cSchedulerRef; } /// @brief Gets current running process. diff --git a/Kernel/Sources/Ref.cxx b/Kernel/Sources/Ref.cxx index d9eb039a..b92ceac4 100644 --- a/Kernel/Sources/Ref.cxx +++ b/Kernel/Sources/Ref.cxx @@ -4,4 +4,4 @@ ------------------------------------------- */ -#include +#include diff --git a/Kernel/StorageKit/PRDT.hpp b/Kernel/StorageKit/PRDT.hpp index 62dbfb5a..daf465d4 100644 --- a/Kernel/StorageKit/PRDT.hpp +++ b/Kernel/StorageKit/PRDT.hpp @@ -8,7 +8,7 @@ #include #include -#include +#include #define kPrdtTransferSize (sizeof(Kernel::UShort)) diff --git a/newoskrnl.files b/newoskrnl.files index 762df4f9..d8988b7b 100644 --- a/newoskrnl.files +++ b/newoskrnl.files @@ -236,7 +236,7 @@ Kernel/NewKit/PageAllocator.hpp Kernel/NewKit/PageManager.hpp Kernel/NewKit/Pair.hpp Kernel/NewKit/Pmm.hpp -Kernel/NewKit/Ref.hpp +Kernel/NewKit/Ref.hxx Kernel/NewKit/Stream.hpp Kernel/NewKit/String.hpp Kernel/NewKit/Utils.hpp -- cgit v1.2.3 From 3feb5cb72e3e422e804098e2fdcb0bd3e7961627 Mon Sep 17 00:00:00 2001 From: Amlal EL Mahrouss Date: Sun, 28 Jul 2024 06:15:54 +0200 Subject: [FIX] Kernel\Sources\GUIDWizard.cxx: Fixed and implemented cf_make_sequence correctly. [REFACTOR] Kernel\Sources\PEFSharedObject.cxx Replace rt_library_free with rt_library_fini. [REFACTOR] SimpleHAL\Main.c: Replace SampleDriver with SampleHAL. Signed-off-by: Amlal EL Mahrouss --- Kernel/CFKit/GUIDWizard.hpp | 4 ++-- Kernel/HALKit/AMD64/HalDebugOutput.cxx | 4 ++-- Kernel/HALKit/POWER/HalSerialPort.cxx | 2 +- Kernel/KernelKit/SMPManager.hpp | 3 +-- Kernel/Sources/GUIDWizard.cxx | 19 ++++++++++----- Kernel/Sources/PEFSharedObject.cxx | 42 +++++++++++++++++++--------------- Samples/SampleHAL/Main.c | 8 +++---- 7 files changed, 46 insertions(+), 36 deletions(-) (limited to 'Kernel/Sources/GUIDWizard.cxx') diff --git a/Kernel/CFKit/GUIDWizard.hpp b/Kernel/CFKit/GUIDWizard.hpp index 59e83153..609b0d46 100644 --- a/Kernel/CFKit/GUIDWizard.hpp +++ b/Kernel/CFKit/GUIDWizard.hpp @@ -17,6 +17,6 @@ namespace Kernel::XRN::Version1 { - Ref make_sequence(const ArrayList& seq); - ErrorOr> try_guid_to_string(Ref& guid); + Ref cf_make_sequence(const ArrayList& seq); + ErrorOr> cf_try_guid_to_string(Ref& guid); } // namespace Kernel::XRN::Version1 diff --git a/Kernel/HALKit/AMD64/HalDebugOutput.cxx b/Kernel/HALKit/AMD64/HalDebugOutput.cxx index c652aa80..9e3dfcd8 100644 --- a/Kernel/HALKit/AMD64/HalDebugOutput.cxx +++ b/Kernel/HALKit/AMD64/HalDebugOutput.cxx @@ -74,10 +74,10 @@ namespace Kernel Detail::kState = kStateTransmit; SizeT index = 0; - SizeT len = rt_string_len(bytes, 256); + SizeT len = rt_string_len(bytes, 0); const auto cColor = "\x1b[1;32m"; - SizeT lenClr = rt_string_len(cColor, 256); + SizeT lenClr = rt_string_len(cColor, 0); while (index < lenClr) { diff --git a/Kernel/HALKit/POWER/HalSerialPort.cxx b/Kernel/HALKit/POWER/HalSerialPort.cxx index 70197256..3c62824b 100644 --- a/Kernel/HALKit/POWER/HalSerialPort.cxx +++ b/Kernel/HALKit/POWER/HalSerialPort.cxx @@ -17,7 +17,7 @@ void ke_io_write(const Char* bytes) return; SizeT index = 0; - SizeT len = rt_string_len(bytes, 256); + SizeT len = rt_string_len(bytes, 0); while (index < len) { diff --git a/Kernel/KernelKit/SMPManager.hpp b/Kernel/KernelKit/SMPManager.hpp index cb6b7884..a7af05d9 100644 --- a/Kernel/KernelKit/SMPManager.hpp +++ b/Kernel/KernelKit/SMPManager.hpp @@ -11,8 +11,7 @@ #include #include -// Last Rev -// Sat Feb 24 CET 2024 +/// @note Last Rev Sun 28 Jul CET 2024 #define kMaxHarts 8 diff --git a/Kernel/Sources/GUIDWizard.cxx b/Kernel/Sources/GUIDWizard.cxx index 71488096..b65c73a8 100644 --- a/Kernel/Sources/GUIDWizard.cxx +++ b/Kernel/Sources/GUIDWizard.cxx @@ -19,24 +19,31 @@ namespace Kernel::XRN::Version1 { - auto make_sequence(const ArrayList& uuidSeq) -> Ref + auto cf_make_sequence(const ArrayList& uuidSeq) -> Ref { GUIDSequence* seq = new GUIDSequence(); MUST_PASS(seq); Ref sequenceReference{seq, true}; - sequenceReference->fMs1 |= uuidSeq[0]; - sequenceReference->fMs2 |= uuidSeq[1]; - sequenceReference->fMs3 |= uuidSeq[2]; - sequenceReference->fMs3 |= uuidSeq[3]; + sequenceReference->fMs1 = uuidSeq[0]; + sequenceReference->fMs2 = uuidSeq[1]; + sequenceReference->fMs3 = uuidSeq[2]; + sequenceReference->fMs4[0] = uuidSeq[3]; + sequenceReference->fMs4[1] = uuidSeq[4]; + sequenceReference->fMs4[2] = uuidSeq[5]; + sequenceReference->fMs4[3] = uuidSeq[6]; + sequenceReference->fMs4[4] = uuidSeq[7]; + sequenceReference->fMs4[5] = uuidSeq[8]; + sequenceReference->fMs4[6] = uuidSeq[9]; + sequenceReference->fMs4[7] = uuidSeq[10]; return sequenceReference; } // @brief Tries to make a guid out of a string. // This function is not complete for now - auto try_guid_to_string(Ref& seq) -> ErrorOr> + auto cf_try_guid_to_string(Ref& seq) -> ErrorOr> { Char buf[kUUIDSize]; diff --git a/Kernel/Sources/PEFSharedObject.cxx b/Kernel/Sources/PEFSharedObject.cxx index a5928f1b..dccb9d12 100644 --- a/Kernel/Sources/PEFSharedObject.cxx +++ b/Kernel/Sources/PEFSharedObject.cxx @@ -18,66 +18,69 @@ Revision History: - 01/02/24: Rework shared library ABI, except a rt_library_init and - rt_library_free (amlel) 15/02/24: Breaking changes, changed the name of the + 01/02/24: Rework shared sharedObj ABI, except a rt_library_init and + rt_library_fini (amlel) 15/02/24: Breaking changes, changed the name of the routines. (amlel) + 07/28/24: Replace rt_library_free with rt_library_fini + ------------------------------------------- */ using namespace Kernel; /***********************************************************************************/ -/// @file SharedObjectRT.cxx -/// @brief Shared Object runtime. +/// @file PEFSharedObjectRT.cxx +/// @brief PEF's shared object runtime. /***********************************************************************************/ /***********************************************************************************/ -/* @brief Library runtime initializer. */ +/** @brief Library initializer. */ /***********************************************************************************/ EXTERN_C SharedObjectPtr rt_library_init(void) { - SharedObjectPtr library = tls_new_class(); + SharedObjectPtr sharedObj = tls_new_class(); - if (!library) + if (!sharedObj) { ProcessScheduler::The().Leak().TheCurrent().Leak().Crash(); return nullptr; } - library->Mount(tls_new_class()); + sharedObj->Mount(tls_new_class()); - if (!library->Get()) + if (!sharedObj->Get()) { ProcessScheduler::The().Leak().TheCurrent().Leak().Crash(); return nullptr; } - library->Get()->fImageObject = + sharedObj->Get()->fImageObject = ProcessScheduler::The().Leak().TheCurrent().Leak().Image; - if (!library->Get()->fImageObject) + if (!sharedObj->Get()->fImageObject) { ProcessScheduler::The().Leak().TheCurrent().Leak().Crash(); return nullptr; } - library->Get()->fImageEntrypointOffset = - library->Load(kPefStart, rt_string_len(kPefStart, 0), kPefCode); + sharedObj->Get()->fImageEntrypointOffset = + sharedObj->Load(kPefStart, rt_string_len(kPefStart, 0), kPefCode); - return library; + return sharedObj; } /***********************************************************************************/ -/* @brief Ends the library. */ -/* @note Please check if the lib got freed! */ -/* @param SharedObjectPtr the library to free. */ +/** @brief Frees the sharedObj. */ +/** @note Please check if the lib got freed! */ +/** @param lib The sharedObj to free. */ +/** @param successful Reports if successful or not. */ /***********************************************************************************/ -EXTERN_C Void rt_library_free(SharedObjectPtr lib, bool* successful) +EXTERN_C Void rt_library_fini(SharedObjectPtr lib, bool* successful) { MUST_PASS(successful); @@ -97,9 +100,10 @@ EXTERN_C Void rt_library_free(SharedObjectPtr lib, bool* successful) } /***********************************************************************************/ - /// @brief Unimplemented function (crashes by default) /// @param +/***********************************************************************************/ + EXTERN_C void __mh_purecall(void) { kcout << "newoskrnl: unimplemented symbol!\r"; diff --git a/Samples/SampleHAL/Main.c b/Samples/SampleHAL/Main.c index 6b54742f..9d1510ea 100644 --- a/Samples/SampleHAL/Main.c +++ b/Samples/SampleHAL/Main.c @@ -7,14 +7,14 @@ #include #include -int __ImageStart(void) +int __at_enter(void) { - kernelPrintStr("SampleDriver: Starting up...\r"); + kernelPrintStr("SampleHAL: Starting up...\r"); return 0; } -int __ImageEnd(void) +int __at_exit(void) { - kernelPrintStr("SampleDriver: Shutting down...\r"); + kernelPrintStr("SampleHAL: Shutting down...\r"); return 0; } -- cgit v1.2.3