qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 9da822: ide: fix DMA register transitions


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 9da822: ide: fix DMA register transitions
Date: Thu, 29 Sep 2016 17:30:05 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 9da82227caa74fb6fbea224dad91fe5b7cc115a5
      
https://github.com/qemu/qemu/commit/9da82227caa74fb6fbea224dad91fe5b7cc115a5
  Author: John Snow <address@hidden>
  Date:   2016-09-29 (Thu, 29 Sep 2016)

  Changed paths:
    M hw/ide/core.c

  Log Message:
  -----------
  ide: fix DMA register transitions

ATA8-APT defines the state transitions for both a host controller and
for the hardware device during the lifecycle of a DMA transfer, in
section 9.7 "DMA command protocol."

One of the interesting tidbits here is that when a device transitions
from DDMA0 ("Prepare state") to DDMA1 ("Data_Transfer State"), it can
choose to set either BSY or DRQ to signal this transition, but not both.

as ide_sector_dma_start is the last point in our preparation process
before we begin the real data transfer process (for either AHCI or BMDMA),
this is the correct transition point for DDMA0 to DDMA1.

I have chosen !BSY && DRQ for QEMU to make the transition from DDMA0 the
most obvious.

Reported-by: Benjamin David Lunt <address@hidden>
Signed-off-by: John Snow <address@hidden>
Reviewed-by: Kevin Wolf <address@hidden>
Tested-by: Stefan Weil <address@hidden>
Message-id: address@hidden
Signed-off-by: John Snow <address@hidden>


  Commit: df403bc58859c893ebd0accda07678e84d15dc5d
      
https://github.com/qemu/qemu/commit/df403bc58859c893ebd0accda07678e84d15dc5d
  Author: John Snow <address@hidden>
  Date:   2016-09-29 (Thu, 29 Sep 2016)

  Changed paths:
    M hw/ide/ahci.c

  Log Message:
  -----------
  ahci: clear aiocb in ncq_cb

Similar to existing fixes for IDE (87ac25fd) and ATAPI (7f951b2d), the
AIOCB must be cleared in the callback. Otherwise, we may accidentally
try to reset a dangling pointer in bdrv_aio_cancel() from a port reset.

Signed-off-by: John Snow <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Message-id: address@hidden
Signed-off-by: John Snow <address@hidden>


  Commit: c9f7acd57552b919a7b9b1c381383960307c0ada
      
https://github.com/qemu/qemu/commit/c9f7acd57552b919a7b9b1c381383960307c0ada
  Author: Thomas Huth <address@hidden>
  Date:   2016-09-29 (Thu, 29 Sep 2016)

  Changed paths:
    M MAINTAINERS

  Log Message:
  -----------
  MAINTAINERS: Add some more headers to the IDE section

The folder include/hw/ide/ belongs to the IDE section.

Signed-off-by: Thomas Huth <address@hidden>
Reviewed-by: John Snow <address@hidden>
Message-id: address@hidden
Signed-off-by: John Snow <address@hidden>


  Commit: ca44141d5fb801dd5903102acefd0f2d8e8bb6a1
      
https://github.com/qemu/qemu/commit/ca44141d5fb801dd5903102acefd0f2d8e8bb6a1
  Author: Ashijeet Acharya <address@hidden>
  Date:   2016-09-29 (Thu, 29 Sep 2016)

  Changed paths:
    M hw/ide/core.c
    M hw/ide/qdev.c
    M include/hw/ide/internal.h

  Log Message:
  -----------
  ide: Fix memory leak in ide_register_restart_cb()

Fix a memory leak in ide_register_restart_cb() in hw/ide/core.c and add
idebus_unrealize() in hw/ide/qdev.c to have calls to
qemu_del_vm_change_state_handler() to deal with the dangling change
state handler during hot-unplugging ide devices which might lead to a
crash.

Signed-off-by: Ashijeet Acharya <address@hidden>
Reviewed-by: John Snow <address@hidden>
Message-id: address@hidden
[Minor whitespace fix --js]
Signed-off-by: John Snow <address@hidden>


  Commit: 49540a1f652afd419812bd4d35cc6f45a46a2afe
      
https://github.com/qemu/qemu/commit/49540a1f652afd419812bd4d35cc6f45a46a2afe
  Author: Peter Maydell <address@hidden>
  Date:   2016-09-30 (Fri, 30 Sep 2016)

  Changed paths:
    M MAINTAINERS
    M hw/ide/ahci.c
    M hw/ide/core.c
    M hw/ide/qdev.c
    M include/hw/ide/internal.h

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

# gpg: Signature made Thu 29 Sep 2016 21:13:46 BST
# gpg:                using RSA key 0x7DEF8106AAFC390E
# gpg: Good signature from "John Snow (John Huston) <address@hidden>"
# 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:
  ide: Fix memory leak in ide_register_restart_cb()
  MAINTAINERS: Add some more headers to the IDE section
  ahci: clear aiocb in ncq_cb
  ide: fix DMA register transitions

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


Compare: https://github.com/qemu/qemu/compare/cc9a366d3b16...49540a1f652a

reply via email to

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