qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Paolo Bonzini <pbonzini@redhat.com>
To: qemu-devel@nongnu.org
Subject: [Qemu-devel] [PULL 04/74] fix "Missing break in switch" coverity reports
Date: Tue, 21 Aug 2018 19:01:36 +0200	[thread overview]
Message-ID: <1534870966-9287-5-git-send-email-pbonzini@redhat.com> (raw)
In-Reply-To: <1534870966-9287-1-git-send-email-pbonzini@redhat.com>

Many of these are marked as "intentional/fix required" because they
just need adding a fall through comment.  This is exactly what this
patch does, except for target/mips/translate.c where it is easier to
duplicate the code, and hw/audio/sb16.c where I consulted the DOSBox
sources and decide to just remove the LOG_UNIMP before the fallthrough.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 disas/m68k.c            |  1 +
 hw/arm/pxa2xx.c         |  2 +-
 hw/audio/cs4231a.c      |  1 +
 hw/audio/gusemu_hal.c   |  1 +
 hw/audio/sb16.c         | 11 ++++++++---
 hw/display/cg3.c        |  1 +
 hw/display/cirrus_vga.c |  3 ++-
 hw/timer/sh_timer.c     |  1 +
 target/arm/helper.c     |  1 +
 target/i386/translate.c |  2 ++
 10 files changed, 19 insertions(+), 5 deletions(-)

diff --git a/disas/m68k.c b/disas/m68k.c
index a687df4..0dc8aa1 100644
--- a/disas/m68k.c
+++ b/disas/m68k.c
@@ -1623,6 +1623,7 @@ print_insn_arg (const char *d,
 
     case 'X':
       place = '8';
+      /* fall through */
     case 'Y':
     case 'Z':
     case 'W':
diff --git a/hw/arm/pxa2xx.c b/hw/arm/pxa2xx.c
index b67b0ce..f598a1c 100644
--- a/hw/arm/pxa2xx.c
+++ b/hw/arm/pxa2xx.c
@@ -409,7 +409,7 @@ static uint64_t pxa2xx_mm_read(void *opaque, hwaddr addr,
     case MDCNFG ... SA1110:
         if ((addr & 3) == 0)
             return s->mm_regs[addr >> 2];
-
+        /* fall through */
     default:
         printf("%s: Bad register " REG_FMT "\n", __func__, addr);
         break;
diff --git a/hw/audio/cs4231a.c b/hw/audio/cs4231a.c
index aaebec1..9089dcb 100644
--- a/hw/audio/cs4231a.c
+++ b/hw/audio/cs4231a.c
@@ -305,6 +305,7 @@ static void cs_reset_voices (CSState *s, uint32_t val)
 
     case 6:
         as.endianness = 1;
+        /* fall through */
     case 2:
         as.fmt = AUD_FMT_S16;
         s->shift = as.nchannels;
diff --git a/hw/audio/gusemu_hal.c b/hw/audio/gusemu_hal.c
index 1150fc4..ae40ca3 100644
--- a/hw/audio/gusemu_hal.c
+++ b/hw/audio/gusemu_hal.c
@@ -261,6 +261,7 @@ void gus_write(GUSEmuState * state, int port, int size, unsigned int data)
             GUSregb(IRQStatReg2x6) = 0x10;
             GUS_irqrequest(state, state->gusirq, 1);
         }
+        /* fall through */
     case 0x20D:                /* SB2xCd no IRQ */
         GUSregb(SB2xCd) = (uint8_t) data;
         break;
diff --git a/hw/audio/sb16.c b/hw/audio/sb16.c
index 5a4d323..c5b9bf7 100644
--- a/hw/audio/sb16.c
+++ b/hw/audio/sb16.c
@@ -741,10 +741,15 @@ static void complete (SB16State *s)
             ldebug ("set time const %d\n", s->time_const);
             break;
 
-        case 0x42:              /* FT2 sets output freq with this, go figure */
-            qemu_log_mask(LOG_UNIMP, "cmd 0x42 might not do what it think it"
-                          " should\n");
         case 0x41:
+        case 0x42:
+            /*
+             * 0x41 is documented as setting the output sample rate,
+             * and 0x42 the input sample rate, but in fact SB16 hardware
+             * seems to have only a single sample rate under the hood,
+             * and FT2 sets output freq with this (go figure).  Compare:
+             * http://homepages.cae.wisc.edu/~brodskye/sb16doc/sb16doc.html#SamplingRate
+             */
             s->freq = dsp_get_hilo (s);
             ldebug ("set freq %d\n", s->freq);
             break;
diff --git a/hw/display/cg3.c b/hw/display/cg3.c
index 6fff485..1c199ab 100644
--- a/hw/display/cg3.c
+++ b/hw/display/cg3.c
@@ -232,6 +232,7 @@ static void cg3_reg_write(void *opaque, hwaddr addr, uint64_t val,
                 s->b[s->dac_index] = regval;
                 /* Index autoincrement */
                 s->dac_index = (s->dac_index + 1) & 0xff;
+                /* fall through */
             default:
                 s->dac_state = 0;
                 break;
diff --git a/hw/display/cirrus_vga.c b/hw/display/cirrus_vga.c
index 7583b18..04c87c8 100644
--- a/hw/display/cirrus_vga.c
+++ b/hw/display/cirrus_vga.c
@@ -1426,7 +1426,8 @@ static void cirrus_vga_write_sr(CirrusVGAState * s, uint32_t val)
         s->vga.hw_cursor_y = (val << 3) | (s->vga.sr_index >> 5);
 	break;
     case 0x07:			// Extended Sequencer Mode
-    cirrus_update_memory_access(s);
+        cirrus_update_memory_access(s);
+        /* fall through */
     case 0x08:			// EEPROM Control
     case 0x09:			// Scratch Register 0
     case 0x0a:			// Scratch Register 1
diff --git a/hw/timer/sh_timer.c b/hw/timer/sh_timer.c
index 5f8736c..91b18ba 100644
--- a/hw/timer/sh_timer.c
+++ b/hw/timer/sh_timer.c
@@ -74,6 +74,7 @@ static uint32_t sh_timer_read(void *opaque, hwaddr offset)
     case OFFSET_TCPR:
         if (s->feat & TIMER_FEAT_CAPT)
             return s->tcpr;
+        /* fall through */
     default:
         hw_error("sh_timer_read: Bad offset %x\n", (int)offset);
         return 0;
diff --git a/target/arm/helper.c b/target/arm/helper.c
index c9bce1e..1b05480 100644
--- a/target/arm/helper.c
+++ b/target/arm/helper.c
@@ -12331,6 +12331,7 @@ int arm_rmode_to_sf(int rmode)
         /* FIXME: add support for TIEAWAY and ODD */
         qemu_log_mask(LOG_UNIMP, "arm: unimplemented rounding mode: %d\n",
                       rmode);
+        /* fall through for now */
     case FPROUNDING_TIEEVEN:
     default:
         rmode = float_round_nearest_even;
diff --git a/target/i386/translate.c b/target/i386/translate.c
index 07d185e..1f9d1d9 100644
--- a/target/i386/translate.c
+++ b/target/i386/translate.c
@@ -4689,6 +4689,7 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)
     case 0x82:
         if (CODE64(s))
             goto illegal_op;
+        /* fall through */
     case 0x80: /* GRP1 */
     case 0x81:
     case 0x83:
@@ -8292,6 +8293,7 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)
     case 0x10e ... 0x10f:
         /* 3DNow! instructions, ignore prefixes */
         s->prefix &= ~(PREFIX_REPZ | PREFIX_REPNZ | PREFIX_DATA);
+        /* fall through */
     case 0x110 ... 0x117:
     case 0x128 ... 0x12f:
     case 0x138 ... 0x13a:
-- 
1.8.3.1

  parent reply	other threads:[~2018-08-21 17:03 UTC|newest]

Thread overview: 83+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-08-21 17:01 [Qemu-devel] [PULL 00/74] Misc patches for 2018-08-21 Paolo Bonzini
2018-08-21 17:01 ` [Qemu-devel] [PULL 01/74] tests: virtio: separate ccw tests from libqos Paolo Bonzini
2018-08-21 17:01 ` [Qemu-devel] [PULL 02/74] scsi: mptsas: Mark as storage device Paolo Bonzini
2018-08-21 17:01 ` [Qemu-devel] [PULL 03/74] es1370: simplify MemoryRegionOps Paolo Bonzini
2018-08-24 15:04   ` Peter Maydell
2018-08-24 15:15     ` Peter Maydell
2018-08-25  7:48     ` Paolo Bonzini
2018-08-21 17:01 ` Paolo Bonzini [this message]
2018-08-21 17:01 ` [Qemu-devel] [PULL 05/74] checkpatch: fix filename detection when using -f Paolo Bonzini
2018-08-21 17:01 ` [Qemu-devel] [PULL 06/74] qemu-pr-helper: Fix build on CentOS 7 Paolo Bonzini
2018-08-21 17:01 ` [Qemu-devel] [PULL 07/74] chardev/char-fe: Fix typos Paolo Bonzini
2018-08-21 17:01 ` [Qemu-devel] [PULL 08/74] megasas: fix sglist leak Paolo Bonzini
2018-08-21 17:01 ` [Qemu-devel] [PULL 09/74] MAINTAINERS: add maintainers for qtest Paolo Bonzini
2018-08-21 17:01 ` [Qemu-devel] [PULL 10/74] tests/migration-test: Silence the kvm_hv message by default Paolo Bonzini
2018-08-21 17:01 ` [Qemu-devel] [PULL 11/74] net: Silence 'has no peer' messages in testing mode Paolo Bonzini
2018-08-21 17:01 ` [Qemu-devel] [PULL 12/74] hw/timer/mc146818rtc: White space clean-up Paolo Bonzini
2018-08-21 17:01 ` [Qemu-devel] [PULL 13/74] hw/timer/mc146818rtc: Fix introspection problem Paolo Bonzini
2018-08-21 17:01 ` [Qemu-devel] [PULL 14/74] tests: Skip old versioned machine types in quick testing mode Paolo Bonzini
2018-08-21 17:01 ` [Qemu-devel] [PULL 15/74] tests/device-introspection: Check that the qom-tree and qtree do not change Paolo Bonzini
2018-08-21 17:01 ` [Qemu-devel] [PULL 16/74] tests/device-introspect: Test with all machines, not only with "none" Paolo Bonzini
2018-08-21 17:01 ` [Qemu-devel] [PULL 17/74] seqlock: constify seqlock_read_begin Paolo Bonzini
2018-08-21 17:01 ` [Qemu-devel] [PULL 18/74] qsp: QEMU's Synchronization Profiler Paolo Bonzini
2018-08-21 17:01 ` [Qemu-devel] [PULL 19/74] qsp: add sort_by option to qsp_report Paolo Bonzini
2018-08-21 17:01 ` [Qemu-devel] [PULL 20/74] qsp: add qsp_reset Paolo Bonzini
2018-08-21 17:01 ` [Qemu-devel] [PULL 21/74] qsp: support call site coalescing Paolo Bonzini
2018-08-21 17:01 ` [Qemu-devel] [PULL 22/74] qsp: track BQL callers explicitly Paolo Bonzini
2018-08-21 17:01 ` [Qemu-devel] [PULL 23/74] tests/atomic_add-bench: add -p to enable sync profiler Paolo Bonzini
2018-08-21 17:01 ` [Qemu-devel] [PULL 24/74] vl: add -enable-sync-profile Paolo Bonzini
2018-08-21 17:01 ` [Qemu-devel] [PULL 25/74] hmp-commands: add sync-profile Paolo Bonzini
2018-08-21 17:01 ` [Qemu-devel] [PULL 26/74] hmp-commands-info: " Paolo Bonzini
2018-08-21 17:01 ` [Qemu-devel] [PULL 27/74] checkpatch: allow space in more places before a bracket Paolo Bonzini
2018-08-21 18:38   ` Linus Torvalds
2018-08-22  8:56     ` Paolo Bonzini
2018-08-21 17:02 ` [Qemu-devel] [PULL 28/74] update-linux-headers.sh: add qemu_fw_cfg.h Paolo Bonzini
2018-08-21 17:02 ` [Qemu-devel] [PULL 29/74] fw_cfg: import & use linux/qemu_fw_cfg.h Paolo Bonzini
2018-08-21 17:02 ` [Qemu-devel] [PULL 30/74] i386: Fix arch_query_cpu_model_expansion() leak Paolo Bonzini
2018-08-21 17:02 ` [Qemu-devel] [PULL 31/74] lsi_scsi: add support for PPR Extended Message Paolo Bonzini
2018-08-21 17:02 ` [Qemu-devel] [PULL 32/74] kvm: add call to qemu_add_opts() for -overcommit option Paolo Bonzini
2018-08-21 17:02 ` [Qemu-devel] [PULL 33/74] build-sys: remove glib_subprocess check Paolo Bonzini
2018-08-21 17:02 ` [Qemu-devel] [PULL 34/74] target-i386: Fix lcall/ljmp to call gate in IA-32e mode Paolo Bonzini
2018-08-21 17:02 ` [Qemu-devel] [PULL 35/74] target-i386: fix segment limit check in ljmp Paolo Bonzini
2018-08-21 17:02 ` [Qemu-devel] [PULL 36/74] rcu_queue: use atomic_set in QLIST_REMOVE_RCU Paolo Bonzini
2018-08-21 17:02 ` [Qemu-devel] [PULL 37/74] rcu_queue: remove barrier from QLIST_EMPTY_RCU Paolo Bonzini
2018-08-21 17:02 ` [Qemu-devel] [PULL 38/74] rcu_queue: add RCU QSIMPLEQ Paolo Bonzini
2018-08-21 17:02 ` [Qemu-devel] [PULL 39/74] rcu_queue: add RCU QTAILQ Paolo Bonzini
2018-08-21 17:02 ` [Qemu-devel] [PULL 40/74] test-rcu-list: access goflag with atomics Paolo Bonzini
2018-08-21 17:02 ` [Qemu-devel] [PULL 41/74] test-rcu-list: access counters " Paolo Bonzini
2018-08-21 17:02 ` [Qemu-devel] [PULL 42/74] test-rcu-list: abstract the list implementation Paolo Bonzini
2018-08-21 17:02 ` [Qemu-devel] [PULL 43/74] tests: add test-list-simpleq Paolo Bonzini
2018-08-21 17:02 ` [Qemu-devel] [PULL 44/74] tests: add test-rcu-tailq Paolo Bonzini
2018-08-21 17:02 ` [Qemu-devel] [PULL 45/74] spapr: do not use CPU_FOREACH_REVERSE Paolo Bonzini
2018-08-24 15:20   ` Peter Maydell
2018-08-24 20:24     ` Emilio G. Cota
2018-08-21 17:02 ` [Qemu-devel] [PULL 46/74] qom: convert the CPU list to RCU Paolo Bonzini
2018-08-21 17:02 ` [Qemu-devel] [PULL 47/74] hw/intc/apic: Switch away from old_mmio Paolo Bonzini
2018-08-21 17:02 ` [Qemu-devel] [PULL 48/74] qemu-guest-agent: freeze-hook to ignore dpkg files as well Paolo Bonzini
2018-08-21 17:02 ` [Qemu-devel] [PULL 49/74] module: Use QEMU_MODULE_DIR as a search path Paolo Bonzini
2018-08-21 17:02 ` [Qemu-devel] [PULL 50/74] cpus: protect all icount computation with seqlock Paolo Bonzini
2018-08-21 17:02 ` [Qemu-devel] [PULL 51/74] seqlock: add QemuLockable support Paolo Bonzini
2018-08-21 17:02 ` [Qemu-devel] [PULL 52/74] cpus: protect TimerState writes with a spinlock Paolo Bonzini
2018-08-21 17:02 ` [Qemu-devel] [PULL 53/74] cpus: allow cpu_get_ticks out of BQL Paolo Bonzini
2018-08-21 17:02 ` [Qemu-devel] [PULL 54/74] vhost-user-scsi: move host_features into VHostSCSICommon Paolo Bonzini
2018-08-21 17:02 ` [Qemu-devel] [PULL 55/74] vhost-scsi: unify vhost-scsi get_features implementations Paolo Bonzini
2018-08-21 17:02 ` [Qemu-devel] [PULL 56/74] vhost-scsi: expose 't10_pi' property for VIRTIO_SCSI_F_T10_PI Paolo Bonzini
2018-08-21 17:02 ` [Qemu-devel] [PULL 57/74] ipmi: Use proper struct reference for BT vmstate Paolo Bonzini
2018-08-21 17:02 ` [Qemu-devel] [PULL 58/74] pc-dimm: assign and verify the "slot" property during pre_plug Paolo Bonzini
2018-08-21 17:02 ` [Qemu-devel] [PULL 59/74] util/oslib-win32: indicate alignment for qemu_anon_ram_alloc() Paolo Bonzini
2018-08-21 17:02 ` [Qemu-devel] [PULL 60/74] pc: drop memory region alignment check for 0 Paolo Bonzini
2018-08-21 17:02 ` [Qemu-devel] [PULL 61/74] pc-dimm: assign and verify the "addr" property during pre_plug Paolo Bonzini
2018-08-21 17:02 ` [Qemu-devel] [PULL 62/74] i2c: pm_smbus: Clean up some style issues Paolo Bonzini
2018-08-21 17:02 ` [Qemu-devel] [PULL 63/74] i2c: pm_smbus: Fix the semantics of block I2C transfers Paolo Bonzini
2018-08-21 17:02 ` [Qemu-devel] [PULL 64/74] i2c: pm_smbus: Make the I2C block read command read-only Paolo Bonzini
2018-08-21 17:02 ` [Qemu-devel] [PULL 65/74] i2c: pm_smbus: Add block transfer capability Paolo Bonzini
2018-08-21 17:02 ` [Qemu-devel] [PULL 66/74] i2c: pm_smbus: Add interrupt handling Paolo Bonzini
2018-08-21 17:02 ` [Qemu-devel] [PULL 67/74] i2c: pm_smbus: Don't delay host status register busy bit when interrupts are enabled Paolo Bonzini
2018-08-21 17:02 ` [Qemu-devel] [PULL 68/74] i2c: pm_smbus: Add the ability to force block transfer enable Paolo Bonzini
2018-08-21 17:02 ` [Qemu-devel] [PULL 69/74] target/i386: update MPX flags when CPL changes Paolo Bonzini
2018-08-21 17:02 ` [Qemu-devel] [PULL 70/74] KVM: cleanup unnecessary #ifdef KVM_CAP_ Paolo Bonzini
2018-08-21 17:02 ` [Qemu-devel] [PULL 71/74] Revert "chardev: tcp: postpone TLS work until machine done" Paolo Bonzini
2018-08-21 17:02 ` [Qemu-devel] [PULL 72/74] Revert "chardev: tcp: postpone async connection setup" Paolo Bonzini
2018-08-21 17:02 ` [Qemu-devel] [PULL 73/74] char-socket: update all ioc handlers when changing context Paolo Bonzini
2018-08-21 17:02 ` [Qemu-devel] [PULL 74/74] test-char: add socket reconnect test Paolo Bonzini
2018-08-23 11:25 ` [Qemu-devel] [PULL 00/74] Misc patches for 2018-08-21 Peter Maydell

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=1534870966-9287-5-git-send-email-pbonzini@redhat.com \
    --to=pbonzini@redhat.com \
    --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).