Commit graph

25 commits

Author SHA1 Message Date
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