Commit graph

77 commits

Author SHA1 Message Date
fef
f89aa9dc4e
sched: add idle task 2021-08-04 03:25:04 +02:00
fef
5ffa784b77
arch: make exclusive stores fail after interrupts 2021-08-03 21:19:09 +02:00
fef
c806c21936
arch: move vector table to separate file 2021-08-03 17:33:35 +02:00
fef
4f9423efbb
arch: declare registers volatile 2021-08-03 14:42:24 +02:00
fef
05662bc39e
arch: add fault handlers, rename exceptions 2021-08-03 14:41:36 +02:00
fef
33439b2e37
debug: add sam3x8e svd file 2021-08-03 00:05:23 +02:00
fef
57fb52dc1e
syscall: fix call source detection 2021-08-02 00:37:01 +02:00
fef
aa722fc34f
serial_write_dma: prevent memory leak when busy 2021-08-01 23:51:19 +02:00
fef
c36c2182d7
sched: minor refactor 2021-08-01 23:32:12 +02:00
fef
7ef26f26e9
syscall: add config option to check syscall source 2021-08-01 23:28:25 +02:00
fef
930cbc26e1
syscall: i am so stupid it physically hurts 2021-08-01 22:54:59 +02:00
fef
8422ab0d56
debug: add breakpoint macro 2021-08-01 22:53:47 +02:00
fef
0eea347421
build: actually use linker scripts 2021-08-01 22:53:05 +02:00
fef
4db1702078
stdio: refactor printk to printf and friends 2021-08-01 18:53:22 +02:00
fef
474974b779
startup: rename do_bootstrap to main 2021-08-01 17:19:53 +02:00
fef
f54a4a0fa9
mutex: use uint8_t instead of int for lock value 2021-08-01 16:48:19 +02:00
fef
9ca76d71ad
mutex: add mutex imlementation 2021-08-01 03:25:28 +02:00
fef
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.
2021-08-01 02:25:34 +02:00
fef
c2538b4516
build: parameterize STACK_SIZE in linker script 2021-08-01 01:26:16 +02:00
fef
8f424d49e8
asm: refactor to use thumb2 instructions 2021-08-01 01:16:13 +02:00
fef
a78a8ba59b
atom: reimplement in pure assembly 2021-08-01 00:11:13 +02:00
fef
3ab358310c
build: ensure all symbols are included 2021-07-31 22:07:38 +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
ec3b64d232
string: move header to standard location
Anything that implements POSIX should also be where POSIX defines
it to be, otherwise it would be pretty useless lol
2021-02-28 18:27:43 +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
4349420217
kent: redesign api
This also got the dmabuf refcount hard fault issue resolved somehow.
Don't ask how or why, i'm just glad it works now.
2021-02-28 01:28:07 +01:00
Felix Kopp
c4717d8fce
dma: add abstraction layer for dma 2021-02-03 04:30:46 +01:00
Felix Kopp
256b49b529
device: add base abstraction for all devices 2021-02-03 04:01:27 +01:00
Felix Kopp
56c76d8b4b
sched: use proper UNIX® terminology 2021-02-01 00:07:45 +01:00
Felix Kopp
50928211ca
minor fixes and improvements 2021-01-07 19:04:52 +01:00
Felix Kopp
4a3e33dc05
sycall: conform to POSIX 2021-01-07 12:29:45 +01:00
Felix Kopp
22c07fb544
syscall: use actual free register 2021-01-05 23:29:20 +01:00
Felix Kopp
5555a3d56d
cleanup and fix warnings 2021-01-05 17:50:46 +01:00
Felix Kopp
63ccd87112
arch/at91sam3x8e: finalize entry routine 2021-01-05 17:31:26 +01:00
Felix Kopp
8252f14b6b
arch/at91sam3x8e: use r0 for syscall number 2021-01-05 15:30:36 +01:00
Felix Kopp
ef25cd9fbb
arch/at91sam3x8e: clean up 2021-01-05 14:41:51 +01:00
Felix Kopp
632824e437
fs: implement basic write 2021-01-05 14:38:06 +01:00
Felix Kopp
3026bfe2f1
io: kiss I/O thread goodbye 2021-01-05 14:06:19 +01:00
Felix Kopp
1c835a9738
at91sam3x8e: serial refactor 2021-01-05 13:45:56 +01:00
Felix Kopp
316b4c2c0c
entry: implement syscall entry 2021-01-04 15:40:16 +01:00
Felix Kopp
cc00a7a1ea
atom: Replace spinlocks with atoms 2020-12-08 12:55:23 +01:00
Felix Kopp
589e9330da
sched: properly disable the watchdog
I have no idea what the FUCK the Engineers at ARM were thinking when
they decided to disable EVERY SINGLE FUCKING CPU COMPONENT on system
reset, except the FUCKING WATCHDOG.  But this change will prevent the
system from randomly firing a watchdog reset.
2020-12-08 00:08:00 +01:00
Felix Kopp
c222c35fe5
sys: make early MCK init actually work 2020-12-02 00:27:48 +01:00
Felix Kopp
194038882a
sys: init MCK early so that it fails even faster 2020-12-01 23:36:31 +01:00
Felix Kopp
99a51a5dd2
fix compiler errors/include conflicts
What a hell of a nightmare this codebase has become over the past few
weeks fascinates even myself
2020-12-01 02:35:06 +01:00
Felix Kopp
63f78d7b2b
sched: use spinlock for atomic context 2020-11-30 22:20:50 +01:00
Felix Kopp
f229c2ae86
serial: it's starting to kind of work 2020-11-30 05:07:23 +01:00
Felix Kopp
dba671ab31
fix compiler warnings 2020-11-30 03:01:02 +01:00