next up previous contents index
Next: 10.9.13 pdir_unmap_range: remove a Up: (X86) Base Environment: Page Previous: 10.9.11 pdir_map_range: map a

10.9.12 pdir_prot_range: change the permissions on a mapped memory range

   

SYNOPSIS

#include <oskit/x86/base_paging.h>

void pdir_prot_range(oskit_addr_t pdir_pa, oskit_addr_t la, oskit_size_t size, pt_entry_t new_mapping_bits);

DESCRIPTION

This function can be used to modify the permissions and other attribute bits associated with a mapping range previously created with pdir_map_range. The la and size parameters must be exactly the same as those passed to the pdir_map_range used to create the mapping.

PARAMETERS

pdir_pa
Physical address of the page directory acting as the root of the linear address space containing the mapping to modify.
la
Starting linear address of the mapping to modify. Must be exactly the same as the address specified to the pdir_map_range call used to create this mapping.
size
Size of the mapping to modify. Must be exactly the same as the size specified to the pdir_map_range call used to create this mapping.
new_mapping_bits
New permission flags to insert into each page or superpage mapping entry. The caller must include INTEL_PTE_VALID; other flags may be set according to the desired behavior. (To unmap ranges, use pdir_unmap_range; see Section 10.9.13)

DEPENDENCIES

pdir_find_pde
10.9.3
ptab_find_pte
10.9.4



University of Utah Flux Research Group