Statistics
| Branch: | Revision:

root @ 7e5609a8

# Date Author Comment
2668b4bf 01/13/2014 03:04 pm Eduardo Habkost

tests: Some unit tests for vmstate.c

  • Basic load/save tests
  • Tests for loading older versions
  • Tests for .field_exists() handling

Signed-off-by: Eduardo Habkost <>
Signed-off-by: Juan Quintela <>

9c22687e 01/13/2014 03:04 pm Juan Quintela

bitmap: use long as index

Move index and size fields from int to long. We need that for
migration. long is 64 bits on sane architectures, and 32bits should
be enough on all the 32bits architectures.

Signed-off-by: Juan Quintela <>
Reviewed-by: Eric Blake <>...

e2da99d5 01/13/2014 03:04 pm Juan Quintela

memory: cpu_physical_memory_set_dirty_flags() result is never used

So return void.

Signed-off-by: Juan Quintela <>
Reviewed-by: Orit Wasserman <>
Reviewed-by: Eric Blake <>

78d00426 01/13/2014 03:04 pm Juan Quintela

memory: cpu_physical_memory_set_dirty_range() return void

Signed-off-by: Juan Quintela <>
Reviewed-by: Orit Wasserman <>
Reviewed-by: Eric Blake <>

06567942 01/13/2014 03:04 pm Juan Quintela

exec: use accessor function to know if memory is dirty

Signed-off-by: Juan Quintela <>
Reviewed-by: Orit Wasserman <>
Reviewed-by: Eric Blake <>

a1390db4 01/13/2014 03:04 pm Juan Quintela

memory: create function to set a single dirty bit

Signed-off-by: Juan Quintela <>
Reviewed-by: Orit Wasserman <>
Reviewed-by: Eric Blake <>

7e5609a8 01/13/2014 03:04 pm Juan Quintela

exec: create function to get a single dirty bit

Signed-off-by: Juan Quintela <>
Reviewed-by: Eric Blake <>
Reviewed-by: Orit Wasserman <>

38ff78d3 01/13/2014 01:39 pm Eduardo Habkost

savevm.c: Coding style fixes

Signed-off-by: Eduardo Habkost <>
Reviewed-by: Orit Wasserman <>
Signed-off-by: Juan Quintela <>

51b7fa5b 01/13/2014 01:39 pm Eduardo Habkost

savevm.c: Coding style fix

Signed-off-by: Eduardo Habkost <>
Reviewed-by: Orit Wasserman <>
Signed-off-by: Juan Quintela <>

b6fcfa59 01/13/2014 01:39 pm Eduardo Habkost

vmstate: Move VMState code to vmstate.c

This will allow unit tests to be written for VMState code without
pulling dependencies from the savevm code.

Signed-off-by: Eduardo Habkost <>
Reviewed-by: Orit Wasserman <>
Signed-off-by: Juan Quintela <>

093c455a 01/13/2014 01:39 pm Eduardo Habkost

qemu-file: Move QEMUFile code to qemu-file.c

Signed-off-by: Eduardo Habkost <>
Reviewed-by: Orit Wasserman <>
Signed-off-by: Juan Quintela <>

bb1a6d8c 01/13/2014 01:39 pm Eduardo Habkost

savevm: Small comment about why timer QEMUFile/VMState code is in savevm.c

Signed-off-by: Eduardo Habkost <>
Reviewed-by: Orit Wasserman <>
Signed-off-by: Juan Quintela <>

6f2b811a 01/13/2014 01:39 pm Zhanghaoyu (A)

avoid a bogus COMPLETED->CANCELLED transition

Avoid a bogus COMPLETED->CANCELLED transition.
There is a period of time from the timing of setting COMPLETED state to that of migration thread exits, so during which it's problematic in COMPLETED->CANCELLED transition....

51cf4c1a 01/13/2014 01:39 pm Zhanghaoyu (A)

introduce MIG_STATE_CANCELLING state

Introduce MIG_STATE_CANCELLING state to avoid starting a new migration task while the previous one still exist.

Signed-off-by: Zeng Junliang <>
Signed-off-by: Zhang Haoyu <>...

40596834 01/13/2014 01:39 pm Matthew Garrett

migration: Fix rate limit

The migration thread appears to want to allow writeout to occur at full
speed rather than being rate limited during completion of state saving,
but sets the limit to INT_MAX when xfer_limit is INT64_MAX. This causes
problems if there's more than 2GB of state left to save at this point. It...

c961514f 01/13/2014 01:39 pm Eduardo Habkost

qemu-file: Make a few functions non-static

The QEMUFile code will be moved to qemu-file.c. This will require making
the following functions non-static because they are used by the savevm.c
code:

  • qemu_peek_byte()
  • qemu_peek_buffer()
  • qemu_file_skip()...
b5503338 01/13/2014 01:39 pm Eduardo Habkost

migration: Move QEMU_VM_* defines to migration/migration.h

The VMState code will be moved to vmstate.c and it uses some of the
QEMU_VM_* constants, so move it to a header.

Signed-off-by: Eduardo Habkost <>
Reviewed-by: Orit Wasserman <>...

5cecf414 01/13/2014 01:39 pm Eduardo Habkost

savevm: Convert all tabs to spaces

Signed-off-by: Eduardo Habkost <>
Reviewed-by: Orit Wasserman <>
Signed-off-by: Juan Quintela <>

dd089c0a 01/13/2014 03:50 am Anthony Liguori

Merge remote-tracking branch 'pmaydell/tags/pull-cocoa-20140112' into staging

cocoa queue: * pass command key to guest when VM has mousegrab * add .qcow2 to extension list for image load dialog * fix bugs in code for starting QEMU via image load dialog...

42bf25a9 01/13/2014 03:50 am Anthony Liguori

Merge remote-tracking branch 'pmaydell/tags/pull-target-arm-20140112' into staging

target-arm queue: * build fix for bigendian hosts

  1. gpg: Signature made Sun 12 Jan 2014 01:38:22 PM PST using RSA key ID 14360CDE
  2. gpg: Can't check signature: public key not found...
5342f990 01/13/2014 12:27 am Peter Maydell

ui/cocoa: Add ".qcow2" to extension list for image load dialog

Add ".qcow2" to the list of file extensions which are accepted
by the initial disk image load dialog which is displayed if the
user runs QEMU without any command line arguments.

Signed-off-by: Peter Maydell <>...

98db429d 01/13/2014 12:27 am Peter Maydell

ui/cocoa: Fix code for starting QEMU via image file load dialog

Fix a number of bugs in the code for starting QEMU via the image
file load dialog: * use the actual argv0 rather than "qemu": this avoids failures to
find BIOS image files caused by not looking in the correct directory...

d3345a04 01/13/2014 12:27 am Peter Maydell

ui/cocoa: Redraw at correct size when switching surface

If the surface switch involved a resize, we were doing the redraw
at the old size rather than the new, because the update of
screen.width and screen.height was being done after the setFrame
method calls which triggered a redraw. Normally this isn't very...

7d270b1c 01/13/2014 12:27 am Peter Maydell

ui/cocoa: Draw black rectangle if we have no data yet

If our redraw method is called before we have any data from the guest,
then draw a black rectangle rather than leaving the window empty.
This mostly only matters when the guest machine has no framebuffer...

49060c29 01/13/2014 12:27 am Peter Maydell

ui/cocoa: Remove stray tabs

The ui/cocoa.m file has just three lines with hardcoded tabs; fix them.

Signed-off-by: Peter Maydell <>
Reviewed-by: Stefan Weil <>
Message-id:

30ef3c74 01/13/2014 12:27 am Peter Maydell

MAINTAINERS: add myself as cocoa UI co-maintainer

Add myself to the maintainers list for the cocoa UI; status
remains "Odd Fixes".

Signed-off-by: Peter Maydell <>
Acked-by: Andreas Färber <>
Message-id:

01cc4e6f 01/13/2014 12:25 am Peter Maydell

ui/cocoa: Send warning message to stderr, not stdout

Bring a warning message into line with the others in this file by
sending it to stderr, not stdout.

Signed-off-by: Peter Maydell <>
Message-id:

8895919a 01/13/2014 12:23 am Peter Maydell

ui/cocoa: Pass command key through to guest when VM has mousegrab

The guest might want to be able to use the command key for its won
purposes (as command if it is MacOS X, or for the Windows key if
it is a PC guest, for instance). In line with other UI frontends,...

49b9bd4d 01/13/2014 12:23 am Peter Maydell

ui/cocoa: Correct typos in comments and variable names

Fix various non-user-visible typos in comments and variable names.

Signed-off-by: Peter Maydell <>
Reviewed-by: Stefan Weil <>
Message-id:

5cd8a118 01/12/2014 11:37 pm Alexey Kardashevskiy

arm: fix compile on bigendian host

Signed-off-by: Alexey Kardashevskiy <>
Signed-off-by: Peter Maydell <>

eedc1a5d 01/10/2014 09:05 pm Anthony Liguori

Merge remote-tracking branch 'bonzini/scsi-next' into staging

  • bonzini/scsi-next:
    scsi-disk: add UNMAP limits to block limits VPD page
    block/iscsi: use a bh to schedule co reentrance

Message-id: ...

debe40fb 01/10/2014 09:05 pm Anthony Liguori

Merge remote-tracking branch 'stefanha/block' into staging

  • stefanha/block:
    commit: Remove unused check
    qemu-iotests: Update test cases for commit active
    commit: Support commit active layer
    block: Add commit_active_start()
    mirror: Move base to MirrorBlockJob...
d1819762 01/10/2014 09:04 pm Anthony Liguori

Merge remote-tracking branch 'mst/tags/for_anthony' into staging

acpi,pci,pc,fedora,virtio fixes and enhancements

This includes some Preparatory patches for cpu hotplug for q25 and memory
hotplug by Igor, tests and memory mapping change
by Laszlo and pci reset cleanup by Paolo....

4cddc7f4 01/10/2014 09:04 pm Anthony Liguori

Merge remote-tracking branch 'afaerber/tags/qom-cpu-for-anthony' into staging

QOM CPUState refactorings / X86CPU

  • TLB invalidation optimizations
  • X86CPU initialization cleanups
  • Preparations for X86CPU hot-unplug
  1. gpg: Signature made Tue 24 Dec 2013 04:51:52 AM PST using RSA key ID 3E7E013F...
62a6a1fb 01/10/2014 08:48 pm Anthony Liguori

Merge remote-tracking branch 'pmaydell/tags/pull-target-arm-20140107' into staging

target-arm queue: * further A64 decoder patches, including enabling the aarch64-linux-user
target; this includes full floating point support. Neon is not yet
supported....

205b6b61 01/10/2014 08:47 pm Anthony Liguori

Merge remote-tracking branch 'riku/linux-user-for-upstream' into staging

  • riku/linux-user-for-upstream:
    linux-user: Remove regs parameter of load_elf_binary and load_flt_binary
    linux-user: Support the accept4 socketcall

Message-id: ...

f0116c54 01/10/2014 08:51 am Will Newton

linux-user: Remove regs parameter of load_elf_binary and load_flt_binary

The regs parameter is not used anywhere, so remove it.

Signed-off-by: Will Newton <>
Reviewed-by: Erik de Castro Lopo <>
Reviewed-by: Andreas Färber <>...

b9d36eb2 01/10/2014 08:51 am André Hentschel

linux-user: Support the accept4 socketcall

Cc: Riku Voipio <>
Signed-off-by: André Hentschel <>
Reviewed-by: Peter Maydell <>
Reviewed-by: Erik de Castro Lopo <>
Reviewed-by: Laurent Vivier <>...

1d327fb4 01/09/2014 11:56 pm Anthony Liguori

Merge remote-tracking branch 'otubo/seccomp' into staging

  • otubo/seccomp:
    seccomp: exit if seccomp_init() fails

Message-id:
Signed-off-by: Anthony Liguori <>

074dcc22 01/09/2014 11:44 pm Anthony Liguori

Merge remote-tracking branch 'rth/ldst-i386-2' into staging

  • rth/ldst-i386-2: (49 commits)
    target-i386: Tidy ljmp
    target-i386: Rename gen_op_jmp_T0 to gen_op_jmp_v
    target-i386: Tidy some size computation
    target-i386: Remove gen_op_mov_reg_A0
    target-i386: Remove gen_op_mov_TN_reg...
c06f13c6 01/09/2014 09:24 pm Anthony Liguori

Merge remote-tracking branch 'afaerber/tags/qom-devices-for-anthony' into staging

QOM infrastructure fixes and device conversions

  • QOM interface fixes and unit test
  • Device no_user sanitization and documentation
  • Device error reporting improvement
  • Conversion of APIC, ICC, IOAPIC to QOM realization model...
666eb032 01/09/2014 09:24 pm Anthony Liguori

Merge remote-tracking branch 'mjt/trivial-patches' into staging

  • mjt/trivial-patches:
    acpi unit-test: Remove temporary disk after test
    mainstone: Fix duplicate array values for key 'space'
    pxa27x: Add 'const' attribute to keyboard maps
    pxa27x: Reduce size of keyboard matrix mapping...
b61740db 01/09/2014 09:23 pm Anthony Liguori

Merge remote-tracking branch 'pmaydell/tags/pull-target-arm-20140108' into staging

target-arm queue: * further A64 decoder patches, including enabling the aarch64-linux-user
target; this includes full floating point support. Neon is not yet
supported....

52a1f6a3 01/08/2014 09:07 pm Alexander Graf

target-arm: A64: Add floating-point<->fixed-point instructions

This patch adds emulation for the instruction group labeled
"Floating-point <-> fixed-point conversions" in the ARM ARM.

Namely this includes the instructions SCVTF, UCVTF, FCVTZS, FCVTZU
(scalar, fixed-point)....

c436d406 01/08/2014 09:07 pm Will Newton

target-arm: A64: Add floating-point<->integer conversion instructions

Add support for the AArch64 floating-point <-> integer conversion
instructions to disas_fpintconv. In the process we can rearrange
and simplify the detection of unallocated encodings a little....

d9b0848d 01/08/2014 09:07 pm Peter Maydell

target-arm: A64: Add 1-source 32-to-32 and 64-to-64 FP instructions

This patch adds support for those instructions in the "Floating-point
data-processing (1 source)" group which are simple 32-bit-to-32-bit
or 64-bit-to-64-bit operations (ie everything except FCVT between...

8900aad2 01/08/2014 09:07 pm Peter Maydell

target-arm: A64: Add support for FCVT between half, single and double

Add support for FCVT between half, single and double precision.

Signed-off-by: Peter Maydell <>
Reviewed-by: Richard Henderson <>

7b1aa025 01/08/2014 09:07 pm Michael S. Tsirkin

target-arm: fix build with gcc 4.8.2

commit 5ce4f35781028ce1aee3341e6002f925fdc7aaf3
"target-arm: A64: add set_pc cpu method"

introduces an array aarch64_cpus which is zero
size if this code is built without CONFIG_USER_ONLY.
In particular an attempt to iterate over this array produces a warning...

04050c5c 01/08/2014 09:07 pm Christoffer Dall

arm_gic: Rename GIC_X_TRIGGER to GIC_X_EDGE_TRIGGER

TRIGGER can really mean mean anything (e.g. was it triggered, is it
level-triggered, is it edge-triggered, etc.). Rename to EDGE_TRIGGER to
make the code comprehensible without looking up the data structure....

9df90ad0 01/08/2014 09:07 pm Christoffer Dall

hw: arm_gic: Introduce gic_set_priority function

To make the code slightly cleaner to look at and make the save/restore
code easier to understand, introduce this function to set the priority of
interrupts.

Reviewed-by: Peter Maydell <>...

38970efa 01/08/2014 09:07 pm Peter Maydell

softfloat: Fix exception flag handling for float32_to_float16()

Our float32 to float16 conversion routine was generating the correct
numerical answers, but not always setting the right set of exception
flags. Fix this, mostly by rearranging the code to more closely...

f581bf54 01/08/2014 09:07 pm Will Newton

softfloat: Add float to 16bit integer conversions.

ARMv8 requires support for converting 32 and 64bit floating point
values to signed and unsigned 16bit integers.

Signed-off-by: Will Newton <>
[PMM: updated not to incorrectly set Inexact for Invalid inputs]...

8afbdaba 01/08/2014 09:07 pm Peter Maydell

softfloat: Add 16 bit integer to float conversions

Add the float to 16 bit integer conversion routines. These can be
trivially implemented in terms of the int32_to_float* routines, but
providing them makes our API more symmetrical and can simplify callers....

c4850f9e 01/08/2014 09:07 pm Peter Maydell

softfloat: Make the int-to-float functions take exact-width types

Currently the int-to-float functions take types which are specified
as "at least X bits wide", rather than "exactly X bits wide". This is
confusing and unhelpful since it means that the callers have to include...

fb3ea83a 01/08/2014 09:07 pm Tom Musta

softfloat: Fix float64_to_uint64

The comment preceding the float64_to_uint64 routine suggests that
the implementation is broken. And this is, indeed, the case.

This patch properly implements the conversion of a 64-bit floating
point number to an unsigned, 64 bit integer....

34e1c27b 01/08/2014 09:07 pm Peter Maydell

softfloat: Only raise Invalid when conversions to int are out of range

We implement a number of float-to-integer conversions using conversion
to an integer type with a wider range and then a check against the
narrower range we are actually converting to. If we find the result to...

3c85c37f 01/08/2014 09:07 pm Peter Maydell

softfloat: Fix factor 2 error for scalbn on denormal inputs

If the input to float*_scalbn() is denormal then it represents
a number 0.[mantissabits] * 2^(1-exponentbias) (and the actual
exponent field is all zeroes). This means that when we convert
it to our unpacked encoding the unpacked exponent must be one...

2f18bbf9 01/08/2014 09:07 pm Tom Musta

softfloat: Add float32_to_uint64()

This patch adds the float32_to_uint64() routine, which converts a
32-bit floating point number to an unsigned 64 bit number.

This contribution can be licensed under either the softfloat-2a or -2b
license.

Signed-off-by: Tom Musta <>...

0a87a310 01/08/2014 09:07 pm Tom Musta

softfloat: Fix float64_to_uint64_round_to_zero

The float64_to_uint64_round_to_zero routine is incorrect.

For example, the following test pattern:

46697351FF4AEC29 / 0x1.97351ff4aec29p+103

currently produces 8000000000000000 instead of FFFFFFFFFFFFFFFF....

5e7f654f 01/08/2014 09:07 pm Tom Musta

softfloat: Fix float64_to_uint32

The float64_to_uint32 has several flaws:

- for numbers between 2**32 and 2**64, the inexact exception flag
may get incorrectly set. In this case, only the invalid flag
should be set.
test pattern: 425F81378DC0CD1F / 0x1.f81378dc0cd1fp+38...
fd728f2f 01/08/2014 09:07 pm Tom Musta

softfloat: Fix float64_to_uint32_round_to_zero

The float64_to_uint32_round_to_zero routine is incorrect.

For example, the following test pattern:

425F81378DC0CD1F / 0x1.f81378dc0cd1fp+38

will erroneously set the inexact flag.

This patch re-implements the routine to use the float64_to_uint64_round_to_zero...

879d096b 01/08/2014 09:07 pm Peter Maydell

softfloat: Provide complete set of accessors for fp state

Tidy up the get/set accessors for the fp state to add missing ones
and make them all inline in softfloat.h rather than some inline and
some not.

Signed-off-by: Peter Maydell <>...

c4a1c5e7 01/08/2014 09:07 pm Peter Maydell

softfloat: Factor out RoundAndPackFloat16 and NormalizeFloat16Subnormal

In preparation for adding conversions between float16 and float64,
factor out code currently done inline in the float16<=>float32
conversion functions into functions RoundAndPackFloat16 and...

14c9a07e 01/08/2014 09:07 pm Peter Maydell

softfloat: Add float16 <=> float64 conversion functions

Add the conversion functions float16_to_float64() and
float64_to_float16(), which will be needed for the ARM
A64 instruction set.

Signed-off-by: Peter Maydell <>
Reviewed-by: Richard Henderson <>

dc355b76 01/08/2014 09:07 pm Peter Maydell

softfloat: Refactor code handling various rounding modes

Refactor the code in various functions which calculates rounding
increments given the current rounding mode, so that instead of a
set of nested if statements we have a simple switch statement.
This will give us a clean place to add the case for the new...

f9288a76 01/08/2014 09:07 pm Peter Maydell

softfloat: Add support for ties-away rounding

IEEE754-2008 specifies a new rounding mode:

"roundTiesToAway: the floating-point number nearest to the infinitely
precise result shall be delivered; if the two nearest floating-point
numbers bracketing an unrepresentable infinitely precise result are...

8ed697e8 01/08/2014 09:07 pm Will Newton

target-arm: Prepare VFP_CONV_FIX helpers for A64 uses

Make the VFP_CONV_FIX helpers a little more flexible in
preparation for the A64 uses. This requires two changes: * use the correct softfloat conversion function based on itype
rather than always the int32 one; this is possible now that...

16d5b3ca 01/08/2014 09:07 pm Will Newton

target-arm: Rename A32 VFP conversion helpers

The VFP conversion helpers for A32 round to zero as this is the only
rounding mode supported. Rename these helpers to make it clear that
they round to zero and are not suitable for use in the AArch64 code.

Signed-off-by: Will Newton <>...

abe66f70 01/08/2014 09:07 pm Peter Maydell

target-arm: Ignore most exceptions from scalbn when doing fixpoint conversion

The VFP fixed point conversion helpers first call float_scalbn and
then convert the result to an integer. This scalbn operation may
set floating point exception flags for: * overflow & inexact (if it overflows to infinity)...

3c6a074a 01/08/2014 09:07 pm Will Newton

target-arm: A64: Add extra VFP fixed point conversion helpers

Define the full set of floating point to fixed point conversion
helpers required to support AArch64.

Signed-off-by: Will Newton <>
Signed-off-by: Peter Maydell <>...

13a7f79d 01/08/2014 09:07 pm Peter Maydell

default-configs: Add config for aarch64-linux-user

Add a config for aarch64-linux-user, thereby enabling it as
a valid target.

Signed-off-by: Peter Maydell <>
Signed-off-by: Alexander Graf <>
Reviewed-by: Richard Henderson <>

f6d8a314 01/08/2014 09:07 pm Alexander Graf

target-arm: A64: Add support for dumping AArch64 VFP register state

When dumping the current CPU state, we can also get a request
to dump the FPU state along with the CPU's integer state.

Add support to dump the VFP state when that flag is set, so that
we can properly debug code that modifies floating point registers....

e2f90565 01/08/2014 09:07 pm Peter Maydell

target-arm: A64: Fix vector register access on bigendian hosts

The A64 128 bit vector registers are stored as a pair of
uint64_t values in the register array. This means that if
we're directly loading or storing a value of size less than
64 bits we must adjust the offset appropriately to account...

f71a2ae5 01/08/2014 09:07 pm Peter Maydell

target-arm: Use VFP_BINOP macro for min, max, minnum, maxnum

Use the VFP_BINOP macro to provide helpers for min, max, minnum
and maxnum, rather than hand-rolling them. (The float64 max
version is not used by A32 but will be needed for A64.)

Signed-off-by: Peter Maydell <>...

ec73d2e0 01/08/2014 09:07 pm Alexander Graf

target-arm: A64: Add "Floating-point data-processing (2 source)" insns

This patch adds emulation for the "Floating-point data-processing (2 source)"
group of instructions.

Signed-off-by: Alexander Graf <>
[WN: Commit message tweak, merge single and double precision patches. Rebase...

6a30667f 01/08/2014 09:07 pm Alexander Graf

target-arm: A64: Add "Floating-point data-processing (3 source)" insns

This patch adds emulation for the "Floating-point data-processing (3 source)"
group of instructions.

Signed-off-by: Alexander Graf <>
[WN: Commit message tweak, merged single and double precision patches....

6163f868 01/08/2014 09:07 pm Alexander Graf

target-arm: A64: Add fmov (scalar, immediate) instruction

This patch adds emulation for the fmov instruction working on scalars
with an immediate payload.

Signed-off-by: Alexander Graf <>
[WN: Commit message tweak, rebase and use new infrastructure.]...

da7dafe7 01/08/2014 09:07 pm Claudio Fontana

target-arm: A64: Add support for floating point compare

Add decoding support for C3.6.22 Floating-point compare.

Signed-off-by: Claudio Fontana <>
Signed-off-by: Peter Maydell <>
Reviewed-by: Richard Henderson <>

513f1d76 01/08/2014 09:07 pm Claudio Fontana

target-arm: A64: Add support for floating point conditional compare

This adds decoding support for C3.6.23 FP Conditional Compare.

Signed-off-by: Claudio Fontana <>
Signed-off-by: Peter Maydell <>
Reviewed-by: Richard Henderson <>

5640ff62 01/08/2014 09:07 pm Claudio Fontana

target-arm: A64: Add support for floating point cond select

This adds decoding support for C3.6.24 FP conditional select.

Signed-off-by: Claudio Fontana <>
Signed-off-by: Peter Maydell <>
Reviewed-by: Richard Henderson <>

4d3da0f3 01/08/2014 09:07 pm Alexander Graf

target-arm: Give the FPSCR rounding modes names

When setting rounding modes we currently just hardcode the numeric values
for rounding modes in a big switch statement.

With AArch64 support coming, we will need to refer to these rounding modes
at different places throughout the code though, so let's better give them...

059ca2bf 01/08/2014 09:07 pm Peter Crosthwaite

char/cadence_uart: Mark struct fields as public/private

As per current QOM conventions.

Signed-off-by: Peter Crosthwaite <>
Message-id:
Signed-off-by: Peter Maydell <>

589bfb68 01/08/2014 09:07 pm Peter Crosthwaite

char/cadence_uart: Add missing uart_update_state

This should be rechecked on bus write accesses as such accesses may
change the underlying state that generates the interrupt. Particular
relevant for when the guest touches the interrupt status or mask.

Signed-off-by: Peter Crosthwaite <>...

823dd487 01/08/2014 09:07 pm Peter Crosthwaite

char/cadence_uart: Fix reset.

Don't reset the uart as an init step. Register the reset function as a
proper reset fn instead.

Signed-off-by: Peter Crosthwaite <>
Message-id: ...

1e77c91e 01/08/2014 09:07 pm Peter Crosthwaite

char/cadence_uart: s/r_fifo/rx_fifo

Rename this field to match the many other uses of "rx". Xilinx
docmentation (UG585) also refers to this as "RxFIFO".

Signed-off-by: Peter Crosthwaite <>
Message-id: ...

676f4c09 01/08/2014 09:07 pm Peter Crosthwaite

char/cadence_uart: Simplify status generation

The status register bits are always pure functions of other device
state. Move the generation of these bits to the update_status()
function to simplify. Makes developing much easier as theres now no need
to recheck status bits on all the changes to rx/tx fifo state....

11a239a5 01/08/2014 09:07 pm Peter Crosthwaite

char/cadence_uart: Define Missing SR/ISR fields

Some (interrupt) status register bits relating to the TxFIFO path were
not defined. Define them. This prepares support for proper Tx data path
flow control.

Signed-off-by: Peter Crosthwaite <>...

2152e08a 01/08/2014 09:07 pm Peter Crosthwaite

char/cadence_uart: Remove TX timer & add TX FIFO state

This tx timer implementation is flawed. Despite the controller
attempting to time the guest visable assertion of the TX-empty status
bit (and corresponding interrupt) the controller is still transmitting...

d0ac820f 01/08/2014 09:07 pm Peter Crosthwaite

char/cadence_uart: Fix can_receive logic

The can_receive logic was only taking into account the RxFIFO
occupancy. RxFIFO population is only used for the echo and normal modes
however. Improve the logic to correctly return the true number of
receivable characters based on the current mode:...

86baecc3 01/08/2014 09:07 pm Peter Crosthwaite

char/cadence_uart: Use the TX fifo for transmission

Populate the TxFIFO with the Tx data before sending. Prepares
support for proper Tx flow control implementation.

Signed-off-by: Peter Crosthwaite <>
Message-id: ...

1e5d8cac 01/08/2014 09:07 pm Peter Crosthwaite

char/cadence_uart: Delete redundant rx rst logic

uart_rx_reset() called immediately above already does this. Remove.

Signed-off-by: Peter Crosthwaite <>
Message-id: ...

38acd64b 01/08/2014 09:07 pm Peter Crosthwaite

char/cadence_uart: Implement Tx flow control

If the UART back-end blocks, buffer in the Tx FIFO to try again later.
This stops the IO-thread busy waiting on char back-ends (which causes
all sorts of performance problems).

Signed-off-by: Peter Crosthwaite <>...

a4f0cec6 01/08/2014 09:07 pm Sergey Fedorov

target-arm: use c13_context field for CONTEXTIDR

Use c13_context field instead of c13_fcse for CONTEXTIDR register
definition.

Signed-off-by: Sergey Fedorov <>
Reviewed-by: Peter Crosthwaite <>
Reviewed-by: Peter Maydell <>...

afb2530f 01/08/2014 09:07 pm Peter Crosthwaite

target-arm: remove raw_read|write duplication

There is an inline duplication of the raw_read and raw_write function
bodies. Fix by just calling raw_read/raw_write instead.

Signed-off-by: Peter Crosthwaite <>
Reviewed-by: Peter Maydell <>...

7fcd57e8 01/08/2014 09:07 pm Peter Crosthwaite

arm/xilinx_zynq: Always instantiate the GEMs

Don't conditionalise GEM instantiation on networking attachments. The
device should always be present even if not attached to a network.

This allows for probing of the device by expectant guests (such as
OS's). This is needed because sysbus (or AXI in Xilinx's real hw case)...

03d05e2d 01/08/2014 09:07 pm Peter Maydell

target-arm: Widen exclusive-access support struct fields to 64 bits

In preparation for adding support for A64 load/store exclusive instructions,
widen the fields in the CPU state struct that deal with address and data values
for exclusives from 32 to 64 bits. Although in practice AArch64 and AArch32...

fa2ef212 01/08/2014 09:07 pm Michael Matz

target-arm: A64: support for ld/st/cl exclusive

This implement exclusive loads/stores for aarch64 along the lines of
arm32 and ppc implementations. The exclusive load remembers the address
and loaded value. The exclusive store throws an an exception which uses...

1b69f006 01/08/2014 09:07 pm Claudio Fontana

linux-user: AArch64: define TARGET_CLONE_BACKWARDS

The AArch64 linux-user support was written before but merged after
commit 4ce6243dc621 which cleaned up the handling of the clone()
syscall argument order, so we failed to notice that AArch64 also needs
TARGET_CLONE_BACKWARDS to be defined. Add this define so that clone...

e0ee138b 01/08/2014 09:07 pm Will Newton

linux-user: AArch64: Use correct values for FPSR/FPCR in sigcontext

Use the helpers provided for getting the correct FPSR and FPCR
values for the signal context.

Signed-off-by: Will Newton <>
Signed-off-by: Peter Maydell <>...

08aef910 01/08/2014 09:07 pm Alex Bennée

.travis.yml: Add aarch64-* targets

Now the AArch64 targets are in mainline we can include them in our
Travis test matrix.

Signed-off-by: Alex Bennée <>
Signed-off-by: Peter Maydell <>