qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 9e58f1: fdc/i8257: implement verify transfer


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] 9e58f1: fdc/i8257: implement verify transfer mode
Date: Sat, 28 Mar 2020 02:45:15 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 9e58f172700a3fc56fd6c97d033efa8ade51c9ce
      
https://github.com/qemu/qemu/commit/9e58f172700a3fc56fd6c97d033efa8ade51c9ce
  Author: Sven Schnelle <address@hidden>
  Date:   2020-03-27 (Fri, 27 Mar 2020)

  Changed paths:
    M hw/block/fdc.c
    M hw/dma/i8257.c
    M include/hw/isa/isa.h

  Log Message:
  -----------
  fdc/i8257: implement verify transfer mode

While working on the Tulip driver i tried to write some Teledisk images to
a floppy image which didn't work. Turned out that Teledisk checks the written
data by issuing a READ command to the FDC but running the DMA controller
in VERIFY mode. As we ignored the DMA request in that case, the DMA transfer
never finished, and Teledisk reported an error.

The i8257 spec says about verify transfers:

3) DMA verify, which does not actually involve the transfer of data. When an
8257 channel is in the DMA verify mode, it will respond the same as described
for transfer operations, except that no memory or I/O read/write control signals
will be generated.

Hervé proposed to remove all the dma_mode_ok stuff from fdc to have a more
clear boundary between DMA and FDC, so this patch also does that.

Suggested-by: Hervé Poussineau <address@hidden>
Signed-off-by: Sven Schnelle <address@hidden>
Reviewed-by: Hervé Poussineau <address@hidden>


  Commit: d6ef883d9d79f0f2f84df4c5e4d0d6c5eda79237
      
https://github.com/qemu/qemu/commit/d6ef883d9d79f0f2f84df4c5e4d0d6c5eda79237
  Author: Peter Maydell <address@hidden>
  Date:   2020-03-27 (Fri, 27 Mar 2020)

  Changed paths:
    M hw/ide/sii3112.c

  Log Message:
  -----------
  hw/ide/sii3112: Use qdev gpio rather than qemu_allocate_irqs()

Coverity points out (CID 1421984) that we are leaking the
memory returned by qemu_allocate_irqs(). We can avoid this
leak by switching to using qdev_init_gpio_in(); the base
class finalize will free the irqs that this allocates under
the hood.

Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: John Snow <address@hidden>
Tested-by: BALATON Zoltan <address@hidden>
Message-id: address@hidden
[Maintainer edit: replace `DEVICE(dev)` by `ds` --js]
Signed-off-by: John Snow <address@hidden>


  Commit: b93858756982ec76a36d4140765efad5ce0fbd5f
      
https://github.com/qemu/qemu/commit/b93858756982ec76a36d4140765efad5ce0fbd5f
  Author: Mark Cave-Ayland <address@hidden>
  Date:   2020-03-27 (Fri, 27 Mar 2020)

  Changed paths:
    M hw/ide/via.c

  Log Message:
  -----------
  via-ide: don't use PCI level for legacy IRQs

The PCI level calculation was accidentally left in when rebasing from a
previous patchset. Since both IRQs are driven separately, the value
being passed into the IRQ handler should be used directly.

Signed-off-by: Mark Cave-Ayland <address@hidden>
Message-id: address@hidden
Signed-off-by: John Snow <address@hidden>


  Commit: 627a445ae0f0942a4cb95097204c7879722ce263
      
https://github.com/qemu/qemu/commit/627a445ae0f0942a4cb95097204c7879722ce263
  Author: Mark Cave-Ayland <address@hidden>
  Date:   2020-03-27 (Fri, 27 Mar 2020)

  Changed paths:
    M hw/ide/via.c

  Log Message:
  -----------
  via-ide: use qdev gpio rather than qemu_allocate_irqs()

This prevents the memory from qemu_allocate_irqs() from being leaked which
can in some cases be spotted by Coverity (CID 1421984).

Signed-off-by: Mark Cave-Ayland <address@hidden>
Message-id: address@hidden
Signed-off-by: John Snow <address@hidden>


  Commit: cbf4c9ac9c000f7caf1bfee031041b62d2b000c8
      
https://github.com/qemu/qemu/commit/cbf4c9ac9c000f7caf1bfee031041b62d2b000c8
  Author: Mark Cave-Ayland <address@hidden>
  Date:   2020-03-27 (Fri, 27 Mar 2020)

  Changed paths:
    M hw/ide/cmd646.c

  Log Message:
  -----------
  cmd646-ide: use qdev gpio rather than qemu_allocate_irqs()

This prevents the memory from qemu_allocate_irqs() from being leaked which
can in some cases be spotted by Coverity (CID 1421984).

Signed-off-by: Mark Cave-Ayland <address@hidden>
Message-id: address@hidden
Signed-off-by: John Snow <address@hidden>


  Commit: 5acad5bf480321f178866dc28e38eeda5a3f19bb
      
https://github.com/qemu/qemu/commit/5acad5bf480321f178866dc28e38eeda5a3f19bb
  Author: Peter Maydell <address@hidden>
  Date:   2020-03-28 (Sat, 28 Mar 2020)

  Changed paths:
    M hw/block/fdc.c
    M hw/dma/i8257.c
    M hw/ide/cmd646.c
    M hw/ide/sii3112.c
    M hw/ide/via.c
    M include/hw/isa/isa.h

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/jnsnow/tags/ide-pull-request' into 
staging

Pull request

# gpg: Signature made Fri 27 Mar 2020 20:14:10 GMT
# gpg:                using RSA key F9B7ABDBBCACDF95BE76CBD07DEF8106AAFC390E
# gpg: Good signature from "John Snow (John Huston) <address@hidden>" [full]
# Primary key fingerprint: FAEB 9711 A12C F475 812F  18F2 88A9 064D 1835 61EB
#      Subkey fingerprint: F9B7 ABDB BCAC DF95 BE76  CBD0 7DEF 8106 AAFC 390E

* remotes/jnsnow/tags/ide-pull-request:
  cmd646-ide: use qdev gpio rather than qemu_allocate_irqs()
  via-ide: use qdev gpio rather than qemu_allocate_irqs()
  via-ide: don't use PCI level for legacy IRQs
  hw/ide/sii3112: Use qdev gpio rather than qemu_allocate_irqs()
  fdc/i8257: implement verify transfer mode

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/127fe8643340...5acad5bf4803



reply via email to

[Prev in Thread] Current Thread [Next in Thread]