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/inc/load.h b/inc/load.h
index 7a41b9a..6d19ae6 100644
--- a/inc/load.h
+++ b/inc/load.h
@@ -6,10 +6,11 @@
 
 #include "cpio.h"
 #include "memiter.h"
+#include "mm.h"
 
 bool load_primary(const struct memiter *cpio, size_t kernel_arg,
 		  struct memiter *initrd);
-bool load_secondary(const struct memiter *cpio, uint64_t mem_begin,
-		    uint64_t *mem_end);
+bool load_secondary(const struct memiter *cpio, paddr_t mem_begin,
+		    paddr_t *mem_end);
 
 #endif /* _LOAD_H */