From 67a359d8c4b9f5cb3d2e1fb9602ebe5dfd3978cf Mon Sep 17 00:00:00 2001 From: dzwdz Date: Fri, 23 Jul 2021 14:08:44 +0200 Subject: add a barebones exit() syscall --- src/init/main.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'src/init') diff --git a/src/init/main.c b/src/init/main.c index 33a4372..84475da 100644 --- a/src/init/main.c +++ b/src/init/main.c @@ -4,6 +4,11 @@ int _syscall(int, int, int, int); +void exit(const char *msg, size_t len) { + _syscall(SC_EXIT, (void*)msg, len, 0); + __builtin_unreachable(); +} + int debuglog(const char *msg, size_t len) { return _syscall(SC_DEBUGLOG, (void*)msg, len, 0); } @@ -13,7 +18,6 @@ int main() { debuglog("hello from init! ", sizeof("hello from init! ") - 1); - // try to mess with kernel memory - uint8_t *kernel = (void*) 0x100000; - *kernel = 0; // should segfault + exit( "bye from init! ", + sizeof("bye from init! ") - 1); } -- cgit v1.2.3