14 Commits (60ec99692c506fd010bcbebf7973597edb6c7e58)

Author SHA1 Message Date
anna 60ec99692c
serial: "fix" buffer truncation bug
DMA just uses one buffer rather than two now lmao
3 years ago
anna d4411fd6b6
mutex: add wait queue and spinlocks 3 years ago
anna 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.
3 years ago
anna 60f1ebea8a
arch: use CMSIS after all
It was inevitable, tbh.  I really wanted to do
everything entirely from scratch, but all those
hardware registers are just too much to be
maintained by a single person.  And since i plan
on supporting different boards at some point in
the future, it would be complete madness to redo
everything for that board.
3 years ago
anna c24b183c60
init: fix init array pointer dereference bullshit 3 years ago
anna 0e6d0057a8
arch: call init and preinit array 3 years ago
anna 5ffa784b77
arch: make exclusive stores fail after interrupts 3 years ago
anna 4f9423efbb
arch: declare registers volatile 3 years ago
anna 05662bc39e
arch: add fault handlers, rename exceptions 3 years ago
anna 57fb52dc1e
syscall: fix call source detection 3 years ago
anna c36c2182d7
sched: minor refactor 3 years ago
anna 8422ab0d56
debug: add breakpoint macro 3 years ago
anna adce3f3ed7
arch/at91sam3x8e: update struct reg_sw_snapshot
With my discovery of how to actually use thumb2
instructions in assembly files, the layout of
register snapshot has changed because they are
now pushed in consecutive order.
3 years ago
anna 643d3ed251
build: migrate to CMake 3 years ago