unicorn/qemu
Eric Blake eef0932471
qapi-visit: Add visitor.type classification
We have three classes of QAPI visitors: input, output, and dealloc.
Currently, all implementations of these visitors have one thing in
common based on their visitor type: the implementation used for the
visit_type_enum() callback. But since we plan to add more such
common behavior, in relation to documenting and further refining
the semantics, it makes more sense to have the visitor
implementations advertise which class they belong to, so the common
qapi-visit-core code can use that information in multiple places.

A later patch will better document the types of visitors directly
in visitor.h.

For this patch, knowing the class of a visitor implementation lets
us make input_type_enum() and output_type_enum() become static
functions, by replacing the callback function Visitor.type_enum()
with the simpler enum member Visitor.type. Share a common
assertion in qapi-visit-core as part of the refactoring.

Move comments in opts-visitor.c to match the refactored layout.

Backports commit 983f52d4b3f86fb9dc9f8b142132feb5a8723016 from qemu
2018-02-23 14:25:41 -05:00
..
crypto crypto: Clean up includes 2018-02-19 00:47:40 -05:00
default-configs arm64eb: add support for ARM64 big endian. 2017-04-24 23:30:01 +08:00
docs docs: clarify memory region lifecycle 2018-02-12 15:11:21 -05:00
fpu fpu: silence warnings 2018-02-22 09:52:28 -05:00
hw util: move declarations out of qemu-common.h 2018-02-22 09:25:48 -05:00
include qapi-visit: Add visitor.type classification 2018-02-23 14:25:41 -05:00
qapi qapi-visit: Add visitor.type classification 2018-02-23 14:25:41 -05:00
qobject util: move declarations out of qemu-common.h 2018-02-22 09:25:48 -05:00
qom util: move declarations out of qemu-common.h 2018-02-22 09:25:48 -05:00
scripts include/qemu/osdep.h: Don't include qapi/error.h 2018-02-21 23:08:18 -05:00
target-arm target-arm: Get rid of unused variable warnings 2018-02-23 12:43:09 -05:00
target-i386 target-i386: fix typo in xsetbv implementation 2018-02-23 14:15:35 -05:00
target-m68k include/qemu/osdep.h: Don't include qapi/error.h 2018-02-21 23:08:18 -05:00
target-mips target-mips: fix call to memset in soft reset code 2018-02-23 14:01:50 -05:00
target-sparc target-sparc: fix register corruption in ldstub if there is no write permission 2018-02-23 14:06:38 -05:00
tcg tcg: check for CONFIG_DEBUG_TCG instead of NDEBUG 2018-02-23 13:55:21 -05:00
util util: align memory allocations to 2M on AArch64 2018-02-23 13:56:59 -05:00
aarch64.h cputlb: move CPU_LOOP() for tlb_reset() to exec.c 2018-02-23 10:46:31 -05:00
aarch64eb.h cputlb: move CPU_LOOP() for tlb_reset() to exec.c 2018-02-23 10:46:31 -05:00
accel.c all: Clean up includes 2018-02-19 01:34:28 -05:00
arm.h cputlb: move CPU_LOOP() for tlb_reset() to exec.c 2018-02-23 10:46:31 -05:00
armeb.h cputlb: move CPU_LOOP() for tlb_reset() to exec.c 2018-02-23 10:46:31 -05:00
CODING_STYLE import 2015-08-21 15:04:50 +08:00
configure config.status: Pass extra parameters 2018-02-22 10:12:54 -05:00
COPYING import 2015-08-21 15:04:50 +08:00
COPYING.LIB import 2015-08-21 15:04:50 +08:00
cpu-exec-common.c exec: Clean up includes 2018-02-19 00:49:55 -05:00
cpu-exec.c qemu-log: dfilter-ise exec, out_asm, op and opt_op 2018-02-22 10:06:19 -05:00
cpus.c exec: Clean up includes 2018-02-19 00:49:55 -05:00
cputlb.c cputlb: move CPU_LOOP() for tlb_reset() to exec.c 2018-02-23 10:46:31 -05:00
exec.c include/exec: Move cputlb exec.c defs out 2018-02-23 10:52:25 -05:00
gen_all_header.sh arm64eb: add support for ARM64 big endian. 2017-04-24 23:30:01 +08:00
glib_compat.c glib_compat: backport hashtable iterator interfaces 2018-02-21 13:18:44 -05:00
HACKING import 2015-08-21 15:04:50 +08:00
header_gen.py cputlb: move CPU_LOOP() for tlb_reset() to exec.c 2018-02-23 10:46:31 -05:00
ioport.c all: Clean up includes 2018-02-19 01:34:28 -05:00
LICENSE import 2015-08-21 15:04:50 +08:00
m68k.h cputlb: move CPU_LOOP() for tlb_reset() to exec.c 2018-02-23 10:46:31 -05:00
Makefile qapi: Turn generators' mandatory option -i into an argument 2018-02-19 15:22:27 -05:00
Makefile.objs crypto: move crypto objects out of libqemuutil.la 2018-02-17 15:23:50 -05:00
Makefile.target tcg: split tcg_op_defs to -common 2018-02-17 15:23:51 -05:00
memory.c include/qemu/osdep.h: Don't include qapi/error.h 2018-02-21 23:08:18 -05:00
memory_mapping.c include/qemu/osdep.h: Don't include qapi/error.h 2018-02-21 23:08:18 -05:00
mips.h cputlb: move CPU_LOOP() for tlb_reset() to exec.c 2018-02-23 10:46:31 -05:00
mips64.h cputlb: move CPU_LOOP() for tlb_reset() to exec.c 2018-02-23 10:46:31 -05:00
mips64el.h cputlb: move CPU_LOOP() for tlb_reset() to exec.c 2018-02-23 10:46:31 -05:00
mipsel.h cputlb: move CPU_LOOP() for tlb_reset() to exec.c 2018-02-23 10:46:31 -05:00
powerpc.h cputlb: move CPU_LOOP() for tlb_reset() to exec.c 2018-02-23 10:46:31 -05:00
qapi-schema.json qapi: Lazy creation of array types 2018-02-19 18:55:35 -05:00
qemu-log.c log: move qemu_log_close/qemu_log_flush from header to log.c 2018-02-22 11:13:17 -05:00
qemu-timer.c all: Clean up includes 2018-02-19 01:34:28 -05:00
rules.mak import 2015-08-21 15:04:50 +08:00
softmmu_template.h exec.c: Pass MemTxAttrs to iotlb_to_region so it uses the right AS 2018-02-17 23:19:00 -05:00
sparc.h cputlb: move CPU_LOOP() for tlb_reset() to exec.c 2018-02-23 10:46:31 -05:00
sparc64.h cputlb: move CPU_LOOP() for tlb_reset() to exec.c 2018-02-23 10:46:31 -05:00
tcg-runtime.c all: Clean up includes 2018-02-19 01:34:28 -05:00
translate-all.c translate-all: add missing fold of tb_ctx into tcg_ctx 2018-02-23 13:35:42 -05:00
translate-all.h translate-all: remove unnecessary argument to tb_invalidate_phys_range 2018-02-13 09:04:51 -05:00
translate-common.c exec: Clean up includes 2018-02-19 00:49:55 -05:00
unicorn_common.h qom/cpu: Add MemoryRegion property 2018-02-18 21:54:50 -05:00
VERSION import 2015-08-21 15:04:50 +08:00
vl.c util: move declarations out of qemu-common.h 2018-02-22 09:25:48 -05:00
vl.h import 2015-08-21 15:04:50 +08:00
x86_64.h cputlb: move CPU_LOOP() for tlb_reset() to exec.c 2018-02-23 10:46:31 -05:00