From 0d0829659be019b3695795e1604d36591a3c3785 Mon Sep 17 00:00:00 2001 From: Amlal Date: Fri, 25 Oct 2024 21:08:49 +0200 Subject: Fixed bootloader makefile and moved CFKit into it's own namespace. Signed-off-by: Amlal --- dev/zba/BootKit/Support.h | 2 + dev/zba/amd64-efi.make | 2 +- dev/zba/src/Thread.cc | 4 +- dev/zka/CFKit/GUIDWizard.h | 6 ++- dev/zka/CFKit/GUIDWrapper.h | 6 ++- dev/zka/CFKit/LoaderUtils.h | 14 +++--- dev/zka/CFKit/Property.h | 17 +++++-- dev/zka/KernelKit/HardwareThreadScheduler.h | 6 +-- dev/zka/KernelKit/PCI/Iterator.h | 6 +-- dev/zka/NetworkKit/NetworkDevice.h | 11 +++-- dev/zka/NewKit/Defines.h | 8 +-- dev/zka/NewKit/Function.h | 6 +-- dev/zka/src/CRuntime.cc | 72 --------------------------- dev/zka/src/CRuntimeLibrary.cc | 75 +++++++++++++++++++++++++++++ dev/zka/src/GUIDWizard.cc | 4 +- dev/zka/src/GUIDWrapper.cc | 2 +- dev/zka/src/Property.cc | 4 +- 17 files changed, 131 insertions(+), 114 deletions(-) delete mode 100644 dev/zka/src/CRuntime.cc create mode 100644 dev/zka/src/CRuntimeLibrary.cc (limited to 'dev') diff --git a/dev/zba/BootKit/Support.h b/dev/zba/BootKit/Support.h index 99fe0cb0..a5061143 100644 --- a/dev/zba/BootKit/Support.h +++ b/dev/zba/BootKit/Support.h @@ -6,6 +6,8 @@ #pragma once +#include + /// @file Support.h /// @brief Purpose of this file is to help port libs into the bootloader. diff --git a/dev/zba/amd64-efi.make b/dev/zba/amd64-efi.make index aa071913..4c3e56dc 100644 --- a/dev/zba/amd64-efi.make +++ b/dev/zba/amd64-efi.make @@ -61,7 +61,7 @@ invalid-recipe: .PHONY: all all: compile-amd64 mkdir -p src/Root/EFI/BOOT - $(LD_GNU) $(OBJ) $(LD_FLAGS) -o src/$(BOOT_LOADER) + $(LD_GNU) $(OBJ) $(LD_FLAGS) -o src/$(BOOTLOADER) $(COPY) src/$(BOOTLOADER) src/Root/EFI/BOOT/BOOTX64.EFI $(COPY) src/$(BOOTLOADER) src/Root/EFI/BOOT/ZBAOSLDR.EFI $(COPY) ../zka/$(KERNEL) src/Root/$(KERNEL) diff --git a/dev/zba/src/Thread.cc b/dev/zba/src/Thread.cc index e1884dcb..d009a633 100644 --- a/dev/zba/src/Thread.cc +++ b/dev/zba/src/Thread.cc @@ -39,8 +39,8 @@ namespace Boot if (blob_bytes[0] == kMagMz0 && blob_bytes[1] == kMagMz1) { - LDR_EXEC_HEADER_PTR header_ptr = ldr_find_exec_header(blob_bytes); - LDR_OPTIONAL_HEADER_PTR opt_header_ptr = ldr_find_opt_exec_header(blob_bytes); + LDR_EXEC_HEADER_PTR header_ptr = CFKit::ldr_find_exec_header(blob_bytes); + LDR_OPTIONAL_HEADER_PTR opt_header_ptr = CFKit::ldr_find_opt_exec_header(blob_bytes); if (!header_ptr || !opt_header_ptr) return; diff --git a/dev/zka/CFKit/GUIDWizard.h b/dev/zka/CFKit/GUIDWizard.h index 74dab72b..4a41cf7f 100644 --- a/dev/zka/CFKit/GUIDWizard.h +++ b/dev/zka/CFKit/GUIDWizard.h @@ -15,8 +15,10 @@ #include #include -namespace Kernel::XRN::Version1 +namespace CFKit::XRN::Version1 { + using namespace Kernel; + Ref cf_make_sequence(const ArrayList& seq); ErrorOr> cf_try_guid_to_string(Ref& guid); -} // namespace Kernel::XRN::Version1 +} // namespace CFKit::XRN::Version1 diff --git a/dev/zka/CFKit/GUIDWrapper.h b/dev/zka/CFKit/GUIDWrapper.h index ee51e065..a3af5a0d 100644 --- a/dev/zka/CFKit/GUIDWrapper.h +++ b/dev/zka/CFKit/GUIDWrapper.h @@ -15,8 +15,10 @@ #define kXRNNil "@{........-....-M...-N...-............}" // eXtensible Resource Information -namespace Kernel::XRN +namespace CFKit::XRN { + using namespace Kernel; + union GUIDSequence { alignas(8) UShort u8[16]; alignas(8) UShort u16[8]; @@ -55,4 +57,4 @@ namespace Kernel::XRN private: GUIDSequence fUUID; }; -} // namespace Kernel::XRN +} // namespace CFKit::XRN diff --git a/dev/zka/CFKit/LoaderUtils.h b/dev/zka/CFKit/LoaderUtils.h index b438de2a..edaa38d0 100644 --- a/dev/zka/CFKit/LoaderUtils.h +++ b/dev/zka/CFKit/LoaderUtils.h @@ -4,9 +4,11 @@ #include #include -namespace Kernel +namespace CFKit { - /// @brief Find the PE header inside the blob. + using namespace Kernel; + + /// @brief Finds the PE header inside the blob. inline auto ldr_find_exec_header(DosHeaderPtr ptrDos) -> LDR_EXEC_HEADER_PTR { if (!ptrDos) @@ -21,7 +23,7 @@ namespace Kernel return (LDR_EXEC_HEADER_PTR)(VoidPtr)(&ptrDos->eLfanew + 1); } - /// @brief Find the PE optional header inside the blob. + /// @brief Finds the PE optional header inside the blob. inline auto ldr_find_opt_exec_header(DosHeaderPtr ptrDos) -> LDR_OPTIONAL_HEADER_PTR { if (!ptrDos) @@ -35,19 +37,19 @@ namespace Kernel return (LDR_OPTIONAL_HEADER_PTR)(VoidPtr)(&exec->mCharacteristics + 1); } - /// @brief Find the PE header inside the blob. + /// @brief Finds the PE header inside the blob. /// @note overloaded function. inline auto ldr_find_exec_header(const Char* ptrDos) -> LDR_EXEC_HEADER_PTR { return ldr_find_exec_header((DosHeaderPtr)ptrDos); } - /// @brief Find the PE header inside the blob. + /// @brief Finds the PE header inside the blob. /// @note overloaded function. inline auto ldr_find_opt_exec_header(const Char* ptrDos) -> LDR_OPTIONAL_HEADER_PTR { return ldr_find_opt_exec_header((DosHeaderPtr)ptrDos); } -} // namespace Kernel +} // namespace CFKit #endif // ifndef __CFKIT_LOADER_UTILS_H__ diff --git a/dev/zka/CFKit/Property.h b/dev/zka/CFKit/Property.h index 56829165..0628e1c2 100644 --- a/dev/zka/CFKit/Property.h +++ b/dev/zka/CFKit/Property.h @@ -4,8 +4,8 @@ ------------------------------------------- */ -#ifndef __INC_PROPS_HPP__ -#define __INC_PROPS_HPP__ +#ifndef __INC_PROPS_H__ +#define __INC_PROPS_H__ #include #include @@ -14,8 +14,10 @@ #define cMaxPropLen 4096 -namespace Kernel +namespace CFKit { + using namespace Kernel; + /// @brief handle to anything (number, ptr, string...) using PropertyId = UIntPtr; @@ -42,6 +44,11 @@ namespace Kernel template using PropertyArray = Array; -} // namespace Kernel +} // namespace CFKit + +namespace Kernel +{ + using namespace CFKit; +} -#endif // !__INC_PROPS_HPP__ +#endif // !__INC_PROPS_H__ diff --git a/dev/zka/KernelKit/HardwareThreadScheduler.h b/dev/zka/KernelKit/HardwareThreadScheduler.h index a11665cf..38672843 100644 --- a/dev/zka/KernelKit/HardwareThreadScheduler.h +++ b/dev/zka/KernelKit/HardwareThreadScheduler.h @@ -4,8 +4,8 @@ ------------------------------------------- */ -#ifndef __INC_MP_MANAGER_HPP__ -#define __INC_MP_MANAGER_HPP__ +#ifndef __INC_MP_MANAGER_H__ +#define __INC_MP_MANAGER_H__ #include #include @@ -146,4 +146,4 @@ namespace Kernel Void mp_hang_thread(HAL::StackFramePtr stack); } // namespace Kernel -#endif // !__INC_MP_MANAGER_HPP__ +#endif // !__INC_MP_MANAGER_H__ diff --git a/dev/zka/KernelKit/PCI/Iterator.h b/dev/zka/KernelKit/PCI/Iterator.h index 232a4671..8c20d8f2 100644 --- a/dev/zka/KernelKit/PCI/Iterator.h +++ b/dev/zka/KernelKit/PCI/Iterator.h @@ -4,8 +4,8 @@ ------------------------------------------- */ -#ifndef __PCI_ITERATOR_HPP__ -#define __PCI_ITERATOR_HPP__ +#ifndef __PCI_ITERATOR_H__ +#define __PCI_ITERATOR_H__ #include #include @@ -40,4 +40,4 @@ namespace Kernel::PCI }; } // namespace Kernel::PCI -#endif // __PCI_ITERATOR_HPP__ +#endif // __PCI_ITERATOR_H__ diff --git a/dev/zka/NetworkKit/NetworkDevice.h b/dev/zka/NetworkKit/NetworkDevice.h index 2692b14e..d043d0d2 100644 --- a/dev/zka/NetworkKit/NetworkDevice.h +++ b/dev/zka/NetworkKit/NetworkDevice.h @@ -4,8 +4,8 @@ ------------------------------------------- */ -#ifndef __INC_NETWORK_DEVICE_HPP__ -#define __INC_NETWORK_DEVICE_HPP__ +#ifndef __INC_NETWORK_DEVICE_H__ +#define __INC_NETWORK_DEVICE_H__ #include #include @@ -35,7 +35,7 @@ namespace Kernel public: const Char* Name() const override; - Boolean Name(const Char* strView); + Boolean Name(const Char* newStr); private: static constexpr auto cNetworkNameLen = 512; @@ -71,10 +71,13 @@ namespace Kernel /// @brief GSM device. using GSMNetworkDevice = NetworkDevice; + /// @brief Bluetooth device. + using BTNetworkDevice = NetworkDevice; + /// @brief LTE device. using LTENetworkDevice = NetworkDevice; } // namespace Kernel #include -#endif // !__INC_NETWORK_DEVICE_HPP__ +#endif // !__INC_NETWORK_DEVICE_H__ diff --git a/dev/zka/NewKit/Defines.h b/dev/zka/NewKit/Defines.h index f1a82e99..83cc7338 100644 --- a/dev/zka/NewKit/Defines.h +++ b/dev/zka/NewKit/Defines.h @@ -8,12 +8,8 @@ #include -#define NEWKIT_VERSION "1.01" -#define NEWKIT_VERSION_CB 0x0101 - -#if !defined(_INC_NO_STDC_HEADERS) && defined(__GNUC__) -#include -#endif +#define NEWKIT_VERSION "1.1.0" +#define NEWKIT_VERSION_CB 0x01100 #ifdef __has_feature #if !__has_feature(cxx_nullptr) diff --git a/dev/zka/NewKit/Function.h b/dev/zka/NewKit/Function.h index ae298db5..9fa218af 100644 --- a/dev/zka/NewKit/Function.h +++ b/dev/zka/NewKit/Function.h @@ -1,5 +1,5 @@ -#ifndef _INC_FUNCTION_HPP__ -#define _INC_FUNCTION_HPP__ +#ifndef _INC_FUNCTION_H__ +#define _INC_FUNCTION_H__ #include @@ -50,4 +50,4 @@ namespace Kernel }; } // namespace Kernel -#endif // !_INC_FUNCTION_HPP__ +#endif // !_INC_FUNCTION_H__ diff --git a/dev/zka/src/CRuntime.cc b/dev/zka/src/CRuntime.cc deleted file mode 100644 index 10d47a8d..00000000 --- a/dev/zka/src/CRuntime.cc +++ /dev/null @@ -1,72 +0,0 @@ -/* ------------------------------------------- - - Copyright ZKA Web Services Co. - -------------------------------------------- */ - -#include - -using namespace Kernel; - -/// @brief memset definition in C++. -/// @param dst destination pointer. -/// @param byte value to fill in. -/// @param len length of of src. -EXTERN_C VoidPtr memset(void* dst, int byte, long long unsigned int len) -{ - for (size_t i = 0UL; i < len; ++i) - { - ((int*)dst)[i] = byte; - } - - return dst; -} - -/// @brief memcpy definition in C++. -/// @param dst destination pointer. -/// @param src source pointer. -/// @param len length of of src. -EXTERN_C VoidPtr memcpy(void* dst, const void* src, long long unsigned int len) -{ - for (size_t i = 0UL; i < len; ++i) - { - ((int*)dst)[i] = ((int*)src)[i]; - } - - return dst; -} - -/// @brief strlen definition in C++. -EXTERN_C size_t strlen(const char* whatToCheck) -{ - if (!whatToCheck) - return 0; - - SizeT len = 0; - - while (whatToCheck[len] != 0) - { - ++len; - } - - return len; -} - -/// @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]) - { - if (whatToCheck[len] == 0) - return 0; - - ++len; - } - - return len; -} diff --git a/dev/zka/src/CRuntimeLibrary.cc b/dev/zka/src/CRuntimeLibrary.cc new file mode 100644 index 00000000..efdc4b33 --- /dev/null +++ b/dev/zka/src/CRuntimeLibrary.cc @@ -0,0 +1,75 @@ +/* ------------------------------------------- + + Copyright ZKA Web Services Co. + +------------------------------------------- */ + +#include + +#include +#include + +using namespace Kernel; + +/// @brief memset definition in C++. +/// @param dst destination pointer. +/// @param byte value to fill in. +/// @param len length of of src. +EXTERN_C VoidPtr memset(void* dst, int byte, long long unsigned int len) +{ + for (size_t i = 0UL; i < len; ++i) + { + ((int*)dst)[i] = byte; + } + + return dst; +} + +/// @brief memcpy definition in C++. +/// @param dst destination pointer. +/// @param src source pointer. +/// @param len length of of src. +EXTERN_C VoidPtr memcpy(void* dst, const void* src, long long unsigned int len) +{ + for (size_t i = 0UL; i < len; ++i) + { + ((int*)dst)[i] = ((int*)src)[i]; + } + + return dst; +} + +/// @brief strlen definition in C++. +EXTERN_C size_t strlen(const char* whatToCheck) +{ + if (!whatToCheck) + return 0; + + SizeT len = 0; + + while (whatToCheck[len] != 0) + { + ++len; + } + + return len; +} + +/// @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]) + { + if (whatToCheck[len] == 0) + return 0; + + ++len; + } + + return len; +} diff --git a/dev/zka/src/GUIDWizard.cc b/dev/zka/src/GUIDWizard.cc index 77635979..a904696f 100644 --- a/dev/zka/src/GUIDWizard.cc +++ b/dev/zka/src/GUIDWizard.cc @@ -17,7 +17,7 @@ // @brief Size of UUID. #define kUUIDSize 37 -namespace Kernel::XRN::Version1 +namespace CFKit::XRN::Version1 { auto cf_make_sequence(const ArrayList& uuidSeq) -> Ref { @@ -69,4 +69,4 @@ namespace Kernel::XRN::Version1 return ErrorOr>{-1}; } -} // namespace Kernel::XRN::Version1 +} // namespace CFKit::XRN::Version1 diff --git a/dev/zka/src/GUIDWrapper.cc b/dev/zka/src/GUIDWrapper.cc index 53d983a1..9cb3c6fd 100644 --- a/dev/zka/src/GUIDWrapper.cc +++ b/dev/zka/src/GUIDWrapper.cc @@ -6,6 +6,6 @@ #include -namespace Kernel::XRN +namespace CFKit::XRN { } diff --git a/dev/zka/src/Property.cc b/dev/zka/src/Property.cc index 084616a4..9ee17b74 100644 --- a/dev/zka/src/Property.cc +++ b/dev/zka/src/Property.cc @@ -6,7 +6,7 @@ #include -namespace Kernel +namespace CFKit { Property::~Property() = default; @@ -24,4 +24,4 @@ namespace Kernel { return fAction; } -} // namespace Kernel +} // namespace CFKit -- cgit v1.2.3