Refactor AIO to allow multiple AIO implementations
This patch refactors the AIO layer to allow multiple AIO implementations. It'sonly possible because of the recent signalfd() patch.
Right now, the AIO infrastructure is pretty specific to the block raw backend....
Fix arguments used in cas/casx, thanks to Igor Kovalenko for spotting
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5296 c046a42c-6fe2-441c-8c8c-71466251a162
Add comment to windows SCSI hack.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5295 c046a42c-6fe2-441c-8c8c-71466251a162
Remove unnecessary call to qemu_aio_init (called from bdrv_init)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5294 c046a42c-6fe2-441c-8c8c-71466251a162
LSI SCSI: raise UDC on infinite loop (Marcelo Tosatti)
Raise UDC (Unexpected Disconnect) when a large enough number ofinstructions has been executed by the SCRIPTS processor. This "solution" is much simpler than temporarily interrupting execution.
This remedies the situation with Windows which downloads SCRIPTS code...
scsi-generic: correct 6-bytes commands transfer length (Laurent Vivier)
According to SCSI documentation, for 6 bytes commands (READ,WRITE), if transfer length is 0 it specifies 256 blocks.
Signed-off-by: Laurent Vivier <Laurent.Vivier@bull.net>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>...
scsi-generic: correct usage of memset() (Laurent Vivier)
void *memset(void *s, int c, size_t n);
DESCRIPTION The memset() function fills the first n bytes of thememory area pointed to by s with the constant byte c."
Reported by Dietmar Maurer....
Don't use sprintf() or strcpy()
They are unsafe. The current code is correct, but to be safer, we should passan explicit size.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5290 c046a42c-6fe2-441c-8c8c-71466251a162
Do not allow AIO to be inited multiple times
This prevents two signalfd() threads from being spawned. This problem wasoriginally spotted by Blue Swirl.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5289 c046a42c-6fe2-441c-8c8c-71466251a162
Support out-of-the-tree building of tests
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5288 c046a42c-6fe2-441c-8c8c-71466251a162
Avoid clobbering input register in qemu_ld64+bswap+useronly case
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5287 c046a42c-6fe2-441c-8c8c-71466251a162
Fix ARM NEON vdup and vtbl bugs.
Signed-off-by: Paul Brook <paul@codesourcery.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5286 c046a42c-6fe2-441c-8c8c-71466251a162
Fix neon encoding comment.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5285 c046a42c-6fe2-441c-8c8c-71466251a162
Fix Xcontext fill, by Here Poussineau.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5284 c046a42c-6fe2-441c-8c8c-71466251a162
Use the new concat_tl_i64 op for std and stda
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5283 c046a42c-6fe2-441c-8c8c-71466251a162
Add concat32_i64 and concat_tl_i64 ops
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5282 c046a42c-6fe2-441c-8c8c-71466251a162
Use the new concat_i32_i64 op for std and stda
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5281 c046a42c-6fe2-441c-8c8c-71466251a162
Add concat_i32_i64 op.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5280 c046a42c-6fe2-441c-8c8c-71466251a162
Band-aid vfork() emulation (Kirill Shutemov).
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5279 c046a42c-6fe2-441c-8c8c-71466251a162
Fix TEST_BSX operands in test-i386.c (Zeev Tarantov).
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5278 c046a42c-6fe2-441c-8c8c-71466251a162
Enable same-arch consistency check on x86-64, print syscall name on error.
Also disable testing instructions unsupported by 64-bit binutils intest-i386.c
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5277 c046a42c-6fe2-441c-8c8c-71466251a162
Move signal handler prototype back to cpu.h
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5276 c046a42c-6fe2-441c-8c8c-71466251a162
Suppress gcc 4.x -Wpointer-sign (included in -Wall) warnings
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5275 c046a42c-6fe2-441c-8c8c-71466251a162
Add signed versions of save/load functions
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5274 c046a42c-6fe2-441c-8c8c-71466251a162
Fix QADD / QSUB decoding on ARM (Torbjörn Andersson).
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5273 c046a42c-6fe2-441c-8c8c-71466251a162
Fix pread() and pwrite() syscall on ARM EABI (Kirill Shutemov).
pread() and pwrite() have differences in arguments between ARM EABI andOABI.
See arch/arm/kernel/entry-common.S in Linux kernel source foradditional information.
Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>...
Add MTIOCTOP, MTIOCGET and MTIOCPOS ioctls (Kirill Shutemov).
Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5271 c046a42c-6fe2-441c-8c8c-71466251a162
Fix building with 2.6.27 kernel headers (Kirill Shutemov).
<linux/dirent.h> unexported since 2.6.27
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5270 c046a42c-6fe2-441c-8c8c-71466251a162
Implement the futimesat() syscall (by Kirill Shutemov).
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5269 c046a42c-6fe2-441c-8c8c-71466251a162
Implement fstatat64() syscall (by Kirill Shutemov).
Move the transformation of struct stat64 into a separate function andimplement fstatat64() using it.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5268 c046a42c-6fe2-441c-8c8c-71466251a162
Swap only altered elements of the grouplist in getgroups() (Kirill Shutemov).
getgroups() returns the number of supplementary group IDs, so it'sunnessary to swap the entire array. It can dramatically speed upthe syscall: on recent Linux kernels NGROUPS_MAX=65536....
Fix getgroups() with zero size parameter (Kirill Shutemov).
According to man page getgroups(2):
If size is zero, list is not modified, but the total number ofsupplementary group IDs for the process is returned.
Use a QEMUBH when an OMAP timer must expire immediately.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5265 c046a42c-6fe2-441c-8c8c-71466251a162
Add a comment about masking of CTI interrupt in 16550A UART.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5264 c046a42c-6fe2-441c-8c8c-71466251a162
Allow attaching devices to OMAP UARTs.
Also avoid two signedness warnings in hw/omap2.c.The API to attach new devices to serials is fine, bu the implementationis a hack.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5263 c046a42c-6fe2-441c-8c8c-71466251a162
Update OpenBIOS images to SVN r237.
Changes:r219: Fix #size-cells for HelenOS, add /openprom/version noder220: Fix typor221: More realistic mmu_translater222: Fix device names to allow Net/OpenBSD to bootr223: add set-callback for Aurora 2.0r224: Switch keyboard controller to translated mode so it works as expected...
Add Sparc32 display depth to firmware configuration
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5261 c046a42c-6fe2-441c-8c8c-71466251a162
Add common keys to firmware configuration
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5260 c046a42c-6fe2-441c-8c8c-71466251a162
Add UUID to firmware configuration info (Gleb Natapov)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5259 c046a42c-6fe2-441c-8c8c-71466251a162
Add "info uuid" command to monitor (Gleb Natapov)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5258 c046a42c-6fe2-441c-8c8c-71466251a162
Add -uuid command line option (Gleb Natapov)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5257 c046a42c-6fe2-441c-8c8c-71466251a162
Key/value based qemu<->guest firmware communication mechanism (Gleb Natapov)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5256 c046a42c-6fe2-441c-8c8c-71466251a162
target-alpha: switch most load/store ops to TCG
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5255 c046a42c-6fe2-441c-8c8c-71466251a162
target-alpha: convert remaining arith3 functions to TCG
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5254 c046a42c-6fe2-441c-8c8c-71466251a162
Use TCG registers for most CPU register accesses.
Signed-off-by: Thiemo Seufer <ths@networkno.de>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5253 c046a42c-6fe2-441c-8c8c-71466251a162
Move the active FPU registers into env again, and use more TCG registersto access them.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5252 c046a42c-6fe2-441c-8c8c-71466251a162
target-alpha: fix one more literal sign issue
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5251 c046a42c-6fe2-441c-8c8c-71466251a162
target-alpha: instruction decoding simplification
Use a litteral value of 0 when rb31 is used. This reduces the testsin the instruction decoding. Also remove almost unused corner cases.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5250 c046a42c-6fe2-441c-8c8c-71466251a162
target-alpha: convert cmp* instructions to TCG
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5249 c046a42c-6fe2-441c-8c8c-71466251a162
alpha: fix a missing literal sign issue
Reported by Tristan Gingold
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5248 c046a42c-6fe2-441c-8c8c-71466251a162
target-alpha: switch a few helpers to TCG
Switch a few helpers to TCG and implement RC and RS instructions
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5247 c046a42c-6fe2-441c-8c8c-71466251a162
target-alpha: convert byte manipulation instructions to TCG
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5246 c046a42c-6fe2-441c-8c8c-71466251a162
alpha: convert cmov and bcond to TCG
Patch mostly by Tristan Gingold
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5245 c046a42c-6fe2-441c-8c8c-71466251a162
alpha: improve testsuite
Signed-off-by: Tristan Gingold <gingold@adacore.com>Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>...
[PATCH] alpha: fix linux syscall convention
According to linux kernel sources, register a3 is set in case of failure(and cleared in case of success) while register v0 contains the result(or -errno in case of error).
The convention was not followed which results in weird behaviour....
[PATCH] usb-serial: Fix data corruption with usb serial emulation
Enable ld flag --warn-common
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5241 c046a42c-6fe2-441c-8c8c-71466251a162
Fix warnings that would be caused by ld flag --warn-common
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5240 c046a42c-6fe2-441c-8c8c-71466251a162
16550A UART: RHR irq enable bit also masks the Rx timeout irq.
The "Rx timeout" (aka. Character Timeout Indication) has no separate maskbit in the IER register and according to the specs reading RHR is the onlyway to reset the irq. However on the hardware (tested on OMAP2 UART which...
target-alpha: small optimizations
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5238 c046a42c-6fe2-441c-8c8c-71466251a162
target-alpha: fix TCG register names
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5237 c046a42c-6fe2-441c-8c8c-71466251a162
target-alpha: convert some arith3 instructions to TCG
Replace gen_arith3 generic macro and dyngen ops by instruction specificoptimized TCG code.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5236 c046a42c-6fe2-441c-8c8c-71466251a162
target-alpha: convert arith2 instructions to TCG
Replace gen_arith2 generic macro and dyngon ops by instruction specificoptimized TCG code.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5235 c046a42c-6fe2-441c-8c8c-71466251a162
Move offsetof to osdep.h, remove local defintions.
With this container_of can actually be used without causing build errors.Reformat container_of.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5234 c046a42c-6fe2-441c-8c8c-71466251a162
block-raw is not a protocol
The protocol_name "file" was added to the block driver when async IO wasintroduced. This can be used to select that a file is treated as a rawdevice instead of probing for the type. However, protocols are not subjectto path interpretation which cases qcow2 images with raw base images to not...
Fix range in the hid report descriptor for USB tablet.
Should prevent the ugly wrapping due to a typo in an earlier commit.Fix by Gregor (gg@seh.de).
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5232 c046a42c-6fe2-441c-8c8c-71466251a162
Make sure to define fd_open when not on Linux
My previous commit broke the build. This was spotted by C.W. Betts.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5231 c046a42c-6fe2-441c-8c8c-71466251a162
WMVi extension support (Stefano Stabellini)
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5230 c046a42c-6fe2-441c-8c8c-71466251a162
vnc dynamic resolution (Stefano Stabellini)
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5229 c046a42c-6fe2-441c-8c8c-71466251a162
Right now, kvm keeps the memory allocation split, so we canhandle different areas in different ways. This schema works with qemutoo, so it appears to be the common ground.
This patch proposes using this common ground for everyone, by splitingraw qemu....
Make page_find() return 0 for too-large addresses (Eduardo Habkost)
On some cases, such as under KVM, tb_invalidate_phys_page_range()may be called for large addresses, when qemu is configured to more than4GB of RAM.
On these cases, qemu was crashing because it was using an index too...
Use common objects for qemu-img and qemu-nbd
Right now, we sprinkle #if defined(QEMU_IMG) && defined(QEMU_NBD) all over thecode. It's ugly and causes us to have to build multiple object files forlinking against qemu and the tools.
This patch introduces a new file, qemu-tool.c which contains enough for...
Define a few structures instead of including a file, add "static"
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5225 c046a42c-6fe2-441c-8c8c-71466251a162
SH4: Privilege check for instructions
This patch adds check for all SH4 instructions which areexecuted only in privileged mode.
(Shin-ichiro KAWASAKI)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5224 c046a42c-6fe2-441c-8c8c-71466251a162
qemu sh4 nptl support
(Michael Trimarchi)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5223 c046a42c-6fe2-441c-8c8c-71466251a162
sh4: doesn't set the cpu_model_str
Fix setting of cpu_model_str for sh4
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5222 c046a42c-6fe2-441c-8c8c-71466251a162
SH4: Serial controller improvement
Add receive character feature to SH4 SCIF.SH4-SCI feature implementation work is left.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5221 c046a42c-6fe2-441c-8c8c-71466251a162
SH4: sleep instruction bug fix
fix a bug on 'sleep' instruction, which have caused halt of idle task.As i386 'hlt' instruction does, it should save PC before sleep.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5220 c046a42c-6fe2-441c-8c8c-71466251a162
Fix array subscript above array bounds error
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5219 c046a42c-6fe2-441c-8c8c-71466251a162
ppc: Convert op_andi to TCG
Replace op_andi_... with tcg_gen_andi_tl.
Signed-off-by: Andreas Faerber <andreas.faerber@web.de>Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5218 c046a42c-6fe2-441c-8c8c-71466251a162
ppc: Convert ctr, lr moves to TCG
Introduce TCG variables cpu_{ctr,lr} and replace op_{load,store}_{lr,ctr}with tcg_gen_mov_tl.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5217 c046a42c-6fe2-441c-8c8c-71466251a162
alpha: add tests
This patch creates tests/alpha directory and adds an "hello world" program as well as two tests.
Signed-off-by: Tristan Gingold <gingold@adacore.com>Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5216 c046a42c-6fe2-441c-8c8c-71466251a162
MIPS: Fix tlbwi/tlbwr
In CP0 Index register, bit 31 means 'Probe Failure', while lowest bitscontain the TLB index.
In tlbwi and tlbwr instructions, this Probe Failure bit must be ignoredwhen reading the TLB index.
Attached patch fixes it.
(Hervé Poussineau)...
MIPS: remove empty cpu_mips_irqctrl_init()
cpu_mips_irqctrl_init() function in hw/mips_timer.c is empty.Attached patch removes it, and its callers.
(Hervé Poussineau)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5214 c046a42c-6fe2-441c-8c8c-71466251a162
target-mips: fix warning
Attached patch fixes a warning in cpu_mips_find_by_name().'name' is a string, so it should be declared as char*, not unsigned char*.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5213 c046a42c-6fe2-441c-8c8c-71466251a162
alpha: fix helper.h
the content of target-alpha/helper.h is duplicated twice
(Tristan Gingold)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5212 c046a42c-6fe2-441c-8c8c-71466251a162
alpha: fix lit sign
according to the alpha arch reference, the literal field of an operateinstruction is unsigned:
If bit <12> of the instruction is 1, an 8-bit zero-extended literalconstant is formed by bits<20:13> of the instruction. The l teral is interpreted as a positive...
qemu_next_deadline_dyntick is only used on Linux and Windows
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5210 c046a42c-6fe2-441c-8c8c-71466251a162
Revert incorrect part of r4574 to avoid unaligned traps with i386 target
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5209 c046a42c-6fe2-441c-8c8c-71466251a162
Display TCGCond name in tcg dumper (original patch by Tristan Gingold)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5208 c046a42c-6fe2-441c-8c8c-71466251a162
Enable gcc flag -Wwrite-strings
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5207 c046a42c-6fe2-441c-8c8c-71466251a162
Fix warnings that would be caused by gcc flag -Wwrite-strings
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5206 c046a42c-6fe2-441c-8c8c-71466251a162
usb: Support for removing device by host addr, improved auto filter syntax (Max Krasnyansky)
This patch adds support for removing USB devices by host address.Which is usefull for things like libvirtd because there is no easy way tofind guest USB address of the host device....
husb: Make control transactions asynchronous (Max Krasnyansky)
USB is 99.8% async now :). 0.2% is the three control requests thatwe need to execute synchronously. We could off-load that to a threador something but it's not worth the pain since those requests are...
Use 64 bit loads for tlb addend only if addend size is 64 bits
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5203 c046a42c-6fe2-441c-8c8c-71466251a162
Fix stack alignment on Sparc32 host
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5202 c046a42c-6fe2-441c-8c8c-71466251a162
Fix mulscc with high bits set in either src1 or src2
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5201 c046a42c-6fe2-441c-8c8c-71466251a162
Let snapshot work with protocols
realpath will horribly mangle a protocol so avoid calling it if the backingfile is a protocol.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5200 c046a42c-6fe2-441c-8c8c-71466251a162
uhci: Change default transaction lifetime to 32 frames (Max Krasnyansky)
Transaction lifetime was originally set to 10 frames. That was an arbitrarynumber I picked without much thinking :).I'm changing that to 32 frames because things like interrupt transfers...
Enable gcc flag -Wendif-labels
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5198 c046a42c-6fe2-441c-8c8c-71466251a162