Commit graph

77 commits

Author SHA1 Message Date
bunnie
337afbbe47 bump loader version number 2021-11-02 03:26:16 +08:00
bunnie
8d501cfcc6 add a check that the detached signature metadata matches signed data
the unsigned metadata in the signature header is used to compute
the signature, which contains a copy of the key metadata. We forgot
to make sure these match, which means the signed copy was worthless.

Until now.
2021-11-02 03:16:40 +08:00
bunnie
010856406d fix permissions 2021-10-27 23:06:13 +08:00
bunnie
3a4bbdd71a fix permissions. windows likes to make all files executable! world writeable! 2021-10-23 18:37:39 +08:00
bunnie
dc527a3619 Rust 1.56 results in a bigger loader. Presumably because "optimization".
This causes the font maps to shift down. Allocate some "room to grow"
as Rust gets more "optimal".
2021-10-23 18:36:31 +08:00
bunnie
16fdd25839 fix new compiler warnings since rust 1.55 re: workspace issues 2021-09-10 22:54:01 +08:00
bunnie
e2ce3cad2c make sure that the power states get set correctly early in the resume process 2021-08-27 15:47:27 +08:00
bunnie
98afa19264 fix kernel uart going dead after suspend/resume 2021-08-24 03:46:02 +08:00
bunnie
abd8eadfd8 modify the console behavior to better capture panics on resume
switches to kernel console on suspend, keeps it in kernel
console on resume for a few hundred ms before switching back
to our original setting
2021-08-22 14:28:06 +08:00
bunnie
c0ce66ee51 fix permissions. windows is sort of stupid and makes everything +x 2021-08-19 23:34:29 +08:00
Sean Cross
f5de6551bc loader: cargo: load packages that work with xous target
Load versions of the dalek crates that support the xous target.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-08-18 18:19:41 +08:00
Sean Cross
c9c02b5d93 loader: initial riscv32imac-unknown-xous compat
Initial changes required to get the loader building for the
`riscv32imac-unknown-xous-elf` target.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-08-18 18:18:56 +08:00
Sean Cross
f952d0d9fe loader: cargo: add support for -xous- target_os
Add link commands to the cargo config so that the loader can be built
for the `riscv32imac-unknown-xous-elf` target.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-08-18 18:17:53 +08:00
Sean Cross
0c372263ff loader: mark sections as +X
It is unclear why this is required. More investigation
is needed.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-08-15 21:59:19 +08:00
Sean Cross
4700275b93 loader: handle sections on page boundaries
Handle a section that ends exactly at a page boundary.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-08-15 21:54:59 +08:00
bunnie
a59e4f995c initial take at converting loader to do fallback instead of fail-hard 2021-08-12 03:48:11 +08:00
Sean Cross
6d7660b76a loader: debug: fix minor clippy warning
Signed-off-by: Sean Cross <sean@xobs.io>
2021-08-06 11:55:56 +08:00
Sean Cross
f7f7ac2ee0 loader: add small comment
Signed-off-by: Sean Cross <sean@xobs.io>
2021-08-04 12:50:20 +08:00
Sean Cross
c5445da5d2 loader: only pre-allocate the first stack page
For each program, only allocate the first stack page. This will ensure
we don't use too much stack.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-08-04 12:48:14 +08:00
Sean Cross
e93929e04b loader: use vendered version of utralib
By vendoring this package, we can avoid causing a rebuild unnecessarily.

This will be removed when Rust 1.55 is released and we can bring the
`loader` package back into the main workspace.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-08-04 12:20:05 +08:00
bunnie
4c777976ac clear RAM on a cold boot
since the RAM is battery backed and persistent, it's probably
a good idea just to zero-ize it before using it on a cold boot.
2021-07-22 03:03:27 +08:00
bunnie
78394b869a Merge branch 'main' of github.com:betrusted-io/xous-core into main 2021-07-13 22:42:57 +08:00
bunnie
b8b034086c actually use the curve25519 engine in the loader
forgot to apply a patch.crates-io in the Cargo.toml file
for the loader, so we were using u32 software backend emulation.
2021-07-13 22:40:57 +08:00
Sean Cross
7c0e6ba81d loader: print an error on invalid public key
Instead of silently panicking, print an error to the screen and /then/
panic.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-07-13 20:07:11 +08:00
bunnie
a4f8346c34 reflect the latest fixes to the secure boot process
also patch up some issues with sha512 reset and loose
ends on docs and updates
2021-07-13 00:46:31 +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
2b19f31da9 set the stage for simple signature validation on the kernel 2021-07-12 02:26:50 +08:00
bunnie
84a2e9f768 fix status bar so that it redraws out of suspend/resume
the bootloader modifies the screen, so all elements must
be redrawn regardless of the pervious state change!
2021-07-11 18:47:19 +08:00
bunnie
8007eabd54 Merge branch 'main' of github.com:betrusted-io/xous-core into main 2021-07-11 04:15:26 +08:00
bunnie
1949c1bbc9 a semblance of sanity, finally 2021-07-09 23:01:50 +08:00
Sean Cross
d96b6c15c8 loader: ensure stack is 16-byte aligned
The stack must be 16-byte aligned in order for `u32` to work properly,
as the compiler assumes these values are aligned.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-07-07 14:32:08 +08:00
bunnie
6c697de512 add l2 cache support (suspend/resume flushing)
also noted some performance benchmark improvements
2021-07-05 17:05:10 +08:00
bunnie
a70b858812 convert to using the urandom interface 2021-06-11 16:29:25 +08:00
Sean Cross
ff46015127 loader: increase stack size to main process
The graphics server has been observed to explode stack. This increases
the start size of the stack to prevent this from happening.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-05-10 15:08:46 +08:00
Sean Cross
e43f333faa loader: don't map the stack into the kernel
This prevents the stack from getting claimed by the kernel, or handed
out to another process.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-05-10 14:37:33 +08:00
bunnie
46fe3885dc cleanup more turds left over during the bringup of suspend/resume 2021-05-01 00:35:32 +08:00
bunnie
260b154741 clean up some boot process holdovers 2021-04-30 23:28:31 +08:00
bunnie
640ddb48e8 suspend/resume now works to hardware 2021-04-30 19:29:36 +08:00
bunnie
7053c2b7c6 able to detect the clean suspend, now figuring out how to resume 2021-04-30 05:00:03 +08:00
bunnie
0e2d57c9fb retrofit the kernel and loader to handle resume
and now the even harder debuggening begins...zomg o_O
2021-04-30 01:55:38 +08:00
bunnie
bbcf698ff3 flesh out a simple touch-and-go suspend/resume demo loop
now the debuggening begins. lord help us.
2021-04-29 02:56:53 +08:00
bunnie
805d7c79a2 add some preliminary bits for the loader to detect suspend/resume 2021-04-29 00:22:38 +08:00
bunnie
f76358e716 Merge branch 'bunnie-dev' 2021-04-27 18:55:57 +08:00
bunnie
d2e9d35d37 modify loader to block out suspend resume pages per Xobs review 2021-04-27 18:47:55 +08:00
bunnie
8f679ce41f revert the loader assembly artifacts 2021-04-27 18:17:07 +08:00
bunnie
7f6abaea6a Revert "relocate top of kernel memory to save two pages for suspend/resume"
This reverts commit 36429de62f.

Turns out there is a better way to do this.
2021-04-27 18:16:33 +08:00
bunnie
07d6055b4e new loader artifacts, change +x mode on script 2021-04-27 03:52:34 +08:00
bunnie
36429de62f relocate top of kernel memory to save two pages for suspend/resume 2021-04-27 03:51:38 +08:00
bunnie
8ae1a7ff8c
Update README.md 2021-04-27 03:47:32 +08:00
bunnie
85211bb57d add susres server skeleton 2021-04-27 00:38:51 +08:00