Thank you Jean! You are absolute right. Adam’s response reminded me, I checked the manual yesterday evening. Turns out there is a watchdog timer that I had never noticed.

Thank you very much!
-Dan
On Jun 27, 2017, at 2:47 AM, Jean Wolter <jean.wolter@kernkonzept.com> wrote:

On 27/06/17 01:09, Daniel (Xiaolong) Wang wrote:
I tried the “hello” target as you suggested turns out it also get reboot after print out “Hello World!”  48 times. Is there a watchdog config in Fiasco or L4re I’m not aware of? Or it is due to how I load the uimage?

I loaded the bootstrap_hello.uimage as this:
# U-Boot SPL 2014.04-00014-g47880f5 (Apr 22 2014 - 13:23:54)
It looks like the TI am335x has a watchdog, which is enabled by uboot (at least here in include/configs/ti_am335x_common.h, uboot 2016.11). So it looks like uboot leaves the watchdog in an enabled state and expects the booted system to handle the watchdog.

You could try to disable the watchdog in uboot or try to enable the watchdog driver in l4linux (or add code to pkg/bootstrap to disable the watchdog before starting fiasco, or write a small watchdog server on top of l4, ...) ...

regards,
Jean