| Age | Commit message (Collapse) | Author |
|
+ Closer to what it's for rather than what it is.
|
|
|
|
|
|
|
|
|
|
+ next up would probably be to start working on process/thread
relationships, largely as documented. Still not entirely sure about
how I want to handle fork, but I suppose I might figure it out at some
point.
|
|
|
|
+ Should document this better but essentially a server requests a shared
buffer, and chan then share this buffer to a thread. Freeing the
buffer is done through normal means. MR_SHARED is used for buffers
that are shared, and MR_OWNED tells whoever is freeing that region
that it is allowed to free the physical memory behind the shared
buffer.
|
|
|
|
+ Completely unnecessary with gmake, but bmake seems to be a little more fussy with runtime dependency generation. No big deal.
|
|
+ GNU make knows how to automatically generate new include files, whereas BSD make apparently doesn't. The solution might be to add in a very simple configure script that just touches deps.mk?
|
|
+ Turns out I had a dumb debugging echo that was messing up my variables. Oh well.
+ I'd still like to get riscv64-unknown-elf-gcc to compile, currently I've only managed with riscv64--netbsd-gcc, weird. Also, I have learned that BSD make doesn't use $< for some reason, so all rules should reference the full file name henceforth. BSD make does use $@, but for consistency I did away with it as well.
|
|
+ Doesn't quite compile all the way unfortunately, building the GNU toolchain on NetBSD is a bit more difficult than I was expecting. LLVM does compile, but fails to link for some reason.
|
|
|
|
|
|
|
|
+ Still lots todo, and I'm not entirely sure how I should handle program
space switches (mainly since the kernel uses the process' stack, maybe
it shouldn't?)
|
|
|
|
|
|
+ Will most probably not work on 32bit, but nice to make 'portable'
code.
|
|
+ GCC seems to provide this even on 32bit platforms, though I should
really check.
|
|
|
|
|
|
+ More robust alignment and less memory usage for status, from enum to
bit
|
|
+ At least initial in the sense that this seems like the smartest way to
handle things, that is.
|
|
+ Allow for easier handling of other subsystems that want to use nodes,
mainly tcb and possibly dev_mem
|
|
|
|
|
|
|
|
|
|
lower 8 bits are reserved for arch-specific flags (but at least
read/write/execute) and higher 8 bits are metadata, currently only for
VM_VIRTUAL (to be used when the backing physical memory shouldn't be
freed)
|
|
|
|
|
|
|
|
|
|
+ Probably completely unnecessary stylistic thing, but I'll roll with it
|
|
|
|
+ No clue why I had that stuff in common/main.c
|
|
|
|
|
|
+ Release mode is sort of broken, as lto doesn't work with linker
relaxation and turning the relaxation off causes issues with the jump
from init to kernel (as I've currently implemented it, could probably
be fixed with a manual jump from assembly, I'll add it to my TODO
list)
|
|
+ Runs a syntax check on all files of the selected arch
|
|
+ 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
|