On 18/12/2025 5:28 pm, Oleksii Kurochko wrote:
> diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
> index 47973f99d9..e566023340 100644
> --- a/xen/arch/arm/domain.c
> +++ b/xen/arch/arm/domain.c
> @@ -473,36 +473,21 @@ void dump_pageframe_info(struct domain *d)
>  
>  }
>  
> -/*
> - * The new VGIC has a bigger per-IRQ structure, so we need more than one
> - * page on ARM64. Cowardly increase the limit in this case.
> - */
> -#if defined(CONFIG_NEW_VGIC) && defined(CONFIG_ARM_64)
> -#define MAX_PAGES_PER_VCPU  2
> -#else
> -#define MAX_PAGES_PER_VCPU  1
> -#endif
> -
>  struct vcpu *alloc_vcpu_struct(const struct domain *d)
>  {
>      struct vcpu *v;
>  
> -    BUILD_BUG_ON(sizeof(*v) > MAX_PAGES_PER_VCPU * PAGE_SIZE);
> -    v = alloc_xenheap_pages(get_order_from_bytes(sizeof(*v)), 0);
> -    if ( v != NULL )
> -    {
> -        unsigned int i;
> -
> -        for ( i = 0; i < DIV_ROUND_UP(sizeof(*v), PAGE_SIZE); i++ )
> -            clear_page((void *)v + i * PAGE_SIZE);
> -    }
> +    BUILD_BUG_ON(sizeof(*v) > PAGE_SIZE);
> +    v = alloc_xenheap_pages(0, 0);

I know this is only interim until the next patch, but
alloc_xenheap_page() to match the free function used.

Personally, I'd merge patches 2 and 3 together, because everything you
touch in this patch is deleted by the next one.

But, whatever the ARM maintainers prefer.

~Andrew

Reply via email to