On 27.09.22 11:54, Rasmus Villemoes wrote:
The fix and explanation is in the first patch, which I hope can make
it into v2022.10, it should be rather uncontroversial.

The second patch may make sense on its own, but is not at all urgent
and can be considered a mere suggestion, but it was convenient for
making the following two patches less intrusive.

While I noticed this on my actual hardware, it's not too hard to
verify the problem in sandbox, which is what patches 2-4 are for.

More precisely, I've tested that with this series (and the stuff added
by the first patch temporarily commented out), building
sandbox64_defconfig modified by setting CONFIG_BOOTDELAY=15 and
CONFIG_AUTOBOOT_KEYED=y, doing

   ./u-boot -D

works as always (ordinary simple autoboot, getting a prompt after 15
seconds), while with

   ./u-boot -D --autoboot_keyed

the sandbox gets killed as expected five seconds into the 15 second
countdown. And with the first patch properly applied, this is fixed.

I don't know if this is a good way to test this, or if having that
SIGALRM based watchdog device running always in sandbox can cause
problems for other uses of sandbox. I also won't have time in the near
future for polishing or reworking the test, so consider it mostly
POC.

Regardless, as I wrote above, I do hope the fix itself (1/4) can be
applied soonish.

The rest of these patches:

Applied to u-boot-watchdog/master

Thanks,
Stefan



Rasmus Villemoes (4):
   autoboot: make sure watchdog device(s) are handled with keyed autoboot
   watchdog: introduce a u-boot,autostart property
   sandbox: add SIGALRM-based watchdog device
   sandbox.dtsi: add a sandbox,alarm-wdt instance

  arch/sandbox/cpu/os.c                        | 17 +++++
  arch/sandbox/dts/sandbox.dtsi                |  6 ++
  common/autoboot.c                            |  3 +
  configs/sandbox64_defconfig                  |  2 +
  configs/sandbox_defconfig                    |  2 +
  doc/device-tree-bindings/watchdog/common.txt |  9 ++-
  drivers/watchdog/Kconfig                     |  8 ++
  drivers/watchdog/Makefile                    |  1 +
  drivers/watchdog/sandbox_alarm-wdt.c         | 79 ++++++++++++++++++++
  drivers/watchdog/wdt-uclass.c                | 15 ++--
  include/os.h                                 | 17 +++++
  11 files changed, 149 insertions(+), 10 deletions(-)
  create mode 100644 drivers/watchdog/sandbox_alarm-wdt.c


Viele Grüße,
Stefan Roese

--
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: s...@denx.de

Reply via email to