]> xenbits.xensource.com Git - xen.git/commitdiff
xen/arm: p2m: Correctly initialize cur_offset
authorJulien Grall <julien.grall@linaro.org>
Wed, 1 Oct 2014 15:13:41 +0000 (16:13 +0100)
committerIan Campbell <ian.campbell@citrix.com>
Thu, 2 Oct 2014 12:53:24 +0000 (13:53 +0100)
{~0,} only initializes the first cell of the array to ~0. The other cells
are initialized to 0.

Explicitly initialize every cells of the array and, at the same time, do the
same for the mappings.

This is fixing boot after 82985d7 "xen: arm: handle variable p2m levels
in apply_p2m_changes" on platform where the root-level doesn't have
concatenate table (such as the Foundation Model).

Signed-off-by: Julien Grall <julien.grall@linaro.org>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
xen/arch/arm/p2m.c

index 70929fca2ba9a603a0008944fe9aace0dc6001fa..70444319372b3172f2defd00a63389c4c0644996 100644 (file)
@@ -716,11 +716,11 @@ static int apply_p2m_changes(struct domain *d,
 {
     int rc, ret;
     struct p2m_domain *p2m = &d->arch.p2m;
-    lpae_t *mappings[4] = { NULL, };
+    lpae_t *mappings[4] = { NULL, NULL, NULL, NULL };
     paddr_t addr, orig_maddr = maddr;
     unsigned int level = 0;
     unsigned int cur_root_table = ~0;
-    unsigned int cur_offset[4] = { ~0, };
+    unsigned int cur_offset[4] = { ~0, ~0, ~0, ~0 };
     unsigned int count = 0;
     bool_t flush = false;
     bool_t flush_pt;