On 6/2/22 14:53, Scott Cheloha wrote:
PAPR v2.12 defines a new hypercall, H_WATCHDOG. This patch series adds support for this hypercall to powerpc/pseries kernels and introduces a new watchdog driver, "pseries-wdt", for the virtual timers exposed by the hypercall. This series is preceded by the following: RFC v1: https://lore.kernel.org/linux-watchdog/20220413165104.179144-1-cheloha@xxxxxxxxxxxxx/ RFC v2: https://lore.kernel.org/linux-watchdog/20220509174357.5448-1-cheloha@xxxxxxxxxxxxx/ PATCH v1: https://lore.kernel.org/linux-watchdog/20220520183552.33426-1-cheloha@xxxxxxxxxxxxx/
Tested successfully with mainline QEMU plus Alexey's new h_watchdog patches in https://patchwork.ozlabs.org/project/qemu-ppc/list/?series=305226. All patches of this series: Tested-by: Daniel Henrique Barboza <danielhb413@xxxxxxxxx> Thanks, Daniel
Changes of note from PATCH v1: - Trim down the large comment documenting the H_WATCHDOG hypercall. The comment is likely to rot, so remove anything we aren't using and anything overly obvious. - Remove any preprocessor definitions not actually used in the module right now. If we want to use other features offered by the hypercall we can add them in later. They're just clutter until then. - Simplify the "action" module parameter. The value is now an index into an array of possible timeoutAction values. This design removes the need for the custom get/set methods used in PATCH v1. Now we merely need to check that the "action" value is a valid index during pseries_wdt_probe(). Easy. - Make the timeoutAction a member of pseries_wdt, "action". This eliminates the use of a global variable during pseries_wdt_start(). - Use watchdog_init_timeout() idiomatically. Check its return value and error out of pseries_wdt_probe() if it fails.