|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH v4 1/2] xen/x86: move domain_clamp_alloc_bitsize() into pv32 code
From: Grygorii Strashko <grygorii_strashko@xxxxxxxx>
The d->arch.physaddr_bitsize field is used only by PV32 code so as the
domain_clamp_alloc_bitsize() function.
Hence move domain_clamp_alloc_bitsize() function into PV32 code and convert
it to macro.
Signed-off-by: Grygorii Strashko <grygorii_strashko@xxxxxxxx>
---
changes in v4:
- rebase
- split out moving d->arch.physaddr_bitsize in separate patch
- fix comments for domain_clamp_alloc_bitsize() macro
xen/arch/x86/include/asm/mm.h | 12 ++++++++++--
xen/arch/x86/x86_64/mm.c | 7 -------
2 files changed, 10 insertions(+), 9 deletions(-)
diff --git a/xen/arch/x86/include/asm/mm.h b/xen/arch/x86/include/asm/mm.h
index 9438f5ea0119..89e8940c3316 100644
--- a/xen/arch/x86/include/asm/mm.h
+++ b/xen/arch/x86/include/asm/mm.h
@@ -619,8 +619,16 @@ void __iomem *ioremap_wc(paddr_t pa, size_t len);
extern int memory_add(unsigned long spfn, unsigned long epfn, unsigned int
pxm);
-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)
+#ifdef CONFIG_PV32
+#define domain_clamp_alloc_bitsize(d, bits) ({
\
+ struct domain *_d = (d);
\
+
\
+ ((_d &&
\
+ _d->arch.physaddr_bitsize)
\
+ ? min_t(unsigned int, _d->arch.physaddr_bitsize, bits)
\
+ : bits);
\
+})
+#endif
unsigned long domain_get_maximum_gpfn(struct domain *d);
diff --git a/xen/arch/x86/x86_64/mm.c b/xen/arch/x86/x86_64/mm.c
index 42fd4fe4e9b5..8eadab7933d0 100644
--- a/xen/arch/x86/x86_64/mm.c
+++ b/xen/arch/x86/x86_64/mm.c
@@ -1119,13 +1119,6 @@ unmap:
return ret;
}
-unsigned int domain_clamp_alloc_bitsize(struct domain *d, unsigned int bits)
-{
- if ( (d == NULL) || (d->arch.physaddr_bitsize == 0) )
- return bits;
- return min(d->arch.physaddr_bitsize, bits);
-}
-
static int transfer_pages_to_heap(struct mem_hotadd_info *info)
{
unsigned long i;
--
2.34.1
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |