[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PULL 03/74] es1370: simplify MemoryRegionOps
From: |
Peter Maydell |
Subject: |
Re: [Qemu-devel] [PULL 03/74] es1370: simplify MemoryRegionOps |
Date: |
Fri, 24 Aug 2018 16:04:03 +0100 |
On 21 August 2018 at 18:01, Paolo Bonzini <address@hidden> wrote:
> Use the automatic subregister extraction from the memory API, and avoid
> that Coverity complains about missing fallthrough comments.
Hi -- Coverity (CID 1395167) points out that these changes are wrong:
> @@ -572,21 +497,19 @@ static void es1370_writel(void *opaque, uint32_t addr,
> uint32_t val)
> print_sctl (val);
> break;
>
> - case ES1370_REG_ADC_SCOUNT:
> - d++;
> - case ES1370_REG_DAC2_SCOUNT:
> - d++;
> case ES1370_REG_DAC1_SCOUNT:
> + case ES1370_REG_DAC2_SCOUNT:
> + case ES1370_REG_ADC_SCOUNT:
> + d += (addr - ES1370_REG_DAC1_SCOUNT) >> 2;
> d->scount = (val & 0xffff) | (d->scount & ~0xffff);
> ldebug ("chan %td CURR_SAMP_CT %d, SAMP_CT %d\n",
> d - &s->chan[0], val >> 16, (val & 0xffff));
> break;
>
> - case ES1370_REG_ADC_FRAMEADR:
> - d++;
> - case ES1370_REG_DAC2_FRAMEADR:
> - d++;
> case ES1370_REG_DAC1_FRAMEADR:
> + case ES1370_REG_DAC2_FRAMEADR:
> + case ES1370_REG_ADC_FRAMEADR:
> + d += (addr - ES1370_REG_DAC1_FRAMEADR) >> 3;
because these values aren't contiguous:
#define ES1370_REG_DAC1_FRAMEADR 0xc30
#define ES1370_REG_DAC2_FRAMEADR 0xc38
#define ES1370_REG_ADC_FRAMEADR 0xd30
so you can't calculate the value of 'd' from the addr
this way.
(Similarly for the SCOUNT registers.)
thanks
-- PMM
- [Qemu-devel] [PULL 00/74] Misc patches for 2018-08-21, Paolo Bonzini, 2018/08/21
- [Qemu-devel] [PULL 03/74] es1370: simplify MemoryRegionOps, Paolo Bonzini, 2018/08/21
- Re: [Qemu-devel] [PULL 03/74] es1370: simplify MemoryRegionOps,
Peter Maydell <=
- [Qemu-devel] [PULL 10/74] tests/migration-test: Silence the kvm_hv message by default, Paolo Bonzini, 2018/08/21
- [Qemu-devel] [PULL 04/74] fix "Missing break in switch" coverity reports, Paolo Bonzini, 2018/08/21
- [Qemu-devel] [PULL 06/74] qemu-pr-helper: Fix build on CentOS 7, Paolo Bonzini, 2018/08/21
- [Qemu-devel] [PULL 02/74] scsi: mptsas: Mark as storage device, Paolo Bonzini, 2018/08/21
- [Qemu-devel] [PULL 05/74] checkpatch: fix filename detection when using -f, Paolo Bonzini, 2018/08/21
- [Qemu-devel] [PULL 01/74] tests: virtio: separate ccw tests from libqos, Paolo Bonzini, 2018/08/21
- [Qemu-devel] [PULL 09/74] MAINTAINERS: add maintainers for qtest, Paolo Bonzini, 2018/08/21
- [Qemu-devel] [PULL 11/74] net: Silence 'has no peer' messages in testing mode, Paolo Bonzini, 2018/08/21