Commit Graph

59 Commits

Author SHA1 Message Date
anna 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
anna 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
anna 6f6be12e83
printk: introduce temporary buffer
This is just a proof of concept for now, i am perfectly aware of the
fact that this will cause buffer overruns if the line gets too long.
2021-03-01 16:09:30 +01:00
anna dca3e716ca
serial: add zero-copy dma i/o api 2021-03-01 16:08:01 +01:00
anna 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
anna 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
anna 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
anna 5fa7639ce8
syscall: c syntax do be hard tho 2021-02-27 21:24:26 +01:00
anna b7abbf1cf7
kent: change param order of kent_init 2021-02-17 15:01:15 +01:00
anna a658a7c8b3
sched: yes but what if i weren't stupid? 2021-02-17 14:13:19 +01:00
anna 9b1eef8a64
sched: fix accidental double ptr bug 2021-02-17 14:08:43 +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 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 50928211ca
minor fixes and improvements 2021-01-07 19:04:52 +01:00
Felix Kopp 9c1b546b16
user: i can't do this anymore
Living as a sheep herder on a lonely island is becoming an increasingly
appealing option the more i am exposed to my stupidity and inability
to memorize the return values of basic libc functions that i even
implemented myself two fucking months ago.
2021-01-07 12:48:47 +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 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 e439172025
user: store libc routines in separate section 2021-01-05 13:59:44 +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 316b4c2c0c
entry: implement syscall entry 2021-01-04 15:40:16 +01:00
Felix Kopp 48c8961f07
kent: add root node 2021-01-04 15:00:19 +01:00
Felix Kopp 6f10f507da
printk: add ptr support and minor refactor 2021-01-04 14:56:57 +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 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 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
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 43add13fea
serial: make ringbuf write operations atomic 2020-11-29 20:34:57 +01:00
Felix Kopp a25ab04b0d
sched: implement process initialization 2020-11-29 20:33:18 +01:00
Felix Kopp 2ce25193fd
Get rid of unnecessary if branch
Branching is slow compared to ALU operations and stuff, you know
2020-11-28 04:20:39 +01:00
Felix Kopp e2c2d84744
Implement %i and %u 2020-11-28 03:32:52 +01:00
Felix Kopp 113ca47809
Implement rudimentary printk 2020-11-27 00:13:56 +01:00
Felix Kopp 7493c7a5ae
SERIAL FINALLY FUCKING WORKS OMG 2020-11-26 19:20:06 +01:00
Felix Kopp 7997d6ca07
The amount of bs code I write is fascinating 2020-11-24 23:46:33 +01:00
Felix Kopp 2df4efdf2a
Implement core serial routines
This is just a rough baseline for the higher-level
serial handling code and will probably change
within the next couple of commits.
2020-11-14 04:04:59 +01:00
Felix Kopp 0c24e3fde8
Fix typos and possible typecast bugs 2020-11-14 04:01:50 +01:00
Felix Kopp 2778fad339
Get rid of unnecessary loop counter
Incrementing counters in those loops are redundant
as we are keeping track of the ptr offsets anyways
2020-11-11 19:53:08 +01:00
Felix Kopp 1fa5d159a7
Simplify ringbuf indexing
This whole pointer arithmetic things might be all
fancy and stuff, but the diff should make it clear
that it is just unnecessarily complicated.
2020-10-30 18:07:29 +01:00