Closed tomty89 closed 4 years ago
In case anyone want to test for the various models of RPIs:
12.1-RELEASE
works fine12.1-STABLE
/ 13.0-CURRENT
snapshots (since at least / as of 20191226
) are brokenHere is a set of rpi3-psci-monitor (i.e. the FreeBSD fork) sources and binaries: rpi3-psci-monitor.tar.gz
rpi3-psci-monitor-2b8890a
is equivalent to the one in 12.1-RELEASErpi3-psci-monitor-6bfbaff
is equivalent to the one in the snapshotsrpi3-psci-monitor-2b8890a-{a,b}
can show that either of the new values of LOCAL_CONTROL
and LOCAL_PRESCALER
or OSC_FREQ
could slow down booting / time to different severity at different pointrpi3-psci-monitor-6bfbaff-c
can show that L2 read/write cache latency setting
, the only remaining difference of the armstub8.bin
in 12.1-RELEASE
and the one in the snapshots, is not the cause of the issue; although this does not mean it will not be potentially problematic on other aspects if done "generally".All the binaries are built with gcc-arm-9.2-2019.12-aarch64-aarch64-none-elf
from https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-a/downloads.
This is also reproducible on my Raspberry Pi 3B (non-plus variant) w/ U-Boot. I can confirm that things are well again after this patch.
The original patch confused GIC-ness with 2711-ness. armstub8[-32]-gic is effectively armstub[-32]-2711, but I'd prefer the source code to keep the distinction clear. If you're happy with my changes I'll squash and merge them.
Sure, thanks!
The new values could severely slow down booting (or actually, time, as even timeouts would be slowed down), specifically when booting FreeBSD with u-boot EFI on a RPI 3B+ (before the kernel kicks in). Therefore, revert to the old values when GIC is not enabled.
For the record, the issue could be specific to / reproducible only on RPI 3B+, or BCM2837B0 (i.e. and 3A+). I assume the old values would do for BCM2837 (i.e. the 1.2GHz older variant) as well anyway.