Commit graph

18 commits

Author SHA1 Message Date
fef
fb9ec2a8bc
mm: make malloc and free system calls
This is required because the heap is shared among
all tasks and protected using a mutex which only
works in kernel space.
2021-08-12 14:34:18 +02:00
fef
60ec99692c
serial: "fix" buffer truncation bug
DMA just uses one buffer rather than two now lmao
2021-08-10 22:08:44 +02:00
fef
d4411fd6b6
mutex: add wait queue and spinlocks 2021-08-10 00:44:36 +02:00
fef
83ee9603e7
file: add file kevent and i/o wait support 2021-08-08 20:58:54 +02:00
fef
7e6dbad05f
sched: complete rework of context switching
The old strategy was to only do context switching
from within the PendSV handler.  This worked fine
until now because all syscalls were handled either
atomically or just returned -EAGAIN if the
resource was locked or busy.  However, with the
introduction of I/O wait, we need to be able to
sleep directly from within the kernel by moving
the context switching completely into the kernel.
2021-08-08 20:48:55 +02:00
fef
7fa55c8dab
mutex: return -EAGAIN if trylock fails 2021-08-03 00:07:39 +02:00
fef
d20da423ec
fs: implement file abstraction 2021-08-01 04:22:09 +02:00
fef
643d3ed251
build: migrate to CMake 2021-07-31 19:39:51 +02:00
f0dc3a3433
kiss capitalism goodbye for good
The CNPL will make sure that absolutely no corporation is going to get
anywhere near Ardix -- exactly as it should be.  Fuck you, corporations!
2021-05-10 16:19:38 +02:00
dca3e716ca
serial: add zero-copy dma i/o api 2021-03-01 16:08:01 +01:00
af8210da4a
piss off capitalism
Ardix is being relicensed to GPL v3 or later. I have no idea whether you
can just do this if you feel like it or if it has any consequences, but
i kinda don't really care that much about it.  Any changes made after
this commit will definitely fall under the GPL though, and considering
that only few things are really working yet anyways this is good enough
for me.
2021-02-28 02:18:39 +01:00
Felix Kopp
256b49b529
device: add base abstraction for all devices 2021-02-03 04:01:27 +01:00
Felix Kopp
61ebad5231
fs: actually include read.c in Makefile 2021-01-07 19:11:45 +01:00
Felix Kopp
d60f57f8de
fs: implement read syscall 2021-01-07 19:05:29 +01:00
Felix Kopp
44f45c71bc
write: didn't mean to commit that 2021-01-07 12:30:32 +01:00
Felix Kopp
4a3e33dc05
sycall: conform to POSIX 2021-01-07 12:29:45 +01:00
Felix Kopp
5555a3d56d
cleanup and fix warnings 2021-01-05 17:50:46 +01:00
Felix Kopp
632824e437
fs: implement basic write 2021-01-05 14:38:06 +01:00