qemu/hw/ide
Paolo Bonzini c173723f24 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 <pbonzini@redhat.com>
Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: John Snow <jsnow@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20180606190955.20845-8-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com>
2018-06-08 13:36:31 -04:00
..
ahci_internal.h ahci: delete old host register address definitions 2018-06-08 13:17:38 -04:00
ahci-allwinner.c ide: use local path for local headers 2018-06-01 19:20:37 +03:00
ahci.c ide: push end_transfer_func out of start_transfer callback, rename callback 2018-06-08 13:36:25 -04:00
atapi.c ide: introduce ide_transfer_start_norecurse 2018-06-08 13:36:31 -04:00
cmd646.c hw: Do not include "sysemu/block-backend.h" if it is not necessary 2018-03-12 16:12:46 +01:00
core.c ide: introduce ide_transfer_start_norecurse 2018-06-08 13:36:31 -04:00
ich.c ide: use local path for local headers 2018-06-01 19:20:37 +03:00
isa.c hw: Do not include "sysemu/block-backend.h" if it is not necessary 2018-03-12 16:12:46 +01:00
macio.c macio: fix NULL pointer dereference when issuing IDE trim 2018-03-27 00:38:00 -04:00
Makefile.objs hw/ide: Emulate SiI3112 SATA controller 2018-01-10 12:53:00 +11:00
microdrive.c hw: Do not include "sysemu/block-backend.h" if it is not necessary 2018-03-12 16:12:46 +01:00
mmio.c hw: Do not include "sysemu/block-backend.h" if it is not necessary 2018-03-12 16:12:46 +01:00
pci.c hw: Do not include "sysemu/block-backend.h" if it is not necessary 2018-06-01 14:15:10 +02:00
piix.c hw/ide: remove old i386 dependency 2017-12-18 17:07:02 +03:00
qdev.c hw/block: Use errp directly rather than local_err 2017-12-19 10:25:03 +00:00
sii3112.c sii3112: Remove unneeded exit function 2018-03-18 18:27:23 +11:00
trace-events ide: push end_transfer_func out of start_transfer callback, rename callback 2018-06-08 13:36:25 -04:00
via.c hw: Do not include "sysemu/block-backend.h" if it is not necessary 2018-06-01 14:15:10 +02:00