Split out pmap_map_delete on arm64

This will be used when supporting some extensions, e.g. Branch Target
Identification (BTI).

Sponsored by:	Arm Ltd
This commit is contained in:
Andrew Turner 2023-04-28 11:54:19 +01:00
parent bbfb244724
commit 020edaea2a
2 changed files with 13 additions and 1 deletions

View File

@ -3686,6 +3686,18 @@ pmap_remove(pmap_t pmap, vm_offset_t sva, vm_offset_t eva)
vm_page_free_pages_toq(&free, true);
}
/*
* Remove the given range of addresses as part of a logical unmap
* operation. This has the effect of calling pmap_remove(), but
* also clears any metadata that should persist for the lifetime
* of a logical mapping.
*/
void
pmap_map_delete(pmap_t pmap, vm_offset_t sva, vm_offset_t eva)
{
pmap_remove(pmap, sva, eva);
}
/*
* Routine: pmap_remove_all
* Function:

View File

@ -155,7 +155,7 @@ int pmap_pinit_stage(pmap_t, enum pmap_stage, int);
bool pmap_ps_enabled(pmap_t pmap);
uint64_t pmap_to_ttbr0(pmap_t pmap);
void pmap_disable_promotion(vm_offset_t sva, vm_size_t size);
#define pmap_map_delete(pmap, sva, eva) pmap_remove(pmap, sva, eva)
void pmap_map_delete(pmap_t, vm_offset_t, vm_offset_t);
void *pmap_mapdev(vm_paddr_t, vm_size_t);
void *pmap_mapbios(vm_paddr_t, vm_size_t);