Commit graph

91 commits

Author SHA1 Message Date
fef
abb526f655
stddef: add typeof macro 2021-08-01 17:06:08 +02:00
fef
3aa2c53893
stdint: use correct typedefs 2021-08-01 17:05:37 +02:00
fef
caefad25a8
build: parameterize serial config macros 2021-08-01 16:51:06 +02:00
fef
f54a4a0fa9
mutex: use uint8_t instead of int for lock value 2021-08-01 16:48:19 +02:00
fef
d20da423ec
fs: implement file abstraction 2021-08-01 04:22:09 +02:00
fef
9ca76d71ad
mutex: add mutex imlementation 2021-08-01 03:25:28 +02:00
fef
a78a8ba59b
atom: reimplement in pure assembly 2021-08-01 00:11:13 +02:00
fef
643d3ed251
build: migrate to CMake 2021-07-31 19:39:51 +02:00
fef
fc63785ca6
kent: simplify structure 2021-07-31 15:58:29 +02:00
8b3a5fd68d
sched: integrate into kent hierarchy
This is an initial, rudimentary attempt at integrating the scheduler
into the kent hierarchy.  There are likely gonna be drastic changes
in the future, and i haven't even tried running the whole thing.

But hey, the code compiles again now!
2021-05-11 14:31:05 +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
298433e15f
fix the stupid symbol attribute mess, pt. 1 2021-02-28 18:08:08 +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
5fa7639ce8
syscall: c syntax do be hard tho 2021-02-27 21:24:26 +01:00
b7abbf1cf7
kent: change param order of kent_init 2021-02-17 15:01:15 +01:00
b8c4593fc5
syscall: use vararg declaration 2021-02-17 14:30:24 +01:00
Felix Kopp
e79f9d5165
errno: implement strerror
i defo need to check my priorities but i wanted to play around with
awk and the errno cli tool so leave me alone
2021-02-03 04:58:04 +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
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
dee9ce667f
write: actually write to the serial console 2021-01-05 14:40:18 +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
51c9a779a3
user: add wrappers for userspace data transfer
This doesn't do anything right now, but will save some work in the
future when we have hardware memory protection.
2021-01-05 13:48:39 +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
190eedd842
toolchain: add stuff i forgot about 2021-01-04 14:58:52 +01:00
Felix Kopp
2f8404678b
Add offset typedef 2021-01-02 12:43:22 +01:00
Felix Kopp
681226852b
kent: Add basic implementation
I have no idea how useful this is going to be, but I'll just commit it
anyways because why the hell not.
2020-12-08 16:38:19 +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
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
e45f75f6bc
sched: implement spinlocks 2020-11-30 22:19:30 +01:00
Felix Kopp
0026db4583
arch: introduce include convenience macro 2020-11-30 22:08:01 +01:00
Felix Kopp
f229c2ae86
serial: it's starting to kind of work 2020-11-30 05:07:23 +01:00
Felix Kopp
570f036752
sched: minor refactor 2020-11-30 02:26:17 +01:00
Felix Kopp
e690a6824e
io: add I/O thread base 2020-11-29 23:23:37 +01:00
Felix Kopp
dbda35d82a
serial: prepare for I/O thread integration 2020-11-29 23:22:44 +01:00
Felix Kopp
2a899210c6
sched: add IOWAIT process state 2020-11-29 22:02:09 +01:00
Felix Kopp
55ee84b99b
sched: rework irq pend requests 2020-11-29 22:01:35 +01:00
Felix Kopp
523f6f4bb2
serial: forgot to commit some shit 2020-11-29 20:38:16 +01:00
Felix Kopp
a25ab04b0d
sched: implement process initialization 2020-11-29 20:33:18 +01:00