libsel4vm: Pass vm handle to vm_guest_add_iospace

Updated the parameters to the interface function
'vm_guest_add_iospace'. This change substitutes the vspace
parameter with the VM object. This allows us to abstract the
internals of the VM datastructure making the interface easier to
use.
diff --git a/libsel4vm/include/sel4vm/guest_iospace.h b/libsel4vm/include/sel4vm/guest_iospace.h
index dcc48b6..407eca3 100644
--- a/libsel4vm/include/sel4vm/guest_iospace.h
+++ b/libsel4vm/include/sel4vm/guest_iospace.h
@@ -15,5 +15,6 @@
 #include <sel4/sel4.h>
 #include <vspace/vspace.h>
 #include <vka/vka.h>
+#include <sel4vm/guest_vm.h>
 
-int vm_guest_add_iospace(vspace_t *loader, vspace_t *vspace, seL4_CPtr iospace);
+int vm_guest_add_iospace(vm_t *vm, vspace_t *loader, seL4_CPtr iospace);
diff --git a/libsel4vm/src/guest_vspace.c b/libsel4vm/src/guest_vspace.c
index 1cd1365..dea5254 100644
--- a/libsel4vm/src/guest_vspace.c
+++ b/libsel4vm/src/guest_vspace.c
@@ -142,8 +142,8 @@
 #endif
 }
 
-int vm_guest_add_iospace(vspace_t *loader, vspace_t *vspace, seL4_CPtr iospace) {
-    struct sel4utils_alloc_data *data = get_alloc_data(vspace);
+int vm_guest_add_iospace(vm_t *vm, vspace_t *loader, seL4_CPtr iospace) {
+    struct sel4utils_alloc_data *data = get_alloc_data(&vm->mem.vm_vspace);
     guest_vspace_t *guest_vspace = (guest_vspace_t *) data;
 
     assert(!guest_vspace->done_mapping);