mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-09-22 17:27:53 +00:00
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:
@@ -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");
|
||||
}
|
||||
|
@@ -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);
|
||||
|
||||
/**
|
||||
* @}
|
||||
*/
|
||||
|
Reference in New Issue
Block a user