Skip to content

Test 354 626 627 - #637

Closed
EnmanuelParache wants to merge 10 commits into
OpenPRoT:mainfrom
EnmanuelParache:test_354_626_627
Closed

EnmanuelParache wants to merge 10 commits into
OpenPRoT:mainfrom
EnmanuelParache:test_354_626_627

Conversation

@EnmanuelParache

Copy link
Copy Markdown
Contributor

Integrate changes from #354 #626 and #627 before performing test triage for #634

rusty1968 and others added 5 commits October 29, 2026 21:45
Target::main() ends in loop {} after codegen::start(). The kernel runs
target::main() on its bootstrap thread, which has DEFAULT_PRIORITY, and app
threads get DEFAULT_PRIORITY too unless the system config says otherwise. The
scheduler round-robins threads of equal priority at every tick, so a spinning
bootstrap thread takes a full time slice at each tick whenever an app thread is
runnable, and a woken thread can wait behind it. Pigweed's own reference targets
(pw_rp2350 ipc/user, clock/user) end main with
loop { kernel::sleep_until(Arch, Instant::MAX) } instead.

Apply the same to every target whose main() is just codegen::start(); loop {}:
ast10x0 (10 targets), earlgrey (4) and veer (2). Targets whose main() does other
work before looping (peripheral and kernel tests) are unchanged.

Evidence: measured on the Caliptra VeeR FPGA (a downstream fork with more veer
test targets): the 64 KiB PLDM firmware update went from 65.0 s to 49.0 s with
the FD in its own process, and from 52.2 s to 37.3 s with the FD co-located,
about 45 to 48 ms per chunk, and the scheduler tick was measured at 11.29 ms.

NOT yet built or run for this branch; CI should decide. Known risk: in the
downstream fork, with a sleeping bootstrap thread the veer
ipc_runner_emulator_test hangs at "Testing object_set_peer_user_signal"
(passes with the spinner), which looks like a latent wake-up problem the spinner
masks. Expect target/veer/ipc/user to fail until that is understood; the ARM and
earlgrey targets have not been tried.
Read the baud rate from [uart] now that evb_config.toml is sectioned by
device, and import Arch in the target.rs files that call
kernel::sleep_until(Arch, ...) without it.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@EnmanuelParache EnmanuelParache self-assigned this Oct 30, 2026
@linux-foundation-easycla

linux-foundation-easycla Bot commented Oct 30, 2026 •

Copy link
Copy Markdown

CLA Signed
The committers listed above are authorized under a signed CLA.

EnmanuelParache and others added 5 commits October 29, 2026 22:06
The merge of the UART auto-discovery change reverted evb_config.toml to
the old SRST pins (device_a 23, device_b 25). On rot-ast-ctrl GPIO 23 is
not wired to the board's SRST, so the reset pulse never restarted the
board, both ttyUSB ports stayed silent and every hardware test failed
with "could not discover master UART".

Restore the pins from a9f81821 (device_a 27, device_b 17) and make UART
discovery release SRST as a floating input instead of driving it high,
matching _sequence_to_fwspick_mode and uart_test_exec.py.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Under the Bazel sandbox, root-owned files in /etc/ssh/ssh_config.d show
up as owned by nobody and OpenSSH rejects them ("Bad owner or
permissions on /etc/ssh/ssh_config.d/20-systemd-ssh-proxy.conf"), so
every board test failed before reaching the Pi.

Pass -F /dev/null to ssh and scp. Default identities and known_hosts
still apply.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@EnmanuelParache

EnmanuelParache commented Oct 30, 2026 •

Copy link
Copy Markdown
Contributor Author

replaced by #644 since #354 #626 and #627 were already merged into main

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants