mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 11:11:45 -04:00
xen/arm: introduce GNTTABOP_cache_flush
Introduce support for new hypercall GNTTABOP_cache_flush. Use it to perform cache flashing on pages used for dma when necessary. If GNTTABOP_cache_flush is supported by the hypervisor, we don't need to bounce dma map operations that involve foreign grants and non-coherent devices. Signed-off-by: Stefano Stabellini <[email protected]> Reviewed-by: Catalin Marinas <[email protected]> Acked-by: Ian Campbell <[email protected]>
This commit is contained in:
parent
a4dba13089
commit
da095a9960
2 changed files with 51 additions and 2 deletions
|
|
@ -478,6 +478,25 @@ struct gnttab_get_version {
|
|||
};
|
||||
DEFINE_GUEST_HANDLE_STRUCT(gnttab_get_version);
|
||||
|
||||
/*
|
||||
* Issue one or more cache maintenance operations on a portion of a
|
||||
* page granted to the calling domain by a foreign domain.
|
||||
*/
|
||||
#define GNTTABOP_cache_flush 12
|
||||
struct gnttab_cache_flush {
|
||||
union {
|
||||
uint64_t dev_bus_addr;
|
||||
grant_ref_t ref;
|
||||
} a;
|
||||
uint16_t offset; /* offset from start of grant */
|
||||
uint16_t length; /* size within the grant */
|
||||
#define GNTTAB_CACHE_CLEAN (1<<0)
|
||||
#define GNTTAB_CACHE_INVAL (1<<1)
|
||||
#define GNTTAB_CACHE_SOURCE_GREF (1<<31)
|
||||
uint32_t op;
|
||||
};
|
||||
DEFINE_GUEST_HANDLE_STRUCT(gnttab_cache_flush);
|
||||
|
||||
/*
|
||||
* Bitfield values for update_pin_status.flags.
|
||||
*/
|
||||
|
|
|
|||
Loading…
Reference in a new issue