summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--MAINTAINERS10
-rw-r--r--hw/i386/multiboot.c8
-rw-r--r--hw/ppc/e500.c4
-rw-r--r--hw/ppc/sam460ex.c8
-rw-r--r--hw/riscv/sifive_e.c2
-rw-r--r--hw/riscv/sifive_u.c2
-rw-r--r--hw/riscv/spike.c2
-rw-r--r--hw/riscv/virt.c4
-rw-r--r--hw/vfio/ccw.c18
-rw-r--r--include/qemu/error-report.h35
-rw-r--r--util/qemu-error.c40
11 files changed, 77 insertions, 56 deletions
diff --git a/MAINTAINERS b/MAINTAINERS
index aa1dd76dc2..c8480e8640 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -889,12 +889,11 @@ Sun4m
 M: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
 S: Maintained
 F: hw/sparc/sun4m.c
+F: hw/sparc/sun4m_iommu.c
 F: hw/dma/sparc32_dma.c
-F: hw/dma/sun4m_iommu.c
 F: hw/misc/eccmemctl.c
 F: hw/misc/slavio_misc.c
 F: include/hw/sparc/sparc32_dma.h
-F: include/hw/sparc/sun4m.h
 F: pc-bios/openbios-sparc32
 
 Sun4u
@@ -1422,7 +1421,7 @@ F: qemu-io*
 F: tests/qemu-iotests/
 F: util/qemu-progress.c
 F: qobject/block-qdict.c
-F: test/check-block-qdict.c
+F: tests/check-block-qdict.c
 T: git git://repo.or.cz/qemu/kevin.git block
 
 Block I/O path
@@ -1455,7 +1454,7 @@ F: blockjob.c
 F: include/block/blockjob.h
 F: job.c
 F: job-qmp.c
-F: include/block/job.h
+F: include/qemu/job.h
 F: block/backup.c
 F: block/commit.c
 F: block/stream.c
@@ -1671,7 +1670,6 @@ QAPI Schema
 M: Eric Blake <eblake@redhat.com>
 M: Markus Armbruster <armbru@redhat.com>
 S: Supported
-F: qapi-schema.json
 F: qapi/*.json
 T: git git://repo.or.cz/qemu/armbru.git qapi-next
 
@@ -1790,7 +1788,7 @@ F: migration/
 F: scripts/vmstate-static-checker.py
 F: tests/vmstate-static-checker-data/
 F: tests/migration-test.c
-F: docs/devel/migration.txt
+F: docs/devel/migration.rst
 F: qapi/migration.json
 
 Seccomp
diff --git a/hw/i386/multiboot.c b/hw/i386/multiboot.c
index d519e206c5..1a4344f5fc 100644
--- a/hw/i386/multiboot.c
+++ b/hw/i386/multiboot.c
@@ -181,12 +181,12 @@ int load_multiboot(FWCfgState *fw_cfg,
     if (!is_multiboot)
         return 0; /* no multiboot */
 
-    mb_debug("qemu: I believe we found a multiboot image!");
+    mb_debug("I believe we found a multiboot image!");
     memset(bootinfo, 0, sizeof(bootinfo));
     memset(&mbs, 0, sizeof(mbs));
 
     if (flags & 0x00000004) { /* MULTIBOOT_HEADER_HAS_VBE */
-        error_report("qemu: multiboot knows VBE. we don't.");
+        error_report("multiboot knows VBE. we don't");
     }
     if (!(flags & 0x00010000)) { /* MULTIBOOT_HEADER_HAS_ADDR */
         uint64_t elf_entry;
@@ -216,7 +216,7 @@ int load_multiboot(FWCfgState *fw_cfg,
             exit(1);
         }
 
-        mb_debug("qemu: loading multiboot-elf kernel "
+        mb_debug("loading multiboot-elf kernel "
                  "(%#x bytes) with entry %#zx",
                  mb_kernel_size, (size_t)mh_entry_addr);
     } else {
@@ -270,7 +270,7 @@ int load_multiboot(FWCfgState *fw_cfg,
         mb_debug("multiboot: load_addr = %#x", mh_load_addr);
         mb_debug("multiboot: load_end_addr = %#x", mh_load_end_addr);
         mb_debug("multiboot: bss_end_addr = %#x", mh_bss_end_addr);
-        mb_debug("qemu: loading multiboot kernel (%#x bytes) at %#x",
+        mb_debug("loading multiboot kernel (%#x bytes) at %#x",
                  mb_load_size, mh_load_addr);
 
         mbs.mb_buf = g_malloc(mb_kernel_size);
diff --git a/hw/ppc/e500.c b/hw/ppc/e500.c
index 7d19b1498c..e6747fce28 100644
--- a/hw/ppc/e500.c
+++ b/hw/ppc/e500.c
@@ -1000,7 +1000,7 @@ void ppce500_init(MachineState *machine)
         payload_size = load_uimage(filename, &bios_entry, &loadaddr, NULL,
                                    NULL, NULL);
         if (payload_size < 0) {
-            error_report("qemu: could not load firmware '%s'", filename);
+            error_report("could not load firmware '%s'", filename);
             exit(1);
         }
     }
@@ -1056,7 +1056,7 @@ void ppce500_init(MachineState *machine)
      */
     dt_base = (loadaddr + payload_size + DTC_LOAD_PAD) & ~DTC_PAD_MASK;
     if (dt_base + DTB_MAX_SIZE > ram_size) {
-            error_report("qemu: not enough memory for device tree");
+            error_report("not enough memory for device tree");
             exit(1);
     }
 
diff --git a/hw/ppc/sam460ex.c b/hw/ppc/sam460ex.c
index 250fb86795..5aac58f36e 100644
--- a/hw/ppc/sam460ex.c
+++ b/hw/ppc/sam460ex.c
@@ -234,7 +234,7 @@ static int sam460ex_load_uboot(void)
     if (!pflash_cfi01_register(base, NULL, "sam460ex.flash", bios_size,
                                blk, 64 * KiB, fl_sectors,
                                1, 0x89, 0x18, 0x0000, 0x0, 1)) {
-        error_report("qemu: Error registering flash memory.");
+        error_report("Error registering flash memory");
         /* XXX: return an error instead? */
         exit(1);
     }
@@ -545,7 +545,7 @@ static void sam460ex_init(MachineState *machine)
     if (!machine->kernel_filename) {
         success = sam460ex_load_uboot();
         if (success < 0) {
-            error_report("qemu: could not load firmware");
+            error_report("could not load firmware");
             exit(1);
         }
     }
@@ -564,7 +564,7 @@ static void sam460ex_init(MachineState *machine)
         }
         /* XXX try again as binary */
         if (success < 0) {
-            error_report("qemu: could not load kernel '%s'",
+            error_report("could not load kernel '%s'",
                     machine->kernel_filename);
             exit(1);
         }
@@ -576,7 +576,7 @@ static void sam460ex_init(MachineState *machine)
                                           RAMDISK_ADDR,
                                           machine->ram_size - RAMDISK_ADDR);
         if (initrd_size < 0) {
-            error_report("qemu: could not load ram disk '%s' at %x",
+            error_report("could not load ram disk '%s' at %x",
                     machine->initrd_filename, RAMDISK_ADDR);
             exit(1);
         }
diff --git a/hw/riscv/sifive_e.c b/hw/riscv/sifive_e.c
index 4577d72037..cb513cc3bb 100644
--- a/hw/riscv/sifive_e.c
+++ b/hw/riscv/sifive_e.c
@@ -81,7 +81,7 @@ static uint64_t load_kernel(const char *kernel_filename)
     if (load_elf(kernel_filename, NULL, NULL,
                  &kernel_entry, NULL, &kernel_high,
                  0, EM_RISCV, 1, 0) < 0) {
-        error_report("qemu: could not load kernel '%s'", kernel_filename);
+        error_report("could not load kernel '%s'", kernel_filename);
         exit(1);
     }
     return kernel_entry;
diff --git a/hw/riscv/sifive_u.c b/hw/riscv/sifive_u.c
index 59ae1ce24a..862f8ff5f7 100644
--- a/hw/riscv/sifive_u.c
+++ b/hw/riscv/sifive_u.c
@@ -72,7 +72,7 @@ static uint64_t load_kernel(const char *kernel_filename)
     if (load_elf(kernel_filename, NULL, NULL,
                  &kernel_entry, NULL, &kernel_high,
                  0, EM_RISCV, 1, 0) < 0) {
-        error_report("qemu: could not load kernel '%s'", kernel_filename);
+        error_report("could not load kernel '%s'", kernel_filename);
         exit(1);
     }
     return kernel_entry;
diff --git a/hw/riscv/spike.c b/hw/riscv/spike.c
index eb857c434e..be5ef85e81 100644
--- a/hw/riscv/spike.c
+++ b/hw/riscv/spike.c
@@ -60,7 +60,7 @@ static uint64_t load_kernel(const char *kernel_filename)
     if (load_elf_ram_sym(kernel_filename, NULL, NULL,
             &kernel_entry, NULL, &kernel_high, 0, EM_RISCV, 1, 0,
             NULL, true, htif_symbol_callback) < 0) {
-        error_report("qemu: could not load kernel '%s'", kernel_filename);
+        error_report("could not load kernel '%s'", kernel_filename);
         exit(1);
     }
     return kernel_entry;
diff --git a/hw/riscv/virt.c b/hw/riscv/virt.c
index e8ba4d192d..005169eabc 100644
--- a/hw/riscv/virt.c
+++ b/hw/riscv/virt.c
@@ -64,7 +64,7 @@ static uint64_t load_kernel(const char *kernel_filename)
     if (load_elf(kernel_filename, NULL, NULL,
                  &kernel_entry, NULL, &kernel_high,
                  0, EM_RISCV, 1, 0) < 0) {
-        error_report("qemu: could not load kernel '%s'", kernel_filename);
+        error_report("could not load kernel '%s'", kernel_filename);
         exit(1);
     }
     return kernel_entry;
@@ -91,7 +91,7 @@ static hwaddr load_initrd(const char *filename, uint64_t mem_size,
     if (size == -1) {
         size = load_image_targphys(filename, *start, mem_size - *start);
         if (size == -1) {
-            error_report("qemu: could not load ramdisk '%s'", filename);
+            error_report("could not load ramdisk '%s'", filename);
             exit(1);
         }
     }
diff --git a/hw/vfio/ccw.c b/hw/vfio/ccw.c
index e96bbdc78b..9246729a75 100644
--- a/hw/vfio/ccw.c
+++ b/hw/vfio/ccw.c
@@ -37,24 +37,12 @@ typedef struct VFIOCCWDevice {
     bool warned_orb_pfch;
 } VFIOCCWDevice;
 
-static inline void warn_once(bool *warned, const char *fmt, ...)
-{
-    va_list ap;
-
-    if (!warned || *warned) {
-        return;
-    }
-    *warned = true;
-    va_start(ap, fmt);
-    warn_vreport(fmt, ap);
-    va_end(ap);
-}
-
 static inline void warn_once_pfch(VFIOCCWDevice *vcdev, SubchDev *sch,
                                   const char *msg)
 {
-    warn_once(&vcdev->warned_orb_pfch, "vfio-ccw (devno %x.%x.%04x): %s",
-              sch->cssid, sch->ssid, sch->devno, msg);
+    warn_report_once_cond(&vcdev->warned_orb_pfch,
+                          "vfio-ccw (devno %x.%x.%04x): %s",
+                          sch->cssid, sch->ssid, sch->devno, msg);
 }
 
 static void vfio_ccw_compute_needs_reset(VFIODevice *vdev)
diff --git a/include/qemu/error-report.h b/include/qemu/error-report.h
index 72fab2b031..0a8d9cc9ea 100644
--- a/include/qemu/error-report.h
+++ b/include/qemu/error-report.h
@@ -44,36 +44,31 @@ void error_report(const char *fmt, ...) GCC_FMT_ATTR(1, 2);
 void warn_report(const char *fmt, ...) GCC_FMT_ATTR(1, 2);
 void info_report(const char *fmt, ...) GCC_FMT_ATTR(1, 2);
 
+bool error_report_once_cond(bool *printed, const char *fmt, ...)
+    GCC_FMT_ATTR(2, 3);
+bool warn_report_once_cond(bool *printed, const char *fmt, ...)
+    GCC_FMT_ATTR(2, 3);
+
 /*
  * Similar to error_report(), except it prints the message just once.
  * Return true when it prints, false otherwise.
  */
-#define error_report_once(fmt, ...)             \
-    ({                                          \
-        static bool print_once_;                \
-        bool ret_print_once_ = !print_once_;    \
-                                                \
-        if (!print_once_) {                     \
-            print_once_ = true;                 \
-            error_report(fmt, ##__VA_ARGS__);   \
-        }                                       \
-        unlikely(ret_print_once_);              \
+#define error_report_once(fmt, ...)                     \
+    ({                                                  \
+        static bool print_once_;                        \
+        error_report_once_cond(&print_once_,            \
+                               fmt, ##__VA_ARGS__);     \
     })
 
 /*
  * Similar to warn_report(), except it prints the message just once.
  * Return true when it prints, false otherwise.
  */
-#define warn_report_once(fmt, ...)              \
-    ({                                          \
-        static bool print_once_;                \
-        bool ret_print_once_ = !print_once_;    \
-                                                \
-        if (!print_once_) {                     \
-            print_once_ = true;                 \
-            warn_report(fmt, ##__VA_ARGS__);    \
-        }                                       \
-        unlikely(ret_print_once_);              \
+#define warn_report_once(fmt, ...)                      \
+    ({                                                  \
+        static bool print_once_;                        \
+        warn_report_once_cond(&print_once_,             \
+                              fmt, ##__VA_ARGS__);      \
     })
 
 const char *error_get_progname(void);
diff --git a/util/qemu-error.c b/util/qemu-error.c
index a25d3b94c6..4ab428f7e4 100644
--- a/util/qemu-error.c
+++ b/util/qemu-error.c
@@ -310,3 +310,43 @@ void info_report(const char *fmt, ...)
     vreport(REPORT_TYPE_INFO, fmt, ap);
     va_end(ap);
 }
+
+/*
+ * Like error_report(), except print just once.
+ * If *printed is false, print the message, and flip *printed to true.
+ * Return whether the message was printed.
+ */
+bool error_report_once_cond(bool *printed, const char *fmt, ...)
+{
+    va_list ap;
+
+    assert(printed);
+    if (*printed) {
+        return false;
+    }
+    *printed = true;
+    va_start(ap, fmt);
+    vreport(REPORT_TYPE_ERROR, fmt, ap);
+    va_end(ap);
+    return true;
+}
+
+/*
+ * Like warn_report(), except print just once.
+ * If *printed is false, print the message, and flip *printed to true.
+ * Return whether the message was printed.
+ */
+bool warn_report_once_cond(bool *printed, const char *fmt, ...)
+{
+    va_list ap;
+
+    assert(printed);
+    if (*printed) {
+        return false;
+    }
+    *printed = true;
+    va_start(ap, fmt);
+    vreport(REPORT_TYPE_WARNING, fmt, ap);
+    va_end(ap);
+    return true;
+}