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
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
4597e5291c
log: print out received message
...
The syscall isn't hooked up yet, but we're ready for when it is.
Signed-off-by: Sean Cross <sean@xobs.io>
2020-03-19 09:06:21 +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
1730cb377b
examples: log: use name when creating server
...
The create_server call now takes a name. Provide this name.
Signed-off-by: Sean Cross <sean@xobs.io>
2020-03-16 19:02:40 +08:00
Sean Cross
4cd6a5d64d
log: call create_server syscall
...
Signed-off-by: Sean Cross <sean@xobs.io>
2020-03-14 15:58:22 +08:00
Sean Cross
672896a1a3
log: use claim_interrupt wrapper
...
Signed-off-by: Sean Cross <sean@xobs.io>
2020-03-14 15:42:11 +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
5ce653882e
log: add log example
...
Note: does not currently log
Signed-off-by: Sean Cross <sean@xobs.io>
2020-03-13 20:32:44 +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