Commit Graph

318 Commits

Author SHA1 Message Date
Matheus 75def3edfa Merge pull request #8 from d-tatianin/uacpi-integration
uACPI integration
2024-09-01 19:32:10 -03:00
8infy db55f99e23 Integrate uACPI & remove own ACPI parsing code
This commit adds uACPI as a submodule and removes all handwritten table
parsing code as well as struct definitions, since they now work via
uACPI. There's also now an ability to shut down by using the power
button.
2024-09-01 23:12:44 +03:00
8infy 476d4bad74 io: add outw & inw helpers 2024-09-01 23:12:44 +03:00
8infy 1042c1b1b0 time: introduce a new timespec_ns helper
This just returns the total number of elapsed nanoseconds given a
timespec struct.
2024-09-01 23:12:44 +03:00
8infy f306edb5ec semaphore: introduce a semaphore_reset helper
This simply clears the internal counter of a semaphore.
2024-09-01 23:12:44 +03:00
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 997fbc4e2e socket: handle control data, change recv and send arguments 2024-09-01 13:20:12 -03:00
Matheus fe1102224e ringbuffer: RINGBUFFER_FREESPACE 2024-09-01 13:13:00 -03:00
Matheus 29d459bdab file: fd_insert 2024-09-01 13:11:27 -03:00
Matheus fe6d72a7c3 sock: copy msgctrl to msg header 2024-08-31 20:30:06 -03:00
Matheus 6911bd6da4 net: reserved bind port check 2024-08-30 23:19:26 -03:00
Matheus 3ec2d2f5f1 auth: network 2024-08-30 23:00:11 -03:00
Matheus 5d74bfa5f7 socket: pass cred to bind and setopt 2024-08-30 22:59:57 -03:00
Matheus ca42167fe1 vfs: pass cred to ioctl 2024-08-30 22:53:57 -03:00
Matheus 0f18341674 kernel: vmm_changemmuflags cred check 2024-08-30 21:22:17 -03:00
Matheus 066b89c40a sockets: MSG_WAITALL support 2024-08-29 22:48:35 -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