Commit graph

56 commits

Author SHA1 Message Date
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
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
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
afcef0d05b kernel: use vendered version of utralib
By vendoring this package, we can avoid causing a rebuild unnecessarily.

This will be removed when Rust 1.55 is released and we can bring the
`kernel` package back into the main workspace.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-08-04 12:19:16 +08:00
Sean Cross
4e54bfdc7a kernel: use gdbstub dev/0.6
The previous brach will shortly be deleted.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-06-27 19:23:53 +08:00
Sean Cross
f1041f6f6e kernel: add gdbserver to Cargo.toml
Signed-off-by: Sean Cross <sean@xobs.io>
2021-06-21 14:11:26 +08:00
Sean Cross
fb839f3217 wip
Signed-off-by: Sean Cross <sean@xobs.io>
2021-06-16 16:53:40 +08:00
Sean Cross
664bd5b26a kernel: use git for feature/state-machine-recv-packet
Signed-off-by: Sean Cross <sean@xobs.io>
2021-06-06 11:49:37 +08:00
Sean Cross
bbda4365ae wip commit
Signed-off-by: Sean Cross <sean@xobs.io>
2021-06-01 17:57:01 +08:00
Sean Cross
3b540e4e9a xous: tag 0.8.2
This contains some minor modifications to the ABI.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-05-20 11:53:02 +08:00
Sean Cross
09b8242bb2 kernel: get process termination "working" on risc-v
This successfully allows a process to call `terminate_process(val)`.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-05-20 11:42:31 +08:00
Sean Cross
d15127fef6 kernel: run cargo fmt
Signed-off-by: Sean Cross <sean@xobs.io>
2021-05-19 14:18:46 +08:00
Sean Cross
30b82b25b1 kernel: run cargo fmt
Signed-off-by: Sean Cross <sean@xobs.io>
2021-05-19 14:12:01 +08:00
Sean Cross
7087fbe823 Cargo: add hooks to reduce binary size
These can be turned on if we want to reduce the size of our binaries.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-05-10 15:09:24 +08:00
Sean Cross
e2996935cf 0.8.0: tag release
This bumps version numbers to 0.8.0, indicating we're nearing final
release.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-04-07 16:34:16 +08:00
Sean Cross
93fc8a0b99 kernel: cargo: add wrap-print feature
This is used to force kernel messages to be wrapped to 80 columns.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-03-23 19:52:53 +08:00
bunnie
eda33b5de7 factor out the shellchat callback, which mysterious breaks things 2021-03-16 18:03:12 +08:00
bunnie
2fb6ae5ee7 debugging i2c 2021-03-16 17:03:10 +08:00
bunnie
d1609d2a31 another commit checkpoint. somehow, i have a race condition now. 2021-03-01 15:08:08 +08:00
bunnie
70aa5b792b check in for inspection 2021-03-01 14:40:39 +08:00
bunnie
0dc40f4185 attempt to separate fontmaps and loader out of kernel 2021-02-27 02:12:19 +08:00
bunnie
0af72ffb6d clean up Sendable references and warnings 2021-02-17 23:29:20 +08:00
bunnie
2b003f8a7d intermediate checkin 2021-02-16 00:28:44 +08:00
bunnie
4ef581a266 riddled with race conditions, but...sort of works 2021-01-08 05:20:53 +08:00
bunnie
b7263f7ef0 Merge remote-tracking branch 'origin/master' into hardware 2021-01-04 03:19:23 +08:00
bunnie
63234411e2 get fcc test working 2021-01-02 03:04:28 +08:00
bunnie
3ceb41208c checkpoint: problems with pds send line (borrowed memory) 2021-01-01 03:44:42 +08:00
Sean Cross
c9cb50b579 kernel: use crossbeam-channel internally
This provides better performance than MPSC.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-12-30 16:50:28 +08:00
bunnie
19a7a9ce98 get threaded version of COM handler working 2020-11-27 01:32:10 +08:00
bunnie
99d8f2a525 version with threads compiles, but doesn't work yet 2020-11-27 00:35:29 +08:00
bunnie
1aa01fdf5d confirm sleep works, some minor fixup to UTRA style usage 2020-11-23 19:02:02 +08:00
Sean Cross
6041269033 kernel: Cargo: minor spacing reformat
Signed-off-by: Sean Cross <sean@xobs.io>
2020-11-23 17:14:39 +08:00
bunnie
2d5bd20c16 bouncing ball "招财猫"-like totem now working 2020-11-23 03:18:43 +08:00
bunnie
9a50de8b4e refactor: utra -> utralib naming
this cleans up some namespace issues when including
the utra crate which also refers to utra::generated::utra,
and there are CONST at the crate-level, and also functions
at the module-level which need disambiguation. By naming
the crate utra-lib this saves a bit of syntatic wrangling
at the top of every file.
2020-10-12 03:56:10 +08:00
Sean Cross
28f5f79b7d kernel: re-enable fat lto
Signed-off-by: Sean Cross <sean@xobs.io>
2020-10-11 09:15:49 +08:00
Sean Cross
d0d687a239 utra: fix build on non-hardware release
This adds svd2utra, which enables building for non-embedded harware.

It also fixes some build issues, and paves the way for generating UTRA
at compile-time.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-10-05 10:13:51 +08:00
bunnie
711e5ea910 slot in utra references 2020-10-02 04:52:03 +08:00
bunnie
5deeebae3b the loader seems to be working now. 2020-09-26 00:03:46 +08:00
Sean Cross
750f05c322 kernel: cargo: add print-panics feature
With this feature enabled, the kernel will claim a UART and print panics
when they occur.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-08-30 00:33:30 +08:00
Sean Cross
0ca7fe6f12 kernel/loader: fix build arguments
Signed-off-by: Sean Cross <sean@xobs.io>
2020-08-18 12:10:46 +08:00
Sean Cross
8920ab57cf xtask: remove loader, kernel from workspace to fix rebuilds
These packages modify RUSTFLAGS, which causes some packages to be
rebuilt every time. Move them out of the workspace so as to ensure they
don't use the same `target` directory.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-08-18 10:51:29 +08:00
Sean Cross
bb17038bfe kernel: rename "xous" to "xous-kernel" in import
Cargo appears to cache packages in the workspace when multiple packages
use the same crate. Unfortunately, Xous uses different features
depending on whether it's running in the kernel or in userspace.

Pull the kernel version of "xous" in under a different namespace in
order to force it to use a different build.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-08-17 18:37:40 +08:00
Sean Cross
49083081c3 xous: replace processes-as-threads with baremetal check
This gets it working on baremetal, and keeps processes-as-threads
available for running in hosted mode.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-08-06 23:25:28 +08:00
Sean Cross
bd99f33761 kernel: move debug-here to windows,unix
This uses lazy_static, which only works on libstd.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-08-06 23:08:03 +08:00
Sean Cross
21aa67b748 workspace: remove workspace
The kernel and userspace both need to use `xous`, but have different
requirements. If we use a workspace, then all instances of `xous-rs`
must have the same feature set.

This breaks them apart so the kernel can have one set of features and
programs can have another set.

As part of this change, tests are now integrated into the kernel, and a
new `create_process_as_thread()` and `wait_process_as_thread()` function
pair have been added.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-08-02 16:11:12 +08:00
Sean Cross
039975323e tests: add tests package
This package serves only to build tests for the kernel, because the
kernel wants to use a different mechanism for spawning processes.

Cargo doesn't support having `#[cfg(test)]` attributes on modules in
order to allow conditional compilation depending on whether we're
running a test or not. To work around this, `main.rs` is included in
another dummy crate.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-07-29 21:18:30 +08:00
Sean Cross
e7e8a2b748 kernel: get initial hosted non-test processes working
This now has the ability to fork off processes.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-07-29 17:52:01 +08:00
Sean Cross
19222c34a9 kernel: get shutdown and multi-clients working
THis now has proper authentication for tests.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-07-28 13:28:14 +08:00
Sean Cross
bf15ac08f4 kernel: tests: add memory measurement to test suite
This adds a feature to enable memory measurement, so we can determine if
we're leaking memory anywhere.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-07-15 17:08:05 +08:00
Sean Cross
723529ba20 wip: working on getting message passing working
The goal is to get a basic message passing engine working that will also
function as a device that works on real hardware.

This is still reworking it to function correctly on a desktop system.
Once that is working, it will be reworked to function once again on
hardware.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-06-15 18:13:10 +08:00