diff options
| author | Peter Crosthwaite <peter.crosthwaite@xilinx.com> | 2013-06-03 15:33:29 +1000 |
|---|---|---|
| committer | Paolo Bonzini <pbonzini@redhat.com> | 2013-06-20 16:39:52 +0200 |
| commit | 2eb74e1a1ef145034aa41255c4a6f469d560c96d (patch) | |
| tree | be2e90f3168fb69e91b2d6a5a34f6e9037bd69f3 /memory.c | |
| parent | 41a6e477fda3e3e5c8cc860458d29164625dc5e0 (diff) | |
| download | focaccia-qemu-2eb74e1a1ef145034aa41255c4a6f469d560c96d.tar.gz focaccia-qemu-2eb74e1a1ef145034aa41255c4a6f469d560c96d.zip | |
memory: render_memory_region: factor out fr constant setters
These 4 replicated lines set properties of fr that are constant over the course of the function. Factor out their repeated setting (and also guards against them being set multiple times in the loop below). Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'memory.c')
| -rw-r--r-- | memory.c | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/memory.c b/memory.c index 0e07d0f4cd..47b005a558 100644 --- a/memory.c +++ b/memory.c @@ -556,6 +556,11 @@ static void render_memory_region(FlatView *view, base = clip.start; remain = clip.size; + fr.mr = mr; + fr.dirty_log_mask = mr->dirty_log_mask; + fr.romd_mode = mr->romd_mode; + fr.readonly = readonly; + /* Render the region itself into any gaps left by the current view. */ for (i = 0; i < view->nr && int128_nz(remain); ++i) { if (int128_ge(base, addrrange_end(view->ranges[i].addr))) { @@ -564,12 +569,8 @@ static void render_memory_region(FlatView *view, if (int128_lt(base, view->ranges[i].addr.start)) { now = int128_min(remain, int128_sub(view->ranges[i].addr.start, base)); - fr.mr = mr; fr.offset_in_region = offset_in_region; fr.addr = addrrange_make(base, now); - fr.dirty_log_mask = mr->dirty_log_mask; - fr.romd_mode = mr->romd_mode; - fr.readonly = readonly; flatview_insert(view, i, &fr); ++i; int128_addto(&base, now); @@ -584,12 +585,8 @@ static void render_memory_region(FlatView *view, int128_subfrom(&remain, now); } if (int128_nz(remain)) { - fr.mr = mr; fr.offset_in_region = offset_in_region; fr.addr = addrrange_make(base, remain); - fr.dirty_log_mask = mr->dirty_log_mask; - fr.romd_mode = mr->romd_mode; - fr.readonly = readonly; flatview_insert(view, i, &fr); } } |