summaryrefslogtreecommitdiffhomepage
path: root/Private/KernelKit/CodeManager.hpp
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@el-mahrouss-logic.com>2024-03-29 23:10:36 +0100
committerAmlal El Mahrouss <amlal@el-mahrouss-logic.com>2024-03-29 23:14:16 +0100
commit995e1580f9291c5b8e95687c59b95e561c0c4569 (patch)
tree50616d08887f2ca193683ff188ca952a0bb0ce3e /Private/KernelKit/CodeManager.hpp
parent43ae417266c3127bbae35527c95c26e01ed50bd9 (diff)
Kernel: See below.
- Fix ACPI. - Parsing SDT correctly now. - Fix ke_runtime_check line endings. - Update Kernel heap magic and add padding to header. - Document Code Manager add limit for process teams. - Add execute_from_image for Code Manager. - Add loop for scheduler inside RuntimeMain. - Set SMP core to 4 for testing purposes. - Check for ACPI 2.x+ Signed-off-by: Amlal El Mahrouss <amlal@el-mahrouss-logic.com>
Diffstat (limited to 'Private/KernelKit/CodeManager.hpp')
-rw-r--r--Private/KernelKit/CodeManager.hpp17
1 files changed, 8 insertions, 9 deletions
diff --git a/Private/KernelKit/CodeManager.hpp b/Private/KernelKit/CodeManager.hpp
index 5b06e4a4..adb37ff0 100644
--- a/Private/KernelKit/CodeManager.hpp
+++ b/Private/KernelKit/CodeManager.hpp
@@ -21,13 +21,12 @@
#define kUPPNameLen 64
namespace NewOS {
-/// \brief Much like Mac OS's UPP.
-/// This is read-only by design.
-/// It handles different kind of code.
-/// ARM <-> AMD64 for example.
-typedef struct UniversalProcedureTable final {
- const Char NAME[kUPPNameLen];
- const VoidPtr TRAP;
- const SizeT ARCH;
-} PACKED UniversalProcedureTableType;
+/// @brief Main process entrypoint.
+typedef void (*MainKind)(void);
+
+/// @brief Executes a new process from memory.
+/// @param main
+/// @param processName
+/// @return
+bool execute_from_image(MainKind main, const char* processName);
} // namespace NewOS \ No newline at end of file