From 03220c04e11c53981b982219d6ed992be692df14 Mon Sep 17 00:00:00 2001 From: Adrien Bourmault Date: Fri, 26 Feb 2021 13:58:45 +0100 Subject: [PATCH] You can trigger dummy syscalls --- kaleid/kernel/init/init.c | 2 -- kaleid/kernel/sh/testcmds.c | 16 ++++++++++++++++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/kaleid/kernel/init/init.c b/kaleid/kernel/init/init.c index 64da313..f90b1ea 100644 --- a/kaleid/kernel/init/init.c +++ b/kaleid/kernel/init/init.c @@ -99,8 +99,6 @@ noreturn void BtStartKern(multiboot_info_t *mbInfo, uint mbMagic, void *codeSeg) "This program comes with ABSOLUTELY NO WARRANTY.\n" "This is free software, type `ver' for details.\n"); - interrupt(0x80); - ShStartShell(); //KeCrashSystem(); diff --git a/kaleid/kernel/sh/testcmds.c b/kaleid/kernel/sh/testcmds.c index 7a19e3b..de24431 100644 --- a/kaleid/kernel/sh/testcmds.c +++ b/kaleid/kernel/sh/testcmds.c @@ -312,6 +312,20 @@ error_t CmdTimerTest(int argc, char **argv, char *cmdline) return EOK; } +error_t CmdSyscallTest(int argc, char **argv, char *cmdline) +{ + interrupt(0x80); + + return EOK; +} + +error_t CmdRing3Test(int argc, char **argv, char *cmdline) +{ + // TODO + + return EOK; +} + static Command_t testcmdtable[] = { { "args", CmdArgs, "Print command line" }, @@ -330,9 +344,11 @@ static Command_t testcmdtable[] = { "pfree", CmdPageFree, "Free a page block of id x" }, { "pf", CmdPF, "Provoke a PF. Usage: pfault
"}, { "ps", CmdPS, "Scheduler algorithm test" }, + { "ring3", CmdRing3Test, "Jump to a userspace function" }, { "shell", CmdShell, "Start a new shell (nested)", }, { "stkov", CmdStackOverflow, "Provoke a stack overflow" }, { "stkun", CmdStackUnderflow, "Provoke a stack underflow" }, + { "syscall", CmdSyscallTest, "Trigger a system call" }, { "timer", CmdTimerTest, "test timer of x ms" }, { NULL, NULL, NULL } };