> -----Original Message----- > From: Leif Lindholm <leif.lindh...@linaro.org> > Sent: Tuesday, December 18, 2018 2:56 PM
> > On Tue, Dec 18, 2018 at 05:20:59AM +0000, Udit Kumar wrote: > > Thanks for note Leif, > > > > I am trying to understand this behavior of specification. > > > > >"If no handler has been registered, or the registered handler > > >returns, then the system will be reset by calling the Runtime Service > > >ResetSystem()." > > I believe, this handler needs to be called by wdt driver after wdt is > > expired. Meaning , we want wdt to work without resetting the system. > > Therefore a mask is needed with wdt, which will prevent to reset the > > system. I see it working, at least for SP805, because of PMU mask > > bits. > > Yes, if the WDT can be configured to generate an interrupt instead of a > hardware reset, it can be used to implement this protocol. Here I am just thinking of one condition , some application started the wdt and CPU got stuck somewhere in ISR routine, Now this wdt is expired. We will end up in hang system. I agree doing reset in graceful manner is always great, but In this case, resetting the as it is, will be more useful. Thought ? > > Also ArmPkg/Drivers/GenericWatchdogDxe/GenericWatchdogDxe.c has this > limitation. > > I haven’t read spec of this wdt. I hope there should a mask around. > > No, the situation for the GenericWatchdogDxe is not as dire. > > Correct: it does not permit registering software handlers (which perhaps we > should do something about, but is ... acceptable). > > _But_, it still conforms to the above text; when the timer expires, it resets > the > system by calling the ResetSystem() service. It does not directly force a > hardware reset. Hmm, this does partly by calling ResetSystem(), however this does not Allow to install handler in WatchdogRegisterHandler. > The severe problem is not the lack of the ability to register the software > handler > (which does remove much of the utility), but the removal of reset control from > the system firmware. > > > Coming back to hardware, which does not have mask around wdt, how to > > implement this feature. > > Simple - you can't. > > You can absolutely implement exactly the functionality you have today, with > minimal changes to the protocol - it just should not be registered as an > implementation of EFI_WATCHDOG_TIMER_ARCH_PROTOCOL. I believe, EFI_WATCHDOG_TIMER_ARCH_PROTOCOL is must Are you suggesting to EFI_WATCHDOG_TIMER_ARCH_PROTOCOL from MdeModulePkg and hook platform specific code with this. Or simply register EFI_WATCHDOG_TIMER_ARCH_PROTOCOL with dummy functions. > Then your platform code can invoke this custom protocol as needed. > Regards, > > Leif _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel