summaryrefslogtreecommitdiff
path: root/src/user
diff options
context:
space:
mode:
authorRichard Qin <richard.qin.x@gmail.com>2026-04-14 22:47:15 +0800
committerRichard Qin <richard.qin.x@gmail.com>2026-04-14 22:47:15 +0800
commitac9741e12222e72bad3414bc6f588e70a3d130cc (patch)
tree6aace9f63a2ea54c7c3fd1e49e98ff81b638296f /src/user
parent1e862099a13266da57ff7c6de11c1a11c42a8112 (diff)
downloadlume-ac9741e12222e72bad3414bc6f588e70a3d130cc.tar.gz
lume-ac9741e12222e72bad3414bc6f588e70a3d130cc.tar.xz
feat: implement FDT-based memory discovery and add comprehensive debug logging to exec syscalls
Diffstat (limited to 'src/user')
-rw-r--r--src/user/init.cc2
-rw-r--r--src/user/sh.cc6
-rw-r--r--src/user/usys.S57
3 files changed, 29 insertions, 36 deletions
diff --git a/src/user/init.cc b/src/user/init.cc
index f1a6e29..376e697 100644
--- a/src/user/init.cc
+++ b/src/user/init.cc
@@ -12,7 +12,7 @@ int main()
{
char *argv[] = {(char *)"sh", 0};
- printf(ANSI_BLUE"\n[Init] Starting Lume OS Shell..."ANSI_RESET);
+ printf(ANSI_BLUE "\n[Init] Starting Lume OS Shell..." ANSI_RESET);
printf("\n");
while (1)
diff --git a/src/user/sh.cc b/src/user/sh.cc
index 1bf9ebb..47aad9e 100644
--- a/src/user/sh.cc
+++ b/src/user/sh.cc
@@ -368,8 +368,8 @@ int main()
static char buf[100];
- printf(ANSI_GREEN"\n[Lume Shell] Welcome! \n"ANSI_RESET);
- printf(ANSI_YELLOW "[Lume Shell] Start your journey of exploration!"ANSI_RESET);
+ printf(ANSI_GREEN "\n[Lume Shell] Welcome! \n" ANSI_RESET);
+ printf(ANSI_YELLOW "[Lume Shell] Start your journey of exploration!" ANSI_RESET);
printf("\n");
while (getcmd(buf, sizeof(buf)) >= 0)
@@ -400,7 +400,7 @@ int main()
}
if (strcmp(buf, "shutdown") == 0 || strcmp(buf, "poweroff") == 0)
{
- printf(ANSI_BLUE"System shutting down..."ANSI_RESET);
+ printf(ANSI_BLUE "System shutting down..." ANSI_RESET);
printf("\n");
shutdown();
diff --git a/src/user/usys.S b/src/user/usys.S
index 885d45c..1e373d3 100644
--- a/src/user/usys.S
+++ b/src/user/usys.S
@@ -3,13 +3,6 @@
#include "kernel/syscall.h"
-#define SYSCALL(name) \
- .global name; \
- name: \
- li a7, SYS_ ## name; \
- ecall; \
- ret
-
#define SYSCALL_NAME(name, sysname) \
.global name; \
name: \
@@ -17,29 +10,29 @@
ecall; \
ret
-SYSCALL_NAME(sys_exit, exit)
+SYSCALL_NAME(sys_openat, openat)
+SYSCALL_NAME(sys_mknodat, mknodat)
+SYSCALL_NAME(sys_mkdirat, mkdirat)
+SYSCALL_NAME(sys_unlinkat, unlinkat)
+SYSCALL_NAME(sys_linkat, linkat)
+SYSCALL_NAME(sys_chdir, chdir)
+SYSCALL_NAME(sys_dup, dup)
+SYSCALL_NAME(sys_fstat, fstat)
+SYSCALL_NAME(sys_read, read)
+SYSCALL_NAME(sys_write, write)
+SYSCALL_NAME(sys_close, close)
+SYSCALL_NAME(sys_pipe2, pipe2)
+SYSCALL_NAME(sys_clone, clone)
+SYSCALL_NAME(sys_execve, execve)
+SYSCALL_NAME(sys_wait4, wait4)
+SYSCALL_NAME(sys_exit, exit)
+SYSCALL_NAME(sys_getpid, getpid)
+SYSCALL_NAME(sys_brk, brk)
+SYSCALL_NAME(sys_kill, kill)
+SYSCALL_NAME(sys_nanosleep, nanosleep)
+SYSCALL_NAME(sys_reboot, reboot)
+SYSCALL_NAME(sys_lseek, lseek)
-SYSCALL(fork)
-SYSCALL(wait)
-SYSCALL(pipe)
-SYSCALL(read)
-SYSCALL(write)
-SYSCALL(close)
-SYSCALL(kill)
-SYSCALL(exec)
-SYSCALL(open)
-SYSCALL(mknod)
-SYSCALL(unlink)
-SYSCALL(fstat)
-SYSCALL(link)
-SYSCALL(mkdir)
-SYSCALL(chdir)
-SYSCALL(dup)
-SYSCALL(getpid)
-SYSCALL(sbrk)
-SYSCALL(sleep)
-SYSCALL(uptime)
-SYSCALL(putc)
-SYSCALL(disk_test)
-SYSCALL(lseek)
-SYSCALL(shutdown) \ No newline at end of file
+# === Custom / Debug Syscalls ===
+SYSCALL_NAME(sys_putc, putc)
+SYSCALL_NAME(sys_disk_test, disk_test) \ No newline at end of file