tcg/x86_64: optimize register allocation order
The beginning of the register allocation order list on the TCG x86_64target matches the list of clobbered registers. This means that when anhelper is called, there is almost always clobbered registers that have...
stop dirty tracking just at the end of migration (Glauber Costa)
If there is still work to do, it is not safe to assume wecan end the dirty tracking. Specifically, kvm can update the dirtytracking log inside ram_save_block(), leaving pages still out of sync...
create qemu_file_set_error (Glauber Costa)
This is mainly for consistency, since we don't wantanything outside of savevm setting it explicitly. Thereare current no users of that in qemu tree, but thereare potential candidates on kvm-userspace. And avi...
propagate error on failed completion (Glauber Costa)
migrate_fd_put_ready() calls qemu_savevm_state_complete(),but the later can fail.
If it happens, re-start the vm and propagate the error up
Based on a patch by Yaniv Kamay
Signed-off-by: Glauber Costa <glommer@redhat.com>...
Disable qemu-io on Win32
It breaks the build.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6996 c046a42c-6fe2-441c-8c8c-71466251a162
Add files not included in previous commit.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6995 c046a42c-6fe2-441c-8c8c-71466251a162
Fix savevm after BDRV_FILE size enforcement
We now enforce that you cannot write beyond the end of a non-growable file.qcow2 files are not growable but we rely on them being growable to dosavevm/loadvm. Temporarily allow them to be growable by introducing a new...
Fix the build for --disable-aio
This was reported by malc.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6993 c046a42c-6fe2-441c-8c8c-71466251a162
gdbstub: Rework configuration via command line and monitor (Jan Kiszka)
Introduce a more canonical gdbstub configuration (system emulation only)via the new switch '-gdb dev'. Keep '-s' as shorthand for'-gdb tcp::1234'. Use the same syntax also for the corresponding monitor...
Make `-icount' help fit 80 chars screen width (Robert Riebisch)
On Windows default screen width for the command prompt (A.K.A. "DOSwindow") is 80 chars. `-icount' help is 87 chars wide. So make it fit.
Signed-off-by: Robert Riebisch <rr@bttr-software.de>...
qemu-io - an I/O path exerciser (Christoph Hellwig)
This patch adds a new qemu-io tool that links against the block layer andimage formats and allow to exercise them without needing a guest image.It is inspired by the xfs_io tool which does the same for plain file I/O....
Fix display breakage when resizing the screen (v2) (Avi Kivity)
When the vga resolution changes, a new display surface is not allocatedimmediately; instead that is deferred until the next update. However,if we're running without a display client attached, that won't happen...
Fix some win32 compile warnings
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6984 c046a42c-6fe2-441c-8c8c-71466251a162
Make binary stripping conditional (Riku Voipio)
Currently qemu unconditionally strips binaries on install. Thisis a problem for packagers who may want to store/ship debug symbolsof compiled packages for debugging purposes.
Keep stripping as default for the oldtimers and add a...
qcow2: fix image creation for large, > ~2TB, images (Chris Wright)
When creating large disk images w/ qcow2 format, qcow2_create is hardcoded to creating a single refcount block. This is insufficient forlarge images, and will cause qemu-img to segfault as it walks off the...
pci_add storage: fix error handling for 'if' parameter (Eduardo Habkost)
This fixes:
- The error message to show the actual if= argument value. It was showing the filename instead, because 'buf' is reaused on the filename parsing. - A bug that makes a block device to be created even when an unsupported if= arg...
build system: clean qemu-options.texi and gdbstub-xml.c (Jan Kiszka)
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6980 c046a42c-6fe2-441c-8c8c-71466251a162
build system: silent generation of doc files and qemu-options.h (Jan Kiszka)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6979 c046a42c-6fe2-441c-8c8c-71466251a162
Add host_device support to qemu-img. (Nolan Leake)
This patch allows the use a host_device as the destination for "qemu-imgconvert".
I added a ->bdrv_create function host_device. It merely verifies thatthe device exists and is large enough.
A check is needed in the qemu-img convert loop to ensure that we write...
Fix (at least one cause of) qcow2 corruption. (Nolan Leake)
qcow2's get_cluster_offset() scans forward in the l2 table to find otherclusters that have the same allocation status as the first cluster.This is used by (among others) qcow_is_allocated().
Unfortunately, it was not checking to be sure that it didn't fall off...
Document QEMU coding style (v2) (Avi Kivity)
With the help of some Limoncino I noted several aspects of the QEMU codingstyle, particularly where it differs from the Linux coding style as manycontributors work on both projects.
Signed-off-by: Avi Kivity <avi@redhat.com>...
Fix oops on 2.6.25 guest (Rusty Russell)
I believe this is behind the following:https://bugs.edge.launchpad.net/ubuntu/jaunty/+source/linux/+bug/331128
virtio_pci in 2.6.25 didn't do feature negotiation correctly: it acked everybit. Fortunately, we can detect this....
Fix branches and TLB matches for 64 bit targets
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6974 c046a42c-6fe2-441c-8c8c-71466251a162
Allocate space for static call args, increase stack frame size on Sparc64
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6973 c046a42c-6fe2-441c-8c8c-71466251a162
Compile all files with -ffixed-g5 etc. to avoid env (%g5) corruption
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6972 c046a42c-6fe2-441c-8c8c-71466251a162
Make i386-softmmu boot on Sparc host
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6971 c046a42c-6fe2-441c-8c8c-71466251a162
SH: Fix linux-user _is_cached typo.
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6970 c046a42c-6fe2-441c-8c8c-71466251a162
SH: Add cpu_sh4_is_cached for linux-user.
The entire U0 area is assumed to be cacheable.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6969 c046a42c-6fe2-441c-8c8c-71466251a162
Immediate versions of ro[lr]
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6968 c046a42c-6fe2-441c-8c8c-71466251a162
Temporary workaround for ppc on ppc
target-ppc/translate.c puts values of type opcode_t into .opcodessection, using GCC extension to do so, and hoping that this will makethem appear contiguously and in the source order in the resultingexecutable. This assumption is not safe and is known to be violated...
SH: Improve movca.l/ocbi emulation.
Author: Vladimir Prus <vladimir@codesourcery.com>
Fix movcal.l/ocbi emulation.
Implement and use shared memory framebuffer device rendering reoutine.Use DMA mapping API.
Signed-off-by: Paul Brook <paul@codesourcery.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6965 c046a42c-6fe2-441c-8c8c-71466251a162
Use pixel_ops.h
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6964 c046a42c-6fe2-441c-8c8c-71466251a162
Remove unused variable
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6963 c046a42c-6fe2-441c-8c8c-71466251a162
Update OpenBIOS images to r482
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6962 c046a42c-6fe2-441c-8c8c-71466251a162
Avoid rounding problems in ptimer_get_count
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6961 c046a42c-6fe2-441c-8c8c-71466251a162
Fix wrong return value
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6959 c046a42c-6fe2-441c-8c8c-71466251a162
Remove dead AIO code for win32
AFAIK, it's never been enabled and hasn't even compiled in ages. Remove thecode to avoid confusion. If someone ever decides to fix it, they can get atthe old version in RCS history.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>...
target-mips: optimize gen_movcf_*()
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6957 c046a42c-6fe2-441c-8c8c-71466251a162
target-mips: optimize gen_movci()
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6956 c046a42c-6fe2-441c-8c8c-71466251a162
target-mips: optimize gen_compute_branch1()
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6955 c046a42c-6fe2-441c-8c8c-71466251a162
Misc scsi disk/cdrom fixes/improvements 4/4
Implement Test Unit Ready command (return NOT READY as aboveif !bdrv_is_inserted(...))
Signed-off-by: Juergen Lock <nox@jelal.kn-bremen.de>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6954 c046a42c-6fe2-441c-8c8c-71466251a162
misc scsi disk/cdrom fixes/improvements 3/4
Add asc 0x3a, ascq 0: Medium not present to NOT READY sense(needed to keep some guests from retrying causing long sleeps in thekernel)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6953 c046a42c-6fe2-441c-8c8c-71466251a162
misc scsi disk/cdrom fixes/improvements 2/4
Implement cdrom load/eject functionality (Start Stop Unit command)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6952 c046a42c-6fe2-441c-8c8c-71466251a162
misc scsi disk/cdrom fixes/improvements 1/4
Use correct sector size for cdrom Read TOC command
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6951 c046a42c-6fe2-441c-8c8c-71466251a162
target-mips: don't map FP registers as TCG global variables
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6950 c046a42c-6fe2-441c-8c8c-71466251a162
target-mips: fix divu instruction
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6949 c046a42c-6fe2-441c-8c8c-71466251a162
tcg: fix _tl aliases for divu/remu
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6948 c046a42c-6fe2-441c-8c8c-71466251a162
target-ppc: Explain why the whole TLB is flushed on SR write
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6947 c046a42c-6fe2-441c-8c8c-71466251a162
Fix hxtool eating backslash sequences for sh != bash
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6946 c046a42c-6fe2-441c-8c8c-71466251a162
Fix hxtool eating backslash sequences
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6945 c046a42c-6fe2-441c-8c8c-71466251a162
fix format string warnings in block-qcow2.c (Christoph Hellwig)
Recent patches added two compiler warnings about the format stringusage in qcow_read_extensions. One is printing a uint64_t using%lu which is incorrect on many platforms as it can be a unsigned...
check for bs->drv in bdrv_flush (Christoph Hellwig)
All the bdrv_ helpers should check for bs->drv being zero as that meansthere is no backend image open. bdrv_flush fails to perform that checkand can thus cause NULL pointer dereferences.
Found using qemu-io....
remove dead code in bdrv_check_request (Christoph Hellwig)
Remove code dealing with negative sector numbers for byte access inbdrv_check_request as sector numbers can't ever be negative.
Previously we supported negative sector counts for byte access, but...
target-mips: optimize write to env->hflags
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6941 c046a42c-6fe2-441c-8c8c-71466251a162
target-mips: optimize gen_muldiv()
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6940 c046a42c-6fe2-441c-8c8c-71466251a162
tcg: add _tl aliases for div/divu/rem/remu
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6939 c046a42c-6fe2-441c-8c8c-71466251a162
target-mips: optimize gen_HILO()
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6938 c046a42c-6fe2-441c-8c8c-71466251a162
target-mips: optimize gen_trap()
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6937 c046a42c-6fe2-441c-8c8c-71466251a162
target-mips: optimize gen_compute_branch()
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6936 c046a42c-6fe2-441c-8c8c-71466251a162
target-mips: don't mix result and arguments in gen_op_*
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6935 c046a42c-6fe2-441c-8c8c-71466251a162
target-mips: gen_bshfl()
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6934 c046a42c-6fe2-441c-8c8c-71466251a162
target-mips: optimize gen_mul_vr54xx()
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6933 c046a42c-6fe2-441c-8c8c-71466251a162
target-mips: optimize gen_cl()
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6932 c046a42c-6fe2-441c-8c8c-71466251a162
target-ppc: avoid nop to override next instruction
While searching PC, always store the pc of a new instruction.Instructions that didn't generate tcg code (such as nop) prevented thenext one to be referenced.
Based on patch for target-alpha, r6930.
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>...
target-alpha: bug fix: avoid nop to override next instruction
While searching PC, always store the pc of a new instruction.Instructions that didn't generate tcg code (such as nop) prevented the nextone to be referenced.
Signed-off-by: Tristan Gingold <gingold@adacore.com>...
target-alpha: remove PALCODE_ declarations (unused).
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@6929 c046a42c-6fe2-441c-8c8c-71466251a162
target-alpha: add instruction name in comments for hw_ld opcode.
Make code slightly easier to read.Also unused hw_ld opcodes now generate an invalid opc fault.
Signed-off-by: Tristan Gingold <gingold@adacore.com>Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>...
Document which IPR are used by 21264
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6927 c046a42c-6fe2-441c-8c8c-71466251a162
target-alpha: tb_flush helper should flush the tb (and not the tlb).
Looks to be a typo fix.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6926 c046a42c-6fe2-441c-8c8c-71466251a162
target-alpha: fix temp free for hw_st
No need to stop translation after hw_st.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6925 c046a42c-6fe2-441c-8c8c-71466251a162
target-alpha: fix bug: integer conditional branch offset is 21 bits wide.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6924 c046a42c-6fe2-441c-8c8c-71466251a162
target-alpha: Fix bug: do not mask address LSBs for ldwu.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6923 c046a42c-6fe2-441c-8c8c-71466251a162
target-alpha: Fix bug: palcode is at least 6 bits.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6922 c046a42c-6fe2-441c-8c8c-71466251a162
build system: silence gdbstub-xml.c generation
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6921 c046a42c-6fe2-441c-8c8c-71466251a162
tcg/README: fix description of bswap32_i32/i64
Thanks to Stuart Brady for the notice.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6920 c046a42c-6fe2-441c-8c8c-71466251a162
target-sh4: r2d --append option support
Remove qemu_ram_alloc(SDRAM_BASE) and related changes.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6919 c046a42c-6fe2-441c-8c8c-71466251a162
hw/eeprom93xx.c: support 93xx EEPROMs with more than 255 words
In the head of eeprom93xx.c we promise to support chips with 256 words,but store the size in an unsigned byte. This patch replaces this with an16 bit variable and changes the load/store code accordingly (introducing a...
hw/eeprom93xx.c: substitute structure dump with discrete dump in eeprom_save/load
The EEPROM 93xx device used to dump a C structure to the migration stream.This structure includes mixed 8 and 16bit variables and is thus subject tocompiler dependent padding. Replace this with discrete dumps of each member...
Add linux kernel command line ("--append" option) support.Fix kernel loading address to appropriate position when --append used.Using --kernel but --append case is left untouched for backward compatibility.
This also change the host<->SH address mapping for r2d to...
target-mips: fix FPU in 64-bit mode
TCG does not allow the same memory location to be aliased in twodifferent global registers, fpu_fpr32 and fpu_fpr64.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6915 c046a42c-6fe2-441c-8c8c-71466251a162
target-mips: implement FPU Flush-To-Zero mode
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6914 c046a42c-6fe2-441c-8c8c-71466251a162
gdbstub: Allow re-instantiation (Jan Kiszka)
[ Note: depends on char closing fixes ]
Properly clean up the gdbstub when the user tries to re-open it(possibly under a different address). Moreover, allow to shut it downfrom the monitor via 'gdbserver none'....
char: Fix closing of various char devices (Jan Kiszka)
This patch fixes several issues around closing char devices. Affectedwere pty (timer was left behind, even running), udp (no close handlingat all) and tcp (missing async IO handler cleanup). The bugs either...
qemu-img: adding a "-F base_fmt" option to "qemu-img create -b" (Uri Lublin)
If the user specifies the backing file format,then when opening the backing file, there is no needto probe the (backing file) image to figure out its format.
This follows my previous patches implementing bdrv_create2...
block-qcow2: keep backing file format in a qcow2 extension (Uri Lublin)
Use a qcow2 extension to keep the backing file format.
By keeping the backing file format, we can:1. Provide a way to know the backing file format without probing it (setting the format at creation time)....
block: support known backing format for image create and open (Uri Lublin)
Added a backing_format field to BlockDriverState.Added bdrv_create2 and drv->bdrv_create2 to create an image witha known backing file format.Upon bdrv_open2 if backing format is known use it, instead of...
Introducing qcow2 extensions (Uri Lublin)
Qcow2 extensions are build of magic (id) len (in bytes) and data.They reside right after the qcow2 header.If a backing filename exists it follows the qcow2 extension (if exist)
Qcow2 extensions are read upon image open....
kvm: Drop kvm_patch_opcode_byte (Jan Kiszka)
As cpu_memory_rw_debug is now capable of modifying ROM, we can drop ourown patch function.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6906 c046a42c-6fe2-441c-8c8c-71466251a162
ROM write access for debugging (Jan Kiszka)
Enhance cpu_memory_rw_debug so that it can write even to ROM regions.This allows to modify ROM via gdb (I see no point in denying this to theuser), and it will enable us to drop kvm_patch_opcode_byte().
Credits go to Avi for suggesting this....
Use the DMA api to map virtio elements.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6904 c046a42c-6fe2-441c-8c8c-71466251a162
virtio-blk: use generic vectored I/O APIs (Christoph Hellwig)
Use the generic bdrv_aio_readv/bdrv_aio_writev APIs instead of linearizingbuffers directly. This enables using the future native preadv/pwritevsupport.
Signed-off-by: Christoph Hellwig <hch@lst.de>...
add qemu_iovec_init_external (Christoph Hellwig)
Allow to initialize a QEMUIOVector from an externally allocated iovec.qiov->nalloc is initialized to 1 to indicate external storage for qiov>iovand all functions dealing with memory management assert on the iovec beeing...
Clean some PCI defines (Stefan Weil)
this patch adds some more defines from linux/pci_regs.h tohw/pci.h. There is now no longer a need to define them ineepro100.c, so they were removed there.
Some defines from linux/pci_regs.h had similar, but notthe same defines in hw/pci.h (PCI_REVISION_ID / PCI_REVISION,...
Fix monitor command (screendump) (Stefan Weil)
starting with r6839, the monitor command 'screendump'raises a nullpointer memory access which crashs Qemu.
Fix crash when calling screendump from monitor.
This was a regression introduced with r6839:DisplayAllocator interface (Stefano Stabellini)...
Remove nodisk_ok machine feature (Jan Kiszka)
All archs have some kind of firmware to load and can be fine with italready. So there is not much use in enforcing the presence of a disk.If the system setup requires one, the user will notice it anyway once...
musicpal: Fix regression caused by 6839 (Jan Kiszka)
Pass correct DisplayState field to is_surface_bgr().
Signed-off-by: Jan Kiszka <jan.kiszka@web.de>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6898 c046a42c-6fe2-441c-8c8c-71466251a162
gdbstub: Drop redundant memset after qemu_mallocz (Jan Kiszka)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6897 c046a42c-6fe2-441c-8c8c-71466251a162
get roms more room. (Glauber Costa)
This patch increases by 50 % the size available for option roms.The main motivator is that some roms grew bigger than the 64k wecurrently allocate for them (Hey, it's 2009!)
One example is the gpxe project, that produces some roms with 69k,...
new scsi-generic abstraction, use SG_IO (Christoph Hellwig)
Okay, I started looking into how to handle scsi-generic I/O in thenew world order.
I think the best is to use the SG_IO ioctl instead of the read/writeinterface as that allows us to support scsi passthrough on disk/cdrom...