qemu/include
Andreas Färber 0d6d1ab499 cpu: Avoid QOM casts for CPU()
CPU address spaces touching load and store helpers as well as the
movement of (almost) all fields from CPU_COMMON to CPUState have led to
a noticeable increase of CPU() usage in "hot" paths for both TCG and KVM.

While CPU()'s OBJECT_CHECK() might help detect development errors, i.e.
in form of crashes due to QOM vs. non-QOM mismatches rather than QOM
type mismatches, it is not really needed at runtime since mostly used in
CPU-specific paths, coming from a target-specific CPU subtype. If that
pointer is damaged, other errors are highly likely to occur elsewhere
anyway.

Keep the CPU() macro for a consistent developer experience and for
flexibility to exchange its implementation, but turn it into a pure,
unchecked C cast for now.

Compare commit 6e42be7cd1.

Reported-by: Laurent Desnogues <laurent.desnogues@gmail.com>
Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Andreas Färber <afaerber@suse.de>
2014-03-31 19:28:38 +02:00
..
block block: Add error handling to bdrv_invalidate_cache() 2014-03-19 09:39:41 +01:00
disas disas: Implement disassembly output for A64 2014-02-08 14:50:48 +00:00
exec exec-all.h: Increase MAX_OP_PER_INSTR for ARM A64 decoder 2014-03-17 16:31:51 +00:00
fpu softfloat: export squash_input_denormal functions 2014-03-17 16:31:51 +00:00
hw acpi,pc,test bug fixes 2014-03-24 19:00:02 +00:00
migration scsi: Fix migration of scsi sense data 2014-03-14 10:06:55 +01:00
monitor quorum: Add quorum mechanism. 2014-02-21 22:29:50 +01:00
net net: remove implicit peer from offload API 2014-02-25 14:31:05 +01:00
qapi qapi script: do not add "_" for every capitalized char in enum 2014-03-11 09:07:42 -04:00
qemu Block pull request 2014-03-13 15:33:04 +00:00
qom cpu: Avoid QOM casts for CPU() 2014-03-31 19:28:38 +02:00
sysemu acpi,pc,test bug fixes 2014-03-24 19:00:02 +00:00
ui gtk: Allow to activate grab-on-hover from the command line 2014-03-17 14:33:55 +01:00
config.h janitor: move remaining public headers to include/ 2012-12-19 08:32:46 +01:00
elf.h tcg-s390: Use qemu_getauxval in query_facilities 2013-11-30 07:45:30 +13:00
glib-compat.h glib: add a compatibility interface for g_timeout_add_seconds 2013-03-25 13:10:40 -05:00
qemu-common.h util: add qemu_ether_ntoa 2014-03-27 15:18:45 +05:30
qemu-io.h qemu-io: Fix warnings from static code analysis 2014-03-13 14:42:24 +01:00
trace.h build: some simplifications for "trace/Makefile.objs" 2013-01-12 18:42:51 +01:00