s2e-block: s2e images should get higher affinity

Signed-off-by: Vitaly Chipounov <vitaly.chipounov@epfl.ch>
Fix uninitialised values in Annotation plugin

m_tb wasn't being properly initialised before conditional usage.
Fixing this issue after valgrind spotted it.

Signed-off-by: Luca Bruno <lucab@debian.org>
Free used constants if not used anymore

Fixes memleak
Annotation: better config parsing to avoid useless warnings

Signed-off-by: Luca Bruno <lucab@debian.org>
ConfigFile: add getID() to LUA interface

Signed-off-by: Jonas Zaddach <zaddach@eurecom.fr>
ConfigFile: range constraints for writeRegisterSymb()

Signed-off-by: Jonas Zaddach <zaddach@eurecom.fr>
ConfigFile: add missing getDouble()

Signed-off-by: Jonas Zaddach <zaddach@eurecom.fr>
ConfigFile: perform concolic injection by default

Default writeRegisterSymb() and writeMemorySymb() to inject
concolic values, by retaining original register/memory content.

Signed-off-by: Luca Bruno <lucab@debian.org>
Merge branch 'arm-experimental' into eurecom/arm

This is a forward port of the original ARM S2E branch.
This branch largely depart from the original port as it
focuses on adding a new target on existing codebase, to
minimize code duplication and make future porting easier.
This resulted in the following modifications:
 * add the ARM target side-by-side with existing x86 targets
 * prefer using CPUArchState over target-specific ones
 * conditionally build-protect target-specific code

Further target abstraction on S2E side is still to be done.

Conflicts:
	Makefile
	Makefile.win32
	README
	qemu/Makefile.target
	qemu/cpu-all.h
	qemu/cpu-exec.c
	qemu/exec.c
	qemu/hw/armv7m.c
	qemu/hw/integratorcp.c
	qemu/hw/versatilepb.c
	qemu/roms/seabios
	qemu/roms/vgabios
	qemu/s2e/Plugin.cpp
	qemu/s2e/Plugins/CorePlugin.cpp
	qemu/s2e/Plugins/ExecutionTracers/TranslationBlockTracer.cpp
	qemu/s2e/Plugins/OSMonitor.h
	qemu/s2e/Plugins/StateManager.cpp
	qemu/s2e/S2EExecutionState.cpp
	qemu/s2e/S2EExecutionState.h
	qemu/s2e/S2EExecutor.cpp
	qemu/s2e/s2e_qemu.h
	qemu/target-arm/cpu.h
	qemu/target-arm/exec.h
	qemu/target-arm/helper.c
	qemu/target-arm/op_helper.c
	qemu/target-arm/translate.c
	qemu/tcg/tcg-llvm.cpp
	qemu/tcg/x86_64/tcg-target.c
	qemu/vl.c

Signed-off-by: Luca Bruno <lucab@debian.org>
Signed-off-by: Jonas Zaddach <zaddach@eurecom.fr>
Fix bit test in Exynos4210 UART emulation to use & instead of &&

Fix bit test in Exynos4210 UART emulation to use & instead of &&

* hw/exynos4210_uart.c: s/&&/&/

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
ARM: Make target_phys_addr_t 64 bits and physaddrs 40 bits

Make target_phys_addr_t 64 bits for ARM targets, and set
TARGET_PHYS_ADDR_SPACE_BITS to 40.  This should have no effect for ARM
boards where physical addresses really are 32 bits (except perhaps a
slight performance hit on 32 bit hosts for system emulation) but allows
us to implement the Large Physical Address Extensions for Cortex-A15,
which mean 40 bit physical addresses.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
hw/a9mpcore: Fix compilation failure if physaddrs are 64 bit

Add a cast to a logging printf to avoid a compilation failure
if target_phys_addr_t is a 64 bit type. (This is better than
using TARGET_FMT_plx because we really don't need a full
16 digit hex string to print the offset into a device.)

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Eric Blake <eblake@redhat.com>
hw/cadence_gem: Make rx_desc_addr and tx_desc_addr uint32_t

Make the state fields rx_desc_addr and tx_desc_addr uint32_t;
this matches the VMStateDescription, and also conforms to how
hardware works: the registers don't magically become larger
if the device is attached to a CPU with a larger physical
address size. It also fixes a compile failure if the
target_phys_addr_t type is changed to 64 bits.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Peter A. G. Crosthwaite <peter.crosthwaite@petalogix.com>
target-arm: Use target_phys_addr_t in get_phys_addr()

In the implementation of get_phys_addr(), consistently use
target_phys_addr_t to hold the physical address rather than
uint32_t.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Add Eurecom contributors to AUTHORS

Added myself and Jonas to authors list.

Signed-off-by: Luca Bruno <lucab@debian.org>
Unify ARM BaseInstructions plugin

Add some conditional compilation to the base one, to avoid having
several per-arch codebase. Better abstraction still to be done.

Signed-off-by: Luca Bruno <lucab@debian.org>
Centralize S2E opcodes register usage definition

Make more esplicit the register usage of custom S2E opcodes.
This helps documenting the ASM interface and at the same time
removes a lot of target-specific code in favor of compile-time
constants.

Signed-off-by: Luca Bruno <lucab@debian.org>
Move debug messages to proper debug stream

Signed-off-by: Luca Bruno <lucab@debian.org>
BaseInstructions: enable sleep opcode for ARM

Signed-off-by: Luca Bruno <lucab@debian.org>
EdgeKiller: enable plugin for ARM

Signed-off-by: Luca Bruno <lucab@debian.org>