f5590becd3
syscall: add sleep system call
2021-08-09 19:20:40 +02:00
02ed1b5779
malloc: mask flags for neighbor offset
2021-08-09 19:18:26 +02:00
f85006f224
malloc: remove obsolete assert statements
...
A relict of debugging on my host.
2021-08-09 04:05:07 +02:00
8e9678577e
malloc: fix my shit code so it's less shitty
...
The allocator works now.
At least when i compile it for amd64.
I haven't actually flashed it yet tho lmao.
2021-08-09 04:03:54 +02:00
59db5471ed
malloc: rewrite with atomic support
2021-08-08 20:49:42 +02:00
7e6dbad05f
sched: complete rework of context switching
...
The old strategy was to only do context switching
from within the PendSV handler. This worked fine
until now because all syscalls were handled either
atomically or just returned -EAGAIN if the
resource was locked or busy. However, with the
introduction of I/O wait, we need to be able to
sleep directly from within the kernel by moving
the context switching completely into the kernel.
2021-08-08 20:48:55 +02:00
6d886d7252
syscall: refactor names
2021-08-05 16:15:35 +02:00
1b1e48e54b
printf: simplify address expressions
2021-08-03 21:15:28 +02:00
528785d40e
malloc: track memory usage and clarify docs
2021-08-03 17:35:58 +02:00
c81ea7e7fd
printf: don't ignore return value of last write()
2021-08-01 19:04:03 +02:00
4db1702078
stdio: refactor printk to printf and friends
2021-08-01 18:53:22 +02:00
643d3ed251
build: migrate to CMake
2021-07-31 19:39:51 +02:00
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
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
a1d594f0bd
malloc: get rid of unnecessary stuff
2021-02-28 18:11:00 +01:00
298433e15f
fix the stupid symbol attribute mess, pt. 1
2021-02-28 18:08:08 +01:00
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
b8c4593fc5
syscall: use vararg declaration
2021-02-17 14:30:24 +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
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
4a3e33dc05
sycall: conform to POSIX
2021-01-07 12:29:45 +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
e439172025
user: store libc routines in separate section
2021-01-05 13:59:44 +01:00
Felix Kopp
cc00a7a1ea
atom: Replace spinlocks with atoms
2020-12-08 12:55:23 +01:00
Felix Kopp
b5dc88c966
malloc: make malloc/free atomic
2020-12-02 00:00:05 +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
Felix Kopp
fd75357944
Add list empty check in malloc
2020-10-24 17:44:18 +02:00
Felix Kopp
32afd10e99
Minor macro refactor
2020-10-14 11:47:42 +00:00
Felix Kopp
bdf3f008d7
Final refactor, initialize allocator on init
2020-10-12 17:54:07 +02:00
Felix Kopp
fc75cb2014
Refactor and make the allocator work
2020-10-12 15:35:10 +02:00
Felix Kopp
cd833dbbdf
Disallow double-freeing the same pointer
2020-10-12 12:47:20 +02:00
Felix Kopp
0cfc979109
Fix operator precedence bug
2020-10-12 01:20:16 +02:00
Felix Kopp
0e725b795d
Move license comment to the bottom
2020-10-11 19:35:30 +02:00
Felix Kopp
9dfce93c57
Add memory allocator implementation
2020-10-11 19:08:20 +02:00
Felix Kopp
a4e244e7fc
Fix some minor errors
2020-10-10 23:11:21 +02:00
Felix Kopp
7a6c34b14e
Implement ctype.h
2020-06-14 10:43:06 +02:00
Felix Kopp
dfd949efdd
Add stupid string.h implementation
2020-06-12 00:01:15 +02:00