summaryrefslogtreecommitdiffstats
path: root/memory.c
diff options
context:
space:
mode:
authorMarcel Apfelbaum <marcel.a@redhat.com>2013-09-16 11:21:14 +0300
committerMichael S. Tsirkin <mst@redhat.com>2013-10-14 17:11:44 +0300
commita1ff8ae0666ffcbe78ae7e28812dd30db6bb7131 (patch)
tree79f618d7857094f5cdfd758aa5726ec0ffb83593 /memory.c
parente26d3e734650640fabd7d95ace4f3a6f88725e0b (diff)
downloadhqemu-a1ff8ae0666ffcbe78ae7e28812dd30db6bb7131.zip
hqemu-a1ff8ae0666ffcbe78ae7e28812dd30db6bb7131.tar.gz
memory: Change MemoryRegion priorities from unsigned to signed
When memory regions overlap, priority can be used to specify which of them takes priority. By making the priority values signed rather than unsigned, we make it more convenient to implement a situation where one "background" region should appear only where no other region exists: rather than having to explicitly specify a high priority for all the other regions, we can let them take the default (zero) priority and specify a negative priority for the background region. Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Acked-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Marcel Apfelbaum <marcel.a@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'memory.c')
-rw-r--r--memory.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/memory.c b/memory.c
index 5a10fd0..f49d31a 100644
--- a/memory.c
+++ b/memory.c
@@ -1473,7 +1473,7 @@ void memory_region_add_subregion(MemoryRegion *mr,
void memory_region_add_subregion_overlap(MemoryRegion *mr,
hwaddr offset,
MemoryRegion *subregion,
- unsigned priority)
+ int priority)
{
subregion->may_overlap = true;
subregion->priority = priority;
@@ -1506,7 +1506,7 @@ void memory_region_set_enabled(MemoryRegion *mr, bool enabled)
void memory_region_set_address(MemoryRegion *mr, hwaddr addr)
{
MemoryRegion *parent = mr->parent;
- unsigned priority = mr->priority;
+ int priority = mr->priority;
bool may_overlap = mr->may_overlap;
if (addr == mr->addr || !parent) {
OpenPOWER on IntegriCloud