Commit graph

101 commits

Author SHA1 Message Date
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
Felix Kopp
a25ab04b0d
sched: implement process initialization 2020-11-29 20:33:18 +01:00
Felix Kopp
f49a6643d7
sched: major refactor 2020-11-29 20:23:27 +01:00
Felix Kopp
f4e321932f
serial: switch to DMA buffers 2020-11-29 20:19:52 +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
fe87a65ded
Add check for TXRDY mask 2020-11-28 03:34:30 +01:00
Felix Kopp
e2c2d84744
Implement %i and %u 2020-11-28 03:32:52 +01:00
Felix Kopp
38046b25e5
Add errno constants 2020-11-28 03:32:31 +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
ba9565a1b4
Clean up and get rid of some unnecessary stuff 2020-11-26 19:19:04 +01:00
Felix Kopp
cbd396e179
I want to fucking die
So this is why it didn't fire the right interrupt.
2020-11-25 18:49:50 +01:00
Felix Kopp
7997d6ca07
The amount of bs code I write is fascinating 2020-11-24 23:46:33 +01:00
Felix Kopp
056c318e86
Make memcmp more compiler friendly
The Thumb ISA allows incrementing a pointer right after dereferencing
it.  This commit attempts to make it more obvious to the compiler to use
this instruction in memcmp().
2020-11-19 16:33:40 +01:00