Matheus
304538b1b2
sockfs: rename socket_{read,write} to socket_{recv,send}
2024-09-21 17:12:44 -03:00
Matheus
67546178f5
iovec: iovec_iterator_total_offset
2024-09-21 17:07:29 -03:00
Matheus
f1ee575ed1
vfs: use iovec_iterator for all file read and write, add vfs_read_iovec and vfs_write_iovec
2024-09-21 16:56:43 -03:00
Matheus
e8c2f1fbf3
devfs: use iovec_iterator internally
2024-09-21 13:53:39 -03:00
Matheus
01c883917f
iovec: redo iovec_iterator_next_page
2024-09-21 12:57:07 -03:00
Matheus
15f2cd0cc5
iovec: iovec_iterator_memset and fix iovec_iterator_copy_*_buffer
2024-09-21 12:07:13 -03:00
Matheus
09836801a3
usercopy: usercopy_memset and possibly user helper macro
2024-09-21 12:05:44 -03:00
Matheus
fb2fa68752
sockets: use new iovec interface
2024-09-21 10:53:49 -03:00
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