Commit graph

92 commits

Author SHA1 Message Date
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
Felix Kopp
c031bf8611
Add ringbuf_size API
This might become useful if we want to dynamically
allocate an array that stores the entire queue.
2020-10-30 17:51:19 +01:00
Felix Kopp
745623afb2
I am stoopid (and fixed some bugs) 2020-10-14 11:29:02 +00:00
Felix Kopp
0ded77495b
Add ring buffer implementation
The next big step is to implement some sort of serial console in order
to get some debug output on real hardware (unfortunately, I don't have
a hardware debugger).
2020-10-12 19:07:03 +02:00
Felix Kopp
0e725b795d
Move license comment to the bottom 2020-10-11 19:35:30 +02:00
Felix Kopp
a4e244e7fc
Fix some minor errors 2020-10-10 23:11:21 +02:00
Felix Kopp
424f5a902f
Cleanup 2 2020-06-17 20:40:22 +02:00
Felix Kopp
30096ab5b2
Tidy up 2020-06-14 05:51:01 +02:00
Felix Kopp
ff8b5098cd
Enable SysTick on sched_init 2020-06-12 12:29:27 +02:00
Felix Kopp
c19e131f20
Add base stuff for preemptive scheduler 2020-06-12 11:49:20 +02:00