[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL v2 01/39] memory: Change MemoryRegion priorities from
From: |
Michael S. Tsirkin |
Subject: |
[Qemu-devel] [PULL v2 01/39] memory: Change MemoryRegion priorities from unsigned to signed |
Date: |
Tue, 15 Oct 2013 09:30:03 +0300 |
From: Marcel Apfelbaum <address@hidden>
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 <address@hidden>
Acked-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Marcel Apfelbaum <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
---
include/exec/memory.h | 4 ++--
include/hw/sysbus.h | 2 +-
hw/core/sysbus.c | 4 ++--
memory.c | 4 ++--
4 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/include/exec/memory.h b/include/exec/memory.h
index ebe0d24..480dfbf 100644
--- a/include/exec/memory.h
+++ b/include/exec/memory.h
@@ -153,7 +153,7 @@ struct MemoryRegion {
bool flush_coalesced_mmio;
MemoryRegion *alias;
hwaddr alias_offset;
- unsigned priority;
+ int priority;
bool may_overlap;
QTAILQ_HEAD(subregions, MemoryRegion) subregions;
QTAILQ_ENTRY(MemoryRegion) subregions_link;
@@ -779,7 +779,7 @@ void memory_region_add_subregion(MemoryRegion *mr,
void memory_region_add_subregion_overlap(MemoryRegion *mr,
hwaddr offset,
MemoryRegion *subregion,
- unsigned priority);
+ int priority);
/**
* memory_region_get_ram_addr: Get the ram address associated with a memory
diff --git a/include/hw/sysbus.h b/include/hw/sysbus.h
index bb50a87..f5aaa05 100644
--- a/include/hw/sysbus.h
+++ b/include/hw/sysbus.h
@@ -68,7 +68,7 @@ void sysbus_init_ioports(SysBusDevice *dev, pio_addr_t
ioport, pio_addr_t size);
void sysbus_connect_irq(SysBusDevice *dev, int n, qemu_irq irq);
void sysbus_mmio_map(SysBusDevice *dev, int n, hwaddr addr);
void sysbus_mmio_map_overlap(SysBusDevice *dev, int n, hwaddr addr,
- unsigned priority);
+ int priority);
void sysbus_add_io(SysBusDevice *dev, hwaddr addr,
MemoryRegion *mem);
void sysbus_del_io(SysBusDevice *dev, MemoryRegion *mem);
diff --git a/hw/core/sysbus.c b/hw/core/sysbus.c
index b84cd4a..146f50a 100644
--- a/hw/core/sysbus.c
+++ b/hw/core/sysbus.c
@@ -49,7 +49,7 @@ void sysbus_connect_irq(SysBusDevice *dev, int n, qemu_irq
irq)
}
static void sysbus_mmio_map_common(SysBusDevice *dev, int n, hwaddr addr,
- bool may_overlap, unsigned priority)
+ bool may_overlap, int priority)
{
assert(n >= 0 && n < dev->num_mmio);
@@ -81,7 +81,7 @@ void sysbus_mmio_map(SysBusDevice *dev, int n, hwaddr addr)
}
void sysbus_mmio_map_overlap(SysBusDevice *dev, int n, hwaddr addr,
- unsigned priority)
+ int priority)
{
sysbus_mmio_map_common(dev, n, addr, true, priority);
}
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) {
--
MST
- [Qemu-devel] [PULL v2 00/39] pci, pc, acpi fixes, enhancements, Michael S. Tsirkin, 2013/10/15
- [Qemu-devel] [PULL v2 01/39] memory: Change MemoryRegion priorities from unsigned to signed,
Michael S. Tsirkin <=
- [Qemu-devel] [PULL v2 02/39] docs/memory: Explictly state that MemoryRegion priority is signed, Michael S. Tsirkin, 2013/10/15
- [Qemu-devel] [PULL v2 03/39] hw/pci: partially handle pci master abort, Michael S. Tsirkin, 2013/10/15
- [Qemu-devel] [PULL v2 04/39] hw/core: Add interface to allocate and free a single IRQ, Michael S. Tsirkin, 2013/10/15
- [Qemu-devel] [PULL v2 05/39] hw/pci: add pci wrappers for allocating and asserting irqs, Michael S. Tsirkin, 2013/10/15
- [Qemu-devel] [PULL v2 06/39] hw/pci-bridge: set PCI_INTERRUPT_PIN register before shpc init, Michael S. Tsirkin, 2013/10/15
- [Qemu-devel] [PULL v2 07/39] hw/vmxnet3: set interrupts using pci irq wrappers, Michael S. Tsirkin, 2013/10/15
- [Qemu-devel] [PULL v2 08/39] hw/vfio: set interrupts using pci irq wrappers, Michael S. Tsirkin, 2013/10/15
- [Qemu-devel] [PULL v2 10/39] hw/pcie: AER and hot-plug events must use device's interrupt, Michael S. Tsirkin, 2013/10/15
- [Qemu-devel] [PULL v2 11/39] hw/pci: removed irq field from PCIDevice, Michael S. Tsirkin, 2013/10/15
- [Qemu-devel] [PULL v2 09/39] hw: set interrupts using pci irq wrappers, Michael S. Tsirkin, 2013/10/15