hv: cache: wrap common APIs

Wrap three common Cache APIs:
- flush_invalidate_all_cache
- flush_cacheline
- flush_cache_range

Tracked-On: #5830
Signed-off-by: Li Fei1 <fei1.li@intel.com>
This commit is contained in:
Li Fei1
2021-04-23 15:49:53 +08:00
committed by wenlingz
parent 77e64f6092
commit 30febed0e1
9 changed files with 34 additions and 40 deletions

View File

@@ -551,7 +551,7 @@ static inline void invlpg(unsigned long addr)
asm volatile("invlpg (%0)" ::"r" (addr) : "memory");
}
static inline void cache_flush_invalidate_all(void)
static inline void wbinvd(void)
{
asm volatile (" wbinvd\n" : : : "memory");
}

View File

@@ -174,17 +174,6 @@ void flush_vpid_single(uint16_t vpid);
*/
void flush_vpid_global(void);
/**
* @brief Flush address space
*
* @param[in] addr the specified virtual address
*
* @param[in] size the specified size to flush
*
* @return None
*/
void flush_address_space(void *addr, uint64_t size);
/**
* @brief Guest-physical mappings and combined mappings invalidation
*
@@ -206,6 +195,10 @@ static inline uint64_t get_pae_pdpt_addr(uint64_t cr3)
void flush_tlb(uint64_t addr);
void flush_tlb_range(uint64_t addr, uint64_t size);
void flush_invalidate_all_cache(void);
void flush_cacheline(const volatile void *p);
void flush_cache_range(const volatile void *p, uint64_t size);
/**
* @}
*/