From: Grygorii Strashko <grygorii_strashko@epam.com>
Add generic domain_clamp_alloc_bitsize() macro and clean up arch specific
defines.
Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
v3: no changes, added tag
xen/arch/arm/include/asm/mm.h | 2 --
xen/arch/ppc/include/asm/mm.h | 2 --
xen/arch/riscv/include/asm/mm.h | 2 --
xen/arch/x86/include/asm/mm.h | 1 +
xen/include/xen/mm.h | 4 ++++
5 files changed, 5 insertions(+), 6 deletions(-)
diff --git a/xen/arch/arm/include/asm/mm.h b/xen/arch/arm/include/asm/mm.h
index 4c6cc64aa7ba..ec2d2dc5372a 100644
--- a/xen/arch/arm/include/asm/mm.h
+++ b/xen/arch/arm/include/asm/mm.h
@@ -313,8 +313,6 @@ struct page_info *get_page_from_gva(struct vcpu *v, vaddr_t va,
/* Arch-specific portion of memory_op hypercall. */
long arch_memory_op(int op, XEN_GUEST_HANDLE_PARAM(void) arg);
-#define domain_clamp_alloc_bitsize(d, b) (b)
-
unsigned long domain_get_maximum_gpfn(struct domain *d);
/* Release all __init and __initdata ranges to be reused */
diff --git a/xen/arch/ppc/include/asm/mm.h b/xen/arch/ppc/include/asm/mm.h
index e478291fdf55..91c405876bd0 100644
--- a/xen/arch/ppc/include/asm/mm.h
+++ b/xen/arch/ppc/include/asm/mm.h
@@ -96,8 +96,6 @@ static inline struct page_info *virt_to_page(const void *v)
/* TODO: implement */
#define mfn_valid(mfn) ({ (void) (mfn); 0; })
-#define domain_clamp_alloc_bitsize(d, b) (b)
-
#define PFN_ORDER(pfn_) ((pfn_)->v.free.order)
struct page_info
diff --git a/xen/arch/riscv/include/asm/mm.h b/xen/arch/riscv/include/asm/mm.h
index 11e9f26bf0a5..e5ea91fa4d0c 100644
--- a/xen/arch/riscv/include/asm/mm.h
+++ b/xen/arch/riscv/include/asm/mm.h
@@ -292,8 +292,6 @@ static inline bool arch_mfns_in_directmap(unsigned long mfn, unsigned long nr)
/* TODO: implement */
#define mfn_valid(mfn) ({ (void)(mfn); 0; })
-#define domain_clamp_alloc_bitsize(d, b) ((void)(d), (b))
-
#define PFN_ORDER(pg) ((pg)->v.free.order)
extern unsigned char cpu0_boot_stack[];
diff --git a/xen/arch/x86/include/asm/mm.h b/xen/arch/x86/include/asm/mm.h
index 08153e6d6fa2..17ca6666a34e 100644
--- a/xen/arch/x86/include/asm/mm.h
+++ b/xen/arch/x86/include/asm/mm.h
@@ -621,6 +621,7 @@ extern int memory_add(unsigned long spfn, unsigned long epfn, unsigned int pxm);
void domain_set_alloc_bitsize(struct domain *d);
unsigned int domain_clamp_alloc_bitsize(struct domain *d, unsigned int bits);
+#define domain_clamp_alloc_bitsize(d, bits) domain_clamp_alloc_bitsize(d, bits)
unsigned long domain_get_maximum_gpfn(struct domain *d);
diff --git a/xen/include/xen/mm.h b/xen/include/xen/mm.h
index b968f47b87e0..426362adb2f4 100644
--- a/xen/include/xen/mm.h
+++ b/xen/include/xen/mm.h
@@ -641,4 +641,8 @@ static inline void put_page_alloc_ref(struct page_info *page)
}
}
+#ifndef domain_clamp_alloc_bitsize
+#define domain_clamp_alloc_bitsize(d, bits) ((void)(d), (bits))
+#endif
+
#endif /* __XEN_MM_H__ */
--
2.34.1
On 28/11/2025 16:22, Grygorii Strashko wrote: > From: Grygorii Strashko <grygorii_strashko@epam.com> > > Add generic domain_clamp_alloc_bitsize() macro and clean up arch specific > defines. > > Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com> > Acked-by: Jan Beulich <jbeulich@suse.com> Acked-by: Michal Orzel <michal.orzel@amd.com> ~Michal
On 11/28/25 4:22 PM, Grygorii Strashko wrote:
> From: Grygorii Strashko <grygorii_strashko@epam.com>
>
> Add generic domain_clamp_alloc_bitsize() macro and clean up arch specific
> defines.
>
> Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
> Acked-by: Jan Beulich <jbeulich@suse.com>
> ---
> v3: no changes, added tag
>
> xen/arch/arm/include/asm/mm.h | 2 --
> xen/arch/ppc/include/asm/mm.h | 2 --
> xen/arch/riscv/include/asm/mm.h | 2 --
> xen/arch/x86/include/asm/mm.h | 1 +
> xen/include/xen/mm.h | 4 ++++
> 5 files changed, 5 insertions(+), 6 deletions(-)
>
> diff --git a/xen/arch/arm/include/asm/mm.h b/xen/arch/arm/include/asm/mm.h
> index 4c6cc64aa7ba..ec2d2dc5372a 100644
> --- a/xen/arch/arm/include/asm/mm.h
> +++ b/xen/arch/arm/include/asm/mm.h
> @@ -313,8 +313,6 @@ struct page_info *get_page_from_gva(struct vcpu *v, vaddr_t va,
> /* Arch-specific portion of memory_op hypercall. */
> long arch_memory_op(int op, XEN_GUEST_HANDLE_PARAM(void) arg);
>
> -#define domain_clamp_alloc_bitsize(d, b) (b)
> -
> unsigned long domain_get_maximum_gpfn(struct domain *d);
>
> /* Release all __init and __initdata ranges to be reused */
> diff --git a/xen/arch/ppc/include/asm/mm.h b/xen/arch/ppc/include/asm/mm.h
> index e478291fdf55..91c405876bd0 100644
> --- a/xen/arch/ppc/include/asm/mm.h
> +++ b/xen/arch/ppc/include/asm/mm.h
> @@ -96,8 +96,6 @@ static inline struct page_info *virt_to_page(const void *v)
> /* TODO: implement */
> #define mfn_valid(mfn) ({ (void) (mfn); 0; })
>
> -#define domain_clamp_alloc_bitsize(d, b) (b)
> -
> #define PFN_ORDER(pfn_) ((pfn_)->v.free.order)
>
> struct page_info
> diff --git a/xen/arch/riscv/include/asm/mm.h b/xen/arch/riscv/include/asm/mm.h
> index 11e9f26bf0a5..e5ea91fa4d0c 100644
> --- a/xen/arch/riscv/include/asm/mm.h
> +++ b/xen/arch/riscv/include/asm/mm.h
> @@ -292,8 +292,6 @@ static inline bool arch_mfns_in_directmap(unsigned long mfn, unsigned long nr)
> /* TODO: implement */
> #define mfn_valid(mfn) ({ (void)(mfn); 0; })
>
> -#define domain_clamp_alloc_bitsize(d, b) ((void)(d), (b))
> -
> #define PFN_ORDER(pg) ((pg)->v.free.order)
>
> extern unsigned char cpu0_boot_stack[];
> diff --git a/xen/arch/x86/include/asm/mm.h b/xen/arch/x86/include/asm/mm.h
> index 08153e6d6fa2..17ca6666a34e 100644
> --- a/xen/arch/x86/include/asm/mm.h
> +++ b/xen/arch/x86/include/asm/mm.h
> @@ -621,6 +621,7 @@ extern int memory_add(unsigned long spfn, unsigned long epfn, unsigned int pxm);
>
> void domain_set_alloc_bitsize(struct domain *d);
> unsigned int domain_clamp_alloc_bitsize(struct domain *d, unsigned int bits);
> +#define domain_clamp_alloc_bitsize(d, bits) domain_clamp_alloc_bitsize(d, bits)
>
> unsigned long domain_get_maximum_gpfn(struct domain *d);
>
> diff --git a/xen/include/xen/mm.h b/xen/include/xen/mm.h
> index b968f47b87e0..426362adb2f4 100644
> --- a/xen/include/xen/mm.h
> +++ b/xen/include/xen/mm.h
> @@ -641,4 +641,8 @@ static inline void put_page_alloc_ref(struct page_info *page)
> }
> }
>
> +#ifndef domain_clamp_alloc_bitsize
> +#define domain_clamp_alloc_bitsize(d, bits) ((void)(d), (bits))
> +#endif
> +
> #endif /* __XEN_MM_H__ */
LGTM:
Reviewed-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Thanks.
~ Oleksii
Hi Grygorii, > On 28 Nov 2025, at 15:22, Grygorii Strashko <grygorii_strashko@epam.com> wrote: > > From: Grygorii Strashko <grygorii_strashko@epam.com> > > Add generic domain_clamp_alloc_bitsize() macro and clean up arch specific > defines. > > Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com> > Acked-by: Jan Beulich <jbeulich@suse.com> > --- > v3: no changes, added tag > > xen/arch/arm/include/asm/mm.h | 2 -- Looks ok to me: Reviewed-by: Luca Fancellu <luca.fancellu@arm.com> #arm Cheers, Luca
© 2016 - 2025 Red Hat, Inc.