Commit Graph

307 Commits

Author SHA1 Message Date
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 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