diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2026-03-15 13:12:19 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-03-15 13:12:19 +0100 |
| commit | f2da24874369c5a0e8937e848a86d74f2ac564ba (patch) | |
| tree | cea6ca62870c3db390902a21543a99b31caa4170 /src/launch | |
| parent | 984e7503e0c7605f60dac3e8d2de40d3fdf36eae (diff) | |
| parent | f58844c6bb8e6c979347050782068bdfe58089d3 (diff) | |
Merge pull request #139 from ne-foss-org/pthread-system
[FEAT] Pthread system
Diffstat (limited to 'src/launch')
| -rw-r--r-- | src/launch/.launch_manifest | 4 | ||||
| -rw-r--r-- | src/launch/src/CRuntimeZero.S | 18 | ||||
| -rw-r--r-- | src/launch/src/RuntimeMain.cpp | 4 |
3 files changed, 22 insertions, 4 deletions
diff --git a/src/launch/.launch_manifest b/src/launch/.launch_manifest new file mode 100644 index 00000000..201b1f61 --- /dev/null +++ b/src/launch/.launch_manifest @@ -0,0 +1,4 @@ +[Launch] +RunAsRoot=YES +# NOTE: This has to be generated and passed here to enable all-trustee permissions. +RootKey= diff --git a/src/launch/src/CRuntimeZero.S b/src/launch/src/CRuntimeZero.S index 7dd283c9..1e5e2cbb 100644 --- a/src/launch/src/CRuntimeZero.S +++ b/src/launch/src/CRuntimeZero.S @@ -20,7 +20,21 @@ _NeMain: callq launch_startup_fn movq %rcx, 0 - callq ThrExitMainThread - popq %rbp + +.data +.global _ProgramData +_ProgramData: + //;; ident + .word 0xffeecc + //;; version + .word 0x0110 + //;; kind: 0x0 = LaunchSystem + .word 0x0 + //;; flags + .word 0x0 + //;; Launcher name + .asciz "NeKernel Launcher" + + diff --git a/src/launch/src/RuntimeMain.cpp b/src/launch/src/RuntimeMain.cpp index 3216dad0..833a2f55 100644 --- a/src/launch/src/RuntimeMain.cpp +++ b/src/launch/src/RuntimeMain.cpp @@ -12,13 +12,13 @@ IMPORT_C SInt32 launch_startup_fn(Void) { /// Start LaunchHelpers.fwrk services, and make the launcher manageable too (via mgmt.launch) UInt32* ret = - static_cast<UInt32*>(libsys_syscall_arg_1(libsys_hash_64("__launch_register_service"))); + static_cast<UInt32*>(libsys_syscall_arg_1(libsys_hash_64("__launch_register_service"))); // Register service based on program data. if (ret) { switch (*ret) { case kErrorSuccess: { ret = - static_cast<UInt32*>(libsys_syscall_arg_1(libsys_hash_64("__launch_listen_as_super"))); + static_cast<UInt32*>(libsys_syscall_arg_1(libsys_hash_64("__launch_attach_service"))); // Attach this program as the service process. return *ret; } default: |
