a658a7c8b3
sched: yes but what if i weren't stupid?
2021-02-17 14:13:19 +01:00
9b1eef8a64
sched: fix accidental double ptr bug
2021-02-17 14:08:43 +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
f7cbcc924b
malloc: get rid of bloat
...
the without_lsb macro was nice and all, but really not necessary.
It was used in only 3 places or so and is even longer than the current
code it is replaced with.
2021-02-03 04:04:08 +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
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
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
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
48c8961f07
kent: add root node
2021-01-04 15:00:19 +01:00
Felix Kopp
190eedd842
toolchain: add stuff i forgot about
2021-01-04 14:58:52 +01:00
Felix Kopp
6f10f507da
printk: add ptr support and minor refactor
2021-01-04 14:56:57 +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
c222c35fe5
sys: make early MCK init actually work
2020-12-02 00:27:48 +01:00
Felix Kopp
b5dc88c966
malloc: make malloc/free atomic
2020-12-02 00:00:05 +01:00
Felix
e98382dde2
Merge pull request #1 from sandtler/iothread
...
Move serial stuff to separate I/O thread
2020-12-01 23:44:58 +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
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
dba671ab31
fix compiler warnings
2020-11-30 03:01:02 +01:00
Felix Kopp
e0c7a11f6e
sched: Set all required process registers
2020-11-30 02:33:11 +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
43add13fea
serial: make ringbuf write operations atomic
2020-11-29 20:34:57 +01:00