libqtest: Fix documentation copy&paste errors

The [qtest_]in[bwl]() functions/macros don't have a value argument.

Signed-off-by: Andreas Färber <afaerber@suse.de>
Message-id: 1360604139-16797-1-git-send-email-afaerber@suse.de
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
qtest: Use strtoull() for uint64_t

On 32-bit hosts, unsigned long may be uint32_t and uint64_t may be
unsigned long long. Account for this by always using strtoull().
We were already using strtoll() for int64_t.

Signed-off-by: Andreas Färber <afaerber@suse.de>
Reviewed-by: Anthony Liguori <aliguori@us.ibm.com>
Message-id: 1360600914-5448-2-git-send-email-afaerber@suse.de
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
libi2c-omap: Fix endianness dependency

The libqos driver for omap_i2c currently does not work on Big Endian.
Introduce helpers for reading from and writing to 16-bit armel registers.

This fixes tmp105-test failures on ppc.

To prepare for a QTest-level endianness solution, poison mem{read,write}
and always use the helpers. Adopt the expected signatures.
To avoid an unused variable warning, assert the STAT Single Byte Data
bit but, due to it not getting cleared, only it being set when len == 1.

Signed-off-by: Andreas Färber <andreas.faerber@web.de>
Message-id: 1360600914-5448-3-git-send-email-afaerber@suse.de
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
migration: restrict scope of incoming fd read handler

The incoming migration is processed in a coroutine and uses an fd read
handler to enter the yielded coroutine when data becomes available.

The read handler was set too broadly, so that spurious coroutine entries
were be triggered if other coroutine users yielded (like the block
layer's bdrv_write() function).

Install the fd read only only when yielding for more data to become
available.  This prevents spurious coroutine entries which break code
that assumes only a specific set of places can re-enter the coroutine.

This patch fixes crashes in block/raw-posix.c that are triggered with
"migrate -b" when qiov becomes a dangling pointer due to a spurious
coroutine entry that frees qiov early.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-id: 1360598505-5512-1-git-send-email-stefanha@redhat.com
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
qapi: Improve chardev-add documentation

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-id: 1360602348-4727-1-git-send-email-armbru@redhat.com
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
target-ppc: Fix CPU_POWERPC_MPC8547E

It was defined to ..._MPC8545E_v21 rather than ..._MPC8547E_v21.
Due to both resolving to CPU_POWERPC_e500v2_v21 this did not show.

Fixing this nontheless helps with QOM'ifying CPU aliases.

Signed-off-by: Andreas Färber <afaerber@suse.de>
target-ppc: Fix "G2leGP3" PVR

Unlike derived PVR constants mapped to CPU_POWERPC_G2LEgp3, the
"G2leGP3" model definition itself used the CPU_POWERPC_G2LEgp1 PVR.

Fixing this will allow to alias CPU_POWERPC_G2LEgp3-using types to
"G2leGP3".

Cc: qemu-stable@nongnu.org
Signed-off-by: Andreas Färber <afaerber@suse.de>
target-ppc: Inline comma into POWERPC_DEF_SVR() macro

To repurpose the POWERPC_DEF_SVR() macro outside of an array,
move the comma into the macro. No functional change.

Signed-off-by: Andreas Färber <afaerber@suse.de>
target-ppc: Extract aliases from definitions list

Move definitions that were 100% identical except for the name into a
list of aliases so that we don't register duplicate CPU types.

We need to support recursive lookup due to code names referencing a
generic name referencing a specific model revision.

List aliases separately for -cpu ?.

Signed-off-by: Andreas Färber <afaerber@suse.de>
target-ppc: Make -cpu "ppc" an alias to "ppc32"

Drop the #if 0'ed alternative to make it "ppc64" for TARGET_PPC64.
If we ever want to change it, we can more easily do so now.

Signed-off-by: Andreas Färber <afaerber@suse.de>
target-ppc: Extract MPC5xx aliases

Their PVR differed but was defined to MPC5xx.

Signed-off-by: Andreas Färber <afaerber@suse.de>
target-ppc: Extract MGT823/MPC8xx as aliases

They used different PVRs but were defined to MPC8xx.

Signed-off-by: Andreas Färber <afaerber@suse.de>
target-ppc: Extract 40x aliases

Signed-off-by: Andreas Färber <afaerber@suse.de>
target-ppc: Extract 440 aliases

Signed-off-by: Andreas Färber <afaerber@suse.de>
target-ppc: Extract ppc32 and ppc64 CPUs as aliases

Signed-off-by: Andreas Färber <afaerber@suse.de>
target-ppc: Extract 74x7[A] aliases

Signed-off-by: Andreas Färber <afaerber@suse.de>
target-ppc: Extract 74x5 as aliases

Signed-off-by: Andreas Färber <afaerber@suse.de>
target-ppc: Extract 74x1 aliases

Signed-off-by: Andreas Färber <afaerber@suse.de>
target-ppc: Extract 7450 alias

Signed-off-by: Andreas Färber <afaerber@suse.de>
target-ppc: Extract 7448 alias

Signed-off-by: Andreas Färber <afaerber@suse.de>