Commit Graph

400 Commits

Author SHA1 Message Date
Matheus dce1edad26 iovec: initial implementation 2024-09-20 12:51:36 -03:00
Matheus c76b37693b vmm: allow vmm_getphysical to return a page held 2024-09-18 21:27:36 -03:00
Matheus 1140244816 ringbuffer: add a RINGBUFFER_USER_COPY_FAILED macro 2024-09-18 19:30:59 -03:00
Matheus 7460e8b707 ringbuffer: handle user addresses 2024-09-18 19:01:01 -03:00
Matheus a63f8c37cc ringbuffer: documentation and ringbuffer_remove 2024-09-18 18:50:25 -03:00
Matheus d5a4f2a4ad vmmcache: redo how vnode locking is expected 2024-09-18 18:03:07 -03:00
Matheus a56bfd2134 scheduler: sched_reschedule_on_cpu 2024-09-17 23:23:11 -03:00
Matheus 749f945205 scheduler: slightly redo how the preemption dpc is enqueued and add a skeleton for a rescheduling ipi 2024-09-17 22:29:06 -03:00
Matheus 80abd907a8 smp: smp_cpus 2024-09-16 21:36:16 -03:00
Matheus 0a49ca75b5 mmu: arch_mmu_invalidate() -> arch_mmu_invalidate_range() 2024-09-16 17:34:05 -03:00
Matheus 9974746c6c cpu: _bsp() -> get_bsp() 2024-09-15 22:52:24 -03:00
Matheus 16b6c86a5f cpu: rename _cpu() to current_cpu() 2024-09-15 19:03:09 -03:00
Matheus 56d665d5a0 kernel: fix remaining _cpu() races 2024-09-15 18:39:59 -03:00
Matheus 32392573cc cpu: change all _cpu()->vmmctx to current_vmm_context 2024-09-15 18:07:05 -03:00
Matheus e058d62261 cpu: change _cpu()->thread calls to current_thread() to fix smp race 2024-09-15 17:47:26 -03:00
Matheus 5382a8249b x86_64 cpu: change how the current cpu pointer is found 2024-09-15 15:26:40 -03:00
Matheus 31c7cf881c signal: add signal_returnmask and other fixes 2024-09-12 22:08:57 -03:00
Matheus 3037ad150b string: strerror 2024-09-11 20:30:39 -03:00
Matheus caec7d4daa sigsuspend: proper behaviour 2024-09-09 18:05:54 -03:00
Matheus 909ef74597 signals: signal_wait 2024-09-08 15:41:54 -03:00
Matheus b6806c6065 event: support multiple attachments per event 2024-09-08 15:31:16 -03:00
Matheus cdcce89fa5 ps2: fix warning 2024-09-08 12:11:20 -03:00
Matheus d65c29197d ps2: improvements 2024-09-05 23:13:29 -03:00
Matheus 24be70ac29 signals: fix sigset 2024-09-05 18:23:13 -03:00
Matheus 2e302a4d38 signal: way to signal all processes 2024-09-05 16:36:52 -03:00
Matheus c2e50547cc signal: do auth check 2024-09-05 16:24:18 -03:00
Matheus ee254a81e9 vfs: vfs_iscacheable 2024-09-04 21:33:59 -03:00
Matheus e75aab367d mmap: check if mapping a character device is actually possible 2024-09-03 18:41:56 -03:00
Matheus d9131dc162 pci: msi support, switch to use PCI_{READ,WRITE}* macros 2024-09-02 19:47:21 -03:00
Matheus 6193310f21 tty: misc changes 2024-09-01 23:38:34 -03:00
Matheus 5793dda4d9 acpi: /dev/acpi 2024-09-01 21:41:08 -03:00
Matheus 65edcf0417 spinlock: helpers for ipl 2024-09-01 21:40:40 -03:00
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