[Intel-gfx] [RFC PATCH v5 1/1] Split i915_run_as_guest into x86 and non-x86

Tvrtko Ursulin tvrtko.ursulin at linux.intel.com
Thu Mar 31 14:35:12 UTC 2022


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 at 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.ursulin at 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);


More information about the Intel-gfx mailing list