On 31/03/2022 01:09, Casey Bowman wrote:
Splitting i915_run_as_guest into a more arch-friendly function
as non-x86 builds do not support this functionality.
Signed-off-by: Casey Bowman <casey.g.bowman@xxxxxxxxx>
---
drivers/gpu/drm/i915/i915_utils.h | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/drivers/gpu/drm/i915/i915_utils.h b/drivers/gpu/drm/i915/i915_utils.h
index b2d89c43f24d..a42882e68eea 100644
--- a/drivers/gpu/drm/i915/i915_utils.h
+++ b/drivers/gpu/drm/i915/i915_utils.h
@@ -428,7 +428,12 @@ static inline bool timer_expired(const struct timer_list *t)
static inline bool i915_run_as_guest(void)
{
+#if IS_ENABLED(CONFIG_X86)
return !hypervisor_is_type(X86_HYPER_NATIVE);
+#else
+ /* Not supported yet */
+ return false;
+#endif
Works for me.
Acked-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx>
You may want to #ifdef the inclusion of asm/hypervisor.h as well. It
only happens to work by chance since Arm has that file. Although it
becomes uglier at that point..
There is a function in there which appears may give you a way to query
if under hypervisor, based on some feature flags, but you'd have to ask
Arm experts if that would make sense.
Regards,
Tvrtko
}
bool i915_vtd_active(struct drm_i915_private *i915);