qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] dc5a43: ahci: trim signatures on raise/lower


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] dc5a43: ahci: trim signatures on raise/lower
Date: Mon, 11 Jun 2018 04:45:56 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: dc5a43eda68fff32c7b0b43847332db325b094f3
      
https://github.com/qemu/qemu/commit/dc5a43eda68fff32c7b0b43847332db325b094f3
  Author: John Snow <address@hidden>
  Date:   2018-06-08 (Fri, 08 Jun 2018)

  Changed paths:
    M hw/ide/ahci.c

  Log Message:
  -----------
  ahci: trim signatures on raise/lower

These functions work on the AHCI device, not the individual
AHCI devices, so trim the AHCIDevice argument.

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


  Commit: 5694c7eacce6b263ad7497cc1bb76aad746cfd4e
      
https://github.com/qemu/qemu/commit/5694c7eacce6b263ad7497cc1bb76aad746cfd4e
  Author: John Snow <address@hidden>
  Date:   2018-06-08 (Fri, 08 Jun 2018)

  Changed paths:
    M hw/ide/ahci.c

  Log Message:
  -----------
  ahci: fix PxCI register race

Fixes: https://bugs.launchpad.net/qemu/+bug/1769189

AHCI presently signals completion prior to the PxCI register being
cleared to indicate completion. If a guest driver attempts to issue
a new command in its IRQ handler, it might be surprised to learn there
is still a command pending.

In the case of Windows 10's boot driver, it will actually poll the IRQ
register hoping to find out when the command is done running -- which
will never happen, as there isn't a command running.

Fix this: clear PxCI in ahci_cmd_done and not in the asynchronous BH.
Because it now runs synchronously, we don't need to check if the command
is actually done by spying on the ATA registers. We know it's done.

CC: qemu-stable <address@hidden>
Reported-by: François Guerraz <address@hidden>
Tested-by: Bruce Rogers <address@hidden>
Signed-off-by: John Snow <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Reviewed-by: Jeff Cody <address@hidden>
Message-id: address@hidden
Signed-off-by: John Snow <address@hidden>


  Commit: 42af312adef8afdae11d5f83d12a404b178dbda4
      
https://github.com/qemu/qemu/commit/42af312adef8afdae11d5f83d12a404b178dbda4
  Author: John Snow <address@hidden>
  Date:   2018-06-08 (Fri, 08 Jun 2018)

  Changed paths:
    M hw/ide/ahci.c

  Log Message:
  -----------
  ahci: don't schedule unnecessary BH

The comment gives us a hint. *Maybe* we still have something to
process. Well, why not check?

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


  Commit: 4e6e1de4e05b01292027fdd9f36a507872c33b9d
      
https://github.com/qemu/qemu/commit/4e6e1de4e05b01292027fdd9f36a507872c33b9d
  Author: John Snow <address@hidden>
  Date:   2018-06-08 (Fri, 08 Jun 2018)

  Changed paths:
    M hw/ide/ahci.c
    M hw/ide/ahci_internal.h

  Log Message:
  -----------
  ahci: add port register enumeration

Instead of tracking offsets, lets count the registers.

Signed-off-by: John Snow <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Message-id: address@hidden
Signed-off-by: John Snow <address@hidden>


  Commit: 536551d75874f0ba7651a1455a295239a5cabe05
      
https://github.com/qemu/qemu/commit/536551d75874f0ba7651a1455a295239a5cabe05
  Author: John Snow <address@hidden>
  Date:   2018-06-08 (Fri, 08 Jun 2018)

  Changed paths:
    M hw/ide/ahci.c

  Log Message:
  -----------
  ahci: modify ahci_port_read to use register numbers

Signed-off-by: John Snow <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Message-id: address@hidden
Signed-off-by: John Snow <address@hidden>


  Commit: e538916366553e4ef49cd3f73e510ada8170092a
      
https://github.com/qemu/qemu/commit/e538916366553e4ef49cd3f73e510ada8170092a
  Author: John Snow <address@hidden>
  Date:   2018-06-08 (Fri, 08 Jun 2018)

  Changed paths:
    M hw/ide/ahci.c
    M hw/ide/trace-events

  Log Message:
  -----------
  ahci: make port read traces more descriptive

A trace is added to let us watch unimplemented registers specifically,
as these are more likely to cause us trouble. Otherwise, the port read
traces now tell us what register is getting hit, which is nicer.

Signed-off-by: John Snow <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Message-id: address@hidden
Signed-off-by: John Snow <address@hidden>


  Commit: f1123e4b5c2b6bc8b4ebb9953b1c6ecfb4eb460d
      
https://github.com/qemu/qemu/commit/f1123e4b5c2b6bc8b4ebb9953b1c6ecfb4eb460d
  Author: John Snow <address@hidden>
  Date:   2018-06-08 (Fri, 08 Jun 2018)

  Changed paths:
    M hw/ide/ahci.c

  Log Message:
  -----------
  ahci: fix spacing damage on ahci_port_write

Churn.

Signed-off-by: John Snow <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Message-id: address@hidden
[Fix patchew/checkpatch nit. --js]
Signed-off-by: John Snow <address@hidden>


  Commit: 59281eee97e4c2ae357f307413159e62cbc709c1
      
https://github.com/qemu/qemu/commit/59281eee97e4c2ae357f307413159e62cbc709c1
  Author: John Snow <address@hidden>
  Date:   2018-06-08 (Fri, 08 Jun 2018)

  Changed paths:
    M hw/ide/ahci.c

  Log Message:
  -----------
  ahci: combine identical clauses in port write

Signed-off-by: John Snow <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Message-id: address@hidden
Signed-off-by: John Snow <address@hidden>


  Commit: f647f4587e2377dd6052c0752c3f9e64f1597605
      
https://github.com/qemu/qemu/commit/f647f4587e2377dd6052c0752c3f9e64f1597605
  Author: John Snow <address@hidden>
  Date:   2018-06-08 (Fri, 08 Jun 2018)

  Changed paths:
    M hw/ide/ahci.c

  Log Message:
  -----------
  ahci: modify ahci_port_write to use register numbers

Signed-off-by: John Snow <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Message-id: address@hidden
Signed-off-by: John Snow <address@hidden>


  Commit: 06e350655c852f99d7b0295838d11b2277876ffd
      
https://github.com/qemu/qemu/commit/06e350655c852f99d7b0295838d11b2277876ffd
  Author: John Snow <address@hidden>
  Date:   2018-06-08 (Fri, 08 Jun 2018)

  Changed paths:
    M hw/ide/ahci.c
    M hw/ide/trace-events

  Log Message:
  -----------
  ahci: make port write traces more descriptive

Signed-off-by: John Snow <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Message-id: address@hidden
[Changed format specifier. --js]
Signed-off-by: John Snow <address@hidden>


  Commit: 3d74e87d09180c3a1b89b8daa7f7d143a12737fa
      
https://github.com/qemu/qemu/commit/3d74e87d09180c3a1b89b8daa7f7d143a12737fa
  Author: John Snow <address@hidden>
  Date:   2018-06-08 (Fri, 08 Jun 2018)

  Changed paths:
    M hw/ide/ahci_internal.h

  Log Message:
  -----------
  ahci: delete old port register address definitions

They're now unused.

Signed-off-by: John Snow <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Message-id: address@hidden
Signed-off-by: John Snow <address@hidden>


  Commit: da868a46db847123965a8b234f2a33d73fa8d26d
      
https://github.com/qemu/qemu/commit/da868a46db847123965a8b234f2a33d73fa8d26d
  Author: John Snow <address@hidden>
  Date:   2018-06-08 (Fri, 08 Jun 2018)

  Changed paths:
    M hw/ide/ahci.c
    M hw/ide/ahci_internal.h

  Log Message:
  -----------
  ahci: add host register enumeration

Signed-off-by: John Snow <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Message-id: address@hidden
Signed-off-by: John Snow <address@hidden>


  Commit: 96034081dd2dd5177ffdf19475712264783c7bef
      
https://github.com/qemu/qemu/commit/96034081dd2dd5177ffdf19475712264783c7bef
  Author: John Snow <address@hidden>
  Date:   2018-06-08 (Fri, 08 Jun 2018)

  Changed paths:
    M hw/ide/ahci_internal.h

  Log Message:
  -----------
  ahci: fix host register max address

Yes, comment, it ought to be 0x2C.

Signed-off-by: John Snow <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Message-id: address@hidden
Signed-off-by: John Snow <address@hidden>


  Commit: 215c41aa67febfab018dbc4c5d2ac2d2de26c4d2
      
https://github.com/qemu/qemu/commit/215c41aa67febfab018dbc4c5d2ac2d2de26c4d2
  Author: John Snow <address@hidden>
  Date:   2018-06-08 (Fri, 08 Jun 2018)

  Changed paths:
    M hw/ide/ahci.c

  Log Message:
  -----------
  ahci: modify ahci_mem_read_32 to work on register numbers

Signed-off-by: John Snow <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Message-id: address@hidden
Signed-off-by: John Snow <address@hidden>


  Commit: 9da8ac3203503195a9c602328ea25c73ed1ab55d
      
https://github.com/qemu/qemu/commit/9da8ac3203503195a9c602328ea25c73ed1ab55d
  Author: John Snow <address@hidden>
  Date:   2018-06-08 (Fri, 08 Jun 2018)

  Changed paths:
    M hw/ide/ahci.c
    M hw/ide/trace-events

  Log Message:
  -----------
  ahci: make mem_read_32 traces more descriptive

Signed-off-by: John Snow <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Message-id: address@hidden
Signed-off-by: John Snow <address@hidden>


  Commit: 467378baed0c1b3bfaa11eb97d1c231d1b0ed916
      
https://github.com/qemu/qemu/commit/467378baed0c1b3bfaa11eb97d1c231d1b0ed916
  Author: John Snow <address@hidden>
  Date:   2018-06-08 (Fri, 08 Jun 2018)

  Changed paths:
    M hw/ide/ahci.c

  Log Message:
  -----------
  ahci: fix spacing damage on ahci_mem_write

Signed-off-by: John Snow <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Message-id: address@hidden
Signed-off-by: John Snow <address@hidden>


  Commit: d566811a10a8310da120cc962e487d491d1e91d3
      
https://github.com/qemu/qemu/commit/d566811a10a8310da120cc962e487d491d1e91d3
  Author: John Snow <address@hidden>
  Date:   2018-06-08 (Fri, 08 Jun 2018)

  Changed paths:
    M hw/ide/ahci.c

  Log Message:
  -----------
  ahci: adjust ahci_mem_write to work on registers

Actually, this function looks pretty broken, but for now, let's finish
up what this series of commits came here to do.

Signed-off-by: John Snow <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Message-id: address@hidden
Signed-off-by: John Snow <address@hidden>


  Commit: ead019e7ddf07556ce73498380fdd2c1384657e6
      
https://github.com/qemu/qemu/commit/ead019e7ddf07556ce73498380fdd2c1384657e6
  Author: John Snow <address@hidden>
  Date:   2018-06-08 (Fri, 08 Jun 2018)

  Changed paths:
    M hw/ide/ahci_internal.h

  Log Message:
  -----------
  ahci: delete old host register address definitions

Signed-off-by: John Snow <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Message-id: address@hidden
Signed-off-by: John Snow <address@hidden>


  Commit: 017961262d318075fd224d16c6a0aee9890844e6
      
https://github.com/qemu/qemu/commit/017961262d318075fd224d16c6a0aee9890844e6
  Author: John Snow <address@hidden>
  Date:   2018-06-08 (Fri, 08 Jun 2018)

  Changed paths:
    M hw/ide/ahci.c
    M hw/ide/trace-events

  Log Message:
  -----------
  ahci: make ahci_mem_write traces more descriptive

Signed-off-by: John Snow <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Message-id: address@hidden
[Fixed format specifiers. --js]
Signed-off-by: John Snow <address@hidden>


  Commit: b1dd6d2d270a2b72db47576635c51636f0db36e6
      
https://github.com/qemu/qemu/commit/b1dd6d2d270a2b72db47576635c51636f0db36e6
  Author: Thomas Huth <address@hidden>
  Date:   2018-06-08 (Fri, 08 Jun 2018)

  Changed paths:
    M tests/boot-sector.c

  Log Message:
  -----------
  tests/boot-sector: Add magic bytes to s390x boot code header

We're going to use the s390x boot code for testing CD-ROM booting.
But the ISO loader of the s390-ccw bios is a little bit more picky
than the network loader and expects some magic bytes in the header
of the file (see linux_s390_magic in pc-bios/s390-ccw/bootmap.c), so
we've got to add them in our boot code here, too.

Reviewed-by: Christian Borntraeger <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Hervé Poussineau <address@hidden>
Acked-By: Mark Cave-Ayland <address@hidden>
Signed-off-by: Thomas Huth <address@hidden>
Signed-off-by: John Snow <address@hidden>


  Commit: 42f455054f8301ce18936b583e8354551a4f2c17
      
https://github.com/qemu/qemu/commit/42f455054f8301ce18936b583e8354551a4f2c17
  Author: Thomas Huth <address@hidden>
  Date:   2018-06-08 (Fri, 08 Jun 2018)

  Changed paths:
    M tests/Makefile.include
    A tests/cdrom-test.c

  Log Message:
  -----------
  tests/cdrom-test: Test booting from CD-ROM ISO image file

We already have the code for a boot file in tests/boot-sector.c,
so if the genisoimage program is available, we can easily create
a bootable CD ISO image that we can use for testing whether our
CD-ROM emulation and the BIOS CD-ROM boot works correctly.

Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Hervé Poussineau <address@hidden>
Acked-By: Mark Cave-Ayland <address@hidden>
Signed-off-by: Thomas Huth <address@hidden>
Signed-off-by: John Snow <address@hidden>


  Commit: 49d43a5978703d515393c70c5620ace8e8daf8cd
      
https://github.com/qemu/qemu/commit/49d43a5978703d515393c70c5620ace8e8daf8cd
  Author: Thomas Huth <address@hidden>
  Date:   2018-06-08 (Fri, 08 Jun 2018)

  Changed paths:
    M tests/cdrom-test.c

  Log Message:
  -----------
  tests/cdrom-test: Test that -cdrom parameter is working

Commit 1454509726719e0933c800 recently broke the "-cdrom" parameter
on a couple of boards without us noticing it immediately. Thus let's
add a test which checks that "-cdrom" can at least be used to start
QEMU with certain machine types.

Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Hervé Poussineau <address@hidden>
Acked-By: Mark Cave-Ayland <address@hidden>
Signed-off-by: Thomas Huth <address@hidden>
Signed-off-by: John Snow <address@hidden>


  Commit: edc35b3dc25a71f226ce9a0e6517a9ee26a023ff
      
https://github.com/qemu/qemu/commit/edc35b3dc25a71f226ce9a0e6517a9ee26a023ff
  Author: Thomas Huth <address@hidden>
  Date:   2018-06-08 (Fri, 08 Jun 2018)

  Changed paths:
    M MAINTAINERS

  Log Message:
  -----------
  MAINTAINERS: Add the cdrom-test to John's section

The cdrom-test checks various block types - IDE, SCSI and
virtio, so it's a little bit hard to decide where this should
belong to in the MAINTAINERS file. But John volunteered to take
it, so let's put it into the IDE section for now.

Signed-off-by: Thomas Huth <address@hidden>
Acked-by: John Snow <address@hidden>
Signed-off-by: John Snow <address@hidden>


  Commit: 27e4648ce98f8172c2c2449896430e87652818d1
      
https://github.com/qemu/qemu/commit/27e4648ce98f8172c2c2449896430e87652818d1
  Author: John Snow <address@hidden>
  Date:   2018-06-08 (Fri, 08 Jun 2018)

  Changed paths:
    M tests/libqos/ahci.c

  Log Message:
  -----------
  libqos/ahci: track sector size

It's not always 512, and it does wind up mattering for PIO tranfers,
because this means DRQ blocks are four times as big for ATAPI.
Replace an instance of 2048 with the correct define, too.

This patch by itself winds changing no behavior. fis->count is ignored
for CMD_PACKET, and sect_count only gets used in non-ATAPI cases.

Signed-off-by: John Snow <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Message-id: address@hidden
Signed-off-by: John Snow <address@hidden>


  Commit: 956556e131e35f387ac482ad7b41151576fef057
      
https://github.com/qemu/qemu/commit/956556e131e35f387ac482ad7b41151576fef057
  Author: John Snow <address@hidden>
  Date:   2018-06-08 (Fri, 08 Jun 2018)

  Changed paths:
    M hw/ide/ahci.c
    M tests/libqos/ahci.c
    M tests/libqos/ahci.h

  Log Message:
  -----------
  ahci: move PIO Setup FIS before transfer, fix it for ATAPI commands

The PIO Setup FIS is written in the PIO:Entry state, which comes before
the ATA and ATAPI data transfer states.  As a result, the PIO Setup FIS
interrupt is now raised before DMA ends for ATAPI commands, and tests have
to be adjusted.

This is also hinted by the description of the command header in the AHCI
specification, where the "A" bit is described as

    When ‘1’, indicates that a PIO setup FIS shall be sent by the device
    indicating a transfer for the ATAPI command.

and also by the description of the ACMD (ATAPI command region):

    The ATAPI command must be either 12 or 16 bytes in length. The length
    transmitted by the HBA is determined by the PIO setup FIS that is sent
    by the device requesting the ATAPI command.

QEMU, which conflates the "generator" and the "receiver" of the FIS into
one device, always uses ATAPI_PACKET_SIZE, aka 12, for the length.

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: John Snow <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Message-id: address@hidden
Signed-off-by: John Snow <address@hidden>


  Commit: bed9bcfa3275a9cfee82846a9f521c4858a9739a
      
https://github.com/qemu/qemu/commit/bed9bcfa3275a9cfee82846a9f521c4858a9739a
  Author: Paolo Bonzini <address@hidden>
  Date:   2018-06-08 (Fri, 08 Jun 2018)

  Changed paths:
    M hw/ide/ahci.c
    M hw/ide/core.c
    M hw/ide/trace-events
    M include/hw/ide/internal.h

  Log Message:
  -----------
  ide: push end_transfer_func out of start_transfer callback, rename callback

Now that end_transfer_func is a tail call in ahci_start_transfer,
formalize the fact that the callback (of which ahci_start_transfer is
the sole implementation) takes care of the transfer too: rename it to
pio_transfer and, if it is present, call the end_transfer_func as soon
as it returns.

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: John Snow <address@hidden>
Reviewed-by: John Snow <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Message-id: address@hidden
Signed-off-by: John Snow <address@hidden>


  Commit: ee4cd662addd2ef51c5bc33e57f7fc6cdee830a0
      
https://github.com/qemu/qemu/commit/ee4cd662addd2ef51c5bc33e57f7fc6cdee830a0
  Author: Paolo Bonzini <address@hidden>
  Date:   2018-06-08 (Fri, 08 Jun 2018)

  Changed paths:
    M hw/ide/core.c

  Log Message:
  -----------
  ide: call ide_cmd_done from ide_transfer_stop

The code can simply be moved to the sole caller that has notify == true.

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: John Snow <address@hidden>
Reviewed-by: John Snow <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Message-id: address@hidden
Signed-off-by: John Snow <address@hidden>


  Commit: 882941a5680db4d3e247a089126be23181ae13fd
      
https://github.com/qemu/qemu/commit/882941a5680db4d3e247a089126be23181ae13fd
  Author: Paolo Bonzini <address@hidden>
  Date:   2018-06-08 (Fri, 08 Jun 2018)

  Changed paths:
    M hw/ide/core.c

  Log Message:
  -----------
  ide: make ide_transfer_stop idempotent

There is code checking s->end_transfer_func and it was not taught about
ide_transfer_cancel.  We can just use ide_transfer_stop because
s->end_transfer_func is only ever called in the DRQ phase.

ide_transfer_cancel can then be removed, since it would just be
calling ide_transfer_halt.

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: John Snow <address@hidden>
Reviewed-by: John Snow <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Message-id: address@hidden
Signed-off-by: John Snow <address@hidden>


  Commit: d02cea6437b420150915b03aef3691010c7d40df
      
https://github.com/qemu/qemu/commit/d02cea6437b420150915b03aef3691010c7d40df
  Author: Paolo Bonzini <address@hidden>
  Date:   2018-06-08 (Fri, 08 Jun 2018)

  Changed paths:
    M hw/ide/atapi.c

  Log Message:
  -----------
  atapi: call ide_set_irq before ide_transfer_start

The ATAPI_INT_REASON_IO interrupt is raised when I/O starts, but in the
AHCI case ide_set_irq was actually called at the end of a mutual recursion.
Move it early, with the side effect that ide_transfer_start becomes a tail
call in ide_atapi_cmd_reply_end.

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: John Snow <address@hidden>
Reviewed-by: John Snow <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Message-id: address@hidden
Signed-off-by: John Snow <address@hidden>


  Commit: c173723f247c69974a83af1395020d0f01a0d334
      
https://github.com/qemu/qemu/commit/c173723f247c69974a83af1395020d0f01a0d334
  Author: Paolo Bonzini <address@hidden>
  Date:   2018-06-08 (Fri, 08 Jun 2018)

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

  Log Message:
  -----------
  ide: introduce ide_transfer_start_norecurse

For the case where the end_transfer_func is also the caller of
ide_transfer_start, the mutual recursion can lead to unlimited
stack usage.  Introduce a new version that can be used to change
tail recursion into a loop, and use it in trace_ide_atapi_cmd_reply_end.

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: John Snow <address@hidden>
Reviewed-by: John Snow <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Message-id: address@hidden
Signed-off-by: John Snow <address@hidden>


  Commit: a7a7309ca52c327c6603d60db90ae4feeae719f7
      
https://github.com/qemu/qemu/commit/a7a7309ca52c327c6603d60db90ae4feeae719f7
  Author: Peter Maydell <address@hidden>
  Date:   2018-06-11 (Mon, 11 Jun 2018)

  Changed paths:
    M MAINTAINERS
    M hw/ide/ahci.c
    M hw/ide/ahci_internal.h
    M hw/ide/atapi.c
    M hw/ide/core.c
    M hw/ide/trace-events
    M include/hw/ide/internal.h
    M tests/Makefile.include
    M tests/boot-sector.c
    A tests/cdrom-test.c
    M tests/libqos/ahci.c
    M tests/libqos/ahci.h

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

Pull request

# gpg: Signature made Fri 08 Jun 2018 18:46:24 BST
# gpg:                using RSA key 7DEF8106AAFC390E
# 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: (30 commits)
  ide: introduce ide_transfer_start_norecurse
  atapi: call ide_set_irq before ide_transfer_start
  ide: make ide_transfer_stop idempotent
  ide: call ide_cmd_done from ide_transfer_stop
  ide: push end_transfer_func out of start_transfer callback, rename callback
  ahci: move PIO Setup FIS before transfer, fix it for ATAPI commands
  libqos/ahci: track sector size
  MAINTAINERS: Add the cdrom-test to John's section
  tests/cdrom-test: Test that -cdrom parameter is working
  tests/cdrom-test: Test booting from CD-ROM ISO image file
  tests/boot-sector: Add magic bytes to s390x boot code header
  ahci: make ahci_mem_write traces more descriptive
  ahci: delete old host register address definitions
  ahci: adjust ahci_mem_write to work on registers
  ahci: fix spacing damage on ahci_mem_write
  ahci: make mem_read_32 traces more descriptive
  ahci: modify ahci_mem_read_32 to work on register numbers
  ahci: fix host register max address
  ahci: add host register enumeration
  ahci: delete old port register address definitions
  ...

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


Compare: https://github.com/qemu/qemu/compare/0d2fa03dae4f...a7a7309ca52c
      **NOTE:** This service been marked for deprecation: 
https://developer.github.com/changes/2018-04-25-github-services-deprecation/

      Functionality will be removed from GitHub.com on January 31st, 2019.

reply via email to

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