Report: FreeBSD on Rpi4 8 GB model
Mark Millard
marklmi at yahoo.com
Sat Jun 6 19:55:17 UTC 2020
> On 2020-Jun-6, at 12:44, Robert Crowston via freebsd-arm <freebsd-arm at freebsd.org> wrote:
>
>> No, SPIN_PAGES=2 is fine
>
> I confirm that CONFIG_RPI_EFI_NR_SPIN_PAGES 2 is sufficient.
>
>> Even without this setting, it should still largely boot;
>> you'll just only have half the memory you wanted.
"this setting" for that quote was referencing CONFIG_NR_DRAM_BANKS,
not SPIN_PAGES . (See the later note.) So the following misses
the point for the above quote.
> Without raising the spin pages limit, the kernel panics while trying to start the secondary CPUs. I don't have a working JTAG so I can't diagnose exactly why, but the spin table thing seemed like an obvious thing to check.
>
> Starting CPU 1 (1)
> panic: Failed to start CPU 1 (1), error 16
>
> cpuid = 0
> time = 1
> KDB: stack backtrace:
> db_trace_self() at db_trace_self_wrapper+0x28
> pc = 0xffff00000075cd0c lr = 0xffff00000010a0ac
> sp = 0xffff000000010590 fp = 0xffff000000010790
>
> db_trace_self_wrapper() at vpanic+0x194
> pc = 0xffff00000010a0ac lr = 0xffff0000004185c0
> sp = 0xffff0000000107a0 fp = 0xffff0000000107f0
>
> vpanic() at panic+0x44
> pc = 0xffff0000004185c0 lr = 0xffff000000418368
> sp = 0xffff000000010800 fp = 0xffff0000000108b0
>
> panic() at start_cpu+0x224
> pc = 0xffff000000418368 lr = 0xffff00000076bd94
> sp = 0xffff0000000108c0 fp = 0xffff0000000108c0
>
> start_cpu() at cpu_init_fdt+0x34
> pc = 0xffff00000076bd94 lr = 0xffff00000076b094
> sp = 0xffff0000000108d0 fp = 0xffff000000010930
>
> cpu_init_fdt() at ofw_cpu_early_foreach+0x180
> pc = 0xffff00000076b094 lr = 0xffff00000020e0cc
> sp = 0xffff000000010940 fp = 0xffff000000010990
>
> ofw_cpu_early_foreach() at mp_start+0x8c
> pc = 0xffff00000020e0cc lr = 0xffff000000472e98
> sp = 0xffff0000000109a0 fp = 0xffff0000000109f0
>
> mp_start() at mi_startup+0x12c
> pc = 0xffff000000472e98 lr = 0xffff0000003abfcc
> sp = 0xffff000000010a00 fp = 0xffff000000010a20
>
> mi_startup() at virtdone+0x5c
> pc = 0xffff0000003abfcc lr = 0xffff00000000108c
> sp = 0xffff000000010a30 fp = 0x0000000000000000
>
> KDB: enter: panic
>
>
> ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
> On Saturday, 6 June 2020 20:29, Klaus Küchemann via freebsd-arm <freebsd-arm at freebsd.org> wrote:
>
>>
>>
>>> Am 06.06.2020 um 21:19 schrieb Kyle Evans kevans at freebsd.org:
>>> On Sat, Jun 6, 2020 at 2:13 PM Klaus Küchemann via freebsd-arm
>>> freebsd-arm at freebsd.org wrote:
>>>
>>>>> Am 06.06.2020 um 20:15 schrieb Robert Crowston via freebsd-arm freebsd-arm at freebsd.org:
>>>>> …...
>>>>> Edit board/raspberrypi/rpi/Kconfig, set RPI_EFI_NR_SPIN_PAGES to a larger number (I picked 10, probably too big, but it was easier than doing the arithmetic).
>>>>> ……
>>>>
>>>> You mean that https://reviews.freebsd.org/D24085 rpi4_fragment has to set SPIN_PAGES from 2 to 10 ?
>>>> This could be done in sysutils/u-boot-rpi4 , perhaps with something like an #ifdef RPI4/8GB“ for the first try .
>>>
>>> No, SPIN_PAGES=2 is fine; the default in upstream is 1 because they
>>> don't need any more, so he would've needed to manually bump it to 2.
The relevant "this setting" related text, separated to make it clearer:
>>> You should be able to just add CONFIG_NR_DRAM_BANKS=8 to
>>> sysutils/u-boot-rpi4's rpi4_fragment and it 'just work' -- this was
>>> tested on IRC a couple days ago, and should be safe for all variants
>>> as far as I'm aware (but needed to test on my 4GB variant). Even
>>> without this setting, it should still largely boot; you'll just only
>>> have half the memory you wanted.
===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)
More information about the freebsd-arm
mailing list