Date: Mon, 9 Jan 2023 09:15:11 +0100 From: =?utf-8?Q?Klaus_K=C3=BCchemann?= <maciphone2@googlemail.com> To: Mitchell Horne <mhorne@freebsd.org>, freebsd-arm@freebsd.org Subject: Re: (RPi) db> reboot -> cpu_reset failed Message-ID: <5A57DF73-FEC0-41C9-96D2-A4EED7695EEF@googlemail.com> In-Reply-To: <e8dd18bf-df8b-5c62-4860-a2bc946e1d00@freebsd.org> References: <29q7q878-091-r17n-8r3n-o3n68p3646@mnoonqbm.arg> <F4435E57-1F90-454D-8E75-01DF50DD37DA@googlemail.com> <np4qps4-2o34-3n9n-q4s4-4931p4s7p13@yvfgf.mnoonqbm.arg> <38B92299-2776-476D-A81F-7C8EB4D59A13@googlemail.com> <8o4s9914-sq84-90pq-no3o-59r18n5on14@yvfgf.mnoonqbm.arg> <e8dd18bf-df8b-5c62-4860-a2bc946e1d00@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi Mitchell , `ve tested D37981 on a Pi4b,=20 sorry but it had no effect, not on the booted machine and not when intentionally provoked crashing = in early boot up( no changed behavior in reset) . I never see : <<debug.kdb.enter: 0KDB: enter: sysctl debug.kdb.enter>> (except, of course when entering directly by : sysctl debug.kdb.enter=3D1)= =46rom the booted system( so you see that the new tunable is compiled = in) : =E2=80=94 root@:~ # sysctl debug.ddb.full_reboot=3D1 debug.ddb.full_reboot: 1 -> 1 root@:~ # root@:~ # sysctl debug.kdb.panic=3D1 =E2=80=A6. KDB: enter: panic [ thread pid 1056 tid 100128 ] Stopped at kdb_enter+0x44: undefined f900827f db>=20 -- root@:~ # sysctl debug.ddb.full_reboot=3D0 debug.ddb.full_reboot: 1 -> 0 root@:~ # sysctl debug.kdb.panic=3D1 ... KDB: enter: panic [ thread pid 1057 tid 100092 ] Stopped at kdb_enter+0x44: undefined f900827f db>=20 =E2=80=94 but perhaps I have overlooked something Regards K. > Am 08.01.2023 um 19:32 schrieb Mitchell Horne <mhorne@freebsd.org>: >=20 > =E2=80=A6=E2=80=A6. >=20 > The reason for the difference in behaviour here is that the ddb reset = command doesn't execute the full list of registered shutdown handlers, = it just calls cpu_reset() directly. For whatever reason your combination = of RPI hw+fw doesn't support the PSCI shutdown interface, so cpu_reset() = fails. I am guessing that it is the bcm2835_watchdog driver that handles = the normal reboot. >=20 > I think it should be just fine to execute such handlers from ddb = reset, so you can try my patch: https://reviews.freebsd.org/D37981 >=20 > Cheers, > Mitchell >=20
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5A57DF73-FEC0-41C9-96D2-A4EED7695EEF>