qemu-iotests: filter QEMU_PROG in 051.out
Filter the name of the QEMU executable so the output can be diffed nomatter what QEMU_PROG is (e.g. qemu-system-x86_64).
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
block: Introduce bdrv_writev_vmstate
Signed-off-by: Kevin Wolf <kwolf@redhat.com>Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
savevm: Implement block_writev_buffer()
Instead of breaking up RAM state into many small chunks, pass the iovecto the block layer for better performance.
block: Introduce bdrv_pwritev() for qcow2_save_vmstate
Directly pass the QEMUIOVector on instead of linearising it.
qemu-iotests: A few more bdrv_pread/pwrite tests
qemu-iotests: Add test for -drive options
qjson: to_json() case QTYPE_QSTRING is buggy, rewrite
Known bugs in to_json():
check-qjson: Test noncharacters other than U+FFFE, U+FFFF in strings
Test cases cover the two noncharacters in the BMP. Add tests for theother 64 noncharacters.
Three existing test cases involve noncharacters U+FFFF and U+10FFFF.Instead of deleting them as now duplicates, adjust them to use U+FFFC...
check-qjson: Improve a few comments, delete bogus ones
Signed-off-by: Markus Armbruster <armbru@redhat.com>Reviewed-by: Laszlo Ersek <lersek@redhat.com>Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
unicode: New mod_utf8_codepoint()
Merge branch 'mingw' of git://qemu.weilnetz.de/qemu
aes: move aes.h from include/block to include/qemu
Move aes.h from include/block to include/qemu to show it can be reusedby other subsystems.
Cc: Kevin Wolf <kwolf@redhat.com>Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>Reviewed-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>...
aes: make Td[0-5] and Te[0-5] tables non static
Remove static attribute to Td[0-5] and Te[0-5] tables so that theycan be used outside of aes.c. Change their type from u32 to uint32_t,to keep the u32 udef local to aes.c. Prefix them with AES_ so that they...
target-i386: add AES-NI instructions
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>Reviewed-by: Richard Henderson <rth@twiddle.net>Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
disas/i386.c: disassemble pclmulqdq instruction
Reviewed-by: Richard Henderson <rth@twiddle.net>Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
target-i386: add pclmulqdq instruction
Reviewed-by: Richard Henderson <rth@twiddle.net>Reviewed-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
target-i386: enable PCLMULQDQ on Westmere CPU
The PCLMULQDQ instruction has been introduced on the Westmere CPU.
disas/i386.c: disassemble aes-ni instructions
sh7750: Change cpu field type to SuperHCPU
This brings us a step closer to QOM'ified SH7750 SoC andfixes b350ab75 (target-sh4: Move PVR/PRR/CVR into SuperHCPUClass)assuming SuperHCPU type for SUPERH_CPU_GET_CLASS().
Fix Coding Style issues while at it (indentation, braces)....
shix: Catch CPU initialization errors
Print an error message as done for the r2d machine and exit.
Signed-off-by: Andreas Färber <afaerber@suse.de>Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Merge branch 'trivial-patches' of git://github.com/stefanha/qemu
Merge branch 'tci' of git://qemu.weilnetz.de/qemu
Merge branch 'tcg-s390' of git://github.com/rth7680/qemu
Check effective suspension of TCG thread
On multi-core systems, SuspendThread does not guaranty immediate threadsuspension. We add busy loop to wait for effective thread suspensionafter call to ThreadSuspend().
Signed-off-by: Fabien Chouteau <chouteau@adacore.com>...
Ensure good ordering of memory instruction in cpu_exec
The IO thread, when it senses cpu_single_env == 0, expects exit_requestto be checked later on. A compiler scheduling constraint is not strongenough to ensure this on modern architecture. A memory fence is needed...
Release SMP restriction on Windows
The previous patches make QEMU SMP safe on Windows, we can now releasethe restriction.
Signed-off-by: Fabien Chouteau <chouteau@adacore.com>Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>Signed-off-by: Stefan Weil <sw@weilnetz.de>
qemu-timer: move timeBeginPeriod/timeEndPeriod to os-win32
These are needed for any of the Win32 alarm timer implementations.They are not tied to mmtimer exclusively.
Jacob tested this patch with both mmtimer and Win32 timers.
Cc: qemu-stable@nongnu.org...
cpu-exec: Allow "-d exec" in non-debug builds (drop CONFIG_DEBUG_EXEC)
The CONFIG_DEBUG_EXEC define compiles out a single qemu_log_mask()call, which is a pretty trivial cost even for something in the maincpu_exec() loop. Having this be conditionally defined means that...
linux-user: pass correct host flags to eventfd2 call
This change makes conversion of TARGET_O_NONBLOCK and TARGET_O_CLOEXEC flagsto host flags before calling eventfd for TARGET_NR_eventfd2.
Signed-off-by: Petar Jovanovic <petar.jovanovic@imgtec.com>Reviewed-by: Peter Maydell <peter.maydell@linaro.org>...
Typo, spelling and grammatical fixes
Minor fixes to documentation and code comments.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
target-moxie: Fix VMState registration
Register the CPU VMState in the correct way, via cpu_class_set_vmsd(),rather than doing it in two different wrong ways (once by providingcpu_save and cpu_load functions, and once by setting the vmsd field inDeviceClass)....
tci: Use 32-bit signed offsets to loads/stores
Since the change to tcg_exit_req, the first insn of every TB isa load with a negative offset from env.
Signed-off-by: Richard Henderson <rth@twiddle.net>Signed-off by: Stefan Weil <sw@weilnetz.de>
tci: Use a local variable for env
Since we have total conversion away from global AREG0, we do notneed a global variable named "env". Retain that name as thefunction parameter inside the interpreter.
Signed-off-by: Richard Henderson <rth@twiddle.net>...
tci: Avoid code before declarations
This only valid with c99 extensions enabled, and easy to avoid.
tci: Delete unused tb_ret_addr
tci: Make tcg temporaries local to tcg_qemu_tb_exec
We're moving away from the temporaries stored in env. Make sure we candifferentiate between temp stores and possibly bogus stores for extracall arguments. Move TCG_AREG0 and TCG_REG_CALL_STACK out of the way...
virtio-9p: Fix virtio-9p no longer building after hw-dirs branch merge
Signed-off-by: Hans de Goede <hdegoede@redhat.com>Message-id: 1365495755-10902-1-git-send-email-hdegoede@redhat.comCc: Paolo Bonzini <pbonzini@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Merge remote-tracking branch 'bonzini/hw-dirs' into staging
Merge remote-tracking branch 'stefanha/net' into staging
Message-id: 1365435829-23535-1-git-send-email-stefanha@redhat.com...
hw: move interrupt controllers to hw/intc/, configure with default-configs/
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
hw: move GPIO interfaces to hw/gpio/, configure with default-configs/
hw: move NVRAM interfaces to hw/nvram/, configure with default-configs/
hw: move other devices to hw/misc/, configure with default-configs/
hw: move ARM CPU cores to hw/cpu/, configure with default-configs/
hw: move hw/kvm/ to hw/i386/kvm
Peter requested the KVM GIC to be in hw/intc.
hw: move last file to hw/arm/
MAINTAINERS: update for source code movement
hw: move private headers to hw/ subdirectories.
Many headers are used only in a single directory. These can bekept in hw/.
hw: move more files to hw/xen/
hw: move char devices to hw/char/, configure via default-configs/
hw: move ISA bridges and devices to hw/isa/, configure with default-configs/
hw: move timer devices to hw/timer/, configure with default-configs/
hw: move SD/MMC devices to hw/sd/, configure with default-configs/
hw: move PCI bridges to hw/pci-* or hw/ARCH
hw: move VFIO and ivshmem to hw/misc/
hw: move DMA controllers to hw/dma/, configure with default-configs/
hw: move watchdogs to hw/watchdog, configure via default-configs/
hw: move MC146818RTC to hw/timer/, configure via default-configs/
hw: move NICs to hw/net/, configure via default-configs/
hw: move block devices to hw/block/, configure via default-configs/
hw: move audio devices to hw/audio/, configure via default-configs/
hw: move display devices to hw/display/, configure via default-configs/
hw: move I2C controllers to hw/i2c/, configure via default-configs/
hw: move SSI controllers to hw/ssi/, configure via default-configs/
hw: move SCSI controllers to hw/scsi/, configure via default-configs/
hw: move target-independent files to subdirectories
This patch tackles all files that are compiled once, movingthem to subdirectories of hw/.
hw: move virtio devices to hw/ subdirectories
hw: make all of hw/ide/ configurable via default-configs/
hw: make all of hw/usb/ configurable via default-configs/
hw: make all of hw/pci/ configurable via default-configs/
hw: make subdirectories for devices
Prepare the new directory structure.
moxie: configure with default-configs file
build: enable using $(CONFIG_FOO) on the rhs of config files
hw: move headers to include/
Many of these should be cleaned up with proper qdev-/QOM-ification.Right now there are many catch-all headers in include/hw/ARCH dependingon cpu.h, and this makes it necessary to compile these files per-target.However, fixing this does not belong in these patches....
configure: Provide and use convenience error reporting function
Provide a convenience function for reporting an error and exiting,and update various places in the configure script to use it.This allows us to be a little more consistent about how format...
configure: Don't fall back to gthread coroutine backend
The gthread coroutine backend is broken and does not produce a workingQEMU; it is only useful for some very limited debugging situations.Clean up the backend selection logic in configure so that it now runs...
qemu-char: really fix behavior on can_read = 0
I misread the glib manual, g_source_remove does not let you re-attachthe source later. This behavior (called "blocking" the source in glib)is present in glib's source code, but private and not available outside...
Merge remote-tracking branch 'mdroth/qga-pull-4-2-13' into staging
Merge remote-tracking branch 'kraxel/usb.79' into staging
vmxnet3: const_cpu_to_le64 wrapping for feature bits dropped
Byte swap is redundant because shared memory reading functionsalready swap bytes when required
Signed-off-by: Dmitry Fleytman <dmitry@daynix.com>Acked-by: Alexander Graf <agraf@suse.de>Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
vmxnet3: iPXE compatibility fixes
iPXE vmxnet3 driver makes a few assumptions regarding device operationthat were missed during testing with Linux and Windows drivers.This patch adds following logic: 1. Additional GET commands processing added 2. Max number of RX chunks should be set to 1 when driver passes 0...
Merge branch 'arm-devs.next' of git://git.linaro.org/people/pmaydell/qemu-arm
tcg-s390: Fix merge error in tgen_brcond
When the TCG condition codes were re-organized last year,we failed to update all of the "old-style" tests for unsigned.
Signed-off-by: Richard Henderson <rth@twiddle.net>
tcg-s390: Remove constraint letters for and
Since we have a free temporary and can always just load the constant, weought to do so, rather than spending the same effort constraining the const.
tcg-s390: Use risbgz for andi
This is immediately usable by the tlb lookup code.
tcg-s390: Cleanup argument shuffling fixme in softmmu code
tcg-s390: Use load-address for addition
Since we're always in 64-bit mode, load address performs a full64-bit add. Use that for 3-address addition, as well as forlarger constant addends when we lack extended-immediates facility.
tcg-s390: Use all 20 bits of the offset in tcg_out_mem
This can save one insn, if the constant has any bits in 32-63 set,but no bits in 21-31 set. It never results in more insns.
tcg-s390: Properly allocate a stack frame.
Set TCG_TARGET_CALL_STACK_OFFSET properly for the abi. Allocate thestandard TCG_STATIC_CALL_ARGS_SIZE. And while we're at it, allocatespace for CPU_TEMP_BUF_NLONGS.
tcg-s390: Remove useless preprocessor conditions
We only support 64-bit code generation for s390x.Don't clutter the code with ifdefs that suggest otherwise.
tcg-s390: Implement add2/sub2 opcodes
tcg-s390: Implement mulu2_i64 opcode
tcg-s390: Implement movcond opcodes
tcg-s390: Implement deposit opcodes
tcg-s390: Fix movi
The code to load the high 64 bits assumed that the insn used toload the low 64 bits zero-extended. Enforce that.
main-loop: drop the BQL if the I/O appears to be spinning
The char-flow refactoring introduced a busy-wait that depended onan action from the VCPU thread. However, the VCPU thread couldnever take that action because the busy-wait starved the VCPU thread...
qemu-char: eliminate busy waiting on can_read returning zero
The character backend refactoring introduced an undesirable busy wait.The busy wait happens if can_read returns zero and there is data availableon the character device's file descriptor. Then, the I/O watch will...
Merge remote-tracking branch 'stefanha/trivial-patches' into staging
Merge remote-tracking branch 'sstabellini/xen-2013-04-05' into staging
Merge remote-tracking branch 'kwolf/for-anthony' into staging