| Age | Commit message (Collapse) | Author |
|
+ Added automated categories to debugging, bug/info/warn/error etc. Now
I should just try to use them here and there :D
|
|
|
|
+ Mainly just moving stuff out or arch/riscv/ that should be handled in
common/
+ Prepared separate process stack/call stack for server callbacks, rest
to be implemeted soon ish
|
|
|
|
|
|
|
|
+ Christ, I'm shit at git etiquette
|
|
+ Not used at the moment anywhere, but should come in handy when
emulating stuff like (s)brk and when mapping ELF stuff
|
|
|
|
+ In general improved riscv vmem.c
|
|
|
|
|
|
+ Lots to do still, should keep a more detailed TODO.txt, among other
things implement Sv48 support, make more things single truths etc.
|
|
+ Who knew some reservations were a good thing? (at least relativelyy
speaking)
|
|
|
|
+ Still need to actually add in an initrd that uses the format :D
|
|
|
|
|
|
+ Sensible mappings should help, discard what I wrote in the previous
commit. Nothing works unless I get vmem up and running properly.
|
|
+ Should start to think about how virtual memory should be handled
efficiently, I'm sort of flailing around and not actually doing
anything beneficial. The mapping system I've so far implemented
_works_, but it's not good and I'm not happy with it. I might come
back and fix/improve it, but I think I'll go ahead and do other things for
a while, might give me a better overhead view of what the virtual
memory system should do.
+ TODO: should probably document the memory layout I'm going with at the
moment.
|
|
|
|
|
|
|
|
|
|
|
|
+ Lots of bughunting to do, probably lots of off-by-one and so on
errors, and I make a lot of naive and possibly dangerous assumptions.
But cool start nonetheless. Should also come up with some method of
exchanging data between the init and actual kernel, probably some struct
of some sort. TODO
|
|
+ I don't fully trust my memory management system yet, so should
probably check the memory regions it gives.
|
|
|
|
+ For future reference, apos now requires initrd to be found in fdt.
|
|
+ Will probably still need a fair bit of tweakind and documentation
improvements, but seems to work outside of the kernel. Also no valgrind
errors, which is quite promising I guess.
|
|
|
|
+ Mostly follows the POSIX printf, with the exceptions of no floating
points and `X` signifies binary instead of uppercase hex
|
|
|
|
At least as far as reading memory info, cool.
One issue I have is that .(ro)data is apparently accessed by absolute
addresses, so I need to know at which address the kernel is going to be
loaded. I would prefer completely position independent code, but if
that's not possible then eh.
|
|
+ Added new common/ directory, into which code that should be shared
with init and kernel is to be added. Currently string.c and bytes.c.
Code in common/ should be marked with __weak, so as to allow the arch to
implement a better, more optimised version of the function if
possible/required.
+ Created include/apos/types.h with macros essentially providing the
libc limits.h and stdint.h. At the moment I use gcc/clang predefined
macros for most things.
|