Commit Graph

73 Commits

Author SHA1 Message Date
566b35f4d5 Big code refactor, get rid of HAL entirely 2025-11-11 21:26:27 +01:00
344952fb5f Move string functions/utils from HAL to std/string 2025-11-11 19:54:09 +01:00
e4a5c07b3d Change proc state under held spinlock 2025-11-08 21:40:15 +01:00
e0162e9e0b Add dev_delhandle() syscall to delete a device handle from process resources 2025-11-08 16:24:04 +01:00
88ac5cf877 New syscalls vfsavailmounts() and vfsmountstat() to get info about current VFS mountpoints 2025-11-04 00:24:58 +01:00
9612e7961e No networking for now 2025-11-02 18:31:51 +01:00
0f93aa2a81 Implement schedsleep() syscall to sleep a process for a given time 2025-11-02 16:46:37 +01:00
d947192475 Make socket port binding a separate step with ipc_netsockbindport() syscall 2025-10-29 22:33:41 +01:00
4417141216 Implement ipc_netsockdelete() syscall and automatic dangling socket cleanup 2025-10-29 21:21:35 +01:00
815c2239fe Porting PicoTCP WIP 2025-10-29 14:29:06 +01:00
0e0bff4888 Use implicitly passed _caller_pid in syscalls 2025-10-18 12:20:43 +02:00
a5fe64b253 Pass implicit PID into syscalls 2025-10-18 12:10:59 +02:00
1a2962de80 Track process uptime 2025-10-16 15:45:36 +02:00
702f0ddf87 Add time() syscall 2025-10-16 14:15:05 +02:00
48231931bd Improve ipcpipe locking 2025-10-15 23:26:14 +02:00
ac6ebce112 Add fs_delete() syscall 2025-10-15 20:10:26 +02:00
fa6c194163 Break devctl() up into smaller syscalls 2025-10-14 21:35:10 +02:00
0c3250e8d6 Remove/fix unused stuff and other warnings 2025-10-14 20:20:41 +02:00
01b37e41c2 Remove vobjcnt field of Proc 2025-10-14 20:07:42 +02:00
406434fed0 Break ioctl() up into smaller syscalls 2025-10-14 20:05:41 +02:00
c34a253d11 Split processctl() syscall into multiple smaller ones 2025-10-14 16:37:36 +02:00
8aec45316c Remove sysdefs/ipcpipe.h 2025-10-14 08:15:07 +02:00
9108299c31 Migrate off the big ipcpipe() syscall 2025-10-14 08:12:04 +02:00
25cb309105 Implement an ATA driver, Add vfsmount/vfsunmount syscalls 2025-10-14 00:39:59 +02:00
ee93463c64 Add rand() syscall 2025-10-11 21:54:06 +02:00
6b0e05e506 Expose storedevs to the outside world via dev interface 2025-10-11 02:35:15 +02:00
0ac80c76b0 devctl commands for getting device info 2025-10-08 19:32:37 +02:00
acbf051dbc New rewritten serial driver + dev interface 2025-10-04 21:31:45 +02:00
0117080b61 Remove bcast pipes 2025-10-04 14:43:24 +02:00
26517e8e28 ioctl() IOCTL_MKDIR command, vfs_mkdir() 2025-10-04 01:38:41 +02:00
b72f3ee00d fix schedrelease() syscall 2025-10-04 01:12:03 +02:00
04a4b1395c Store devices as a hashtable 2025-10-03 23:47:58 +02:00
20b4545cae Fix minor warnings 2025-10-03 22:41:38 +02:00
57ba9ff126 Store device structs in a dynamic list 2025-10-03 22:25:16 +02:00
c30d2d2ea6 Remove conversions between VfsStat struct and IoctlStat struct 2025-10-03 19:55:14 +02:00
443cf0e4ff Fetching directory entries 2025-10-03 19:50:10 +02:00
de20efa0f3 vfs Rewrite IOCTL_STAT so that it doesnt require an already open handle 2025-10-03 01:00:09 +02:00
2cfd3ee2fa ioctl() IOCTL_STAT use path instead of already open io handle 2025-10-02 23:57:38 +02:00
0e4a35eb86 ipcpipe Add pipe ownership guards 2025-10-01 19:57:09 +02:00
4e8afae5fb all procs are user procs 2025-09-29 21:32:07 +02:00
d7562b98c1 Rewrite PS2KB using the new devctl interface 2025-09-28 23:25:43 +02:00
3b1bb9d531 WIP 2 2025-09-27 15:16:26 +02:00
397379bca3 Rework requesting process arguments 2025-09-21 22:50:39 +02:00
475f77d30f Rewrite LL_* (link list) macros 2025-09-21 18:32:22 +02:00
3f0231be3f tb Don't schedrelease() when reading in-pipe 2025-09-20 10:38:36 +02:00
a1b3d4efa4 TODO figure out why schedrelease() messes with terminal proc's ring buffer 2025-09-20 01:19:20 +02:00
dcc68154b2 Make syscalls accept their interrupt frame, remove useless intr_eoi() param 2025-09-20 00:28:28 +02:00
81dc694a23 schedrelease() don't schedule if current interrupt frame is NULL 2025-09-19 23:48:30 +02:00
1b5701a659 schedrelease() syscall for more efficient spinning 2025-09-19 23:38:08 +02:00
2c0d50a401 pctl Display memory usage and process state 2025-09-19 22:38:39 +02:00