bunnie
a4a7f4af69
fix hosted build
2022-01-18 00:32:12 +08:00
bunnie
e8e389552f
add map generation to the loaders
2022-01-17 00:04:03 +08:00
Sean Cross
7cd86b4fcf
Merge branch 'main' of github.com:betrusted-io/xous-core into kernel-monorepo
...
Signed-off-by: Sean Cross <sean@xobs.io>
2022-01-14 15:33:10 +08:00
Sean Cross
35af35381a
kernel: integrate kernel into main monorepo
...
This moves the kernel into the main monorepo, allowing it to share
packages with the rest of the system. This change will allow us to
reduce the number of rebuilds that take place, as well as reducing disk
usage.
Note that the loader is still an indepenent project, and the integration
of that into the monorepo is pending.
Signed-off-by: Sean Cross <sean@xobs.io>
2022-01-14 15:31:36 +08:00
bunnie
4561336ebd
try to fix the CI test routine
2022-01-10 19:03:20 +08:00
bunnie
eb0c1c4377
fix some hosted mode brokeness that came with pinning crates
...
the rand api was downgraded to be in line with the ed25519 crate
which removed some "modern" conveniences. Small price to pay for
less code to review.
2022-01-10 17:13:00 +08:00
bunnie
b3788a54af
clarify the dependency policy
2022-01-10 16:50:10 +08:00
bunnie
995915ed4e
nail down a couple more dependencies, and add a policy note to Cargo.toml
...
Each Cargo.toml now includes a comment which remnids maintainers
of the dependency policy for Xous (that is, nail down every dependency
to the minor number).
2022-01-10 15:54:27 +08:00
bunnie
d06d58b132
harmonize rand crate to 0.7.4 (version used by ed25519-dalek)
2022-01-10 15:03:23 +08:00
bunnie
4819703d20
trim unnecessary sha3 dependency
2022-01-10 14:59:41 +08:00
bunnie
19f95e6bab
fix kernel test build
2022-01-08 01:00:20 +08:00
bunnie
9fcd7e17ae
warning-clean. need to clean up the hosted mode flow a bit.
2022-01-07 23:22:12 +08:00
bunnie
dd14dfc4c6
retrofit the seed into an atomicu64 so we can set it elsewhere
2021-12-27 02:49:08 +08:00
bunnie
0bd110c163
determinism achieved for testing. now to squash some bugs.
2021-12-26 01:50:30 +08:00
bunnie
66606ed3e0
initial attempt to make hosted mode more deterministic
...
replace all threadRng with a seeded Rng
2021-12-25 15:58:27 +08:00
Sean Cross
75116d36cd
kernel: add debug command to print interrupts
...
This can be used to ensure the interrupt handlers are where we think
they are.
Signed-off-by: Sean Cross <sean@xobs.io>
2021-10-29 16:21:07 +08:00
bunnie
013606a4b2
this time, with saving the merge file (some weirdness in vscode...)
2021-10-04 17:34:24 +08:00
bunnie
44615c9acf
Merge branch 'main' of github.com:betrusted-io/xous-core into main
2021-10-04 17:28:35 +08:00
Sean Cross
24dd538a5c
kernel: fix process exception handling state
...
Correctly handle transitions to and from exception handling.
Previously, the thread ID was incorrectly set such that the exception
handler became a valid thread. This has been adjusted so that the
exception handler is no longer considered a thread, and all other
threads will cease scheduling during this process.
Signed-off-by: Sean Cross <sean@xobs.io>
2021-09-28 09:20:12 +08:00
Sean Cross
1ef4c0d87d
kernel: mem: actually free unmapped pages
...
Previously we would only free a page if it was valid. Now we
unconditionally free it.
Signed-off-by: Sean Cross <sean@xobs.io>
2021-09-27 19:40:39 +08:00
Sean Cross
956d5f0866
kernel: remove debugging prints for memory allocation
...
Signed-off-by: Sean Cross <sean@xobs.io>
2021-09-27 19:38:15 +08:00
Sean Cross
fa31e2235c
kernel: allow freeing unbacked virtual memory
...
Memory is on-demand allocated, meaning it's entirely possible to
allocate and free memory without ever touching physical pages.
Previously, when we attempted to free memory, it would skip over pages
that were never backed by real memory.
With this patch, we continue to free the virtual page even if there is
no associated physical page.
Signed-off-by: Sean Cross <sean@xobs.io>
2021-09-27 13:42:48 +08:00
Sean Cross
62216b7295
kernel: allow freeing unbacked virtual memory
...
Memory is on-demand allocated, meaning it's entirely possible to
allocate and free memory without ever touching physical pages.
Previously, when we attempted to free memory, it would skip over pages
that were never backed by real memory.
With this patch, we continue to free the virtual page even if there is
no associated physical page.
Signed-off-by: Sean Cross <sean@xobs.io>
2021-09-27 13:39:10 +08:00
bunnie
6304ba4616
backout syscall patch
2021-09-27 13:34:02 +08:00
bunnie
be8a3a9acd
an attempt to create the failing test case, but it seems this is too simple
2021-09-26 00:43:46 +08:00
Sean Cross
0ae6d1460a
kernel: update version of gdbserver
...
Signed-off-by: Sean Cross <sean@xobs.io>
2021-08-25 16:05:56 +08:00
Sean Cross
7d3d710554
kernel: gdb_server: don't inline functions
...
This was a holdover from size benchmarks.
Signed-off-by: Sean Cross <sean@xobs.io>
2021-08-25 16:05:27 +08:00
Sean Cross
30eb24af61
kernel: debug: fix wrap-print on xous target
...
When targeting the `xous` target, we were missing some variables due to
them relying on `target_os="none"`.
Signed-off-by: Sean Cross <sean@xobs.io>
2021-08-25 16:04:42 +08:00
Sean Cross
b43366e6ec
kernel: services: fix suspend for running processes
...
If a process is currently running, it needs to be placed into the
`Debug` state rather than the `Ready` state.
Additionally, the process that's being switched to must enter the
`Running` state.
Signed-off-by: Sean Cross <sean@xobs.io>
2021-08-25 16:03:06 +08:00
Sean Cross
1cb86078d5
kernel: riscv: suspend or terminate processes that fail
...
If a process fails for some reason (e.g. by performing a fault) and
there is no exception handler, either terminate the process or (if
gdbserver is enabled) have it suspend the process.
Signed-off-by: Sean Cross <sean@xobs.io>
2021-08-25 16:02:11 +08:00
Sean Cross
184274782c
kernel: config: temporarily remove support for lto
...
LTO is currently broken with Rust 1.54.
Signed-off-by: Sean Cross <sean@xobs.io>
2021-08-18 18:16:13 +08:00
Sean Cross
bb0339652a
kernel: use local copy of riscv crate
...
A local copy of the `riscv` crate is used in order to get support for
the `xous` target_os.
Signed-off-by: Sean Cross <sean@xobs.io>
2021-08-18 18:15:29 +08:00
Sean Cross
19653e9c53
kernel: compatibility with riscv32imac-unknown-xous-elf
...
Signed-off-by: Sean Cross <sean@xobs.io>
2021-08-18 18:14:24 +08:00
Sean Cross
e44eec2334
kernel: fix remaining warnings on hosted mode
...
This removes all remaining warnings from hosted mode. Tests pass, and
the system continues to run normally.
Signed-off-by: Sean Cross <sean@xobs.io>
2021-08-16 15:07:25 +08:00
Sean Cross
5eaa3a41b1
kernel: services: fix warnings on hosted mode
...
Signed-off-by: Sean Cross <sean@xobs.io>
2021-08-16 15:01:07 +08:00
Sean Cross
90d1c7a4b8
kernel: move arch mods into their own dir
...
Move `hosted.rs` into `hosted/mod.rs` and `riscv.rs` into
`riscv/mod.rs`.
Signed-off-by: Sean Cross <sean@xobs.io>
2021-08-16 14:55:38 +08:00
Sean Cross
c59cdfbd51
kernel: rename WouldBlock syscall result
...
This reflects the new naming convention, which is clearer.
Signed-off-by: Sean Cross <sean@xobs.io>
2021-08-16 12:25:39 +08:00
Sean Cross
afdf8531aa
kernel: use resolver v2
...
This is required now to support tests, since tests create processes as
threads.
Signed-off-by: Sean Cross <sean@xobs.io>
2021-08-16 12:25:15 +08:00
Sean Cross
1b315de830
kernel: make init proces stack grown downwards
...
Previously, we were creating a stack beginning at the initial page,
and then growing it upwards. The correct behavior is to begin it at
the top and grow it downwards.
In order to do this, subtract the size of the stack from the initial
pointer.
Signed-off-by: Sean Cross <sean@xobs.io>
2021-08-15 19:26:11 +08:00
Sean Cross
e29dc5a739
kernel: don't allow allocating exception thread
...
This prevents the exception thread from being allocated as a normal
system thread.
Signed-off-by: Sean Cross <sean@xobs.io>
2021-08-15 19:25:29 +08:00
bunnie
5113df5eec
Merge branch 'bunnie-dev' into main
...
Use a RefCell to solve the interior mutability issue introduced
by the &mut check introduced on MemoryRanges.
2021-08-10 18:13:33 +08:00
Sean Cross
9b4333802d
vscode: specify platform for vscode support
...
Signed-off-by: Sean Cross <sean@xobs.io>
2021-08-06 17:51:47 +08:00
Sean Cross
fa2a841f8a
kernel: fix hosted mode exception support
...
Signed-off-by: Sean Cross <sean@xobs.io>
2021-08-06 17:51:24 +08:00
Sean Cross
6985fda7ba
kernel: get exceptions fully working
...
This finishes work with exceptions such that they now actually work.
Signed-off-by: Sean Cross <sean@xobs.io>
2021-08-06 17:47:44 +08:00
Sean Cross
9bba083e2e
kernel: remove debug print from mem.rs
...
Signed-off-by: Sean Cross <sean@xobs.io>
2021-08-06 13:05:23 +08:00
Sean Cross
15c9eadc4c
kernel: riscv: re-fix mem warnings
...
The previous approach did not work, and broke everything. This fixes it
properly.
Signed-off-by: Sean Cross <sean@xobs.io>
2021-08-06 13:02:16 +08:00
Sean Cross
b6f706411b
kernel: gdb_server: fix clippy warnings
...
Signed-off-by: Sean Cross <sean@xobs.io>
2021-08-06 12:55:22 +08:00
Sean Cross
68f5e81d3f
kernel: riscv: fix warnings in process
...
Fix clippy warnings in the `process.rs` file.
Signed-off-by: Sean Cross <sean@xobs.io>
2021-08-06 12:54:43 +08:00
Sean Cross
dbd34318ce
Revert "kernel: fix remaining clippy warnings"
...
This appears to have broken things.
This reverts commit 8b0dd3630c .
2021-08-06 12:51:40 +08:00
Sean Cross
8b0dd3630c
kernel: fix remaining clippy warnings
...
This removes all remaining clippy warnings from inside the kernel.
Signed-off-by: Sean Cross <sean@xobs.io>
2021-08-06 11:43:34 +08:00