Statistics
| Branch: | Revision:

root @ 29eee86f

# Date Author Comment
749f7909 10/17/2012 07:34 pm Juan Quintela

buffered_file: unfold migrate_fd_wait_for_unfreeze

We only used it once, just remove the callback indirection.

Signed-off-by: Juan Quintela <>

11c76741 10/17/2012 07:34 pm Juan Quintela

buffered_file: unfold migrate_fd_close

We only used it once, just remove the callback indirection.

Signed-off-by: Juan Quintela <>

796b4b0f 10/17/2012 07:34 pm Juan Quintela

buffered_file: We can access directly to bandwidth_limit

Signed-off-by: Juan Quintela <>

Reviewed-by: Paolo Bonzini <>

3d6dff31 10/17/2012 07:34 pm Juan Quintela

buffered_file: callers of buffered_flush() already check for errors

Signed-off-by: Juan Quintela <>

Reviewed-by: Paolo Bonzini <>

d2dbc8e6 10/17/2012 07:34 pm Juan Quintela

buffered_file: make buffered_flush return the error code

Or the amount of data written if there is no error. Adjust all callers.

Signed-off-by: Juan Quintela <>

9499743f 10/17/2012 07:34 pm Juan Quintela

migration: make migrate_fd_wait_for_unfreeze() return errors

Adjust all callers

Signed-off-by: Juan Quintela <>

Reviewed-by: Paolo Bonzini <>

ffbfc74d 10/17/2012 07:34 pm Juan Quintela

savevm: unexport qemu_fflush

It is not used outside of savevm.c

Signed-off-by: Juan Quintela <>

Reviewed-by: Paolo Bonzini <>

e398d61b 10/17/2012 07:34 pm Juan Quintela

virtio-net: use qemu_get_buffer() in a temp buffer

qemu_fseek() is known to be wrong. Would be removed on the next
commit. This code should never been used (value has been
MAC_TABLE_ENTRIES since 2009).

Signed-off-by: Juan Quintela <>...

e5ae97ce 10/17/2012 07:34 pm Juan Quintela

savevm: Remove qemu_fseek()

It has no users, and is only half implemented.

Signed-off-by: Juan Quintela <>

Reviewed-by: Paolo Bonzini <>

7311bea3 10/17/2012 07:34 pm Juan Quintela

savevm: make qemu_fflush() return an error code

Adjust all the callers. We moved the set of last_error from inside
qemu_fflush() to all the callers.

Signed-off-by: Juan Quintela <>

Reviewed-by: Paolo Bonzini <>

29eee86f 10/17/2012 07:34 pm Juan Quintela

savevm: unfold qemu_fclose_internal()

It was used only one, and was only one if. It makes error handling
saner.

Signed-off-by: Juan Quintela <>

Reviewed-by: Paolo Bonzini <>

79536f4f 10/17/2012 07:34 pm Juan Quintela

fix migration sync

Signed-off-by: Juan Quintela <>

Reviewed-by: Paolo Bonzini <>

97d4d961 10/17/2012 07:34 pm Juan Quintela

migration: store end_time in a local variable

Signed-off-by: Juan Quintela <>

Reviewed-by: Paolo Bonzini <>
Reviewed-by: Orit Wasserman <>

9c5a9fcf 10/17/2012 07:34 pm Juan Quintela

migration: print total downtime for final phase of migration

Signed-off-by: Juan Quintela <>

Reviewed-by: Paolo Bonzini <>
Reviewed-by: Orit Wasserman <>

c00012f6 10/17/2012 07:34 pm Juan Quintela

migration: rename expected_time to expected_downtime

Signed-off-by: Juan Quintela <>

Reviewed-by: Paolo Bonzini <>
Reviewed-by: Orit Wasserman <>

859bc756 10/17/2012 07:34 pm Juan Quintela

migration: export migrate_get_current()

Signed-off-by: Juan Quintela <>

Reviewed-by: Paolo Bonzini <>

2c52ddf1 10/17/2012 07:34 pm Juan Quintela

migration: print expected downtime in info migrate

Signed-off-by: Juan Quintela <>

5a170775 10/17/2012 07:34 pm Juan Quintela

savevm: Factorize ram globals reset in its own function

Signed-off-by: Juan Quintela <>

Reviewed-by: Paolo Bonzini <>
Reviewed-by: Orit Wasserman <>

e44d26c8 10/17/2012 07:34 pm Juan Quintela

ram: introduce migration_bitmap_set_dirty()

It just marks a region of memory as dirty.

Signed-off-by: Juan Quintela <>

Reviewed-by: Paolo Bonzini <>
Reviewed-by: Orit Wasserman <>

69268cde 10/17/2012 07:34 pm Juan Quintela

ram: Introduce migration_bitmap_test_and_reset_dirty()

It just test if the dirty bit is set, and clears it.

Signed-off-by: Juan Quintela <>

Reviewed-by: Paolo Bonzini <>
Reviewed-by: Orit Wasserman <>

652d7ec2 10/17/2012 07:34 pm Juan Quintela

ram: Export last_ram_offset()

Is the only way of knowing the RAM size.

Signed-off-by: Juan Quintela <>

Reviewed-by: Paolo Bonzini <>

dd2df737 10/17/2012 07:34 pm Juan Quintela

ram: introduce migration_bitmap_sync()

Helper that we use each time that we need to syncronize the migration
bitmap with the other dirty bitmaps.

Signed-off-by: Juan Quintela <>

Reviewed-by: Paolo Bonzini <>

3c12193d 10/17/2012 07:34 pm Juan Quintela

ram: create trace event for migration sync bitmap

Signed-off-by: Juan Quintela <>

Reviewed-by: Paolo Bonzini <>

c6bf8e0e 10/17/2012 07:34 pm Juan Quintela

Separate migration bitmap

This patch creates a migration bitmap, which is periodically kept in
sync with the qemu bitmap. A separate copy of the dirty bitmap for the
migration limits the amount of concurrent access to the qemu bitmap
from iothread and migration thread (which requires taking the big...

8d017193 10/17/2012 07:34 pm Juan Quintela

migration: Add dirty_pages_rate to query migrate output

It indicates how many pages were dirtied during the last second.

Signed-off-by: Juan Quintela <>

2dddf6f4 10/17/2012 07:34 pm Paolo Bonzini

BufferedFile: append, then flush

Simplify the logic for pushing data from the buffer to the output
pipe/socket. This also matches more closely what will be the
operation of the migration thread.

Signed-off-by: Paolo Bonzini <>

Reviewed-by: Paolo Bonzini <>...

8e92c9e2 10/17/2012 07:34 pm Juan Quintela

buffered_file: rename opaque to migration_state

Signed-off-by: Juan Quintela <>

Reviewed-by: Paolo Bonzini <>

c7a8f0cd 10/17/2012 07:34 pm Juan Quintela

buffered_file: opaque is MigrationState

It always have that type, just change it.
We will remove buffered file later on the migration thread series.

Signed-off-by: Juan Quintela <>

Reviewed-by: Paolo Bonzini <>

c87b015b 10/17/2012 07:34 pm Juan Quintela

buffered_file: unfold migrate_fd_put_buffer

We only used it once, just remove the callback indirection

Signed-off-by: Juan Quintela <>

Reviewed-by: Paolo Bonzini <>

2c9adcb8 10/17/2012 07:34 pm Juan Quintela

buffered_file: unfold migrate_fd_put_ready

We only use it once, just remove the callback indirection.

Signed-off-by: Juan Quintela <>

Reviewed-by: Paolo Bonzini <>

05e72dc5 10/17/2012 07:34 pm Juan Quintela

buffered_file: g_realloc() can't fail

Signed-off-by: Juan Quintela <>

Reviewed-by: Paolo Bonzini <>
Reviewed-by: Orit Wasserman <>

b35d77d7 10/17/2012 02:32 am Andreas Färber

target-mips: Pass MIPSCPU to mips_vpe_is_wfi()

Needed for moving halted field to CPUState.
The variable name "c" is retained for MIPSCPU to leave "cpu" for CPUState.

Also change return type to bool while at it.

Signed-off-by: Andreas Färber <>...

c6679e90 10/17/2012 02:32 am Andreas Färber

target-mips: Pass MIPSCPU to mips_tc_sleep()

Needed for changing mips_vpe_sleep() argument type to MIPSCPU.

Signed-off-by: Andreas Färber <>
Signed-off-by: Aurelien Jarno <>

6f4d6b09 10/17/2012 02:32 am Andreas Färber

target-mips: Pass MIPSCPU to mips_vpe_sleep()

Needed for moving halted field to CPUState.

Signed-off-by: Andreas Färber <>
Signed-off-by: Aurelien Jarno <>

81bad50e 10/17/2012 02:32 am Andreas Färber

target-mips: Clean up other_cpu in helper_{d,e}vpe()

Free the variable name "other_cpu" for later use for MIPSCPU.

Fix off-by-one indentation while at it.

Signed-off-by: Andreas Färber <>
Signed-off-by: Aurelien Jarno <>

135dd63a 10/17/2012 02:32 am Andreas Färber

target-mips: Pass MIPSCPU to mips_tc_wake()

Needed for changing mips_vpe_is_wfi() argument type to MIPSCPU.

Signed-off-by: Andreas Färber <>
Signed-off-by: Aurelien Jarno <>

2174d1e1 10/17/2012 02:26 am Aurelien Jarno

tcg/ia64: remove suboptimal register shifting in qemu_ld/st ops

Remove suboptimal register shifting in qemu_ld/st ops, introduced at the
CONFIG_TCG_PASS_AREG0 time.

As mem_idx is now loaded in register R58/R59 for the slow path, we have
to make sure to do it last, to not add additional register constraints....

63975ea7 10/17/2012 02:26 am Aurelien Jarno

tcg/ia64: slightly optimize TLB access code

It is possible to slightly optimize the TLB access code, by replacing
the movi + and instructions by a deposit instruction.

Reviewed-by: Richard Henderson <>
Signed-off-by: Aurelien Jarno <>

c7d4475a 10/17/2012 02:26 am Richard Henderson

tcg-ia64: Implement deposit

Note that in the general reg=reg,reg case we're restricted
to 16-bit insertions. This makes it easy to allow "any"
constant as input, as post-truncation it will fit into the
constant load insn for which we have room in the bundle....

da897bf5 10/17/2012 02:26 am Blue Swirl

tcg/ia64: use stack for TCG temps

Use stack instead of temp_buf array in CPUState for TCG temps.

Signed-off-by: Blue Swirl <>
Signed-off-by: Aurelien Jarno <>

b90cf716 10/17/2012 02:26 am Aurelien Jarno

tcg/ia64: implement movcond_i32/64

Implement movcond_i32/64 on ia64 hosts. It is not possible to have
immediate compare arguments without adding a new bundle, but it is
possible to have 22-bit immediate value arguments.

Reviewed-by: Richard Henderson <>...

4a1d241e 10/17/2012 02:22 am Peter Maydell

tcg/arm: Implement movcond_i32

Implement movcond_i32 for ARM, as the sequence
mov dst, v2 (implicitly done by the tcg common code)
cmp c1, c2
movCC dst, v1

Signed-off-by: Peter Maydell <>
Signed-off-by: Aurelien Jarno <>

7fc645bf 10/17/2012 02:22 am Peter Maydell

tcg/arm: Factor out code to emit immediate or reg-reg op

The code to emit either an immediate cmp or a register cmp insn is
duplicated in several places; factor it out into its own function.

Signed-off-by: Peter Maydell <>
Signed-off-by: Aurelien Jarno <>

8b4a3df8 10/14/2012 01:55 pm malc

Fix popcnt in long mode

Thanks to Andriy Gapon for initial problem report.

Signed-off-by: malc <>

e0bbf9b5 10/13/2012 01:44 pm Andreas Färber

sun4m: Pass SPARCCPU to cpu_set_irq()

Needed for changing cpu_kick_irq() argument type to SPARCCPU.

Signed-off-by: Andreas Färber <>
Signed-off-by: Blue Swirl <>

38c66cf2 10/13/2012 01:44 pm Andreas Färber

sun4m: Pass SPARCCPU to cpu_kick_irq()

Needed for changing qemu_cpu_kick() argument type to CPUState.

Signed-off-by: Andreas Färber <>
Signed-off-by: Blue Swirl <>

6b678e1f 10/13/2012 01:44 pm Andreas Färber

sun4u: Pass SPARCCPU to {,s,hs}tick_irq() and cpu_timer_create()

Needed for changing cpu_kick_irq() argument type to SPARCCPU.

Signed-off-by: Andreas Färber <>
Signed-off-by: Blue Swirl <>

ce18c558 10/13/2012 01:44 pm Andreas Färber

sun4u: Pass SPARCCPU to cpu_kick_irq()

Needed for changing qemu_cpu_kick() argument type to CPUState.

Signed-off-by: Andreas Färber <>
Signed-off-by: Blue Swirl <>

b64ba4b2 10/13/2012 01:44 pm Andreas Färber

sun4u: Pass SPARCCPU to cpu_set_ivec_irq()

Needed for moving halted field to CPUState.

Signed-off-by: Andreas Färber <>
Signed-off-by: Blue Swirl <>

a7a49843 10/13/2012 01:39 pm Richard Henderson

tcg-sparc: Fix qemu_st for 32-bit

The datalo variable is still live in the miss path. Use another
when reconstructing the full data value.

Signed-off-by: Richard Henderson <>
Signed-off-by: Blue Swirl <>

7d458a75 10/13/2012 01:39 pm Richard Henderson

tcg-sparc: Fix setcond

The set of comparisons that can immediately use the carry are LTU/GEU,
not LTU/LEU. Don't swap operands when we need a temp register; the
register may already be in use from setcond2.

Signed-off-by: Richard Henderson <>...

4ec28e25 10/13/2012 01:39 pm Richard Henderson

tcg-sparc: Fix add2/sub2

We must care not to clobber the high parts before we consume them.

Signed-off-by: Richard Henderson <>
Signed-off-by: Blue Swirl <>

89269f6c 10/13/2012 01:39 pm Richard Henderson

tcg-sparc: Use Z constraint for %g0

Signed-off-by: Richard Henderson <>
Signed-off-by: Blue Swirl <>

fd84ea23 10/13/2012 01:39 pm Richard Henderson

tcg-sparc: Optimize setcond2 equality compare with 0.

Signed-off-by: Richard Henderson <>
Signed-off-by: Blue Swirl <>

a115f3ea 10/13/2012 01:39 pm Richard Henderson

tcg-sparc: Drop use of Bicc in favor of BPcc

Now that we're always sparcv9, we can not bother using Bicc for
32-bit branches and BPcc for 64-bit branches and instead always
use BPcc.

New interfaces allow less direct use of tcg_out32 and raw numbers
inside the qemu_ld/st routines....

345ce423 10/13/2012 01:39 pm Richard Henderson

tcg-sparc: Dump illegal opode contents

Signed-off-by: Richard Henderson <>
Signed-off-by: Blue Swirl <>

ab1339b9 10/13/2012 01:39 pm Richard Henderson

tcg-sparc: Emit BPr insns for brcond_i64

Signed-off-by: Richard Henderson <>
Signed-off-by: Blue Swirl <>

203342d8 10/13/2012 01:39 pm Richard Henderson

tcg-sparc: Emit MOVR insns for setcond_i64 and movcond_64

Signed-off-by: Richard Henderson <>
Signed-off-by: Blue Swirl <>

24c7f754 10/13/2012 01:39 pm Richard Henderson

tcg-sparc: Fix brcond2

Much the same problem as recently fixed for hppa.

Signed-off-by: Richard Henderson <>
Signed-off-by: Blue Swirl <>

ded37f0d 10/13/2012 01:39 pm Richard Henderson

tcg-sparc: Implement movcond.

Signed-off-by: Richard Henderson <>
Signed-off-by: Blue Swirl <>

dda73c78 10/13/2012 01:39 pm Richard Henderson

tcg-sparc: Fix setcond2

Like brcond2, use tcg_high_cond. Use movcc instead of branches.

Signed-off-by: Richard Henderson <>
Signed-off-by: Blue Swirl <>

0fa2a066 10/13/2012 01:17 pm Richard Henderson

target-sparc: Fix optimized %icc comparisons

Signed-off-by: Richard Henderson <>
Tested-by: Aurelien Jarno <>
Signed-off-by: Blue Swirl <>

96b5a3d3 10/13/2012 01:17 pm Richard Henderson

target-sparc: Optimize CC_OP_LOGIC conditions

Signed-off-by: Richard Henderson <>
Signed-off-by: Blue Swirl <>

6234ac09 10/13/2012 01:17 pm Richard Henderson

target-sparc: Avoid unnecessary local temporaries

Now that save_state never ends a BB, we don't need to copy
values into local temps around it.

Signed-off-by: Richard Henderson <>
Signed-off-by: Blue Swirl <>

20132b96 10/13/2012 01:17 pm Richard Henderson

target-sparc: Don't compute full flags value so often

Avoid speculatively computing flags before every potentially trapping
operation and instead do the flags computation when a trap actually
occurs. This gives approximately 30% speedup in emulation.

Signed-off-by: Richard Henderson <>...

ae72f3f5 10/12/2012 07:20 pm Anthony Liguori

Merge remote-tracking branch 'pmaydell/arm-devs.for-upstream' into staging

  • pmaydell/arm-devs.for-upstream:
    arm_gic: Rename gic_state to GICState
    zynq_slcr: Fixed ResetValues enum
    versatilepb: add gpio pl061 support
    hw/ds1338: Implement state save/restore...
5d9619aa 10/12/2012 07:19 pm Anthony Liguori

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

  • stefanha/trivial-patches:
    vnc: fix "info vnc" with "-vnc ..., reverse=on"
    sheepdog: use bool for boolean variables
    configure: Tidy up remnants of non-64-bit physaddrs
628cc97d 10/12/2012 05:14 pm Anthony Liguori

Merge remote-tracking branch 'kraxel/usb.67' into staging

  • kraxel/usb.67:
    uhci: Raise interrupt when requested even for non active tds
    usb-redir: Don't make migration fail in none seamless case
    usb-redir: Change usbredir_open_chardev into usbredir_create_parser
453162e1 10/12/2012 05:14 pm Anthony Liguori

Merge remote-tracking branch 'mdroth/qga-pull-10-9-12' into staging

  • mdroth/qga-pull-10-9-12:
    qemu-ga: ga_open_pidfile(): add new line to pidfile
    qemu-ga: use state dir from CONFIG_QEMU_LOCALSTATEDIR
    configure: add --localstatedir
557e01a3 10/12/2012 05:14 pm Anthony Liguori

Merge remote-tracking branch 'awilliam/tags/vfio-pci-for-qemu-20121008.0' into staging

  • awilliam/tags/vfio-pci-for-qemu-20121008.0:
    vfio-pci: Fix BAR->VFIODevice translation in
    vfio-pci: Clang cleanup
    vfio-pci: Cleanup on INTx setup failure
    vfio-pci: Extend reset...
4336ef7a 10/12/2012 05:14 pm Anthony Liguori

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

  • stefanha/net:
    net: consolidate NetClientState header files into one
    virtio-net: update nc.link_down in virtio_net_load()
    e1000: update nc.link_down in e1000_post_load()
    rtl8139: implement 8139cp link status
3f42ac89 10/12/2012 05:13 pm Anthony Liguori

Merge remote-tracking branch 'spice/spice.v61' into staging

  • spice/spice.v61:
    qxl: set default revision to 4
    spice: raise requirement to 0.12
    hw/qxl: qxl_dirty_surfaces: use uintptr_t
    hw/qxl: fix condition for exiting guest_bug
    hw/qxl: exit on failure to register qxl interface...
853e65e0 10/12/2012 01:54 pm Jean-Christophe PLAGNIOL-VI...

versatilepb: add gpio pl061 support

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <>
Signed-off-by: Peter Maydell <>

fa2ddcb4 10/12/2012 01:54 pm Peter A. G. Crosthwaite

zynq_slcr: Fixed ResetValues enum

There is a gap in the reset region of the address space at offset 0x208. This
throws out all these enum values by one when translating them to address offsets.
Fixed by putting the corresponding gap in the enum as well.
...

fae15286 10/12/2012 01:54 pm Peter Maydell

arm_gic: Rename gic_state to GICState

Rename the gic_state struct to match QEMU's coding style conventions
for structure names, since the impending KVM-for-ARM patches will
create another subclass of it. This patch was created using:
sed -i 's/gic_state/GICState/g' hw/arm_gic.c hw/arm_gic_common.c \...

ba4906a9 10/12/2012 01:54 pm Peter Maydell

hw/ds1338: Fix mishandling of register pointer

Correct several deficiencies in the handling of the register pointer: * it should wrap around after 0x3f, not 0xff * guard against the caller handing us an out of range pointer
(on h/w this can never happen, because only a 7 bit value is...

35b87a86 10/12/2012 01:54 pm Peter Maydell

hw/ds1338: Recapture current time when register pointer wraps around

The DS1338 datasheet documents that the current time is captured into
the secondary registers when the register pointer wraps round to zero
as well as at a START condition. Implement this....

7f7fd0f2 10/12/2012 01:54 pm Peter Maydell

hw/ds1338: Remove 'now' field from state struct

The 'struct tm now' field in the state structure is in fact only
ever used as a temporary (the actual RTC state is held in 'offset').
Remove it from the state structure in favour of using local variables
to avoid confusion about whether it needs to be saved on migration....

f4741402 10/12/2012 01:54 pm Peter Maydell

hw/ds1338: Implement state save/restore

Implement state save/restore for the DS1338. This requires
the usual minor adjustment of types in the state struct to
get fixed-width ones with vmstate macros.

Signed-off-by: Peter Maydell <>

884285bf 10/12/2012 01:54 pm Soren Brinkmann

cadence_ttc: Fix 'clear on read' behavior

A missing call to qemu_set_irq() when reading the IRQ register
required SW to write to the IRQ register to acknowledge an
interrupt. With this patch the behavior is fixed:
- Reading the interrupt register clears it and updates the timers...

9ab1b605 10/12/2012 01:54 pm Evgeny Voevodin

hw/arm_gic.c: Fix improper DPRINTF output.

s->cpu_enabled is an array, so s->cpu_enabled ? "En" : "Dis" returns
"En" always. We should use s->cpu_enabled[cpu] here.

Signed-off-by: Evgeny Voevodin <>
Signed-off-by: Peter Maydell <>

417b0b88 10/12/2012 11:55 am Paolo Bonzini

vnc: fix "info vnc" with "-vnc ..., reverse=on"

When reverse connection is in use, there is no active VNC server
socket. Because of this, getsockopt(-1, ...) is attempted and
the following error is emitted:

$ socat TCP-LISTEN:5900,reuseaddr TCP-LISTEN:5901,reuseaddr &...
1e14afef 10/12/2012 11:47 am Peter Maydell

configure: Tidy up remnants of non-64-bit physaddrs

Tidy up some remnants of code to support non-64-bit physaddrs
which were accidentally omitted from commit 4be403c8.

Signed-off-by: Peter Maydell <>
Signed-off-by: Stefan Hajnoczi <>

2f536801 10/12/2012 11:47 am MORITA Kazutaka

sheepdog: use bool for boolean variables

This improves readability.

Signed-off-by: MORITA Kazutaka <>
Signed-off-by: Stefan Hajnoczi <>

883bca77 10/11/2012 10:33 am Hans de Goede

uhci: Raise interrupt when requested even for non active tds

According to the spec we must raise an interrupt when one is requested
even for non active tds.

Linux depends on this, for bulk transfers it runs an inactivity timer
to work around a bug in early uhci revisions, when we take longer then...

dbbf0195 10/11/2012 10:32 am Hans de Goede

usb-redir: Change usbredir_open_chardev into usbredir_create_parser

As we need to create the parser at more places.

Signed-off-by: Hans de Goede <>
Signed-off-by: Gerd Hoffmann <>

5c16f767 10/11/2012 10:32 am Hans de Goede

usb-redir: Don't make migration fail in none seamless case

Instead simple disconnect the device like host redirection does on
migration.

Signed-off-by: Hans de Goede <>
Signed-off-by: Gerd Hoffmann <>

1e5b31e6 10/10/2012 04:13 am Peter A. G. Crosthwaite

qdev: allow multiple qdev_init_gpio_in() calls

Allow multiple qdev_init_gpio_in() calls for the one device. The first call will
define GPIOs 0-N-1, the next GPIOs N- ... . Allows different GPIOs to be handled
with different handlers. Needed when two levels of the QOM class heirachy both...

8120e714 10/10/2012 04:13 am Peter A. G. Crosthwaite

stellaris: Removed SSI mux

Removed the explicit SSI mux and wired the CS line directly up to the SSI
devices.

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

a3578d4a 10/10/2012 04:13 am Peter A. G. Crosthwaite

hw: Added generic FIFO API.

Added a FIFO API that can be used to create and operate byte FIFOs.

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

82a24990 10/10/2012 04:13 am Peter A. G. Crosthwaite

m25p80: Initial implementation of SPI flash device

Added device model for m25p80 style SPI flash family.

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

929d1b52 10/10/2012 04:13 am Peter A. G. Crosthwaite

xilinx_spi: Initial impl. of Xilinx SPI controller

Device model for xilinx XPS SPI controller (v2.0)

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

acd3b6be 10/10/2012 04:13 am Peter A. G. Crosthwaite

petalogix-ml605: added SPI controller with n25q128

Added SPI controller to the reference design, with two n25q128 spi-flashes
connected.

Signed-off-by: Peter A. G. Crosthwaite <>
Acked-by: Peter Maydell <>

94befa45 10/10/2012 04:13 am Peter A. G. Crosthwaite

xilinx_spips: Xilinx Zynq SPI cntrlr device model

Added device model for the Xilinx Zynq SPI controller (SPIPS).

Signed-off-by: Peter A. G. Crosthwaite <>
Acked-by: Peter Maydell <>

559d489f 10/10/2012 04:13 am Peter A. G. Crosthwaite

xilinx_zynq: Added SPI controllers + flashes

Added the two SPI controllers to the zynq machine model. Attached two SPI flash
devices to each controller.

Signed-off-by: Peter A. G. Crosthwaite <>
Acked-by: Peter Maydell <>

fcb5629d 10/10/2012 04:13 am Peter A. G. Crosthwaite

MAINTAINERS: Added maintainerships for SSI

Added maintainership for SSI, M25P80 and the Xilinx SPI controllers.

Signed-off-by: Peter A. G. Crosthwaite <>
Acked-by: Peter Maydell <>

b4ae3cfa 10/10/2012 04:13 am Peter Crosthwaite

ssi: Add slave autoconnect helper

Added helper function to automatically connect SPI slaves based on the QOM child
nodes of a device. A SSI master device can call this routine to automatically
hook-up all child nodes to its SPI bus.

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

b4a76e84 10/10/2012 04:13 am Peter A. G. Crosthwaite

ssi: Support for multiple attached devices

Removed assertion that only one device is attached to the SSI bus.

When multiple devices are attached, all slaves have their transfer function
called for transfers. Each device is responsible for knowing whether or not its...

66530953 10/10/2012 04:13 am Peter A. G. Crosthwaite

ssi: Implemented CS behaviour

Added default CS behaviour for SSI slaves. SSI devices can set a property
to enable CS behaviour which will create a GPIO on the device which is the
CS. Tristating of the bus on SSI transfers is implemented.

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

74687e40 10/10/2012 04:13 am Peter A. G. Crosthwaite

ssi: Added create_slave_no_init()

Slave creation function that can be used to create an SSI slave without
qdev_init() being called. This give machine models a chance to set properties.

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