On 13.11.2023 14:13, Oleksii wrote:
> On Sat, 2023-11-11 at 12:25 +0200, Oleksii wrote:
>> I missed to check the patch properly.
>>
>> The patch fails for Arm randconfigs:
>> https://gitlab.com/xen-project/people/olkur/xen/-/pipelines/1068865674
>>
>> I need to do an additional investigation.
> So the only one macro cause compile issue if move it to
> xen/grant_table.h compilation will pass:
> 
> --- a/xen/include/xen/grant_table.h
> +++ b/xen/include/xen/grant_table.h
> @@ -23,10 +23,14 @@
>  #ifndef __XEN_GRANT_TABLE_H__
>  #define __XEN_GRANT_TABLE_H__
>  
> +#include <xen/kernel.h>
>  #include <xen/mm-frame.h>
>  #include <xen/rwlock.h>
>  #include <public/grant_table.h>
> +
> +#ifdef CONFIG_GRANT_TABLE
>  #include <asm/grant_table.h>
> +#endif
>  
>  struct grant_table;
>  
> @@ -112,6 +116,16 @@ static inline int gnttab_acquire_resource(
>      return -EINVAL;
>  }
>  
> +/*
> + * The region used by Xen on the memory will never be mapped in DOM0
> + * memory layout. Therefore it can be used for the grant table.
> + *
> + * Only use the text section as it's always present and will contain
> + * enough space for a large grant table
> + */
> +#define gnttab_dom0_frames()                                         
> \
> +    min_t(unsigned int, opt_max_grant_frames, PFN_DOWN(_etext -
> _stext))
> +
>  #endif /* CONFIG_GRANT_TABLE */
>  
>  #endif /* __XEN_GRANT_TABLE_H__ */
> 
> 
> But gnttab_dom0_frames() is used only for ARM, so probably moving it to
> <xen/grant_table.h> is not a good idea.

Indeed. But wouldn't dealing with this again be a matter of having
Arm's domain_build.c simply include asm/grant_table.h explicitly, if need
be alongside xen/grant_table.h?

Jan

Reply via email to