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.bow...@intel.com>
---
  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.ursu...@intel.com>

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);

Reply via email to