Opaque virtual address type

This ensures that conversions and arithmetic on virtual addresses are
explicit and not accidental due to it being a primitive integer.

Change-Id: I94dd8e82e065757ae448d98be0cb89eaa1f6542d
diff --git a/src/vm.c b/src/vm.c
index 3c4fd4d..66be66e 100644
--- a/src/vm.c
+++ b/src/vm.c
@@ -35,5 +35,5 @@
 void vm_set_current(struct vm *vm)
 {
 	arch_cpu_update(vm == &primary_vm);
-	arch_mm_set_vm(vm->ptable.id, (paddr_t)vm->ptable.table);
+	arch_mm_set_vm(vm->ptable.id, vm->ptable.table);
 }