Commit graph

100 commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
dbda35d82a
serial: prepare for I/O thread integration 2020-11-29 23:22:44 +01:00
Felix Kopp
55ee84b99b
sched: rework irq pend requests 2020-11-29 22:01:35 +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
fe87a65ded
Add check for TXRDY mask 2020-11-28 03:34:30 +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
ed60b267a0
Finish serial init code
The first major hurdle has been overcome, though several more are
still awaiting me.  Next up is IRQ handling.
2020-11-19 01:44:51 +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
fd4f87d595
(fuck) 2020-10-14 11:32:43 +00:00
Felix Kopp
5b41a9d87a
Make malloc actually use the correct region 2020-10-14 11:30:09 +00:00
Felix Kopp
bdf3f008d7
Final refactor, initialize allocator on init 2020-10-12 17:54:07 +02:00
Felix Kopp
0e725b795d
Move license comment to the bottom 2020-10-11 19:35:30 +02:00
Felix Kopp
a8574dc17a
Rename to IRQ 2020-10-10 23:15:47 +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
2ca4706e39
Init oscillatorss (somewhat) properly 2020-06-14 03:41:07 +02:00
Felix Kopp
76d6980a30
fuck 2020-06-14 01:56:51 +02:00
Felix Kopp
f7c01c4b91
Use memcpy and memset instead of custom loop 2020-06-13 23:06:13 +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
Felix Kopp
466dcb81a6
Add some compiler flag macros for convenience 2020-06-12 03:43:11 +02:00
Felix Kopp
9817db1841
Add startup code for sam3x8e 2020-06-12 00:03:16 +02:00
Felix Kopp
049563b20e
Add arch-specific Makefiles 2020-06-10 16:59:42 +02:00