On 9/4/25 2:10 AM, Rob Herring wrote: > On Wed, Sep 03, 2025 at 07:33:58PM +0000, Hrishabh Rajput wrote: >> Gunyah is a Type-I hypervisor which was introduced in the patch series >> [1]. It is an open source hypervisor. The source repo is available at >> [2]. >> >> The Gunyah Hypervisor doesn't allow its Virtual Machines to directly >> access the MMIO watchdog. It either provides the fully emulated MMIO >> based watchdog interface or the SMC-based watchdog interface depending >> on the hypervisor configuration. > > EFI provides a standard watchdog interface. Why can't you use that? The use of UEFI at Qualcomm is not exactly what you would expect.. > >> The SMC-based watchdog follows ARM's SMC Calling Convention (SMCCC) >> version 1.1 and uses Vendor Specific Hypervisor Service Calls space. > > Is a watchdog really a hypervisor service? Couldn't a non-virtualized > OS want to call a watchdog (in secure mode) as well? But I don't know > how the SMCCC call space is divided up... Gunyah traps SMC calls and acts on a subset of them, passing others to TZ >> This patch series adds support for the SMC-based watchdog interface >> provided by the Gunyah Hypervisor. The driver supports start/stop >> operations, timeout and pretimeout configuration, pretimeout interrupt >> handling and system restart via watchdog. > > Shouldn't system restart be handled by PSCI? I believe the author is trying to say that the watchdog is not configurable from Linux at present, and if the platform hangs, there are some indeterminate default settings in place > > Why can't you probe by trying to see if watchdog smc call succeeds to > see if there is a watchdog? Then you don't need DT for it. There apparently isn't a good way to tell from a running system whether Gunyah is present, unless you make a smc call (which could in theory be parsed by something else, say a different hypervisor..), but then this patch only introduces the watchdog interface, without all the cruft that would actually let us identify the hypervisor, get its version ID and perform sanity checks.. I would expect that Gunyah has the necessary provisions to inject its nodes as necessary, at least I recall there was some talk of it in early revisions of Elliot's aforementioned patches: https://lore.kernel.org/all/20220811214107.1074343-4-quic_eberman@xxxxxxxxxxx/ Konrad