qemu-e2k/hw
Paolo Bonzini 0b8b8753e4 coroutine: move entry argument to qemu_coroutine_create
In practice the entry argument is always known at creation time, and
it is confusing that sometimes qemu_coroutine_enter is used with a
non-NULL argument to re-enter a coroutine (this happens in
block/sheepdog.c and tests/test-coroutine.c).  So pass the opaque value
at creation time, for consistency with e.g. aio_bh_new.

Mostly done with the following semantic patch:

@ entry1 @
expression entry, arg, co;
@@
- co = qemu_coroutine_create(entry);
+ co = qemu_coroutine_create(entry, arg);
  ...
- qemu_coroutine_enter(co, arg);
+ qemu_coroutine_enter(co);

@ entry2 @
expression entry, arg;
identifier co;
@@
- Coroutine *co = qemu_coroutine_create(entry);
+ Coroutine *co = qemu_coroutine_create(entry, arg);
  ...
- qemu_coroutine_enter(co, arg);
+ qemu_coroutine_enter(co);

@ entry3 @
expression entry, arg;
@@
- qemu_coroutine_enter(qemu_coroutine_create(entry), arg);
+ qemu_coroutine_enter(qemu_coroutine_create(entry, arg));

@ reentry @
expression co;
@@
- qemu_coroutine_enter(co, NULL);
+ qemu_coroutine_enter(co);

except for the aforementioned few places where the semantic patch
stumbled (as expected) and for test_co_queue, which would otherwise
produce an uninitialized variable warning.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Fam Zheng <famz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2016-07-13 13:26:02 +02:00
..
9pfs coroutine: move entry argument to qemu_coroutine_create 2016-07-13 13:26:02 +02:00
acpi opts-visitor: Favor new visit_free() function 2016-07-06 10:52:04 +02:00
alpha Clean up header guards that don't match their file name 2016-07-12 16:19:16 +02:00
arm Clean up ill-advised or unusual header guards 2016-07-12 16:20:46 +02:00
audio Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
block Clean up ill-advised or unusual header guards 2016-07-12 16:20:46 +02:00
bt hw/bt: Don't use cpu_to_*w() and *_to_cpup() 2016-07-12 15:08:53 +01:00
char Use #include "..." for our own headers, <...> for others 2016-07-12 16:19:16 +02:00
core Clean up ill-advised or unusual header guards 2016-07-12 16:20:46 +02:00
cpu cpu: Abstract CPU core type 2016-06-17 16:33:48 +10:00
cris cris: Fix broken header guard in hw/cris/boot.h 2016-07-12 16:20:46 +02:00
display Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
dma dma: Add Xilinx Zynq devcfg device model 2016-07-04 13:15:22 +01:00
gpio hw/gpio: QOM'ify zaurus.c 2016-06-14 15:59:13 +01:00
i2c ICH9 SMB: make TYPE_ICH9_SMB_DEVICE macro public 2016-06-29 14:03:46 +02:00
i386 Use #include "..." for our own headers, <...> for others 2016-07-12 16:19:16 +02:00
ide Use #include "..." for our own headers, <...> for others 2016-07-12 16:19:16 +02:00
input input: add trace events for full queues 2016-07-12 09:25:28 +02:00
intc Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
ipack ipack: Update e-mail address 2016-05-18 15:04:27 +03:00
ipmi hw/ipmi: fix spelling 2016-06-07 18:02:48 +03:00
isa ich9: implement SCI_IRQ_SEL register 2016-06-29 14:03:48 +02:00
lm32 Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
m68k hw: explicitly include qemu-common.h and cpu.h 2016-03-22 22:20:17 +01:00
mem nvdimm: support nvdimm label 2016-06-24 05:13:57 +03:00
microblaze Clean up ill-advised or unusual header guards 2016-07-12 16:20:46 +02:00
mips hw/mips/cps: create GIC block inside CPS 2016-07-12 09:10:13 +01:00
misc Use #include "..." for our own headers, <...> for others 2016-07-12 16:19:16 +02:00
moxie hw: explicitly include qemu-common.h and cpu.h 2016-03-22 22:20:17 +01:00
net Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
nvram trace: split out trace events for hw/nvram/ directory 2016-06-20 17:22:15 +01:00
openrisc hw: explicitly include qemu-common.h and cpu.h 2016-03-22 22:20:17 +01:00
pci qapi: Improve use of qmp/types.h 2016-07-06 10:52:03 +02:00
pci-bridge Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
pci-host range: Eliminate direct Range member access 2016-07-04 16:49:33 +03:00
pcmcia
ppc Clean up ill-advised or unusual header guards 2016-07-12 16:20:46 +02:00
s390x Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
scsi Clean up header guards that don't match their file name 2016-07-12 16:19:16 +02:00
sd ssi: change ssi_slave_init to be a realize ops 2016-07-04 13:15:22 +01:00
sh4 Clean up ill-advised or unusual header guards 2016-07-12 16:20:46 +02:00
smbios ipmi: Add SMBIOS table entry 2016-06-24 05:13:57 +03:00
sparc trace: split out trace events for hw/sparc/ directory 2016-06-20 17:22:16 +01:00
sparc64 util: move declarations out of qemu-common.h 2016-03-22 22:20:17 +01:00
ssi ast2400: add SPI flash slaves 2016-07-04 13:15:22 +01:00
timer MIPS patches 2016-07-12 2016-07-12 12:34:41 +01:00
tpm Clean up header guards that don't match their file name 2016-07-12 16:19:16 +02:00
tricore hw: explicitly include qemu-common.h and cpu.h 2016-03-22 22:20:17 +01:00
unicore32 hw: explicitly include qemu-common.h and cpu.h 2016-03-22 22:20:17 +01:00
usb Clean up header guards that don't match their file name 2016-07-12 16:19:16 +02:00
vfio Use #include "..." for our own headers, <...> for others 2016-07-12 16:19:16 +02:00
virtio Use #include "..." for our own headers, <...> for others 2016-07-12 16:19:16 +02:00
watchdog nmi: remove x86 specific nmi handling 2016-05-23 16:53:46 +02:00
xen Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
xenpv Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
xtensa Clean up ill-advised or unusual header guards 2016-07-12 16:20:46 +02:00
Makefile.objs