Commit graph

33 commits

Author SHA1 Message Date
bunnie
2fdc83b588 convert to UTRA abstraction 2020-10-12 17:26:34 +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
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
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
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
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
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
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
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
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
Sean Cross
8c3f931445 messaging: first message passing example
THis commit allows us to pass Scalar messages between processes.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-03-30 16:07:58 +08:00
Sean Cross
8b54ebff35 examples: the beginnings of message passing and receiving
Signed-off-by: Sean Cross <sean@xobs.io>
2020-03-19 17:26:16 +08:00
Sean Cross
2abf3c8600 examples: remove memory checks
These take a long time to start up.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-03-16 19:04:26 +08:00
Sean Cross
c2008e5fe8 syscall: implement map_memory wrapper
Signed-off-by: Sean Cross <sean@xobs.io>
2020-03-13 20:33:08 +08:00
Sean Cross
1ba52da9a3 shell: don't specify an address
Since we can now omit virtual addresses, use this feature when
allocating the UART.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-03-13 12:45:15 +08:00
Sean Cross
17dd2dcd6f shell: increase dummy allocations
In order to test dummy allocations, increase these sizes.

Note that this also causes an error in release mode.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-03-10 17:32:01 +08:00
Sean Cross
c09b140306 examples: shell: use 32-bit timer csr
Signed-off-by: Sean Cross <sean@xobs.io>
2020-03-10 16:41:48 +08:00
Sean Cross
b9effd701b shell: add example shell
Signed-off-by: Sean Cross <sean@xobs.io>
2020-03-10 12:46:05 +08:00