unicorn/qemu
Alex Bennée 780ed8722e
qom/cpu: move tlb_flush to cpu_common_reset
It is a common thing amongst the various cpu reset functions want to
flush the SoftMMU's TLB entries. This is done either by calling
tlb_flush directly or by way of a general memset of the CPU
structure (sometimes both).

This moves the tlb_flush call to the common reset function and
additionally ensures it is only done for the CONFIG_SOFTMMU case and
when tcg is enabled.

In some target cases we add an empty end_of_reset_fields structure to the
target vCPU structure so have a clear end point for any memset which
is resetting value in the structure before CPU_COMMON (where the TLB
structures are).

While this is a nice clean-up in general it is also a precursor for
changes coming to cputlb for MTTCG where the clearing of entries
can't be done arbitrarily across vCPUs. Currently the cpu_reset
function is usually called from the context of another vCPU as the
architectural power up sequence is run. By using the cputlb API
functions we can ensure the right behaviour in the future.

Backports commit 1f5c00cfdb8114c1e3a13426588ceb64f82c9ddb from qemu
2018-03-01 19:21:07 -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: add mechanism to check for invalid long double formats 2018-02-26 02:27:40 -05:00
hw qdev: Fix object reference leak in case device.realize() fails 2018-02-25 21:00:26 -05:00
include qemu/host-utils.h: Reduce the operation count in the fallback ctpop 2018-03-01 18:35:51 -05:00
qapi qapi: rename QmpOutputVisitor to QObjectOutputVisitor 2018-02-27 08:05:33 -05:00
qobject qapi: rename QmpOutputVisitor to QObjectOutputVisitor 2018-02-27 08:05:33 -05:00
qom qom/cpu: move tlb_flush to cpu_common_reset 2018-03-01 19:21:07 -05:00
scripts qapi: rename QmpOutputVisitor to QObjectOutputVisitor 2018-02-27 08:05:33 -05:00
target-arm qom/cpu: move tlb_flush to cpu_common_reset 2018-03-01 19:21:07 -05:00
target-i386 qom/cpu: move tlb_flush to cpu_common_reset 2018-03-01 19:21:07 -05:00
target-m68k qom/cpu: move tlb_flush to cpu_common_reset 2018-03-01 19:21:07 -05:00
target-mips qom/cpu: move tlb_flush to cpu_common_reset 2018-03-01 19:21:07 -05:00
target-sparc qom/cpu: move tlb_flush to cpu_common_reset 2018-03-01 19:21:07 -05:00
tcg tcg/i386: Handle ctpop opcode 2018-03-01 18:49:43 -05:00
util Fix FreeBSD (10.x) build after 7dc9ae43 2018-03-01 08:55:43 -05:00
aarch64.h tcg/i386: Handle ctpop opcode 2018-03-01 18:49:43 -05:00
aarch64eb.h tcg/i386: Handle ctpop opcode 2018-03-01 18:49:43 -05:00
accel.c clean-up: removed duplicate #includes 2018-02-28 08:51:56 -05:00
arm.h tcg/i386: Handle ctpop opcode 2018-03-01 18:49:43 -05:00
armeb.h tcg/i386: Handle ctpop opcode 2018-03-01 18:49:43 -05:00
atomic_template.h tcg: Add atomic128 helpers 2018-02-27 21:43:48 -05:00
CODING_STYLE
configure tcg: Add CONFIG_ATOMIC64 2018-02-27 22:25:36 -05:00
COPYING
COPYING.LIB
cpu-exec-common.c tcg: Add EXCP_ATOMIC 2018-02-27 11:57:58 -05:00
cpu-exec.c target-i386: correctly propagate retaddr into SVM helpers 2018-03-01 09:31:16 -05:00
cpus.c tcg: Add EXCP_ATOMIC 2018-02-27 11:57:58 -05:00
cputlb.c clean-up: removed duplicate #includes 2018-02-28 08:51:56 -05:00
exec.c exec: introduce address_space_get_iotlb_entry() 2018-03-01 13:05:08 -05:00
gen_all_header.sh arm64eb: add support for ARM64 big endian. 2017-04-24 23:30:01 +08:00
glib_compat.c qapi: Fix memleak in string visitors on int lists 2018-02-25 00:20:34 -05:00
HACKING
header_gen.py tcg/i386: Handle ctpop opcode 2018-03-01 18:49:43 -05:00
ioport.c hw: remove pio_addr_t 2018-02-24 02:43:16 -05:00
LICENSE
m68k.h tcg/i386: Handle ctpop opcode 2018-03-01 18:49:43 -05:00
Makefile Makefile: Add a FORCE target 2018-02-24 17:03:51 -05:00
Makefile.objs tcg: Add atomic helpers 2018-02-27 15:57:47 -05:00
Makefile.target tcg: Add atomic helpers 2018-02-27 15:57:47 -05:00
memory.c exec.c: Remove static allocation of sub_section of sub_page 2018-02-26 10:50:04 -05:00
memory_ldst.inc.c exec: introduce memory_ldst.inc.c 2018-03-01 09:59:34 -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 tcg/i386: Handle ctpop opcode 2018-03-01 18:49:43 -05:00
mips64.h tcg/i386: Handle ctpop opcode 2018-03-01 18:49:43 -05:00
mips64el.h tcg/i386: Handle ctpop opcode 2018-03-01 18:49:43 -05:00
mipsel.h tcg/i386: Handle ctpop opcode 2018-03-01 18:49:43 -05:00
powerpc.h tcg/i386: Handle ctpop opcode 2018-03-01 18:49:43 -05:00
qapi-schema.json qapi: add missing colon-ending for section name 2018-03-01 09:07:10 -05:00
qemu-timer.c timer/cpus: fix some typos and update some comments 2018-02-25 23:21:57 -05:00
rules.mak rules.mak: Don't extract libs from .mo-libs in link command 2018-02-26 02:08:03 -05:00
softmmu_template.h cputlb: Remove includes from softmmu_template.h 2018-02-27 12:40:43 -05:00
sparc.h tcg/i386: Handle ctpop opcode 2018-03-01 18:49:43 -05:00
sparc64.h tcg/i386: Handle ctpop opcode 2018-03-01 18:49:43 -05:00
tcg-runtime.c tcg: Add opcode for ctpop 2018-03-01 18:26:41 -05:00
translate-all.c translate-all: Avoid -Werror=switch-bool 2018-03-01 13:01:50 -05:00
translate-all.h translate-all.c: Compute L1 page table properties at runtime 2018-02-26 11:46:58 -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
vl.c cpu: Support a target CPU having a variable page size 2018-02-26 12:29:08 -05:00
vl.h
x86_64.h tcg/i386: Handle ctpop opcode 2018-03-01 18:49:43 -05:00