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
8infy
0ecbbff4d1
kernel: initialize pci earlier
...
There's no reason to initialize PCI so late, and this will be needed
by the following commits.
2024-09-01 19:34:21 +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
8f6bc6c4c1
vfs: rewrite vfs_link
2024-08-26 23:02:06 -03:00
Matheus
76c74cfca1
vfs: change VOP_UNLINK parameters, more fixes
2024-08-26 22:41:01 -03:00
Matheus
0236ad663f
syscalls: fix more deadlocks and issues
2024-08-26 22:40:06 -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
87adc4d10a
setpgid: check if pid is the current proc or a child
2024-08-25 12:51:10 -03:00
Matheus
58f3129da2
vfs: add VOP_ACCESS check to vfs_create
2024-08-25 12:07:30 -03:00
Matheus
d7b33ffe42
devfs: call VOP_CREATE directly instead of using vfs_create
2024-08-25 12:07:09 -03:00
Matheus
12dd3dc089
mmap: check file permissions before allowing it to be mapped
2024-08-25 11:58:09 -03:00
Matheus
914e075397
localsock: check for file permissions
2024-08-25 11:29:55 -03:00
Matheus
4d3e2b7494
mouse: change mode to 0666
2024-08-25 11:29:23 -03:00
Matheus
cb1cf8a31f
utime: proper auth checks
2024-08-24 23:16:55 -03:00
Matheus
0e0471f8ee
open: make file truncation require FILE_WRITE
2024-08-24 23:16:30 -03:00
Matheus
193f5b49b9
mount: call into auth
2024-08-24 22:56:22 -03:00
Matheus
2190b331e8
link: call VOP_ACCESS
2024-08-24 22:43:18 -03:00
Matheus
7afed7daee
sethostname: do auth check
2024-08-24 22:34:26 -03:00
Matheus
807c27e7f5
getdent: make sure fd is readable
2024-08-24 22:33:58 -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
ecd4a72677
itimer: allow interrupts to happen while waiting to schedule on a specific cpu
2024-08-22 20:17:32 -03:00
Matheus
5bc363d1ee
tcp: remove assert
2024-08-22 00:14:55 -03:00
Matheus
c5531bc12b
tmpfs: return ENXIO if trying to open socket
2024-08-22 00:02:03 -03:00
Matheus
0adbb989ef
ext2: return ENXIO if trying to open socket
2024-08-22 00:01:36 -03:00
Matheus
f8a5d9426b
vmm: send SIGBUS on vmm OOM
2024-08-21 23:52:14 -03:00
Matheus
679aa1a69d
cpu: handle SIGFPE
2024-08-21 23:48:54 -03:00
Matheus
13d34e49ae
ringbuffer: better operations
2024-08-21 23:40:01 -03:00
Matheus
fb24745071
string: better memset and memcpy
2024-08-21 23:23:58 -03:00
Matheus
ad6fb43623
syscalls: mprotect
2024-08-21 21:34:26 -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