From 09dd11ddf800898c00ecb04a65fb5cd10fb481fa Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Wed, 8 May 2024 12:32:41 +0200 Subject: MHR-23: :boom: changes, reworked project tree. Signed-off-by: Amlal El Mahrouss --- NewKernel/ArchKit/ArchKit.hpp | 50 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 NewKernel/ArchKit/ArchKit.hpp (limited to 'NewKernel/ArchKit/ArchKit.hpp') diff --git a/NewKernel/ArchKit/ArchKit.hpp b/NewKernel/ArchKit/ArchKit.hpp new file mode 100644 index 00000000..be155385 --- /dev/null +++ b/NewKernel/ArchKit/ArchKit.hpp @@ -0,0 +1,50 @@ +/* ------------------------------------------- + + Copyright Mahrouss Logic + +------------------------------------------- */ + +#pragma once + +#include +#include +#include + +#ifdef __NEWOS_AMD64__ +#include +#include +#include +#elif defined(__NEWOS_PPC__) +#include +#else +#error Unknown architecture +#endif + +namespace NewOS +{ + constexpr static inline SSizeT rt_hash_seed(const char* seed, int mul) + { + SSizeT hash = 0; + + for (SSizeT idx = 0; seed[idx] != 0; ++idx) + { + hash += seed[idx]; + hash ^= mul; + } + + return hash; + } +} // namespace NewOS + +#define kKernelMaxSystemCalls (256) + +typedef NewOS::Void (*rt_syscall_proc)(NewOS::HAL::StackFramePtr); + +extern NewOS::Array + kSyscalls; + +EXTERN_C NewOS::HAL::StackFramePtr rt_get_current_context(); +EXTERN_C NewOS::Void rt_do_context_switch(NewOS::HAL::StackFramePtr stackFrame); + +#include -- cgit v1.2.3