Commit graph

63 commits

Author SHA1 Message Date
bunnie
6ce2c50c02 add static sleep screen 2020-10-11 15:42:57 +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
Sean Cross
8be5855ea3 examples: shell: remove Log Server stuff
We don't have a log server yet, so remove this dependency.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-10-04 19:07:53 +08:00
Sean Cross
2aa6d1298f shell: timer: add timer function
We're now a preemptive kernel, yay!

Signed-off-by: Sean Cross <sean@xobs.io>
2020-10-04 19:07:34 +08:00
Sean Cross
18129d575b shell: add utra to Cargo.toml
This is required in order to get the timer address.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-10-04 19:07:06 +08:00
Sean Cross
81ff6afd66 shell: disable debug output for now
We don't have a serial console yet, so disable this.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-10-04 19:06:13 +08:00
Sean Cross
e73fe08a3e graphics-server: bounds-check for negative coords
This prevents us from drawing pixels off the screen.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-10-04 19:04:24 +08:00
bunnie
711e5ea910 slot in utra references 2020-10-02 04:52:03 +08:00
bunnie
44f1a6b307 Merge branch 'master' of https://github.com/betrusted-io/xous-core into dvt-hardware 2020-09-25 17:50:24 +08:00
bunnie
8cc85f4e11 mods for running on DVT hardware 2020-09-25 17:50:02 +08:00
Sean Cross
10526c6be9 examples: add blockingscalar to message types
Signed-off-by: Sean Cross <sean@xobs.io>
2020-09-23 10:59:12 +08:00
Sean Cross
4a8590d336 graphics-server: fix to change in send_message syntax
Signed-off-by: Sean Cross <sean@xobs.io>
2020-09-23 10:58:09 +08:00
Sean Cross
b6f1bf2079 log-server: use try_ calls
Signed-off-by: Sean Cross <sean@xobs.io>
2020-08-30 17:41:15 +08:00
Sean Cross
60e652bd51 shell: use try_ calls for messaging
Signed-off-by: Sean Cross <sean@xobs.io>
2020-08-30 17:41:02 +08:00
Sean Cross
8d438e4796 examples: graphics-server: use try_ calls for messaging
Signed-off-by: Sean Cross <sean@xobs.io>
2020-08-30 17:40:29 +08:00
Sean Cross
9862977523 graphics-server: add missing files
Signed-off-by: Sean Cross <sean@xobs.io>
2020-08-30 01:17:56 +08:00
Sean Cross
f2156b19bd graphics-server: comment out println (for now)
When building for bare metal hardware, we don't yet have println.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-08-30 00:32:46 +08:00
Sean Cross
7d8f589830 examples: get three-process IPC working
The log, graphics, and shell processes now all talk to one another. This
illustrates how multiple processes can communicate regardless of what is
going on underneath.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-08-29 22:09:20 +08:00
Sean Cross
179623e083 examples: fix shell running on hardware
Previously, the `baremetal.rs` library was removed. This resulted in
this program no longer running on hardware.

Add this library back in.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-08-18 17:00:48 +08:00
Sean Cross
dfd11f846d hosted: fix hosted builds
We can now run `cargo xtask run` and it will do the right thing.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-08-18 13:52:43 +08:00
Sean Cross
1da460cd41 examples: fix betrusted LCD under Renode
This gets the Betrusted LCD demo working within emulation, which means
it ought to work on real hardware.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-08-18 12:09:23 +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
d1f9b703fb graphics-server: add betrusted backend
This backend should function identically to how the hosted server works.

Untested on hardware.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-08-17 19:43:00 +08:00
Sean Cross
82c9915ad6 examples: append -server to server names
This keeps server names such as "log" and "graphics" as unambiguous.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-08-17 19:41:50 +08:00
Sean Cross
89d6259819 graphics: correct the default color
Signed-off-by: Sean Cross <sean@xobs.io>
2020-08-14 18:51:15 +08:00
Sean Cross
dc3dc20bd3 graphics: add embedded-graphics
Signed-off-by: Sean Cross <sean@xobs.io>
2020-08-14 18:46:23 +08:00
Sean Cross
6abe2af34e graphics: use dumb lfsr instead of rand crate
Signed-off-by: Sean Cross <sean@xobs.io>
2020-08-14 18:20:37 +08:00
Sean Cross
92a21a9fce graphics: initial version
Signed-off-by: Sean Cross <sean@xobs.io>
2020-08-14 17:25:20 +08:00
Sean Cross
45bd670138 examples: shell: get shell working on baremetal
Signed-off-by: Sean Cross <sean@xobs.io>
2020-08-10 23:04:36 +08:00
Sean Cross
4b58e5108e examples: log: remove unused addr field
Signed-off-by: Sean Cross <sean@xobs.io>
2020-08-10 22:47:18 +08:00
Sean Cross
1d23bc5aae kernel: first multiple threads working
Signed-off-by: Sean Cross <sean@xobs.io>
2020-08-10 21:17:48 +08:00
Sean Cross
ea3a473c9f reworking memory allocation
The kernel should run in a `no_std` environment, which means it must
currently run without `alloc`. We have our own allocation methods when
running on baremetal hardware.

Begin the work to break out the allocation method so that it will work
on both desktop and baremetal environments.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-08-03 17:40:57 +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
cece761ff1 xous: SID: convert to using newtype
Rather than simply casting a tuple as a type, create a new struct SID.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-07-29 20:03:21 +08:00
Sean Cross
c2ac69a752 shell: hack to get test working
THis can now connect to the log server.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-07-29 19:31:49 +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
88d8274a19 examples: log: begin refactoring for desktop
Signed-off-by: Sean Cross <sean@xobs.io>
2020-07-23 19:06:41 +08:00
Sean Cross
8f74159674 rename ImmutableBorrow -> Borrow
THis is more in-line with Rust conventions.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-07-13 19:19:25 +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
Sean Cross
6ad48ab062 examples: shell: adapt to new form of syscalls
We're not slinging raw pointers around anymore.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-06-03 15:39:48 +08:00
Sean Cross
8cc43d64b5 examples: log: get building cross-platform
Signed-off-by: Sean Cross <sean@xobs.io>
2020-06-03 15:39:38 +08:00
Sean Cross
0fae191651 examples: shell: get building in a hosted env
Signed-off-by: Sean Cross <sean@xobs.io>
2020-06-03 11:02:44 +08:00
Sean Cross
40d4483e4f clippy: fix several clippy warnings
Signed-off-by: Sean Cross <sean@xobs.io>
2020-06-01 11:36:19 +08:00
Sean Cross
d4db20e516 kernel: add preemptive multitasking
This is still a work in progress, but we now can have multiple processes
running at once.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-04-06 15:52:07 +08:00
Sean Cross
8789203eb3 test mutable borrows
Signed-off-by: Sean Cross <sean@xobs.io>
2020-04-03 14:24:02 +08:00
Sean Cross
ed977fd564 kernel: initial work to support lending pages
This lays groundwork to support lending pages from one process to
another, and to restore permissions when pages are handed back.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-04-02 17:40:14 +08:00
Sean Cross
834c637783 examples: go to sleep when we panic
This prevents this process from constantly hogging the CPU.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-04-01 13:20:31 +08:00
Sean Cross
bdb8eac9ad MemoryRange: move to using this struct for memory ranges
This is a combination of MemoryAddress and MemorySize.  This is
guaranteed to be not null.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-04-01 10:28:36 +08:00
Sean Cross
94459c8d43 examples: add log strings
Signed-off-by: Sean Cross <sean@xobs.io>
2020-03-31 18:37:40 +08:00
Sean Cross
abce9eb0c1 message::move: implement movable messages
This is the first implementation of message passing with moving memory.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-03-31 18:03:19 +08:00