While x86 only register PV shutdown handler for PV guests. ARM guests
are always using HVM and requires the PV shutdown handler.
xctrl->xctrl_watch.callback_data = (uintptr_t)xctrl;
xs_register_watch(&xctrl->xctrl_watch);
- if (xen_pv_domain())
+ if (xen_has_pv_shutdown_handler())
EVENTHANDLER_REGISTER(shutdown_final, xen_pv_shutdown_final, NULL,
SHUTDOWN_PRI_LAST);
#define atomic_readandclear_xen_ulong(p) atomic_readandclear_long(p)
+static inline bool
+xen_has_pv_shutdown_handler(void)
+{
+
+ return (xen_pv_domain());
+}
+
#endif /* !__ASSEMBLY__ */
#endif /* _MACHINE_X86_XEN_XEN_OS_H_ */