| Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
+ Now 10M alloc/frees succeed, which totals more memory than the virtual
machine has, so no too obvious leaks are occuring. For future
debugging speed, changed 10M to 1M.
+ Also quick fix to rpcs, stacks are now assigned. Not entirely sure why
they worked before this, but good that I found it.
|
|
|
|
+ Both easier to look at and now the userspace doesn't play as big of a
role in the 'benchmarking' with optimizations turned on.
|
|
|
|
|
|
+ Not strictly done yet, but we can swap between two processes :D
|
|
+ Not actually working (at least fully), need to continue debugging when
I have time.
|
|
+ In total, a syscall is built up of 6 values, with the first being the
syscall number. Symmetrically, the first value is now a status and the
following five values return "values". This allows us to cram in more
info into the ipc_* functions. The performance difference is
absolutely minimal, at least from my testing in qemu.
|
|
|
|
+ Note that it is NOT intended for end user usage, just for debugging.
|
|
|
|
+ Prepare for possibly testing rv32
+ Also remove newline from debugging output
|
|
+ May warn about PHDR not being in LOAD, there is a flag to silence it
(--no-warn-rwx-segment) but it doesn't seem to exist in
riscv64-unknown-elf for some reason.
|
|
+ Doesn't seem to be specified anywhere, but I'll stick with 2MB for
now, working on the assumption that the FW is at the start of the
physical RAM.
Possible TODOs: generate apos.its automatically from init.elf,
allocate root_branch statically?
|
|
|
|
|
|
+ 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?)
|
|
+ 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)
|