Toby Jaffey
9baedb42e8
Add a stack canary, setup on boot
2025-12-10 01:00:36 +00:00
Toby Jaffey
ac554865a6
Make ROM const
2025-12-09 22:08:53 +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
8c11b45670
Move CPU core out of RAM. This limits possibilities for self-modifying code hacks, but is cleaner/safer.
2025-12-09 10:46:29 +00:00
Toby Jaffey
9be9e056cd
Use internal memcpy/memset
2025-12-08 23:48:50 +00:00
Toby Jaffey
ee2ba56423
Add cmdline option to host <file.bin> [max_instrs_to_run], to set instruction meter.
...
Allow a host to continue after a hung error, if it wants to.
So, a program with while(1) {} can be run indefinitely.
2025-12-08 20:36:00 +00:00
Toby Jaffey
c691c3ebdf
Fix overly long event name
2025-12-08 13:04:05 +00:00
Toby Jaffey
a3c8b7584d
Remove debug
2025-12-08 12:54:30 +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
f6cd790fcb
ABI info
2025-12-08 07:31:21 +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
af3b48cb01
Fix comment, uvm32_reset() doesn't exist
2025-12-07 13:13:36 +00:00
Toby Jaffey
f235265e3f
Set stack pointer to before core registers in RAM
2025-12-07 00:59:35 +00:00
Toby Jaffey
047c9e3853
Move error strings out of header, to prevent unused warning
2025-12-06 21:35:00 +00:00
Toby Jaffey
c9d30b6d28
uvm32 initial version
2025-12-06 16:44:23 +00:00