Commit Graph

303 Commits

Author SHA1 Message Date
8infy 7136e96fdb spinlock: introduce helpers that clear & restore interrupts
These are just wrappers around acquire/release that clear and restore
interrupts respectively.
2024-09-01 23:12:44 +03:00
8infy f93470be2a mutex: introduce a MUTEX_ACQUIRE_TIMED helper
This is just based on the previously added semaphore_timedwait.
2024-09-01 19:40:21 +03:00
8infy 7e3922c7ad semaphore: add a new semaphore_timedwait helper
This is the same as semaphore_wait except it allows for the acquire
attempt to time out after a given period of time.
2024-09-01 19:39:25 +03:00
8infy 0854d08020 interrupt: add a new 'priv' field
This field is needed for interrupt handlers that need context in order
to know what to do.
2024-09-01 19:37:22 +03:00
8infy 6154318ab3 kernel: add a helper to retrieve the bsp CPU
This is useful to be able to e.g. set affinity for the BSP CPU.
2024-09-01 19:37:09 +03:00
Matheus fc09d39895 jobctl: allow tty stealing 2024-08-28 20:26:43 -03:00
Matheus 62d0cd1706 auth: AUTH_ACTIONS_FILESYSTEM_RENAME 2024-08-27 22:20:22 -03:00
Matheus ba6506b9d7 auth: filesystem unlink action check + add parent vnode to auth_filesystem_check 2024-08-27 21:46:33 -03:00
Matheus 284d91f6e7 hda: add missing header to fix compilation 2024-08-27 21:02:26 -03:00
Matheus f55b51a06d vfs: finish new locking scheme 2024-08-27 21:02:12 -03:00
Matheus 76c74cfca1 vfs: change VOP_UNLINK parameters, more fixes 2024-08-26 22:41:01 -03:00
Matheus 42bda0bf92 vfs: redo locking 2024-08-26 21:47:23 -03:00
Matheus da150523ba vfs: leave handling of VOP_LOCK and VOP_UNLOCK to each filesystem 2024-08-26 18:45:17 -03:00
Matheus 84c47f07c9 auth: signals 2024-08-26 17:45:05 -03:00
Matheus fdcda428f9 cred: setuid, setgid, seteuid, setegid and auth check 2024-08-25 16:08:06 -03:00
Matheus 914e075397 localsock: check for file permissions 2024-08-25 11:29:55 -03:00
Matheus 193f5b49b9 mount: call into auth 2024-08-24 22:56:22 -03:00
Matheus 7afed7daee sethostname: do auth check 2024-08-24 22:34:26 -03:00
Matheus 4308317ea5 execve: SUID and SGID 2024-08-24 21:53:05 -03:00
Matheus cd51d4eaf0 auth: chroot 2024-08-24 21:52:44 -03:00
Matheus 806fa3a333 devfs: take cred struct in devfs_register 2024-08-24 21:51:55 -03:00
Matheus 357f5c65cf vfs: access check on vfs_lookup 2024-08-24 20:21:42 -03:00
Matheus 4d51507953 auth: initial implementation + some filesystem checks 2024-08-24 20:01:01 -03:00
Matheus dd75dc2d87 vmm: vmm_changemmuflags 2024-08-21 21:33:29 -03:00
Matheus 2550f167d4 vfs: fix include 2024-08-17 15:24:28 -03:00
Matheus da9c40b054 cred: setting and getting ids 2024-08-16 20:02:12 -03:00
Matheus 227b390f30 pipefs: named pipe support 2024-08-11 14:46:16 -03:00
Matheus b6ed9c1bac syscalls: mknodat 2024-08-11 14:45:10 -03:00
Matheus a24be5cbc5 fs: binding of pipes to vnodes 2024-08-11 13:06:46 -03:00
Matheus f02a63473f pipefs: prepare pipefs_open for named pipe support 2024-08-11 12:25:17 -03:00
Matheus ca2ad66dc6 block: read page by page rather than block by block 2024-08-10 22:43:09 -03:00
Matheus d447751c30 vmm: properly handle direct physical mapping unmap 2024-07-30 20:49:38 -03:00
Matheus 5c83db1580 x86_64 pci: fix msi message format 2024-07-27 23:58:33 -03:00
Matheus f3e09527c9 vmmcache: pushpage 2024-07-16 20:49:44 -03:00
Matheus 4cd2a7b41c ps2: fix real hw 2024-07-11 00:05:42 -03:00
Matheus 07950862d6 kernel: simple allocationless event abstraction on top of poll 2024-06-27 21:14:45 -03:00
Matheus dc55eb127c time: diffus 2024-06-27 21:13:54 -03:00
Matheus c597acbba1 poll: remove scheduler include 2024-06-26 22:01:17 -03:00
Matheus eea9cab357 ipv4: ids 2024-06-17 19:27:51 -03:00
Matheus f05eb36cfd kernel: remove already done TODOs 2024-06-16 12:48:16 -03:00
Matheus 5b6d15a06c fs: return device filesystem is mounted on 2024-06-16 12:32:32 -03:00
Matheus d461ad1a0b file: fd_(set/get)flags() 2024-06-12 18:54:55 -03:00
Matheus 34596bb5e9 sock: fix abisockaddr type not being returned 2024-06-10 23:01:19 -03:00
Matheus f7b761e883 net: SOCKET_SEND_FLAGS_NOSIGNAL 2024-06-10 17:32:41 -03:00
Matheus 50b4b45d00 kernel: usercopy functions 2024-06-09 19:31:26 -03:00
Matheus b230d58a3f socket: getname, getpeername, setopt 2024-06-04 22:44:37 -03:00
Matheus 7cad8f53f2 tcp: initial implementation 2024-06-03 22:02:58 -03:00
Matheus 7053ed68af netdev: freeing of netdescs 2024-06-03 21:55:52 -03:00
Matheus 4c0940828c ringbuffer: size and peek 2024-06-03 21:54:13 -03:00
Matheus 40d8a05062 sock: MSG_PEEK and other fixes 2024-06-03 21:53:46 -03:00