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>
CacheSim: enable plugin for ARM

Signed-off-by: Luca Bruno <lucab@debian.org>
qemu-arm: bugfix: env is RO when the tlb is filled

An update of env will cause klee to throw an error:
"""
KLEE: ERROR: memory error: object read only
KLEE: NOTE: now ignoring this error at this location
"""

To trigger the error the following test case can be used:

	/* assuming D is not in the TLB */
	#define D (*((unsigned int *)0x85000000))

	static void my_test(void)
	{
	    char b;
	    s2e_make_symbolic(&b, 1, "my_buf");

	    if (b == 'A') {
	        D = 0;
	        s2e_kill_state(0, "A");
	    } else {
	        s2e_kill_state(0, "not A");
	    }
	}

The fix is just an old hack that has been introduced in the commit:
394a0e3b999c9c4d76691ff81163731d908cdebb

Signed-off-by: Lucian Cojocar <cojocar@gmail.com>
s2e-arm: bugfix: pass message pointer in r0 for s2earm calls

The pointer to the message for the s2e_{message,warning} calls was not
set in the 'r0' register.

Signed-off-by: Lucian Cojocar <cojocar@gmail.com>
Emit instr_translate_start also in full ARM mode

Signed-off-by: Luca BRUNO <lucab@debian.org>
Implemented execution state getFlags() function for ARM

Signed-off-by: Jonas Zaddach <zaddach@eurecom.fr>
Uniform opcodes handling across architectures

Signed-off-by: Luca Bruno <lucab@debian.org>
RawMonitor: port plugin to ARM

Make RawMonitor plugin no more x86-dependent, port to ARM and enable it
on all architectures.

Signed-off-by: Luca Bruno <lucab@debian.org>
ModuleExecutionDetector: port plugin to ARM

Signed-off-by: Luca Bruno <lucab@debian.org>
Add more helpers for banked register

Add getters and setters for banked spsr and lr registers.

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