IPI TLB shootdowns
This commit is contained in:
@@ -5,6 +5,7 @@
|
||||
#include <zinnia/spin.h>
|
||||
#include <zinnia/utils.h>
|
||||
#include <bits/pmap.h>
|
||||
#include <config.h>
|
||||
|
||||
struct percpu;
|
||||
|
||||
@@ -39,13 +40,16 @@ errno_t pmap_extract(struct pmap* pt, uintptr_t vaddr, phys_t* out);
|
||||
void pmap_destroy(struct pmap* pt);
|
||||
void pmap_set(struct pmap* pt);
|
||||
void pmap_shootdown(struct pmap* pt);
|
||||
void pmap_shootdown_handle();
|
||||
|
||||
void pte_clear(pte_t* pte);
|
||||
void pte_write(pte_t* pte, pte_t val);
|
||||
void pte_flush(uintptr_t vaddr);
|
||||
void pte_flush_all();
|
||||
#if CONFIG_HAVE_TLB_SHOOTDOWN_IPI
|
||||
void pmap_shootdown_handle();
|
||||
void pte_shootdown_kick(struct percpu* cpu);
|
||||
#endif
|
||||
pte_t pte_build(phys_t addr, enum pte_flags flags, enum cache_mode cache);
|
||||
pte_t pte_protect(pte_t old, enum pte_flags flags);
|
||||
bool pte_is_present(pte_t* pte);
|
||||
bool pte_is_dir(pte_t* pte);
|
||||
phys_t pte_address(pte_t* pte);
|
||||
|
||||
Reference in New Issue
Block a user