Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 6 Jun 2020 12:55:08 -0700
From:      Mark Millard <marklmi@yahoo.com>
To:        Robert Crowston <crowston@protonmail.com>
Cc:        =?utf-8?Q?Klaus_K=C3=BCchemann?= <maciphone2@googlemail.com>, "freebsd-arm@freebsd.org" <freebsd-arm@freebsd.org>
Subject:   Re: Report: FreeBSD on Rpi4 8 GB model
Message-ID:  <A26B7930-E26F-4523-BD01-8DE7985D0FF0@yahoo.com>
In-Reply-To: <TOfPYaU1tsGAVzQ8BHRMQKLpEJ3n-kGyxXrTnkciwTs5iQQlrRsN-ZfV_Dp2hbhfJR8mJHIaaPm6CTCW-Ga2kyA0cwG_IVWfq6wQZBWgiLA=@protonmail.com>
References:  <kb9ZDoXeXjZQGaI_pHItcwGDLz9nl5FzAe-_mxkI1N9MAFSkDpvFbwt-JUy-YmoOg-3C9bFyiNYgUoGvAnJZvsxbbGVHP4ZlUC84EgCd6A0=@protonmail.com> <F6CF4F00-44EA-4980-9B45-F7EE92738351@googlemail.com> <CACNAnaGwsrgQsSGxxOTr4n6cxP_ts3Z07pmTwb8inGzNXR2B3w@mail.gmail.com> <D14EC630-3BE9-4E19-B76A-B721C2BBBF75@googlemail.com> <TOfPYaU1tsGAVzQ8BHRMQKLpEJ3n-kGyxXrTnkciwTs5iQQlrRsN-ZfV_Dp2hbhfJR8mJHIaaPm6CTCW-Ga2kyA0cwG_IVWfq6wQZBWgiLA=@protonmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help


> On 2020-Jun-6, at 12:44, Robert Crowston via freebsd-arm =
<freebsd-arm@freebsd.org> wrote:
>=20
>> No, SPIN_PAGES=3D2 is fine
>=20
> I confirm that CONFIG_RPI_EFI_NR_SPIN_PAGES 2 is sufficient.
>=20
>> 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.
>=20
> Starting CPU 1 (1)
> panic: Failed to start CPU 1 (1), error 16
>=20
> cpuid =3D 0
> time =3D 1
> KDB: stack backtrace:
> db_trace_self() at db_trace_self_wrapper+0x28
>         pc =3D 0xffff00000075cd0c  lr =3D 0xffff00000010a0ac
>         sp =3D 0xffff000000010590  fp =3D 0xffff000000010790
>=20
> db_trace_self_wrapper() at vpanic+0x194
>         pc =3D 0xffff00000010a0ac  lr =3D 0xffff0000004185c0
>         sp =3D 0xffff0000000107a0  fp =3D 0xffff0000000107f0
>=20
> vpanic() at panic+0x44
>         pc =3D 0xffff0000004185c0  lr =3D 0xffff000000418368
>         sp =3D 0xffff000000010800  fp =3D 0xffff0000000108b0
>=20
> panic() at start_cpu+0x224
>         pc =3D 0xffff000000418368  lr =3D 0xffff00000076bd94
>         sp =3D 0xffff0000000108c0  fp =3D 0xffff0000000108c0
>=20
> start_cpu() at cpu_init_fdt+0x34
>         pc =3D 0xffff00000076bd94  lr =3D 0xffff00000076b094
>         sp =3D 0xffff0000000108d0  fp =3D 0xffff000000010930
>=20
> cpu_init_fdt() at ofw_cpu_early_foreach+0x180
>         pc =3D 0xffff00000076b094  lr =3D 0xffff00000020e0cc
>         sp =3D 0xffff000000010940  fp =3D 0xffff000000010990
>=20
> ofw_cpu_early_foreach() at mp_start+0x8c
>         pc =3D 0xffff00000020e0cc  lr =3D 0xffff000000472e98
>         sp =3D 0xffff0000000109a0  fp =3D 0xffff0000000109f0
>=20
> mp_start() at mi_startup+0x12c
>         pc =3D 0xffff000000472e98  lr =3D 0xffff0000003abfcc
>         sp =3D 0xffff000000010a00  fp =3D 0xffff000000010a20
>=20
> mi_startup() at virtdone+0x5c
>         pc =3D 0xffff0000003abfcc  lr =3D 0xffff00000000108c
>         sp =3D 0xffff000000010a30  fp =3D 0x0000000000000000
>=20
> KDB: enter: panic
>=20
>=20
> =E2=80=90=E2=80=90=E2=80=90=E2=80=90=E2=80=90=E2=80=90=E2=80=90 =
Original Message =E2=80=90=E2=80=90=E2=80=90=E2=80=90=E2=80=90=E2=80=90=E2=
=80=90
> On Saturday, 6 June 2020 20:29, Klaus K=C3=BCchemann via freebsd-arm =
<freebsd-arm@freebsd.org> wrote:
>=20
>>=20
>>=20
>>> Am 06.06.2020 um 21:19 schrieb Kyle Evans kevans@freebsd.org:
>>> On Sat, Jun 6, 2020 at 2:13 PM Klaus K=C3=BCchemann via freebsd-arm
>>> freebsd-arm@freebsd.org wrote:
>>>=20
>>>>> Am 06.06.2020 um 20:15 schrieb Robert Crowston via freebsd-arm =
freebsd-arm@freebsd.org:
>>>>> =E2=80=A6...
>>>>> 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).
>>>>> =E2=80=A6=E2=80=A6
>>>>=20
>>>> 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=E2=80=9C for the first try .
>>>=20
>>> No, SPIN_PAGES=3D2 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=3D8 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.

=3D=3D=3D
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?A26B7930-E26F-4523-BD01-8DE7985D0FF0>