Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

riscv32imac-unknown-xous-elf: rust-lld gives offset is outside the section errors #103949

Open
xobs opened this issue Nov 4, 2022 · 5 comments
Open
Labels
A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. C-bug Category: This is a bug. O-xous OS: A microkernel OS for privacy in computing P-low Low priority regression-from-stable-to-stable Performance or correctness regression from one stable version to another. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Comments

@xobs
Copy link
Contributor

xobs commented Nov 4, 2022

Version it worked on

It most recently worked on: Rust 1.64.0

Version with regression

rustc --version --verbose:

rustc 1.65.0 (897e37553 2022-11-02)
binary: rustc
commit-hash: 897e37553bba8b42751c67658967889d11ecd120
commit-date: 2022-11-02
host: x86_64-pc-windows-msvc
release: 1.65.0
LLVM version: 15.0.0

Description

Building crates for the riscv32imac-unknown-xous-elf target sometimes results in a link error. This began with Rust 1.65.0. For example:

error: linking with `rust-lld` failed: exit code: 1
  |
  = note: "rust-lld" "-flavor" "gnu" "C:\\Users\\Sean\\AppData\\Local\\Temp\\rustcR77RGd\\symbols.o" "E:\\Code\\Xous\\Core\\target\\riscv32imac-unknown-xous-elf\\release\\deps\\pddb-8aba67b084ba8fc1.pddb-b3f235aec8c95441.n927u1iqdxcieg4.rcgu.o.rcgu.o" "--as-needed" "-L" "E:\\Code\\Xous\\Core\\target\\riscv32imac-unknown-xous-elf\\release\\deps" "-L" "E:\\Code\\Xous\\Core\\target\\release\\deps" "-L" "E:\\Code\\Xous\\Core\\target\\riscv32imac-unknown-xous-elf\\release\\build\\xous-08f083a692e5c29b\\out" "-L" "C:\\Users\\Sean\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\riscv32imac-unknown-xous-elf\\lib" "-Bstatic" "C:\\Users\\Sean\\AppData\\Local\\Temp\\rustcR77RGd\\libxous-26655dcc7bb206b6.rlib" "C:\\Users\\Sean\\AppData\\Local\\Temp\\rustcR77RGd\\libxous-d175a8531300a7f7.rlib" "C:\\Users\\Sean\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\riscv32imac-unknown-xous-elf\\lib\\libcompiler_builtins-67716ddc427f4546.rlib" "-Bdynamic" "--eh-frame-hdr" "-znoexecstack" "-L" "C:\\Users\\Sean\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\riscv32imac-unknown-xous-elf\\lib" "-o" "E:\\Code\\Xous\\Core\\target\\riscv32imac-unknown-xous-elf\\release\\deps\\pddb-8aba67b084ba8fc1" "--gc-sections" "-O1"
  = note: rust-lld: error: E:\Code\Xous\Core\target\riscv32imac-unknown-xous-elf\release\deps\pddb-8aba67b084ba8fc1.pddb-b3f235aec8c95441.n927u1iqdxcieg4.rcgu.o.rcgu.o:(.rodata.cst32): offset is outside the section


error: could not compile `pddb` due to previous error

Background

We build a custom libstd for the riscv32imac-unknown-xous-elf target, which is a Tier-3 target. This repository is at https://github.com/betrusted-io/rust. We are working on preparing patches for upstream that do not add any external dependencies, but this work is taking time. As a result, we generally forward-port our patchset every six weeks once the stable build is released.

When building packages for the Betrusted platform, our build system compiles around 27 packages. Many of these packages succeed, but with Rust 1.65.0 we have three packages fail.

This target does not have a linker script, and instead relies on the default one provided by rust-lld.

@xobs xobs added C-bug Category: This is a bug. regression-untriaged Untriaged performance or correctness regression. labels Nov 4, 2022
@rustbot rustbot added the I-prioritize Issue: Indicates that prioritization has been requested for this issue. label Nov 4, 2022
@xobs
Copy link
Contributor Author

xobs commented Nov 4, 2022

I managed to link the project using riscv32-esp-elf-gcc and it worked just fine, so this seems like a regression with rust-lld.

xobs added a commit to betrusted-io/xous-core that referenced this issue Nov 4, 2022
With Rust 1.65.0, we may be forced to use gdb's linker due to bug that
appeared in llvm-15:

rust-lang/rust#103949

Signed-off-by: Sean Cross <[email protected]>
@apiraino
Copy link
Contributor

apiraino commented Nov 9, 2022

WG-prioritization assigning priority (Zulip discussion)

@xobs can you provide an example of a crate failing to build? Could be interesting to bisect where this started. We usually use https://github.com/rust-lang/cargo-bisect-rustc for bisecting (if anyone has some time to help).

@rustbot label -I-prioritize +P-low e-needs-mcve e-needs-bisection

@rustbot rustbot added E-needs-bisection Call for participation: This issue needs bisection: https://github.com/rust-lang/cargo-bisect-rustc E-needs-mcve Call for participation: This issue has a repro, but needs a Minimal Complete and Verifiable Example P-low Low priority and removed I-prioritize Issue: Indicates that prioritization has been requested for this issue. labels Nov 9, 2022
@xobs
Copy link
Contributor Author

xobs commented Nov 9, 2022

This issue is what caused me to submit #104101 to get our libstd upstream. Until now it's been out-of-tree.

I did put up an example of the crash at https://github.com/xobs/gam-crash. This crate is buildable provided you have support for riscv32imac-unknown-xous-elf. This patchset is available in #104101

Note that this crate can be linked with ld.

I've verified that gam-crash fails on both Windows and Linux. Furthermore, removing debug=true OR codegen-units=1 from Cargo.toml makes it no longer fail.

I'm following these steps:

  1. Building the libstd in Add initial libstd support for Xous #104101
  2. Running cargo +nightly build --release --target riscv32imac-unknown-xous-elf

Given that the difference between 1.65.0 and 1.64.0 wasn't too great -- the only changes were to the arguments to read_buf() and the addition of _sigpipe to init(), it may not be too difficult to to the bisect even with our wonky build system. I'll need to learn how to use cargo-bisect-rustc though.

@xobs
Copy link
Contributor Author

xobs commented Nov 10, 2022

Using nothing but the choices of chewing gums, the finest of balling wire, and the crudest of scripts https://gist.github.com/xobs/2ae7231284a58df6600b2c0d758ed5f0 I narrowed it down to e2b52ff as the source of the crash.

Which makes sense, because the crash is in rust-lld and goes away when I replace it with ld. I'm sure it'd work just fine if I transplanted rust-lld from 1.64.0 into 1.65.0.

What's the next step?

@apiraino
Copy link
Contributor

thanks @xobs for the help! I'll mention #99464 cc: @nikic for more context

@apiraino apiraino removed E-needs-bisection Call for participation: This issue needs bisection: https://github.com/rust-lang/cargo-bisect-rustc E-needs-mcve Call for participation: This issue has a repro, but needs a Minimal Complete and Verifiable Example labels Nov 11, 2022
@nikic nikic added the A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. label Nov 11, 2022
gsora added a commit to gsora/xous-core that referenced this issue Nov 14, 2022
commit 474a02c
Author: bunnie <[email protected]>
Date:   Wed Nov 9 15:06:51 2022 +0800

    refactor all vault db retrieval to use new API

    This refactors the remaining vault accessor routines to use
    the new more efficient key pre-fetching routine. This also
    fixes up an error in test case generation and hopefully resolves
    an issue with concurrency errors using the older version of
    the access routine.

commit c3ba30d
Author: bunnie <[email protected]>
Date:   Wed Nov 9 14:25:26 2022 +0800

    expand on errors reported

commit e7e110c
Author: bunnie <[email protected]>
Date:   Wed Nov 9 14:25:05 2022 +0800

    cleanup and enhance test cases

commit 6d1d297
Author: bunnie <[email protected]>
Date:   Wed Nov 9 01:01:42 2022 +0800

    bump ring-xous to track latest PR

commit 11a0107
Author: bunnie <[email protected]>
Date:   Wed Nov 9 00:33:13 2022 +0800

    fix UX state after button press on dynamic modal

    This bug was hidden by the previous return of state before
    the reliquish.

    Now with the correct ordering, we end up getting a double-relinquish
    which ends up trying to swap a modal into focus which doesn't exist.

    This fixes that edge case

commit 4c45dfa
Author: bunnie <[email protected]>
Date:   Wed Nov 9 00:33:01 2022 +0800

    more debugging help

commit 1129f1c
Author: bunnie <[email protected]>
Date:   Mon Nov 7 23:05:32 2022 +0800

    bump versions after xous-names bump

commit a7162fd
Author: bunnie <[email protected]>
Date:   Mon Nov 7 22:19:38 2022 +0800

    bump xous-names dependents

commit 28f42ba
Merge: 1bc39cd 3ca323f
Author: bunnie <[email protected]>
Date:   Mon Nov 7 22:09:56 2022 +0800

    Merge pull request betrusted-io#274 from betrusted-io/xous-names-tryconnect

    Add TryConnect call to xous-names

commit 3ca323f
Author: Sean Cross <[email protected]>
Date:   Mon Nov 7 18:46:02 2022 +0800

    xous-names: implement non-blocking TryConnect call

    This call can be used by clients to try connecting to a service. If the
    service is not available, this will fail to connect.

    Signed-off-by: Sean Cross <[email protected]>

commit 3ca57bc
Author: Sean Cross <[email protected]>
Date:   Mon Nov 7 18:45:25 2022 +0800

    xous-api-names: add TryConnect

    This is a non-blocking version of Connect that is fallible.

    Signed-off-by: Sean Cross <[email protected]>

commit 1bc39cd
Author: bunnie <[email protected]>
Date:   Mon Nov 7 00:25:16 2022 +0800

    bump release notes

commit 781776b
Author: bunnie <[email protected]>
Date:   Mon Nov 7 00:22:49 2022 +0800

    move the mount initiator back into status; fix waiting signal

    mount initiator is now back inside of the status thread
    (woo, no more app-specific dependency) and there is now a
    wait on "attempted to mount" inside the status thread which is
    the signal to clear the "waiting on boot" message.

commit 0646ec2
Author: bunnie <[email protected]>
Date:   Mon Nov 7 00:21:52 2022 +0800

    track "attempted" mounts in PDDB

    this is to allow a UX process to clear the "waiting for boot"
    indicator once an attempt has completed.

    right now, it responds *after* the mount process is done,
    so the "please waiting" text persists even doing a format.

    I think that is...appropriate?

commit 93dcfb7
Author: bunnie <[email protected]>
Date:   Mon Nov 7 00:21:27 2022 +0800

    fix hosted mode

commit 335b78d
Author: bunnie <[email protected]>
Date:   Sun Nov 6 20:50:15 2022 +0800

    fix polarity of init_done flag. oops.

commit 1d7641c
Author: bunnie <[email protected]>
Date:   Sun Nov 6 18:48:23 2022 +0800

    force please wait message to clear before doing PDDB init

    While it's a kind of neat effect to have the "please wait"
    message persist right up until the point where the dialog box
    pops up, the problem is that the blit of the backplane captures
    that, so when the context is reverted that message is still there.

    On a very fast mount (empty PDDB under Renode emulation) the
    mounting call finishes so quickly that the dialog box that would
    normally trigger the redraw to clear this message never renders.

    This patch forces the screen to blank before trying to call
    PDDB init, ensuring that we don't have that persist after the
    mount, even if it is very fast.

    The downside is there is a fraction of a second where the please
    wait disappears, and the dialog box pops up. That is just the
    time it takes for the system to setup for the cryptographic
    operations.

commit 382380b
Author: bunnie <[email protected]>
Date:   Sun Nov 6 18:48:06 2022 +0800

    fix Sender cast

commit 3ee36f4
Author: bunnie <[email protected]>
Date:   Sun Nov 6 18:45:17 2022 +0800

    remove UX delays on PDDB path

    retain just one of them going into the erase routine, because
    it consumes enough CPU that the dialog box takes a bit too long to
    pop up.

commit 880675c
Author: bunnie <[email protected]>
Date:   Sun Nov 6 18:44:56 2022 +0800

    remove UX delays between dialog boxes

commit ffa8385
Author: bunnie <[email protected]>
Date:   Sun Nov 6 18:36:20 2022 +0800

    refactor: send response packet after context has been switched

    This refactor (at least partially) fixes a "mystery delay"
    sometimes required after a dialog box swaps out. The previous
    implementation would send the response, and then swap the contexts.
    This would often cause the recipient to start drawing its UX
    before the calling app was foregrounded, causing elements to go
    missing.

    This refactor puts the response after the context swap. The main
    downside is it requires every type of modal to have a GAM
    handle to issue the redraw call, and is especially complicated
    by the fact that GAM is not clone-friendly. However, the
    trade-offs of either creating a handle dynamically or storing
    one in the object is probably worth the benefit of removing
    an open-loop delay.

commit b0f443b
Author: bunnie <[email protected]>
Date:   Sun Nov 6 16:33:31 2022 +0800

    fix race condition on relinquish focus v result return for dynamic and progress modals

    There's a race condition between the return of a blocking scalar
    and when focus is relinquished.

    This causes chained graphics operations to get dropped sometimes.

    Move the return result to after the focus switch; this allows us
    to elimate some dead waits.

commit 5a0e3e5
Author: bunnie <[email protected]>
Date:   Sun Nov 6 15:59:58 2022 +0800

    clean up bitrot in dbg-ecupdate configuration

commit 69cf629
Author: bunnie <[email protected]>
Date:   Sun Nov 6 04:25:26 2022 +0800

    fix problem in tts build

commit 767580d
Author: bunnie <[email protected]>
Date:   Sun Nov 6 04:17:53 2022 +0800

    bump versions

commit 30583bd
Author: bunnie <[email protected]>
Date:   Sun Nov 6 03:48:12 2022 +0800

    bump versions with xous change

commit e85455a
Merge: a16304b c9f751f
Author: bunnie <[email protected]>
Date:   Sun Nov 6 03:44:58 2022 +0800

    Merge pull request betrusted-io#271 from betrusted-io/scalar5-support

    Scalar5 support

commit a16304b
Author: bunnie <[email protected]>
Date:   Sun Nov 6 03:42:07 2022 +0800

    bump release notes

commit 2a11f9d
Merge: 1ca0ef7 fa90e74
Author: bunnie <[email protected]>
Date:   Sun Nov 6 03:40:37 2022 +0800

    Merge branch 'main' of github.com:betrusted-io/xous-core into main

commit fa90e74
Merge: 4264231 817e758
Author: bunnie <[email protected]>
Date:   Sun Nov 6 03:40:17 2022 +0800

    Merge pull request betrusted-io#270 from gsora/feat/pddb-init-notification

    feat: show boot process notifications for PDDB

commit 817e758
Author: bunnie <[email protected]>
Date:   Sun Nov 6 03:36:43 2022 +0800

    remove the dead-wait before the PDDB is mounted

    the "right" way to do this is to poll to see if trusted init is
    done. once that is done, you can go ahead and try to mount the
    PDDB.

commit a56b8c8
Author: bunnie <[email protected]>
Date:   Sun Nov 6 03:11:23 2022 +0800

    add automounter to shellchat, and initial wait message

    The initial wait message is drawn directly under where
    the modals would appear, so the message "goes away"
    when modals pop up.

    There's still a bit of trickiness around the timing of
    some of the calls. Attempting to mount the PDDB too early
    before all the contexts have been registered leads to
    a lot of needless defacing.

    Also, the final redraw needs a short delay to allow
    the system to foreground shellchat again after closing
    the modals.

commit e240ca6
Author: bunnie <[email protected]>
Date:   Sun Nov 6 03:10:00 2022 +0800

    refactor the hardware boot screen

    - remove a blanking operation. this makes the transision from
    loader to runtime almost imperceptably smoother
    - add the ability to summon the logo screen earlier in the process

    Note that only GAM can call GFX, so, it's alright to expose that
    API, since GAM should gate-keep and prevent abuse of that function.

commit 7eecf2b
Author: bunnie <[email protected]>
Date:   Sun Nov 6 03:07:35 2022 +0800

    remove the initial wait from PDDB; move the pop-up modal location

    The initial wait message is now rendered by the first app
    that owns the screen (currently shellchat).

    The location where the pop-up modal is rendered is also now bracketed
    directly around the mount call to avoid interference with other
    edge cases that may pop up modals.

commit 0d02415
Author: bunnie <[email protected]>
Date:   Sun Nov 6 03:05:30 2022 +0800

    remove automounter from the status thread

    it's now in shellchat. In general, the program that is assigned
    as the initial app context is responsible for ensuring the
    PDDB is mounted. Thus, if `vault` were to become a stand-alone app,
    it should include some code to make sure the PDDB is mounted as
    part of its boot sequence.

    The reason is that it allows the initial app to guide the
    power-on experience, instead of delegating this to the `status`
    bar, which is oblivious to the state of the app.

commit 45009a0
Author: bunnie <[email protected]>
Date:   Sat Nov 5 23:06:47 2022 +0800

    add debugging hints for figuring out context switch bugs in the future

commit 7c4ca05
Author: bunnie <[email protected]>
Date:   Sat Nov 5 23:06:18 2022 +0800

    adjust modal trust level down so it's not identical to chat

commit c9f751f
Author: Sean Cross <[email protected]>
Date:   Sat Nov 5 18:44:01 2022 +0800

    xous: add api support for scalar5

    With the addition of scalar5, existing api calls must be updated to take
    advantage of it. This will allow `send_message()` to return a `scalar5`.

    Signed-off-by: Sean Cross <[email protected]>

commit da56475
Author: Sean Cross <[email protected]>
Date:   Sat Nov 5 18:39:54 2022 +0800

    kernel: syscall: add support for return_scalar5

    Add kernel support for returning 5 scalars.

    Signed-off-by: Sean Cross <[email protected]>

commit c8bb039
Author: Sean Cross <[email protected]>
Date:   Sat Nov 5 18:39:06 2022 +0800

    xous: add api support for `Scalar5`

    Add syscall and return definitions for Scalar5, as well as
    ReturnScalar5. This will enable us to pass up to five scalars as a
    return from a blockingscalar call.

    Signed-off-by: Sean Cross <[email protected]>

commit 1ca0ef7
Author: bunnie <[email protected]>
Date:   Sat Nov 5 16:30:29 2022 +0800

    clean up warning

commit 601f347
Author: bunnie <[email protected]>
Date:   Sat Nov 5 16:19:15 2022 +0800

    initial delay on NTP poller

    no point in clogging up the boot sequence with requests that
    will almost certainly fail.

commit d277ae9
Author: Gianguido Sorà <[email protected]>
Date:   Fri Nov 4 17:31:27 2022 +0100

    feat: show boot process notifications for PDDB

    This commit shows two notifications:
     1. as soon as the device boots, a notification greets the user and
     tells them everything is fine, the device is booting
     2. as soon as the user enters (or doesn't) enter the password, a
     notification tell the user Xous is loading and mounting PDDB

    I spent too much time on this but I believe it's a nice UX improvement.

commit 4264231
Merge: 5de44a9 f861af7
Author: bunnie <[email protected]>
Date:   Fri Nov 4 17:06:40 2022 +0800

    Merge branch 'main' of github.com:betrusted-io/xous-core into main

commit 5de44a9
Author: bunnie <[email protected]>
Date:   Fri Nov 4 17:05:51 2022 +0800

    don't fail if keyattribute not found in current basis when no basis specified

    This is not actually an error, we just need to try another basis
    down the list. This is a copypasta bug that was only caught now. :-/

commit 0d9a39a
Author: bunnie <[email protected]>
Date:   Fri Nov 4 17:05:32 2022 +0800

    print debug information when a key goes missing in bulk read

    this helps debug problems down the road

commit f861af7
Author: Sean Cross <[email protected]>
Date:   Fri Nov 4 12:27:13 2022 +0800

    tools: elf: fix copy-elf when gcc links program

    GCC will set the text size to `0` in a certain case that `rust-lld` did
    not. This causes the elf copier to add about 512 MB to the image which
    it otherwise shouldn't be doing.

    Add a workaround that appears to fix the issue.

    Signed-off-by: Sean Cross <[email protected]>

commit 3a84578
Author: Sean Cross <[email protected]>
Date:   Fri Nov 4 12:26:05 2022 +0800

    loader: fix build with gcc-ld

    With Rust 1.65.0, we may be forced to use gdb's linker due to bug that
    appeared in llvm-15:

    rust-lang/rust#103949

    Signed-off-by: Sean Cross <[email protected]>

commit d74673a
Author: bunnie <[email protected]>
Date:   Fri Nov 4 03:55:57 2022 +0800

    allow main menu to be used if there are no root keys

commit ed09ee0
Author: bunnie <[email protected]>
Date:   Fri Nov 4 03:53:03 2022 +0800

    bump to latest ring-xous version

commit af91ec9
Author: bunnie <[email protected]>
Date:   Thu Nov 3 23:28:08 2022 +0800

    bump release notes

commit 80a1bd3
Author: bunnie <[email protected]>
Date:   Thu Nov 3 23:18:13 2022 +0800

    resolve issue betrusted-io#267

commit 4dc7135
Author: bunnie <[email protected]>
Date:   Thu Nov 3 23:06:20 2022 +0800

    update the instructions to build soc.svd, and add note about verification

commit 01f660b
Author: bunnie <[email protected]>
Date:   Thu Nov 3 21:11:58 2022 +0800

    didn't meant to check in that script

commit ff2a7f8
Author: bunnie <[email protected]>
Date:   Thu Nov 3 21:06:04 2022 +0800

    some more debugging to help trace through dict sync issues

commit b04dcc2
Author: bunnie <[email protected]>
Date:   Thu Nov 3 21:04:14 2022 +0800

    add `smalldb` flag, which builds a PDDB with a size of 4MiB

    do not interchange this on devices with the full sized
    PDDB, you may corrupt the database

commit 6c2e86d
Author: bunnie <[email protected]>
Date:   Thu Nov 3 21:03:40 2022 +0800

    add support for small-sized PDDB images plus some debugging info

commit 5c624e7
Author: bunnie <[email protected]>
Date:   Thu Nov 3 21:01:11 2022 +0800

    add a flush after every PDDB write

    uncommitted data will lead to corruption later on

commit c91837c
Author: bunnie <[email protected]>
Date:   Thu Nov 3 18:33:22 2022 +0800

    fix max dicts in analyzer scripts

commit 719020b
Author: bunnie <[email protected]>
Date:   Thu Nov 3 17:23:11 2022 +0800

    don't allow polls to the unmount to turn true until other callbacks have been allowed

commit 3bdf157
Author: bunnie <[email protected]>
Date:   Thu Nov 3 17:22:22 2022 +0800

    enhance debugging output on pddb analyzer

commit 779cc61
Author: Sean Cross <[email protected]>
Date:   Thu Nov 3 12:31:22 2022 +0800

    emulation: spinor: implement erasesector4byte

    Implement this command, which is used by the system for bulk erases.

    Signed-off-by: Sean Cross <[email protected]>

commit 0c52a7a
Author: bunnie <[email protected]>
Date:   Thu Nov 3 01:58:36 2022 +0800

    the merge requested pulled multiple other crate versions backwards

    this fixes it, hopefully.

commit c04cc0e
Merge: 7af04b7 f59bbc2
Author: bunnie <[email protected]>
Date:   Thu Nov 3 01:54:00 2022 +0800

    Merge branch 'main' of github.com:betrusted-io/xous-core into main

commit f59bbc2
Merge: ebc0739 6332bf1
Author: bunnie <[email protected]>
Date:   Thu Nov 3 01:53:38 2022 +0800

    Merge pull request betrusted-io#266 from Foundation-Devices/driver-refactor

    kernel: Drivers refactor.

commit 6332bf1
Merge: 2cf4622 ebc0739
Author: bunnie <[email protected]>
Date:   Thu Nov 3 01:53:23 2022 +0800

    Merge branch 'main' into driver-refactor

commit 2cf4622
Author: bunnie <[email protected]>
Date:   Thu Nov 3 01:50:36 2022 +0800

    commit lockfile and verification pins

commit 80094ae
Author: bunnie <[email protected]>
Date:   Thu Nov 3 01:49:28 2022 +0800

    I see what's happening. The PR originator versions are very out of date.

    hopefully this fixes the issue.

commit bbb7e27
Author: bunnie <[email protected]>
Date:   Thu Nov 3 01:42:59 2022 +0800

    bump kernel version (this time with feeling)

commit ba46c6b
Author: bunnie <[email protected]>
Date:   Thu Nov 3 01:41:24 2022 +0800

    bump kernel version

commit 7af04b7
Author: bunnie <[email protected]>
Date:   Thu Nov 3 01:38:18 2022 +0800

    a bit more debugging around dictionary creation

commit 6d2be1b
Author: bunnie <[email protected]>
Date:   Wed Nov 2 21:52:28 2022 +0800

    add va printouts

commit d8807e6
Author: Jean-Pierre De Jesus DIAZ <[email protected]>
Date:   Wed Nov 2 14:29:53 2022 +0100

    kernel: Move rand driver to platform module.

    Signed-off-by: Jean-Pierre De Jesus DIAZ <[email protected]>

commit b334e5b
Author: Jean-Pierre De Jesus DIAZ <[email protected]>
Date:   Wed Nov 2 13:30:20 2022 +0100

    kernel: Split debug shell and uart driver.

    I've added a `platform` module to store all platform specific code, (not
    architecture specific) as some platforms will require custom drivers, e.g.
    for debug output and for the random number generation code.  The platform
    code is in charge of mapping any peripherals needed to work, also to
    initialize any other parts of the kernel that require drivers, for example
    the debug shell.

    Signed-off-by: Jean-Pierre De Jesus DIAZ <[email protected]>

commit ebc0739
Author: bunnie <[email protected]>
Date:   Tue Nov 1 21:25:04 2022 +0800

    fix some defaults to make the Renode path cleaner to start

commit f738781
Author: bunnie <[email protected]>
Date:   Tue Nov 1 21:18:33 2022 +0800

    make the default pin 'a', as it is on Renode

commit 4e2d799
Author: bunnie <[email protected]>
Date:   Tue Nov 1 21:17:07 2022 +0800

    upgrade pdddbg to use basis decryption routines from the common libs

commit 54e929e
Author: bunnie <[email protected]>
Date:   Tue Nov 1 19:01:57 2022 +0800

    move key extraction routines to pddbcommon.py

commit 05068c5
Author: bunnie <[email protected]>
Date:   Tue Nov 1 13:03:52 2022 +0800

    extract the renode key box as a dump

commit c74ceac
Author: bunnie <[email protected]>
Date:   Mon Oct 31 22:33:27 2022 +0800

    add a renode mode for reading in a renode.bin

commit a0dca39
Author: bunnie <[email protected]>
Date:   Mon Oct 31 22:14:10 2022 +0800

    key file for decrypting .System basis on Renode

commit 0525266
Author: Tom Marble <[email protected]>
Date:   Sat Oct 29 17:38:22 2022 -0500

    Updates mtxcli README

    Signed-off-by: Tom Marble <[email protected]>

commit 604a376
Author: Tom Marble <[email protected]>
Date:   Sat Oct 29 17:34:32 2022 -0500

    Adds images of mtxcli

    Images of mtxcli
    - in the hosted environment
    - on the Precusor
    - in French

    Signed-off-by: Tom Marble <[email protected]>

commit 072170e
Author: bunnie <[email protected]>
Date:   Sat Oct 29 18:01:18 2022 +0800

    restore the top-level settings file per xobs suggestion

commit 2fd685c
Merge: 052817c 38286d8
Author: Sean Cross <[email protected]>
Date:   Sat Oct 29 04:52:48 2022 -0400

    Merge pull request betrusted-io#263 from sorpaas/sp-rename

    RemoveClockEntry -> TryRemoveClockEntry

commit 38286d8
Author: Wei Tang <[email protected]>
Date:   Sat Oct 29 10:47:47 2022 +0200

    RemoveClockEntry -> TryRemoveClockEntry

commit 052817c
Merge: 3814337 9689b3b
Author: bunnie <[email protected]>
Date:   Sat Oct 29 00:39:27 2022 +0800

    Merge pull request betrusted-io#261 from betrusted-io/remove-vscode

    Removes VS Code artifacts

commit 9689b3b
Author: Tom Marble <[email protected]>
Date:   Fri Oct 28 11:23:56 2022 -0500

    Removes VS Code artifacts

    Also updates .gitignore to prevent adding IDE (VS Code, Emacs) artifacts

    Signed-off-by: Tom Marble <[email protected]>

commit 3814337
Author: bunnie <[email protected]>
Date:   Fri Oct 28 18:27:52 2022 +0800

    don't check in vscode settings

commit dd379aa
Author: bunnie <[email protected]>
Date:   Fri Oct 28 18:16:16 2022 +0800

    bump kernel version

commit f01b2a8
Author: bunnie <[email protected]>
Date:   Fri Oct 28 18:12:07 2022 +0800

    add some vscode stuff i guess to the release

commit f17e024
Author: bunnie <[email protected]>
Date:   Fri Oct 28 18:02:52 2022 +0800

    bump kernel revision

commit c17a6d3
Author: Sean Cross <[email protected]>
Date:   Fri Oct 28 17:38:25 2022 +0800

    kernel: make SYSTEM_SERVICES unmangled

    This symbol will be viewed by external tools.

    Signed-off-by: Sean Cross <[email protected]>

commit fd739c2
Author: bunnie <[email protected]>
Date:   Fri Oct 28 15:23:39 2022 +0800

    add `fr` locale to update options

commit f7eed18
Author: bunnie <[email protected]>
Date:   Fri Oct 28 15:18:34 2022 +0800

    bump verification and locks

commit ba28dd8
Author: bunnie <[email protected]>
Date:   Fri Oct 28 15:11:17 2022 +0800

    bump to absorb utralib straggler configs

commit b5f4814
Author: bunnie <[email protected]>
Date:   Fri Oct 28 15:10:00 2022 +0800

    cleanup some stragglers in utralib push

commit 6b296c9
Author: bunnie <[email protected]>
Date:   Fri Oct 28 15:04:56 2022 +0800

    fix a cargo file that got nuked in the merge

commit bcd1078
Author: bunnie <[email protected]>
Date:   Fri Oct 28 15:01:38 2022 +0800

    bump lockfile

commit e60f7cc
Merge: 0c7c90f f8a6643
Author: bunnie <[email protected]>
Date:   Fri Oct 28 15:00:27 2022 +0800

    Merge branch 'i18n/adds-french-localization' into main

commit f8a6643
Author: bunnie <[email protected]>
Date:   Fri Oct 28 14:55:33 2022 +0800

    bump locks

commit dfb10ed
Author: bunnie <[email protected]>
Date:   Fri Oct 28 14:01:09 2022 +0800

    bump crate numbers to publish lang-fr change into xous-rs

commit 006a691
Author: Tom Marble <[email protected]>
Date:   Thu Oct 27 16:07:05 2022 -0500

    Completes the i18n_helper.py tool

    Added 'fr' translation
    Added *.json to .gitattributes

    Signed-off-by: Tom Marble <[email protected]>

commit 0c7c90f
Author: bunnie <[email protected]>
Date:   Fri Oct 28 02:55:42 2022 +0800

    have the core spinor routines automatically retry on failure

    normally we never see these failures, but, as we are seeing
    flash wear-out on the CI machine the writes can take
    long enough that we get some concurrent requests. As a work-around,
    just automatically retry a few times before throwing the error
    back to the caller.

commit d63c452
Author: bunnie <[email protected]>
Date:   Thu Oct 27 23:00:10 2022 +0800

    catch serialization buffer edge case

    if the buffer fills up to the point where there isn't enough
    space for the 8-bytes of header, a split_at() call will fail before
    the routine even gets to decide if the record can fit.

    abort the loop if the buffer is that full.

commit 07cb239
Author: Tom Marble <[email protected]>
Date:   Wed Oct 26 22:32:49 2022 -0500

    WIP: Adds new lang 'fr' for French

    Adds new Internationalization Helper tool: i18n_helper.py

    Signed-off-by: Tom Marble <[email protected]>
gsora added a commit to gsora/xous-core that referenced this issue Nov 17, 2022
commit 1106fcf
Merge: 08de49d d57088a
Author: bunnie <[email protected]>
Date:   Wed Nov 16 22:35:11 2022 +0800

    Merge pull request betrusted-io#277 from gsora/feat/slider-widget

    feat: user interaction-enabled slider

commit d57088a
Author: Gianguido Sorà <[email protected]>
Date:   Wed Nov 16 14:45:46 2022 +0100

    feat: add tests for slider

commit 5243e8c
Author: Gianguido Sorà <[email protected]>
Date:   Mon Nov 14 19:36:25 2022 +0100

    feat: user interaction-enabled slider

    This commit adds `modals::Modals::slider()` with the same interface as
    `modals::Modals::start_progress()`, with the striking difference that
    users can move the slider, and press the center keypad button to confirm
     the selection.

     Useful for objects like audio volume controls.

commit 08de49d
Author: bunnie <[email protected]>
Date:   Tue Nov 15 02:25:22 2022 +0800

    make testing a little more ergonomic

commit ef5c056
Author: bunnie <[email protected]>
Date:   Tue Nov 15 02:23:13 2022 +0800

    add a quick and dirty test command for headphone state

commit 04f700a
Author: bunnie <[email protected]>
Date:   Tue Nov 15 02:23:01 2022 +0800

    add headphone state polling to codec

commit 474a02c
Author: bunnie <[email protected]>
Date:   Wed Nov 9 15:06:51 2022 +0800

    refactor all vault db retrieval to use new API

    This refactors the remaining vault accessor routines to use
    the new more efficient key pre-fetching routine. This also
    fixes up an error in test case generation and hopefully resolves
    an issue with concurrency errors using the older version of
    the access routine.

commit c3ba30d
Author: bunnie <[email protected]>
Date:   Wed Nov 9 14:25:26 2022 +0800

    expand on errors reported

commit e7e110c
Author: bunnie <[email protected]>
Date:   Wed Nov 9 14:25:05 2022 +0800

    cleanup and enhance test cases

commit 6d1d297
Author: bunnie <[email protected]>
Date:   Wed Nov 9 01:01:42 2022 +0800

    bump ring-xous to track latest PR

commit 11a0107
Author: bunnie <[email protected]>
Date:   Wed Nov 9 00:33:13 2022 +0800

    fix UX state after button press on dynamic modal

    This bug was hidden by the previous return of state before
    the reliquish.

    Now with the correct ordering, we end up getting a double-relinquish
    which ends up trying to swap a modal into focus which doesn't exist.

    This fixes that edge case

commit 4c45dfa
Author: bunnie <[email protected]>
Date:   Wed Nov 9 00:33:01 2022 +0800

    more debugging help

commit 1129f1c
Author: bunnie <[email protected]>
Date:   Mon Nov 7 23:05:32 2022 +0800

    bump versions after xous-names bump

commit a7162fd
Author: bunnie <[email protected]>
Date:   Mon Nov 7 22:19:38 2022 +0800

    bump xous-names dependents

commit 28f42ba
Merge: 1bc39cd 3ca323f
Author: bunnie <[email protected]>
Date:   Mon Nov 7 22:09:56 2022 +0800

    Merge pull request betrusted-io#274 from betrusted-io/xous-names-tryconnect

    Add TryConnect call to xous-names

commit 3ca323f
Author: Sean Cross <[email protected]>
Date:   Mon Nov 7 18:46:02 2022 +0800

    xous-names: implement non-blocking TryConnect call

    This call can be used by clients to try connecting to a service. If the
    service is not available, this will fail to connect.

    Signed-off-by: Sean Cross <[email protected]>

commit 3ca57bc
Author: Sean Cross <[email protected]>
Date:   Mon Nov 7 18:45:25 2022 +0800

    xous-api-names: add TryConnect

    This is a non-blocking version of Connect that is fallible.

    Signed-off-by: Sean Cross <[email protected]>

commit 1bc39cd
Author: bunnie <[email protected]>
Date:   Mon Nov 7 00:25:16 2022 +0800

    bump release notes

commit 781776b
Author: bunnie <[email protected]>
Date:   Mon Nov 7 00:22:49 2022 +0800

    move the mount initiator back into status; fix waiting signal

    mount initiator is now back inside of the status thread
    (woo, no more app-specific dependency) and there is now a
    wait on "attempted to mount" inside the status thread which is
    the signal to clear the "waiting on boot" message.

commit 0646ec2
Author: bunnie <[email protected]>
Date:   Mon Nov 7 00:21:52 2022 +0800

    track "attempted" mounts in PDDB

    this is to allow a UX process to clear the "waiting for boot"
    indicator once an attempt has completed.

    right now, it responds *after* the mount process is done,
    so the "please waiting" text persists even doing a format.

    I think that is...appropriate?

commit 93dcfb7
Author: bunnie <[email protected]>
Date:   Mon Nov 7 00:21:27 2022 +0800

    fix hosted mode

commit 335b78d
Author: bunnie <[email protected]>
Date:   Sun Nov 6 20:50:15 2022 +0800

    fix polarity of init_done flag. oops.

commit 1d7641c
Author: bunnie <[email protected]>
Date:   Sun Nov 6 18:48:23 2022 +0800

    force please wait message to clear before doing PDDB init

    While it's a kind of neat effect to have the "please wait"
    message persist right up until the point where the dialog box
    pops up, the problem is that the blit of the backplane captures
    that, so when the context is reverted that message is still there.

    On a very fast mount (empty PDDB under Renode emulation) the
    mounting call finishes so quickly that the dialog box that would
    normally trigger the redraw to clear this message never renders.

    This patch forces the screen to blank before trying to call
    PDDB init, ensuring that we don't have that persist after the
    mount, even if it is very fast.

    The downside is there is a fraction of a second where the please
    wait disappears, and the dialog box pops up. That is just the
    time it takes for the system to setup for the cryptographic
    operations.

commit 382380b
Author: bunnie <[email protected]>
Date:   Sun Nov 6 18:48:06 2022 +0800

    fix Sender cast

commit 3ee36f4
Author: bunnie <[email protected]>
Date:   Sun Nov 6 18:45:17 2022 +0800

    remove UX delays on PDDB path

    retain just one of them going into the erase routine, because
    it consumes enough CPU that the dialog box takes a bit too long to
    pop up.

commit 880675c
Author: bunnie <[email protected]>
Date:   Sun Nov 6 18:44:56 2022 +0800

    remove UX delays between dialog boxes

commit ffa8385
Author: bunnie <[email protected]>
Date:   Sun Nov 6 18:36:20 2022 +0800

    refactor: send response packet after context has been switched

    This refactor (at least partially) fixes a "mystery delay"
    sometimes required after a dialog box swaps out. The previous
    implementation would send the response, and then swap the contexts.
    This would often cause the recipient to start drawing its UX
    before the calling app was foregrounded, causing elements to go
    missing.

    This refactor puts the response after the context swap. The main
    downside is it requires every type of modal to have a GAM
    handle to issue the redraw call, and is especially complicated
    by the fact that GAM is not clone-friendly. However, the
    trade-offs of either creating a handle dynamically or storing
    one in the object is probably worth the benefit of removing
    an open-loop delay.

commit b0f443b
Author: bunnie <[email protected]>
Date:   Sun Nov 6 16:33:31 2022 +0800

    fix race condition on relinquish focus v result return for dynamic and progress modals

    There's a race condition between the return of a blocking scalar
    and when focus is relinquished.

    This causes chained graphics operations to get dropped sometimes.

    Move the return result to after the focus switch; this allows us
    to elimate some dead waits.

commit 5a0e3e5
Author: bunnie <[email protected]>
Date:   Sun Nov 6 15:59:58 2022 +0800

    clean up bitrot in dbg-ecupdate configuration

commit 69cf629
Author: bunnie <[email protected]>
Date:   Sun Nov 6 04:25:26 2022 +0800

    fix problem in tts build

commit 767580d
Author: bunnie <[email protected]>
Date:   Sun Nov 6 04:17:53 2022 +0800

    bump versions

commit 30583bd
Author: bunnie <[email protected]>
Date:   Sun Nov 6 03:48:12 2022 +0800

    bump versions with xous change

commit e85455a
Merge: a16304b c9f751f
Author: bunnie <[email protected]>
Date:   Sun Nov 6 03:44:58 2022 +0800

    Merge pull request betrusted-io#271 from betrusted-io/scalar5-support

    Scalar5 support

commit a16304b
Author: bunnie <[email protected]>
Date:   Sun Nov 6 03:42:07 2022 +0800

    bump release notes

commit 2a11f9d
Merge: 1ca0ef7 fa90e74
Author: bunnie <[email protected]>
Date:   Sun Nov 6 03:40:37 2022 +0800

    Merge branch 'main' of github.com:betrusted-io/xous-core into main

commit fa90e74
Merge: 4264231 817e758
Author: bunnie <[email protected]>
Date:   Sun Nov 6 03:40:17 2022 +0800

    Merge pull request betrusted-io#270 from gsora/feat/pddb-init-notification

    feat: show boot process notifications for PDDB

commit 817e758
Author: bunnie <[email protected]>
Date:   Sun Nov 6 03:36:43 2022 +0800

    remove the dead-wait before the PDDB is mounted

    the "right" way to do this is to poll to see if trusted init is
    done. once that is done, you can go ahead and try to mount the
    PDDB.

commit a56b8c8
Author: bunnie <[email protected]>
Date:   Sun Nov 6 03:11:23 2022 +0800

    add automounter to shellchat, and initial wait message

    The initial wait message is drawn directly under where
    the modals would appear, so the message "goes away"
    when modals pop up.

    There's still a bit of trickiness around the timing of
    some of the calls. Attempting to mount the PDDB too early
    before all the contexts have been registered leads to
    a lot of needless defacing.

    Also, the final redraw needs a short delay to allow
    the system to foreground shellchat again after closing
    the modals.

commit e240ca6
Author: bunnie <[email protected]>
Date:   Sun Nov 6 03:10:00 2022 +0800

    refactor the hardware boot screen

    - remove a blanking operation. this makes the transision from
    loader to runtime almost imperceptably smoother
    - add the ability to summon the logo screen earlier in the process

    Note that only GAM can call GFX, so, it's alright to expose that
    API, since GAM should gate-keep and prevent abuse of that function.

commit 7eecf2b
Author: bunnie <[email protected]>
Date:   Sun Nov 6 03:07:35 2022 +0800

    remove the initial wait from PDDB; move the pop-up modal location

    The initial wait message is now rendered by the first app
    that owns the screen (currently shellchat).

    The location where the pop-up modal is rendered is also now bracketed
    directly around the mount call to avoid interference with other
    edge cases that may pop up modals.

commit 0d02415
Author: bunnie <[email protected]>
Date:   Sun Nov 6 03:05:30 2022 +0800

    remove automounter from the status thread

    it's now in shellchat. In general, the program that is assigned
    as the initial app context is responsible for ensuring the
    PDDB is mounted. Thus, if `vault` were to become a stand-alone app,
    it should include some code to make sure the PDDB is mounted as
    part of its boot sequence.

    The reason is that it allows the initial app to guide the
    power-on experience, instead of delegating this to the `status`
    bar, which is oblivious to the state of the app.

commit 45009a0
Author: bunnie <[email protected]>
Date:   Sat Nov 5 23:06:47 2022 +0800

    add debugging hints for figuring out context switch bugs in the future

commit 7c4ca05
Author: bunnie <[email protected]>
Date:   Sat Nov 5 23:06:18 2022 +0800

    adjust modal trust level down so it's not identical to chat

commit c9f751f
Author: Sean Cross <[email protected]>
Date:   Sat Nov 5 18:44:01 2022 +0800

    xous: add api support for scalar5

    With the addition of scalar5, existing api calls must be updated to take
    advantage of it. This will allow `send_message()` to return a `scalar5`.

    Signed-off-by: Sean Cross <[email protected]>

commit da56475
Author: Sean Cross <[email protected]>
Date:   Sat Nov 5 18:39:54 2022 +0800

    kernel: syscall: add support for return_scalar5

    Add kernel support for returning 5 scalars.

    Signed-off-by: Sean Cross <[email protected]>

commit c8bb039
Author: Sean Cross <[email protected]>
Date:   Sat Nov 5 18:39:06 2022 +0800

    xous: add api support for `Scalar5`

    Add syscall and return definitions for Scalar5, as well as
    ReturnScalar5. This will enable us to pass up to five scalars as a
    return from a blockingscalar call.

    Signed-off-by: Sean Cross <[email protected]>

commit 1ca0ef7
Author: bunnie <[email protected]>
Date:   Sat Nov 5 16:30:29 2022 +0800

    clean up warning

commit 601f347
Author: bunnie <[email protected]>
Date:   Sat Nov 5 16:19:15 2022 +0800

    initial delay on NTP poller

    no point in clogging up the boot sequence with requests that
    will almost certainly fail.

commit d277ae9
Author: Gianguido Sorà <[email protected]>
Date:   Fri Nov 4 17:31:27 2022 +0100

    feat: show boot process notifications for PDDB

    This commit shows two notifications:
     1. as soon as the device boots, a notification greets the user and
     tells them everything is fine, the device is booting
     2. as soon as the user enters (or doesn't) enter the password, a
     notification tell the user Xous is loading and mounting PDDB

    I spent too much time on this but I believe it's a nice UX improvement.

commit 4264231
Merge: 5de44a9 f861af7
Author: bunnie <[email protected]>
Date:   Fri Nov 4 17:06:40 2022 +0800

    Merge branch 'main' of github.com:betrusted-io/xous-core into main

commit 5de44a9
Author: bunnie <[email protected]>
Date:   Fri Nov 4 17:05:51 2022 +0800

    don't fail if keyattribute not found in current basis when no basis specified

    This is not actually an error, we just need to try another basis
    down the list. This is a copypasta bug that was only caught now. :-/

commit 0d9a39a
Author: bunnie <[email protected]>
Date:   Fri Nov 4 17:05:32 2022 +0800

    print debug information when a key goes missing in bulk read

    this helps debug problems down the road

commit f861af7
Author: Sean Cross <[email protected]>
Date:   Fri Nov 4 12:27:13 2022 +0800

    tools: elf: fix copy-elf when gcc links program

    GCC will set the text size to `0` in a certain case that `rust-lld` did
    not. This causes the elf copier to add about 512 MB to the image which
    it otherwise shouldn't be doing.

    Add a workaround that appears to fix the issue.

    Signed-off-by: Sean Cross <[email protected]>

commit 3a84578
Author: Sean Cross <[email protected]>
Date:   Fri Nov 4 12:26:05 2022 +0800

    loader: fix build with gcc-ld

    With Rust 1.65.0, we may be forced to use gdb's linker due to bug that
    appeared in llvm-15:

    rust-lang/rust#103949

    Signed-off-by: Sean Cross <[email protected]>

commit d74673a
Author: bunnie <[email protected]>
Date:   Fri Nov 4 03:55:57 2022 +0800

    allow main menu to be used if there are no root keys

commit ed09ee0
Author: bunnie <[email protected]>
Date:   Fri Nov 4 03:53:03 2022 +0800

    bump to latest ring-xous version

commit af91ec9
Author: bunnie <[email protected]>
Date:   Thu Nov 3 23:28:08 2022 +0800

    bump release notes

commit 80a1bd3
Author: bunnie <[email protected]>
Date:   Thu Nov 3 23:18:13 2022 +0800

    resolve issue betrusted-io#267

commit 4dc7135
Author: bunnie <[email protected]>
Date:   Thu Nov 3 23:06:20 2022 +0800

    update the instructions to build soc.svd, and add note about verification

commit 01f660b
Author: bunnie <[email protected]>
Date:   Thu Nov 3 21:11:58 2022 +0800

    didn't meant to check in that script

commit ff2a7f8
Author: bunnie <[email protected]>
Date:   Thu Nov 3 21:06:04 2022 +0800

    some more debugging to help trace through dict sync issues

commit b04dcc2
Author: bunnie <[email protected]>
Date:   Thu Nov 3 21:04:14 2022 +0800

    add `smalldb` flag, which builds a PDDB with a size of 4MiB

    do not interchange this on devices with the full sized
    PDDB, you may corrupt the database

commit 6c2e86d
Author: bunnie <[email protected]>
Date:   Thu Nov 3 21:03:40 2022 +0800

    add support for small-sized PDDB images plus some debugging info

commit 5c624e7
Author: bunnie <[email protected]>
Date:   Thu Nov 3 21:01:11 2022 +0800

    add a flush after every PDDB write

    uncommitted data will lead to corruption later on

commit c91837c
Author: bunnie <[email protected]>
Date:   Thu Nov 3 18:33:22 2022 +0800

    fix max dicts in analyzer scripts

commit 719020b
Author: bunnie <[email protected]>
Date:   Thu Nov 3 17:23:11 2022 +0800

    don't allow polls to the unmount to turn true until other callbacks have been allowed

commit 3bdf157
Author: bunnie <[email protected]>
Date:   Thu Nov 3 17:22:22 2022 +0800

    enhance debugging output on pddb analyzer

commit 779cc61
Author: Sean Cross <[email protected]>
Date:   Thu Nov 3 12:31:22 2022 +0800

    emulation: spinor: implement erasesector4byte

    Implement this command, which is used by the system for bulk erases.

    Signed-off-by: Sean Cross <[email protected]>

commit 0c52a7a
Author: bunnie <[email protected]>
Date:   Thu Nov 3 01:58:36 2022 +0800

    the merge requested pulled multiple other crate versions backwards

    this fixes it, hopefully.

commit c04cc0e
Merge: 7af04b7 f59bbc2
Author: bunnie <[email protected]>
Date:   Thu Nov 3 01:54:00 2022 +0800

    Merge branch 'main' of github.com:betrusted-io/xous-core into main

commit f59bbc2
Merge: ebc0739 6332bf1
Author: bunnie <[email protected]>
Date:   Thu Nov 3 01:53:38 2022 +0800

    Merge pull request betrusted-io#266 from Foundation-Devices/driver-refactor

    kernel: Drivers refactor.

commit 6332bf1
Merge: 2cf4622 ebc0739
Author: bunnie <[email protected]>
Date:   Thu Nov 3 01:53:23 2022 +0800

    Merge branch 'main' into driver-refactor

commit 2cf4622
Author: bunnie <[email protected]>
Date:   Thu Nov 3 01:50:36 2022 +0800

    commit lockfile and verification pins

commit 80094ae
Author: bunnie <[email protected]>
Date:   Thu Nov 3 01:49:28 2022 +0800

    I see what's happening. The PR originator versions are very out of date.

    hopefully this fixes the issue.

commit bbb7e27
Author: bunnie <[email protected]>
Date:   Thu Nov 3 01:42:59 2022 +0800

    bump kernel version (this time with feeling)

commit ba46c6b
Author: bunnie <[email protected]>
Date:   Thu Nov 3 01:41:24 2022 +0800

    bump kernel version

commit 7af04b7
Author: bunnie <[email protected]>
Date:   Thu Nov 3 01:38:18 2022 +0800

    a bit more debugging around dictionary creation

commit 6d2be1b
Author: bunnie <[email protected]>
Date:   Wed Nov 2 21:52:28 2022 +0800

    add va printouts

commit d8807e6
Author: Jean-Pierre De Jesus DIAZ <[email protected]>
Date:   Wed Nov 2 14:29:53 2022 +0100

    kernel: Move rand driver to platform module.

    Signed-off-by: Jean-Pierre De Jesus DIAZ <[email protected]>

commit b334e5b
Author: Jean-Pierre De Jesus DIAZ <[email protected]>
Date:   Wed Nov 2 13:30:20 2022 +0100

    kernel: Split debug shell and uart driver.

    I've added a `platform` module to store all platform specific code, (not
    architecture specific) as some platforms will require custom drivers, e.g.
    for debug output and for the random number generation code.  The platform
    code is in charge of mapping any peripherals needed to work, also to
    initialize any other parts of the kernel that require drivers, for example
    the debug shell.

    Signed-off-by: Jean-Pierre De Jesus DIAZ <[email protected]>

commit ebc0739
Author: bunnie <[email protected]>
Date:   Tue Nov 1 21:25:04 2022 +0800

    fix some defaults to make the Renode path cleaner to start

commit f738781
Author: bunnie <[email protected]>
Date:   Tue Nov 1 21:18:33 2022 +0800

    make the default pin 'a', as it is on Renode

commit 4e2d799
Author: bunnie <[email protected]>
Date:   Tue Nov 1 21:17:07 2022 +0800

    upgrade pdddbg to use basis decryption routines from the common libs

commit 54e929e
Author: bunnie <[email protected]>
Date:   Tue Nov 1 19:01:57 2022 +0800

    move key extraction routines to pddbcommon.py

commit 05068c5
Author: bunnie <[email protected]>
Date:   Tue Nov 1 13:03:52 2022 +0800

    extract the renode key box as a dump

commit c74ceac
Author: bunnie <[email protected]>
Date:   Mon Oct 31 22:33:27 2022 +0800

    add a renode mode for reading in a renode.bin

commit a0dca39
Author: bunnie <[email protected]>
Date:   Mon Oct 31 22:14:10 2022 +0800

    key file for decrypting .System basis on Renode

commit 0525266
Author: Tom Marble <[email protected]>
Date:   Sat Oct 29 17:38:22 2022 -0500

    Updates mtxcli README

    Signed-off-by: Tom Marble <[email protected]>

commit 604a376
Author: Tom Marble <[email protected]>
Date:   Sat Oct 29 17:34:32 2022 -0500

    Adds images of mtxcli

    Images of mtxcli
    - in the hosted environment
    - on the Precusor
    - in French

    Signed-off-by: Tom Marble <[email protected]>

commit 072170e
Author: bunnie <[email protected]>
Date:   Sat Oct 29 18:01:18 2022 +0800

    restore the top-level settings file per xobs suggestion

commit 2fd685c
Merge: 052817c 38286d8
Author: Sean Cross <[email protected]>
Date:   Sat Oct 29 04:52:48 2022 -0400

    Merge pull request betrusted-io#263 from sorpaas/sp-rename

    RemoveClockEntry -> TryRemoveClockEntry

commit 38286d8
Author: Wei Tang <[email protected]>
Date:   Sat Oct 29 10:47:47 2022 +0200

    RemoveClockEntry -> TryRemoveClockEntry

commit 052817c
Merge: 3814337 9689b3b
Author: bunnie <[email protected]>
Date:   Sat Oct 29 00:39:27 2022 +0800

    Merge pull request betrusted-io#261 from betrusted-io/remove-vscode

    Removes VS Code artifacts

commit 9689b3b
Author: Tom Marble <[email protected]>
Date:   Fri Oct 28 11:23:56 2022 -0500

    Removes VS Code artifacts

    Also updates .gitignore to prevent adding IDE (VS Code, Emacs) artifacts

    Signed-off-by: Tom Marble <[email protected]>

commit 3814337
Author: bunnie <[email protected]>
Date:   Fri Oct 28 18:27:52 2022 +0800

    don't check in vscode settings

commit dd379aa
Author: bunnie <[email protected]>
Date:   Fri Oct 28 18:16:16 2022 +0800

    bump kernel version

commit f01b2a8
Author: bunnie <[email protected]>
Date:   Fri Oct 28 18:12:07 2022 +0800

    add some vscode stuff i guess to the release

commit f17e024
Author: bunnie <[email protected]>
Date:   Fri Oct 28 18:02:52 2022 +0800

    bump kernel revision

commit c17a6d3
Author: Sean Cross <[email protected]>
Date:   Fri Oct 28 17:38:25 2022 +0800

    kernel: make SYSTEM_SERVICES unmangled

    This symbol will be viewed by external tools.

    Signed-off-by: Sean Cross <[email protected]>

commit fd739c2
Author: bunnie <[email protected]>
Date:   Fri Oct 28 15:23:39 2022 +0800

    add `fr` locale to update options

commit f7eed18
Author: bunnie <[email protected]>
Date:   Fri Oct 28 15:18:34 2022 +0800

    bump verification and locks

commit ba28dd8
Author: bunnie <[email protected]>
Date:   Fri Oct 28 15:11:17 2022 +0800

    bump to absorb utralib straggler configs

commit b5f4814
Author: bunnie <[email protected]>
Date:   Fri Oct 28 15:10:00 2022 +0800

    cleanup some stragglers in utralib push

commit 6b296c9
Author: bunnie <[email protected]>
Date:   Fri Oct 28 15:04:56 2022 +0800

    fix a cargo file that got nuked in the merge

commit bcd1078
Author: bunnie <[email protected]>
Date:   Fri Oct 28 15:01:38 2022 +0800

    bump lockfile

commit e60f7cc
Merge: 0c7c90f f8a6643
Author: bunnie <[email protected]>
Date:   Fri Oct 28 15:00:27 2022 +0800

    Merge branch 'i18n/adds-french-localization' into main

commit f8a6643
Author: bunnie <[email protected]>
Date:   Fri Oct 28 14:55:33 2022 +0800

    bump locks

commit dfb10ed
Author: bunnie <[email protected]>
Date:   Fri Oct 28 14:01:09 2022 +0800

    bump crate numbers to publish lang-fr change into xous-rs

commit 006a691
Author: Tom Marble <[email protected]>
Date:   Thu Oct 27 16:07:05 2022 -0500

    Completes the i18n_helper.py tool

    Added 'fr' translation
    Added *.json to .gitattributes

    Signed-off-by: Tom Marble <[email protected]>

commit 0c7c90f
Author: bunnie <[email protected]>
Date:   Fri Oct 28 02:55:42 2022 +0800

    have the core spinor routines automatically retry on failure

    normally we never see these failures, but, as we are seeing
    flash wear-out on the CI machine the writes can take
    long enough that we get some concurrent requests. As a work-around,
    just automatically retry a few times before throwing the error
    back to the caller.

commit d63c452
Author: bunnie <[email protected]>
Date:   Thu Oct 27 23:00:10 2022 +0800

    catch serialization buffer edge case

    if the buffer fills up to the point where there isn't enough
    space for the 8-bytes of header, a split_at() call will fail before
    the routine even gets to decide if the record can fit.

    abort the loop if the buffer is that full.

commit 07cb239
Author: Tom Marble <[email protected]>
Date:   Wed Oct 26 22:32:49 2022 -0500

    WIP: Adds new lang 'fr' for French

    Adds new Internationalization Helper tool: i18n_helper.py

    Signed-off-by: Tom Marble <[email protected]>
@workingjubilee workingjubilee added O-xous OS: A microkernel OS for privacy in computing regression-from-stable-to-stable Performance or correctness regression from one stable version to another. and removed regression-untriaged Untriaged performance or correctness regression. labels Feb 26, 2023
@Noratrieb Noratrieb added the T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. label Apr 5, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. C-bug Category: This is a bug. O-xous OS: A microkernel OS for privacy in computing P-low Low priority regression-from-stable-to-stable Performance or correctness regression from one stable version to another. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

No branches or pull requests

6 participants