Separate address types from memory management.
This allows extracting some code from the architecture specific headers.
Change-Id: I37f7d9955a10025ef491c4e2ca76a6ffaf123a6b
diff --git a/src/main.c b/src/main.c
index 5f81a89..d41b1b3 100644
--- a/src/main.c
+++ b/src/main.c
@@ -68,12 +68,12 @@
pa_addr(params.initrd_end) - 1);
/* Map initrd in, and initialise cpio parser. */
- if (!mm_identity_map(mm_va_from_pa(params.initrd_begin),
- mm_va_from_pa(params.initrd_end), MM_MODE_R)) {
+ if (!mm_identity_map(va_from_pa(params.initrd_begin),
+ va_from_pa(params.initrd_end), MM_MODE_R)) {
panic("unable to map initrd in");
}
- memiter_init(&cpio, mm_ptr_from_va(mm_va_from_pa(params.initrd_begin)),
+ memiter_init(&cpio, ptr_from_va(va_from_pa(params.initrd_begin)),
pa_addr(params.initrd_end) - pa_addr(params.initrd_begin));
/* Load all VMs. */
@@ -87,10 +87,8 @@
}
/* Prepare to run by updating bootparams as seens by primary VM. */
- update.initrd_begin =
- mm_pa_from_va(va_init((uintvaddr_t)primary_initrd.next));
- update.initrd_end =
- mm_pa_from_va(va_init((uintvaddr_t)primary_initrd.limit));
+ update.initrd_begin = pa_from_va(va_from_ptr(primary_initrd.next));
+ update.initrd_end = pa_from_va(va_from_ptr(primary_initrd.limit));
update.reserved_begin = new_mem_end;
update.reserved_end =
pa_init(pa_addr(params.mem_end) - pa_addr(new_mem_end));