On 06/21/2016 10:09 AM, Peter Maydell wrote:
@@ -825,8 +846,8 @@ static void page_flush_tb(void)
 {
     int i;

-    for (i = 0; i < V_L1_SIZE; i++) {
-        page_flush_tb_1(V_L1_SHIFT / V_L2_BITS - 1, l1_map + i);
+    for (i = 0; i < v_l1_size; i++) {
+        page_flush_tb_1(v_l2_levels, l1_map + i);
     }
 }

@@ -1850,9 +1871,9 @@ int walk_memory_regions(void *priv, 
walk_memory_regions_fn fn)
     data.start = -1u;
     data.prot = 0;

-    for (i = 0; i < V_L1_SIZE; i++) {
-        int rc = walk_memory_regions_1(&data, (target_ulong)i << (V_L1_SHIFT + 
TARGET_PAGE_BITS),
-                                       V_L1_SHIFT / V_L2_BITS - 1, l1_map + i);
+    for (i = 0; i < v_l1_size; i++) {
+        target_ulong base = i << (v_l1_shift + TARGET_PAGE_BITS);
+        int rc = walk_memory_regions_1(&data, base, v_l2_levels, l1_map + i);

It would probably be good to cache v_l1_size in a local, so that we don't keep re-reading it around the loop when we know it doesn't change.

Otherwise,

Reviewed-by: Richard Henderson <r...@twiddle.net>


r~

Reply via email to