Commit graph

258 commits

Author SHA1 Message Date
Sean Cross
fbda077aff kernel: remove excess println() statements
Signed-off-by: Sean Cross <sean@xobs.io>
2020-08-30 10:46:48 +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
96c5739cdd kernel: fix remaining warnings
This fixes all remaining warnings in the kernel. For now.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-08-30 01:17:35 +08:00
Sean Cross
bd851923cc xtask: add "renode-image-debug"
This enables debug for all Renode projects.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-08-30 00:37:46 +08:00
Sean Cross
98854d8e2f xous: rename message body from "message" to "body"
This makes more sense since we already have a "header" field.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-08-30 00:37:21 +08:00
Sean Cross
eaf2b038c1 xous: be more generous in specifying bitflags crate
Presumably it won't change much.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-08-30 00:36:57 +08:00
Sean Cross
bc92f4b042 kernel: services: fix build on riscv
Somehow the build broke. Oops.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-08-30 00:36:39 +08:00
Sean Cross
25824df335 kernel: services: print fewer diagnostic messages
These were printed a lot, which is not a thing we want right now.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-08-30 00:36:11 +08:00
Sean Cross
d87b59d47c kernel: riscv: print fewer debug messages
The IRQ handler was very noisy, which generated a lot of spew.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-08-30 00:35:28 +08:00
Sean Cross
9af28d0a90 kernel: irq: fix build
We were missing some packages when building on riscv.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-08-30 00:34:49 +08:00
Sean Cross
b78a71c495 kernel: print-panics: implement this feature in debug.rs
With this feature enabled, claim the kernel UART for panic printing.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-08-30 00:34:41 +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
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
cdc9cc71d3 Cargo: add graphics-server to cargo manifest
Signed-off-by: Sean Cross <sean@xobs.io>
2020-08-30 00:32:14 +08:00
Sean Cross
776fd72483 xous: syscall: work around clippy warnings on Result::Ok
clippy warns that "Result::Ok" is redundant. Work around clippy by using
the fully-qualified path.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-08-30 00:05:02 +08:00
Sean Cross
8f70c0640c kernel: fix server indexing
Server IDs were being improperly indexed, resulting in a
probably-invalid server index being returned.

Adjust these so that correct server indices are returned.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-08-29 22:10:24 +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
bb4efbe531 xtask: add "debug" command
Signed-off-by: Sean Cross <sean@xobs.io>
2020-08-29 20:50:22 +08:00
Sean Cross
81dad453cb renode: add shell back in to the Renode image
Signed-off-by: Sean Cross <sean@xobs.io>
2020-08-18 17:02:02 +08:00
Sean Cross
87c7335afc xous: don't panic when non-Ok is returned by send_message
Sometimes the queue is full, in which case something other than Ok is
returned. Don't panic when this happens.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-08-18 17:01:28 +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
965696df8b emulation: fix path to loader
Loader isn't part of the workspace anymore, so its path has changed.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-08-18 17:00:19 +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
0ca7fe6f12 kernel/loader: fix build arguments
Signed-off-by: Sean Cross <sean@xobs.io>
2020-08-18 12:10:46 +08:00
Sean Cross
9f6d018e20 xtask: remove shell from list of packages
This isn't useful right now.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-08-18 12:10:28 +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
a513800dc5 emulation: update path to target images
Signed-off-by: Sean Cross <sean@xobs.io>
2020-08-17 20:01:26 +08:00
Sean Cross
2f1973aef9 xtask: build program loader
Signed-off-by: Sean Cross <sean@xobs.io>
2020-08-17 20:01:07 +08:00
Sean Cross
00cff81b35 xtask: renode-image: rename from "image"
This reflects the target output, as well as the help text.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-08-17 19:48:39 +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
acbcb0cb12 xtask: add cargo xtask command
This command can be used to build a full image.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-08-17 19:42:39 +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
1991a464bd core: add Workspace back in
The Workspace turns out to be useful, particularly when handled
correctly. This allows for a unification of all packages.

Additionally, since we now are focusing on applications and servers now,
the decision of which packages to build by default becomes clearer.

Finally, we'll be able to use `xbuild` to construct more complex
workflows with a full Workspace.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-08-17 18:39:33 +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
f469bfcffc xous-rs: remove baremetal cfg
We now check if `target_os = "none"`.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-08-14 19:53:33 +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
3ed964507d xous: add #[xous::xous_main] proc-macro
This is used to annotate a main function that is compatible with both
hosted and baremetal environments.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-08-14 16:44:08 +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
cb959eb1cf kernel: fix interrupts
Signed-off-by: Sean Cross <sean@xobs.io>
2020-08-10 22:43:38 +08:00
Sean Cross
31f63c3f5f kernel: threads work now
Signed-off-by: Sean Cross <sean@xobs.io>
2020-08-10 22:05:06 +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
a467d6fcc7 kernel: baremetal: 2nd process starts to run and crashes
Signed-off-by: Sean Cross <sean@xobs.io>
2020-08-10 16:06:38 +08:00
Sean Cross
75449f1deb kernel: get PID1 running, now working on PID2
Signed-off-by: Sean Cross <sean@xobs.io>
2020-08-10 00:35:37 +08:00
Sean Cross
10ecacd136 kernel: native: create process for initial processes
These all need to bootstrap themselves.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-08-09 23:08:54 +08:00
Sean Cross
bef0168c20 kernel: more warning fixes
Signed-off-by: Sean Cross <sean@xobs.io>
2020-08-09 22:14:14 +08:00