Commit graph

163 commits

Author SHA1 Message Date
bunnie
0641cad639 clean out some unused crates and test structures 2022-05-29 14:32:26 +08:00
bunnie
bafa6c2d58 fix local dev depenendcy 2022-05-29 03:28:41 +08:00
bunnie
268fe63cc1 Merge branch 'main' into u2f 2022-05-29 03:25:49 +08:00
bunnie
e14e6206ed include a getrandom implementation that allows us to use modern randcore
A lot of packages are depending on 0.6 api, which requires a crate
that has OS specific TRNG calls. This patch keeps the 0.5 calls
inside the TRNG crate as direct API calls, and migrates to support
a 0.6 api to a patched version of getrandom that supports Xous.
2022-05-29 02:47:51 +08:00
bunnie
844543f72d beginning of ecdsa port...need to resolve rand_core dependency
*everoyne* is relying on rand_core, a later version, that uses
a "getrandom" thing that tries to make the call for random
number generators generic.

I mean, it's kind of cool, but, it's also sort of a libc
non-pure-rust nightmare because basically it always delegates
to a C-style API for a variety of platforms.

Next step is to see if we can't...patch...getrandom to point
to a much simplified, xous-only version that is 100% pure Rust.
2022-05-28 23:38:23 +08:00
Sean Cross
2e69ae8a12 spawn: compiles, but does not work yet
Signed-off-by: Sean Cross <sean@xobs.io>
2022-05-28 05:10:48 +08:00
bunnie
81f823ff34 migrate u2f to the "vault" app
The vault app is the beginning of a multi-purpose authentication vault.
It will feature:

1. FIDO2 authentication
2. TOTP authenticators
3. Password storage to PDDB with auto-typing via keyboard HID

This is the first step on a very very long journey.
2022-05-28 01:17:54 +08:00
bunnie
a8f761722a start to lay in u2f messaging infrastructure 2022-05-26 17:58:22 +08:00
bunnie
346caad315 Add the usb-device-xous driver to the default hardware config
Also includes the USB test commands in shellchat.

This is different from the usb-test crate, in that it's fully
integrated into Xous. usb-test is just for quick-testing the USB
driver, in the absence of most of the rest of Xous.
2022-05-17 00:46:52 +08:00
bunnie
2b57fa559d use Cargo patches so we can target our branch of usb-device
we have to add a patch to usb-device because the SpinalHDL UDC
needs a little extra handholding on EP0 to switch IN and OUT modes
(vs e.g. STM32 where EP0 has IN and OUT descriptors).
2022-05-16 03:09:28 +08:00
bunnie
ec34c4ba91 Merge remote-tracking branch 'origin/main' into usbdev 2022-03-31 04:37:19 +08:00
Sean Cross
a70aee7bad loader: move loader into main workspace
Add the loader into the main workspace, removing it from its own
sub-workspace. We can do this now that we can specify the linker script
in `build.rs`.

This improves IDE support, and should shrink disk storage requirements.

Signed-off-by: Sean Cross <sean@xobs.io>
2022-03-22 02:09:18 +08:00
Blake Smith
3fb30dc619 Add a basic 'hello world' app example 2022-03-18 12:43:54 -05:00
bunnie
6c59b32ae6 fix loader for minimal-build hardware 2022-03-14 01:18:36 +08:00
bunnie
b246a369d4 lay in another layer of tts functionality
now shellchat can talk, and password entries are a thing.

next up: debug oom issues in STT when we start doing really big
strings.
2022-03-11 02:37:48 +08:00
bunnie
1d6fbbe5bb add the basic text to speech infrastructure.
also creates a method for isolating incompatibly licensed repos
2022-03-08 03:08:12 +08:00
bunnie
54e491840d stash to work on an aes api bug 2022-03-07 13:17:58 +08:00
bunnie
526bc959af add some facilities for testing net in libstd 2022-03-02 20:43:01 +08:00
bunnie
d0ecd54435 remove stray espeak artifacts from this dev branch 2022-02-27 18:20:43 +08:00
bunnie
a9a5e5c9a9 integrate app name in sec notes patch, make app name update retriggered on change 2022-02-24 19:44:24 +08:00
bunnie
583c2e172b add a demo REPL app to help users get started with something more interactive 2022-01-24 19:06:58 +08:00
bunnie
d2a054ec33 laying in some framework for user applications
The first "app" is just going to be a whole-framebuffer
demo that gets raw keys and does some stuff on the screen.
It's the starting point if you wanted to eg. write a simple
video game or something for the device, but you didn't care
about much of the other UX sugar.
2022-01-23 15:52:17 +08:00
bunnie
2b46f21ae8 remove dependency on blitstr v1 entirely 2022-01-23 04:08:32 +08:00
bunnie
0d4ab0eb47 Revert "loader: move loader into main workspace"
This reverts commit 0d72454776.
2022-01-17 22:55:39 +08:00
Sean Cross
0d72454776 loader: move loader into main workspace
Add the loader into the main workspace, removing it from its own
sub-workspace. We can do this now that we can specify the linker script
in `build.rs`.

This improves IDE support, and should shrink disk storage requirements.

Signed-off-by: Sean Cross <sean@xobs.io>
2022-01-14 17:32:04 +08:00
Sean Cross
ea8aa0befb cargo: enable incremental builds
This should speed up rapid development.

Signed-off-by: Sean Cross <sean@xobs.io>
2022-01-14 15:37:13 +08:00
Sean Cross
7cd86b4fcf Merge branch 'main' of github.com:betrusted-io/xous-core into kernel-monorepo
Signed-off-by: Sean Cross <sean@xobs.io>
2022-01-14 15:33:10 +08:00
Sean Cross
35af35381a kernel: integrate kernel into main monorepo
This moves the kernel into the main monorepo, allowing it to share
packages with the rest of the system. This change will allow us to
reduce the number of rebuilds that take place, as well as reducing disk
usage.

Note that the loader is still an indepenent project, and the integration
of that into the monorepo is pending.

Signed-off-by: Sean Cross <sean@xobs.io>
2022-01-14 15:31:36 +08:00
bunnie
f626374b36 reduce resource usage of the oqc_test
- code is merged into shellchat so there's less alignment overhead
and some library reuse
- server is not spawned until it's needed, so the RAM load is less
2022-01-11 17:19:13 +08:00
bunnie
4f638bb49a massive refactor to eliminate the RTC crate
Saves a bit on resources and the RTC crate doesn't need
to be stand-alone now that the modals crate is a thing;
we are able to split the UX routine to manage the RTC out
of the code that actually manages the hardware.

The hardware code ended up in LLIO, and the UX ended up in the status
routine.
2022-01-11 15:45:20 +08:00
bunnie
60d6d08933 basic framework for modal API wrapping in place 2021-12-15 13:46:24 +08:00
bunnie
7208a86fdb rename aes-xous to aes, and change version number
this allows us to patch AES for external crates, too,
such as aes_gcm_siv
2021-11-07 05:17:34 +08:00
bunnie
643e9a7d62 dns. needs more work, but it is at least minimally functional. 2021-10-20 05:18:54 +08:00
bunnie
b43eb56346 add some skeleton for a net crate; testing COM interrupts 2021-10-08 20:01:13 +08:00
bunnie
e4c79a5f47 start to lay out skeleton for pddb 2021-10-04 14:50:30 +08:00
bunnie
011466ceb5 start on a minimal test stub for the heap allocation problem 2021-09-26 00:01:59 +08:00
bunnie
c2c919ba81 add oqc test service
this works around the problem with stdlib allocator not
working quite correctly in spawned threads.
2021-09-18 02:22:35 +08:00
bunnie
16fdd25839 fix new compiler warnings since rust 1.55 re: workspace issues 2021-09-10 22:54:01 +08:00
bunnie
e510525a0a move wycheproof-import to tools 2021-09-06 14:42:19 +08:00
Fabian Weißberg
4bb454ef10 Import x25519 vectors from Project Wycheproof
Closes #76

The test vectors in wycheproof-import/x25519_test.json correspond to the upstream commit 4672ff74d6.

For details see wycheproof-import/README.md.

Signed-off-by: Fabian Weißberg <fabian.weissberg@tu-dortmund.de>
2021-09-05 22:27:16 +02:00
bunnie
bdd70f9502 stash to figure out build issue 2021-08-10 22:41:22 +08:00
bunnie
04dc6a4c2b refactor engine-sha512 to be named sha2
this makes patch.crates-io much easier to debug, we now
have the hardware hasher working in all the places i expect it to.
2021-08-09 04:40:33 +08:00
bunnie
1424eca689 remove a warning 2021-07-29 00:15:06 +08:00
bunnie
b6c443145c extend modal functions; refactor status into its own server 2021-07-28 01:01:39 +08:00
bunnie
5280d232e5 figuring out which way is up on the RootKeys implementation 2021-07-21 19:47:09 +08:00
bunnie
ce18716b88 add the boilerplate for the keys server 2021-07-20 01:59:52 +08:00
bunnie
ef93196cfc stash commit to fix a bootloader issue 2021-07-13 22:28:46 +08:00
bunnie
5d62af49a5 simple signature checks in the bootloader now
checks xous.img as a single blob before accepting it.
2021-07-12 17:16:22 +08:00
bunnie
2c6ba2f127 fix brokenness with ptr_meta crate 2021-07-05 17:17:33 +08:00
bunnie
1b5d4bd79b push of spinor changes to validate l2cache 2021-07-05 00:08:58 +08:00
bunnie
674faa46d9 button up after debugging the ed25519 issue 2021-06-29 23:46:15 +08:00
bunnie
0bad1ad755 isolate a potential compiler bug 2021-06-29 00:10:46 +08:00
bunnie
8da62390ad add RFC7748 test vectors for diffie hellman 2021-06-28 19:01:22 +08:00
bunnie
ee87fd35a8 add hw acceleration for the affine transform on curve25519 2021-06-28 04:43:56 +08:00
bunnie
e2ada8f8fe attempt to fix up some build system warts 2021-06-28 01:31:43 +08:00
bunnie
e39c2200cd fix up the build system warts & integration with dalek crates
we are at least now only requiring users to use our patched
curve25519-dalek crate, which now builds cleanly in both
xous and std environments, but the higher-level crates can be
directly used from crates.io
2021-06-27 03:07:39 +08:00
bunnie
6efdb7e0db stash a version with XousEngine25519 traits in case we want it back later 2021-06-27 00:31:15 +08:00
bunnie
5d21ef0c76 beginnings of the curve25519 accelerator engine core driver
the engine-25519 server just takes microcode jobs and runs them
on the curve25519 accelerator engine.

all the fancy crypto stuff comes from other crates, which will
be filled in later.
2021-06-22 01:48:51 +08:00
bunnie
b1d027bc52 adding AES native instruction support 2021-06-04 00:49:34 +08:00
bunnie
77ed8972f6 Merge branch 'aes' into bunnie-dev 2021-06-02 04:08:00 +08:00
bunnie
fadc9c29ab Merge remote-tracking branch 'origin/master' into bunnie-dev 2021-06-02 03:59:25 +08:00
Sean Cross
9638c67aae aes-test: add test program
This is a basic program that exercises the AES core

Signed-off-by: Sean Cross <sean@xobs.io>
2021-06-01 20:01:23 +08:00
Sean Cross
74abf35a08 svd2repl: add program to generate a repl file
Signed-off-by: Sean Cross <sean@xobs.io>
2021-05-19 14:12:01 +08:00
bunnie
7d9e84c456 initial frameworks around sha512 acceleration integration 2021-05-19 00:39:03 +08:00
Sean Cross
7087fbe823 Cargo: add hooks to reduce binary size
These can be turned on if we want to reduce the size of our binaries.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-05-10 15:09:24 +08:00
bunnie
f558f75116 add the skeleton for the codec server 2021-05-03 00:20:51 +08:00
bunnie
85d78439d7 fcc-agent is now deprecated 2021-05-01 21:01:46 +08:00
bunnie
85211bb57d add susres server skeleton 2021-04-27 00:38:51 +08:00
bunnie
ec2a87e306 make TRNG testing variants easier to configure 2021-04-20 03:21:53 +08:00
bunnie
f15266c070 callback test coding 2021-04-12 13:32:00 +08:00
Sean Cross
11955ba6b1 xous-ipc: utilize published xous 0.8.0
This uses the published version of `libxous`.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-04-07 16:38:36 +08:00
bunnie
01486b5552 remove shell 2021-04-06 23:12:30 +08:00
Sean Cross
fdce58d06e ipc: convert project to use xous-ipc
This rewrites the entire project so that most runnable projects now use
`xous-ipc` instead of `xous::String` where possible.

This also removes `rkyv` from the list of dependencies in `xous-rs`.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-03-26 20:22:33 +08:00
Sean Cross
fd255d8f53 services: add rkyv-test-client and rkyv-test-server
These servers demonstrate how we might use rkyv in the future.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-03-25 23:39:35 +08:00
bunnie
6677d79834 initial RTC framework 2021-03-18 16:22:08 +08:00
Sean Cross
f960c1cb4a cargo: sync latest git tags
We've updated `minifb`, which updates the lockfile.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-03-13 18:02:21 +08:00
bunnie
a9a7ac435f add support for rounded rectangle text bubbles and dynamic sizing
this makes more more natural chat-style text bubble interactions
2021-03-10 00:25:14 +08:00
bunnie
b5411851fd rudimentary shellchat -- commit for help on debug Move message 2021-03-09 03:52:39 +08:00
bunnie
0cc1f9f5fb it doesn't look that impressive, but there's a lot of plumbing now. 2021-03-06 01:10:18 +08:00
bunnie
92ca22c38c refactor IME plugin API into a common crate
This will allow other APIs to just include the API crate
to define all the gazintas and gozoutas.
2021-03-04 03:14:26 +08:00
Sean Cross
0c6cb9135e services: add kernel-test
This was used to demonstrate the message passing bug.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-03-03 21:22:26 +08:00
bunnie
8f809c2a51 start layering in the IME front end and prediction APIs 2021-03-03 14:53:33 +08:00
bunnie
9f79367d1c Merge branch 'hardware-rkyv' into hardware 2021-02-12 01:56:50 +08:00
Sean Cross
374e411b74 cargo: use resolver 2 to fix graphics issue
The graphics server has an issue where something upstream is activating
the "std" feature on "log", which prevents us from compiling anything
that includes the "log" crate. Which is everything.

Use resolver "2", which requires Rust 1.51 or newer.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-02-10 15:00:16 +08:00
Sean Cross
00ef495b09 cargo: refresh upstream version numbers
Signed-off-by: Sean Cross <sean@xobs.io>
2021-02-04 10:28:53 +08:00
bunnie
8ed37a0dcb add API framework for LLIO 2021-01-27 13:33:03 +08:00
bunnie
31e58c3337 add benchmarks. this commit exhibits a mysterious problem with Lookup API 2021-01-22 04:11:02 +08:00
bunnie
cc6992c3df implement "imports" methodology
This commit simplifies managing git-repo hosted dependencies, so
there is a single location for changing the package path.
2021-01-20 16:22:38 +08:00
bunnie
cc66c3911a starting to lay out initial framework for the graphical abstraction manager (GAM) 2021-01-17 04:02:08 +08:00
bunnie
8a1991876f add basic TRNG service 2021-01-13 15:04:14 +08:00
bunnie
f166073954 first draft of keyboard server 2021-01-11 06:11:15 +08:00
bunnie
cce89395f6 test framework for xous-names 2021-01-04 23:34:18 +08:00
bunnie
b9a31f7d99 try to layer in the fcc agent 2020-12-31 19:31:12 +08:00
bunnie
8d36974a86 add trng-tester crate (just the beginning) 2020-12-14 23:30:58 +08:00
bunnie
fdf3f6860a ugh fix more CI issues on "run" variant 2020-12-13 02:22:52 +08:00
bunnie
e1c4b702a9 add WDT support to xous-core 2020-12-13 01:54:25 +08:00
bunnie
fa12e513cd inital take at com 2020-11-24 22:45:10 +08:00
bunnie
523d18f5ab refactor "examples" -> "services" 2020-10-14 02:04:21 +08:00
bunnie
98f648f30f attempt to add a ticktimer server 2020-10-12 19:08:16 +08:00
Sean Cross
2c5ef03a09 cargo: re-enable fat lto mode for whole project
Signed-off-by: Sean Cross <sean@xobs.io>
2020-10-11 09:16:46 +08:00