Commit graph

19 commits

Author SHA1 Message Date
Toby Jaffey
e07eeab043 Make yield a regular syscall taking an argument.
Allows "wait for interrupt"/"wait for event" type operation where VM code blocks until the host has something for it.
2025-12-10 10:35:18 +00:00
Toby Jaffey
9baedb42e8 Add a stack canary, setup on boot 2025-12-10 01:00:36 +00:00
Toby Jaffey
9596838a4b Recursive maze demo, causes big stack usage 2025-12-09 23:29:16 +00:00
Toby Jaffey
428bd7cc6b Use signal, for linux 2025-12-09 22:20:11 +00:00
Toby Jaffey
76fba39a21 Rework syscall ABI.
Syscalls now accept two parameters, allowing for things like "int count = read(buf, len)"
Rather than providing safe signatures for syscalls, the user is now given helper functions to safely parse incoming values, c-strings and slices.
2025-12-09 21:51:35 +00:00
Toby Jaffey
941cd141f4 Cleanup terminal on ctrl-c 2025-12-09 09:49:30 +00:00
Toby Jaffey
7b7b08e626 Show cursor on exit 2025-12-09 01:18:14 +00:00
Toby Jaffey
71db6d1dea Reset terminal back to original state on exit 2025-12-09 00:50:30 +00:00
Toby Jaffey
de689bdeaf Resume after hang (with warning) 2025-12-08 21:19:59 +00:00
Toby Jaffey
6735b159ac Make syscall names closer to libc 2025-12-08 16:28:00 +00:00
Toby Jaffey
c691c3ebdf Fix overly long event name 2025-12-08 13:04:05 +00:00
Toby Jaffey
9d6e6790e1 Cleanup syscall numbers 2025-12-08 12:53:33 +00:00
Toby Jaffey
61fe0e8647 Rename ioreq to syscall 2025-12-08 12:26:47 +00:00
Toby Jaffey
43bba100c1 Fix missing header on linux 2025-12-08 10:22:08 +00:00
Toby Jaffey
751f068486 Rework host/target interface to use ecall and proper syscalls instead of CSRs 2025-12-08 02:44:38 +00:00
Toby Jaffey
a305fce466 zigtris is > 16KB, so use 32KB for default host. 2025-12-07 21:12:48 +00:00
Toby Jaffey
cd95e63af5 Flush output regularly, don't wait for keyboard. 2025-12-07 20:58:32 +00:00
Toby Jaffey
9e6f6c5a67 Added IOREQ_MILLIS and IOREQ_GETC to get current time and poll keyboard.
IOREQ_GETC implemented inefficiently, but is fine for demo purposes.
2025-12-07 20:29:10 +00:00
Toby Jaffey
3e4c87fa1d Rename emulator to host, for clarity 2025-12-06 22:37:10 +00:00