|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v2 2/6] x86/gnttab: do not implement GNTTABOP_cache_flush
On 5/16/25 11:45 AM, Roger Pau Monne
wrote:
LGTM: Reviewed-By: Oleksii Kurochko <oleksii.kurochko@xxxxxxxxx> Thanks. ~ Oleksii ## [4.20.0](https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=RELEASE-4.20.0) - 2025-03-05 diff --git a/xen/arch/x86/include/asm/flushtlb.h b/xen/arch/x86/include/asm/flushtlb.h index 209ea1e62fae..cd625f911436 100644 --- a/xen/arch/x86/include/asm/flushtlb.h +++ b/xen/arch/x86/include/asm/flushtlb.h @@ -184,25 +184,6 @@ void flush_area_mask(const cpumask_t *mask, const void *va, } static inline void flush_page_to_ram(unsigned long mfn, bool sync_icache) {} -static inline int invalidate_dcache_va_range(const void *p, - unsigned long size) -{ return -EOPNOTSUPP; } -static inline int clean_and_invalidate_dcache_va_range(const void *p, - unsigned long size) -{ - unsigned int order = get_order_from_bytes(size); - /* sub-page granularity support needs to be added if necessary */ - flush_area_local(p, FLUSH_CACHE|FLUSH_ORDER(order)); - return 0; -} -static inline int clean_dcache_va_range(const void *p, unsigned long size) -{ - unsigned int order = get_order_from_bytes(size); - - /* sub-page granularity support needs to be added if necessary */ - flush_area_local(p, FLUSH_CACHE_WRITEBACK | FLUSH_ORDER(order)); - return 0; -} unsigned int guest_flush_tlb_flags(const struct domain *d); void guest_flush_tlb_mask(const struct domain *d, const cpumask_t *mask); diff --git a/xen/common/Kconfig b/xen/common/Kconfig index 6d43be2e6e8a..563b036474c0 100644 --- a/xen/common/Kconfig +++ b/xen/common/Kconfig @@ -35,6 +35,11 @@ config GRANT_TABLE If unsure, say Y. +config HAS_GRANT_CACHE_FLUSH + bool + depends on GRANT_TABLE + default ARM + config EVTCHN_FIFO bool "Event Channel Fifo support" if EXPERT default y diff --git a/xen/common/grant_table.c b/xen/common/grant_table.c index e75ff98aff1c..cf131c43a1f1 100644 --- a/xen/common/grant_table.c +++ b/xen/common/grant_table.c @@ -940,6 +940,7 @@ static void reduce_status_for_pin(struct domain *rd, gnttab_clear_flags(rd, clear_flags, status); } +#ifdef CONFIG_HAS_GRANT_CACHE_FLUSH static struct active_grant_entry *grant_map_exists(const struct domain *ld, struct grant_table *rgt, mfn_t mfn, @@ -975,6 +976,7 @@ static struct active_grant_entry *grant_map_exists(const struct domain *ld, return ERR_PTR(-EINVAL); } +#endif /* CONFIG_HAS_GRANT_CACHE_FLUSH */ union maptrack_node { struct { @@ -3520,6 +3522,7 @@ gnttab_swap_grant_ref(XEN_GUEST_HANDLE_PARAM(gnttab_swap_grant_ref_t) uop, return 0; } +#ifdef CONFIG_HAS_GRANT_CACHE_FLUSH static int _cache_flush(const gnttab_cache_flush_t *cflush, grant_ref_t *cur_ref) { struct domain *d, *owner; @@ -3631,6 +3634,7 @@ gnttab_cache_flush(XEN_GUEST_HANDLE_PARAM(gnttab_cache_flush_t) uop, return 0; } +#endif /* CONFIG_HAS_GRANT_CACHE_FLUSH */ long do_grant_table_op( unsigned int cmd, XEN_GUEST_HANDLE_PARAM(void) uop, unsigned int count) @@ -3773,6 +3777,7 @@ long do_grant_table_op( break; } +#ifdef CONFIG_HAS_GRANT_CACHE_FLUSH case GNTTABOP_cache_flush: { XEN_GUEST_HANDLE_PARAM(gnttab_cache_flush_t) cflush = @@ -3789,6 +3794,7 @@ long do_grant_table_op( } break; } +#endif /* CONFIG_HAS_GRANT_CACHE_FLUSH */ default: rc = -ENOSYS;
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |