qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: qemu-devel@nongnu.org, Anthony Liguori <anthony@codemonkey.ws>
Cc: peter.maydell@linaro.org, imammedo@redhat.com, mst@redhat.com,
	kraxel@redhat.com, marcel.a@redhat.com
Subject: [Qemu-devel] [PULL v2 01/39] memory: Change MemoryRegion priorities from unsigned to signed
Date: Tue, 15 Oct 2013 09:30:03 +0300	[thread overview]
Message-ID: <1381818560-18367-2-git-send-email-mst@redhat.com> (raw)
In-Reply-To: <1381818560-18367-1-git-send-email-mst@redhat.com>

From: Marcel Apfelbaum <marcel.a@redhat.com>

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>
---
 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

  reply	other threads:[~2013-10-15  6:27 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-10-15  6:29 [Qemu-devel] [PULL v2 00/39] pci, pc, acpi fixes, enhancements Michael S. Tsirkin
2013-10-15  6:30 ` Michael S. Tsirkin [this message]
2013-10-15  6:30 ` [Qemu-devel] [PULL v2 02/39] docs/memory: Explictly state that MemoryRegion priority is signed Michael S. Tsirkin
2013-10-15  6:30 ` [Qemu-devel] [PULL v2 03/39] hw/pci: partially handle pci master abort Michael S. Tsirkin
2013-10-15  6:30 ` [Qemu-devel] [PULL v2 04/39] hw/core: Add interface to allocate and free a single IRQ Michael S. Tsirkin
2013-10-15  6:30 ` [Qemu-devel] [PULL v2 05/39] hw/pci: add pci wrappers for allocating and asserting irqs Michael S. Tsirkin
2013-10-15  6:30 ` [Qemu-devel] [PULL v2 06/39] hw/pci-bridge: set PCI_INTERRUPT_PIN register before shpc init Michael S. Tsirkin
2013-10-15  6:30 ` [Qemu-devel] [PULL v2 07/39] hw/vmxnet3: set interrupts using pci irq wrappers Michael S. Tsirkin
2013-10-15  6:30 ` [Qemu-devel] [PULL v2 08/39] hw/vfio: " Michael S. Tsirkin
2013-10-15  6:30 ` [Qemu-devel] [PULL v2 09/39] hw: " Michael S. Tsirkin
2013-10-15  6:30 ` [Qemu-devel] [PULL v2 10/39] hw/pcie: AER and hot-plug events must use device's interrupt Michael S. Tsirkin
2013-10-15  6:30 ` [Qemu-devel] [PULL v2 11/39] hw/pci: removed irq field from PCIDevice Michael S. Tsirkin
2013-10-15  6:30 ` [Qemu-devel] [PULL v2 12/39] cleanup object.h: include error.h directly Michael S. Tsirkin
2013-10-15  6:30 ` [Qemu-devel] [PULL v2 13/39] qom: cleanup struct Error references Michael S. Tsirkin
2013-10-15  6:30 ` [Qemu-devel] [PULL v2 14/39] qom: add pointer to int property helpers Michael S. Tsirkin
2013-10-15  6:31 ` [Qemu-devel] [PULL v2 15/39] pci: fix up w64 size calculation helper Michael S. Tsirkin
2013-10-15  6:31 ` [Qemu-devel] [PULL v2 16/39] fw_cfg: interface to trigger callback on read Michael S. Tsirkin
2013-10-15  6:31 ` [Qemu-devel] [PULL v2 17/39] loader: support for unmapped ROM blobs Michael S. Tsirkin
2013-10-15  6:31 ` [Qemu-devel] [PULL v2 18/39] pcie_host: expose UNMAPPED macro Michael S. Tsirkin
2013-10-15  6:31 ` [Qemu-devel] [PULL v2 19/39] pcie_host: expose address format Michael S. Tsirkin
2013-10-15  6:31 ` [Qemu-devel] [PULL v2 20/39] q35: use macro for MCFG property name Michael S. Tsirkin
2013-10-15  6:31 ` [Qemu-devel] [PULL v2 21/39] q35: expose mmcfg size as a property Michael S. Tsirkin
2013-10-15  6:31 ` [Qemu-devel] [PULL v2 22/39] i386: add ACPI table files from seabios Michael S. Tsirkin
2013-10-15  6:31 ` [Qemu-devel] [PULL v2 23/39] acpi: add rules to compile ASL source Michael S. Tsirkin
2013-10-15  6:31 ` [Qemu-devel] [PULL v2 24/39] acpi: pre-compiled ASL files Michael S. Tsirkin
2013-10-15  6:31 ` [Qemu-devel] [PULL v2 25/39] acpi: ssdt pcihp: updat generated file Michael S. Tsirkin
2013-10-15  6:31 ` [Qemu-devel] [PULL v2 26/39] loader: use file path size from fw_cfg.h Michael S. Tsirkin
2013-10-15  6:31 ` [Qemu-devel] [PULL v2 27/39] i386: add bios linker/loader Michael S. Tsirkin
2013-10-15  6:32 ` [Qemu-devel] [PULL v2 28/39] loader: allow adding ROMs in done callbacks Michael S. Tsirkin
2013-10-15  6:32 ` [Qemu-devel] [PULL v2 29/39] i386: define pc guest info Michael S. Tsirkin
2013-10-15  6:32 ` [Qemu-devel] [PULL v2 30/39] acpi/piix: add macros for acpi property names Michael S. Tsirkin
2013-10-15  6:32 ` [Qemu-devel] [PULL v2 31/39] piix: APIs for pc guest info Michael S. Tsirkin
2013-10-15  6:32 ` [Qemu-devel] [PULL v2 32/39] ich9: " Michael S. Tsirkin
2013-10-15  6:32 ` [Qemu-devel] [PULL v2 33/39] pvpanic: add API to access io port Michael S. Tsirkin
2013-10-15  6:32 ` [Qemu-devel] [PULL v2 34/39] hpet: add API to find it Michael S. Tsirkin
2013-10-15  6:32 ` [Qemu-devel] [PULL v2 35/39] acpi: add interface to access user-installed tables Michael S. Tsirkin
2013-10-15  6:33 ` [Qemu-devel] [PULL v2 36/39] pc: use new api to add builtin tables Michael S. Tsirkin
2013-10-15  6:33 ` [Qemu-devel] [PULL v2 37/39] i386: ACPI table generation code from seabios Michael S. Tsirkin
2013-10-15  6:33 ` [Qemu-devel] [PULL v2 38/39] ssdt: fix PBLK length Michael S. Tsirkin
2013-10-15  6:33 ` [Qemu-devel] [PULL v2 39/39] ssdt-proc: update generated file Michael S. Tsirkin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1381818560-18367-2-git-send-email-mst@redhat.com \
    --to=mst@redhat.com \
    --cc=anthony@codemonkey.ws \
    --cc=imammedo@redhat.com \
    --cc=kraxel@redhat.com \
    --cc=marcel.a@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).