libsel4vm: Made 'vm_memory_handle_fault' private Made the interface function 'vm_memory_handle_fault' a private function as this is only used internally within libsel4vm.
diff --git a/libsel4vm/include/sel4vm/guest_memory.h b/libsel4vm/include/sel4vm/guest_memory.h index cf5b03a..04c904e 100644 --- a/libsel4vm/include/sel4vm/guest_memory.h +++ b/libsel4vm/include/sel4vm/guest_memory.h
@@ -44,16 +44,6 @@ typedef struct vm_memory_reservation_cookie vm_memory_reservation_cookie_t; /** - * Handle a vm memory fault through searching previously created reservations and invoking the appropriate fault callback - * @param[in] vm A handle to the VM - * @param[in] vcpu A handle to the faulting vcpu - * @param[in] addr Faulting address - * @param[in] size Size of the faulting region - * @return Fault handling status code: HANDLED, UNHANDLED, RESTART, ERROR - */ -memory_fault_result_t vm_memory_handle_fault(vm_t *vm, vm_vcpu_t *vcpu, uintptr_t addr, size_t size); - -/** * Reserve a region of the VM's memory at a given base address * @param[in] vm A handle to the VM * @param[in] addr Base address of the memory region being reserved
diff --git a/libsel4vm/src/arch/arm/mem_abort.c b/libsel4vm/src/arch/arm/mem_abort.c index 18400b8..7bce4e7 100644 --- a/libsel4vm/src/arch/arm/mem_abort.c +++ b/libsel4vm/src/arch/arm/mem_abort.c
@@ -21,6 +21,7 @@ #include "vm.h" #include "mem_abort.h" #include "fault.h" +#include "guest_memory.h" static int unhandled_memory_fault(vm_t *vm, vm_vcpu_t *vcpu, fault_t *fault) {
diff --git a/libsel4vm/src/arch/x86/ept.c b/libsel4vm/src/arch/x86/ept.c index 7a3097e..e6a09d2 100644 --- a/libsel4vm/src/arch/x86/ept.c +++ b/libsel4vm/src/arch/x86/ept.c
@@ -25,6 +25,7 @@ #include "vmcs.h" #include "debug.h" #include "processor/decode.h" +#include "guest_memory.h" #define EPT_VIOL_READ(qual) ((qual) & BIT(0)) #define EPT_VIOL_WRITE(qual) ((qual) & BIT(1))
diff --git a/libsel4vm/src/guest_memory.h b/libsel4vm/src/guest_memory.h index a854d2e..ef8524f 100644 --- a/libsel4vm/src/guest_memory.h +++ b/libsel4vm/src/guest_memory.h
@@ -15,5 +15,7 @@ #include <sel4vm/guest_vm.h> #include <sel4vm/guest_memory.h> +memory_fault_result_t vm_memory_handle_fault(vm_t *vm, vm_vcpu_t *vcpu, uintptr_t addr, size_t size); + int map_vm_memory_reservation(vm_t *vm, vm_memory_reservation_t *vm_reservation, memory_map_iterator_fn map_iterator, void *map_cookie);