Skip to content

Commit b1e8edb

Browse files
danielRepjosecm
authored andcommitted
feat(mem/mpu): add support for locked entries on the vmpu
Add functionality to lock entries on the vMPU to prevent hypervisor MPU entries from being removed. Signed-off-by: Daniel Oliveira <[email protected]>
1 parent 5ecbd3d commit b1e8edb

File tree

2 files changed

+1
-2
lines changed

2 files changed

+1
-2
lines changed

src/core/mpu/mem.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -468,7 +468,6 @@ bool mem_map(struct addr_space* as, struct mp_region* mpr, bool broadcast, bool
468468
spin_lock(&as->lock);
469469

470470
if (mem_vmpu_find_overlapping_region(as, mpr) == INVALID_MPID) {
471-
// TODO: check if it possible to merge with another region
472471
mpid_t mpid = mem_vmpu_allocate_entry(as);
473472
if (mpid != INVALID_MPID) {
474473
mapped = mem_vmpu_insert_region(as, mpid, mpr, broadcast, locked);

src/core/vm.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ static void vm_install_image(struct vm* vm, struct vm_mem_region* reg)
130130

131131
size_t img_num_pages = NUM_PAGES(vm->config->image.size);
132132
struct ppages img_ppages = mem_ppages_get(vm->config->image.load_addr, img_num_pages);
133-
vaddr_t src_va = mem_alloc_map(&cpu()->as, SEC_HYP_GLOBAL, &img_ppages, INVALID_VA,
133+
vaddr_t src_va = mem_alloc_map(&cpu()->as, SEC_HYP_PRIVATE, &img_ppages, INVALID_VA,
134134
img_num_pages, PTE_HYP_FLAGS);
135135
vaddr_t dst_va =
136136
mem_map_cpy(&vm->as, &cpu()->as, vm->config->image.base_addr, INVALID_VA, img_num_pages);

0 commit comments

Comments
 (0)