Silence make if nothing is to do for libcacard
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Drop unneeded pthread.h inclusions
configure: Make missing pkg-config an error rather than a warning
If pkg-config doesn't exist then make configure fail immediatelywith a useful error message. Now that glib is a required dependency,proceeding despite the missing pkg-config will just cause us to...
fix compilation with stderr trace backend
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
target-i386: Remove data type CCTable
Remove also two assert statements which were the last remaining users.
Signed-off-by: Stefan Weil <weil@mail.berlios.de>Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Revert "alpha-softmmu: Disable for the 0.15 release branch."
This reverts commit 46f08792bb4a69ab8aab897c174d82b006026140.
This was not supposed to be applied to mainline.
Signed-off-by: Richard Henderson <rth@twiddle.net>Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
Merge remote-tracking branch 'mst-tmp/for_anthony' into staging
Merge remote-tracking branch 'kwolf/for-anthony' into staging
Merge remote-tracking branch 'kiszka/queues/slirp' into staging
Merge remote-tracking branch 'qmp/queue/qmp' into staging
pci_bridge: simplify memory regions some more
replace alloc/free with struct members.todo: smash with initial implementation aftertesting.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
wavaudio: Use stdio instead of QEMUFile
QEMUFile * is only intended for migration nowadays. Using it foranything else just adds pain and a layer of buffers for no goodreason.
Signed-off-by: Juan Quintela <quintela@redhat.com>CC: malc <av1474@comtv.ru>...
wavcapture: Use stdio instead of QEMUFile
linux-aio: remove process requests callback
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>Signed-off-by: Kevin Wolf <kwolf@redhat.com>
rbd: allow escaping in config string
The config string is variously delimited by =, @, and /, depending on thefield. Allow these characters to be escaped by preceeding them with \.
Signed-off-by: Sage Weil <sage@newdream.net>Signed-off-by: Kevin Wolf <kwolf@redhat.com>
block: avoid SIGUSR2
Now that iothread is always compiled sending a signal seems only anadditional step. This patch also avoid writing to two pipe (one from signaland one in qemu_service_io).
Work with kvm enabled or disabled. strace output is more readable (less syscalls)....
AHCI Port Interrupt Enable register cleaning on soft reset
I've found that FreeBSD AHCI driver doesn't work with AHCI hardwareemulation of QEMU 0.15.0. I believe the problem is on QEMU's side. As Isee, it clears port's Interrupt Enable register each time when reset of...
rbd: ignore failures when reading from default conf location
If we are reading from the default config location, ignore any failures.It is perfectly legal for the user to specify exactly the options they needand to not rely on any config file.
Signed-off-by: Sage Weil <sage@newdream.net>...
rbd: update comment heading
Properly document the configuration string syntax and semantics. Remove(out of date) details about the librbd implementation.
rbd: call flush, if available
librbd recently added async writeback and flush support. If the newrbd_flush() call is available, call it.
scsi: fix sign extension problems
When assigning a 32-bit value to cmd->xfer (which is 64-bits)it can be erroneously sign extended because the intermediate32-bit computation is signed. Fix this by standardizing onthe ld*_be_p functions.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>...
dma-helpers: rewrite completion/cancellation
This fixes various problems with completion/cancellation:
scsi-disk: commonize iovec creation between reads and writes
Also, consistently use qiov.size instead of iov.iov_len.
scsi-disk: lazily allocate bounce buffer
It will not be needed for reads and writes if the HBA provides a sglist.In addition, this lets scsi-disk refuse commands with an excessiveallocation length, as well as limit memory on usual well-behaved guests....
VMDK: fix leak of extent_file
Release extent_file on error in vmdk_parse_extents. Added closing filesin freeing extents.
Signed-off-by: Fam Zheng <famcool@gmail.com>Signed-off-by: Kevin Wolf <kwolf@redhat.com>
posix-aio-compat: Removed unused offset variable
Signed-off-by: Frediano Ziglio <freddy77@gmail.com>Signed-off-by: Kevin Wolf <kwolf@redhat.com>
dma-helpers: allow including from target-independent code
Target-independent code cannot construct sglists, but it can takethem from the outside as a black box. Allow this.
pci_bridge: use parent bus's address space
The switch to the new memory API caused the following problem:
The pci device may call pci_register_bar() to use PCI bus's addressspace. But we don't init PCI bus's address space if it is not bus0. A crash was reported:...
pci: implement bridge filtering
Support bridge filtering on top of the memoryAPI as suggested by Avi Kivity:
Create a memory region for the bridge's address space. This region isnot directly added to system_memory or its descendants. Devices underthe bridge see this region as its pci_address_space(). The region is...
pci: Remove unused pci_reserve_capability
eepro100 was the last user. Now pci_add_capability is powerful enough.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
pci: interrupt pin documentation update
Fix up some erroneous comments in code:interrupt pins are named A-D, theinterrupt pin register is always readonlyand isn't zeroed out on reset.
pci: Remove unused mem_base from PCIBus
Obsoleted by f64e02b6cc.
dma-helpers: rename is_write to to_dev
scsi-generic: do not disable FUA
I found no rationale for this in the logs, and it is quite bad becauseit will make scsi-generic unsafe WRT power failures.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>Reviewed-by: Christoph Hellwig <hch@lst.de>Signed-off-by: Kevin Wolf <kwolf@redhat.com>
nbd: support feature negotiation
nbd supports writing flags in bytes 24...27 of the header,and uses that for the read-only flag. Add support for itin qemu-nbd.
nbd: sync API definitions with upstream
nbd: support NBD_SET_FLAGS ioctl
The nbd kernel module cannot enable DISCARD requests unless it isinformed about it. The flags field in the header is used for this,and this patch adds support for it.
raw-posix: Fix bdrv_flush error return values
bdrv_flush is supposed to use 0/-errno return values
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
sun4u: don't set up isa_mem_base
Since we use memory API in sun4u.c, after71579cae30b53c910cd6c47ab4e683f647d36519, setting up isa_mem_baseputs vga.chain4 outside of the physical address space.
Fix by removing obsolete isa_mem_base set up.
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
tcg/ppc64: Only one call output register needed for 64 bit hosts
The second register is only needed for 32 bit hosts.
Cc: Vassili Karpov <av1474@comtv.ru>Fine-with-me'd-by: Vassili Karpov <av1474@comtv.ru>Signed-off-by: Stefan Weil <weil@mail.berlios.de>...
tcg/sparc: Only one call output register needed for 64 bit hosts
Cc: Blue Swirl <blauwirbel@gmail.com>Signed-off-by: Stefan Weil <weil@mail.berlios.de>Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
tcg/s390: Only one call output register needed for 64 bit hosts
Cc: Alexander Graf <agraf@suse.de>Acked-by: Richard Henderson <rth@twiddle.net>Signed-off-by: Stefan Weil <weil@mail.berlios.de>Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
tcg/ia64: Only one call output register needed for 64 bit hosts
The second register is never used for ia64 hosts.
Cc: Aurelien Jarno <aurelien@aurel32.net>Signed-off-by: Stefan Weil <weil@mail.berlios.de>Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
tcg/i386: Only one call output register needed for 64 bit hosts
Signed-off-by: Stefan Weil <weil@mail.berlios.de>Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
target-i386: Fix several SSE3 instructions.
haddp[sd], hsubp[sd] and addsubp[sd] operate on floats, thus it isnecessary to use the appropriate floating point calculation functions.If this is not done, those functions operate merely on integers, whichis not correct....
trace: add virtio_set_status() trace event
The virtio device lifecycle can be observed by looking at the sequenceof set status operations. This is especially important for catching thereset operation (status value 0), which resets the device and allvirtqueues....
trace: remove trailing double quotes after PRI*64
Now that format strings can end in a PRI*64 macro, remove theworkarounds from the trace-events file.
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
trace: allow PRI*64 at beginning and ending of format string
The tracetool parser only picks up PRI*64 and other format string macroswhen enclosed between double quoted strings. Lift this restriction byextracting everything after the closing ')' as the format string:...
trace: remove newline from grlib_irqmp_check_irqs format string
There is no need to put a newline in trace event format strings. Thebackend may use the format string within some context and takes care ofhow to display the event. The stderr backend automatically appends "\n"...
Makefile: Fix broken build
make -C mybuilddir no longer works (regression caused by commit)388d475815c23901010a25c845eb078d47ee0740.
PWD is the directory of the caller (not mybuilddir),so BUILD_DIR is set to the wrong value.
GNU make sets CURDIR to the correct value....
vga: Respect isa_mem_base when registering chain4 alias
This does not yet unbreak PPC (which has its own problems) butpotentially other non-x86 systems where isa_mem_base is != 0.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
qdev: print bus properties too
Make qdev_device_help print both device and bus properties.Helps libvirt to figure whenever bus properties such asPCI.multifunction are supported present or not.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
hw/integratorcp: Fix bugs in writes to CM_CTRL system register
Fix a number of bugs in the implementation of writes to the CM_CTRLsystem register: * write to cm_ctrl, not cm_init ! * an '&' vs '^' typo meant we would write the inverse of the bits * handling the LED via printf() meant we spew lots of output...
bswap.h: build fix
qemu build fails when CONFIG_MACHINE_BSWAP_H is definedbecause float32, float64, etc. are not defined.This makes qemu build.
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
vga: Fix text mode screendumps
In text mode, even a full refresh of the screen takes multiple updates.As we reset the dump file pointer after the first call, we only wrotethe first line.
console: Properly switch consoles for screen dumps
Do not mess with active_console, use console_select instead. This fixescorrupt virtual monitor consoles after issuing the screendump command.
build: Always have 'BUILD_DIR' variable pointing to the root of the build tree
Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu>Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
build: Move tracing objects into libuser on usermode emulation targets
This will apply libuser-specific compilation flags (like the ones added by--enable-user-pie), but keep softmmu emulation targets "as-is".
Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu>...
Remove blanks before \n in output strings
Those blanks violate the coding conventions, seescripts/checkpatch.pl.
Blanks missing after colons in the changed lines were added.
This patch does not try to fix tabs, long lines and otherproblems in the changed lines, therefore checkpatch.pl reports...
Fix termination by signal with -no-shutdown
On signals such as SIGTERM qemu should exit instead of just stopping the VMeven with -no-shutdown.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
slirp: Fill TCP/IP header template after SYN reception
This ensures we can cleanly signal the drop in case the connection timerfires. So far we sent those frames to nowhere (target IP 0.0.0.0).
Found by the new assertion on invalid IPs in arp_table_search....
Replace the VMSTOP macros with a proper state type
Today, when notifying a VM state change with vm_state_notify(),we pass a VMSTOP macro as the 'reason' argument. This is not idealbecause the VMSTOP macros tell why qemu stopped and not exactlywhat the current VM state is....
RunState: Add additional states
Currently, only vm_start() and vm_stop() change the VM state.That's, the state is only changed when starting or stopping the VM.
This commit adds the runstate_set() function, which makes it possibleto also do state transitions when the VM is stopped or running....
runstate_set(): Check for valid transitions
This commit could have been folded with the previous one, howeverdoing it separately will allow for easy bisect and revert if needed.
Checking and testing all valid transitions wasn't trivial, chancesare this will need broader testing to become more stable....
Drop the incoming_expected global variable
Test against RSTATE_IN_MIGRATE instead.
Please, note that the RSTATE_IN_MIGRATE state is only set when all theinitial VM setup is done, while 'incoming_expected' was set right inthe beginning when parsing command-line options. Shouldn't be a problem...
Drop the vm_running global variable
Use runstate_is_running() instead, which is introduced by this commit.
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
Monitor/QMP: Don't allow cont on bad VM state
We have two states where issuing cont before system_reset cancause problems: RSTATE_SHUTDOWN (when -no-shutdown is used) andRSTATE_PANICKED (which only happens with kvm).
This commit fixes that by doing the following when state is...
QMP: query-status: Introduce 'status' key
This new key reports the current VM status to clients. Please, checkthe documentation being added in this commit for more details.
HMP: info status: Print the VM state
Today our printf format for the "info status" command is:
VM status: %s
Where the string can be "running", "running (single step mode)" or"paused".
This commit extends it to:
VM status: %s (%s)
The second string corresponds to the "status" field as returned...
Move vm_state_notify() prototype from cpus.h to sysemu.h
It's where all the state handling functions prototypes are located.
Merge remote-tracking branch 'qemu-kvm-tmp/memory/core' into staging
Merge remote-tracking branch 'aneesh/for-upstream-4' into staging
Fix subtle integer overflow bug in memory API
It is quite common to have a MemoryRegion with size of INT64_MAX.When processing alias regions in render_memory_region() it's quiteeasy to find a case where it will construct a temporary AddrRange witha non-zero start, and size still of INT64_MAX. When means attempting...
block: New bdrv_set_buffer_alignment()
Device models should be able to set it without an unclean include ofblock_int.h.
Signed-off-by: Markus Armbruster <armbru@redhat.com>Signed-off-by: Kevin Wolf <kwolf@redhat.com>
block: Reset buffer alignment on detach
BlockDriverState member buffer_alignment is initially 512. The devicemodel may set them, with bdrv_set_buffer_alignment(). If the devicemodel gets detached (hot unplug), the device's alignment is leftbehind. Only okay because device hot unplug automatically destroys...
nbd: Clean up use of block_int.h
block: New change_media_cb() parameter load
To let device models distinguish between eject and load.
ide/atapi scsi-disk: Make monitor eject -f, then change work
change fails while the tray is locked by the guest. eject -f forcesit open and removes any media. Unfortunately, the tray closes againinstantly. Since the lock remains as it is, there is no way to insert...
qcow2: initialize metadata before inserting in cluster_allocs
QCow2Meta structure was inserted into list before many fields areinitialized. Currently is not a problem cause all occur in a lockbut if qcow2_alloc_clusters would in a future unlock this lock...
ahci: Remove unused struct member
Member variable is_read is written, but never read(contrary to its name). Remove it.
Kevin Wolf <kwolf@redhat.com>Signed-off-by: Stefan Weil <weil@mail.berlios.de>Signed-off-by: Kevin Wolf <kwolf@redhat.com>
qcow2: align cluster_data to block to improve performance using O_DIRECT
qcow2: fix range check
QCowL2Meta::offset is not cluster aligned but only sector alignedhowever nb_clusters count cluster from cluster start.This fix range check. Note that old code have no corruption issuesrelated to this check cause it only cause intersection to occur...
rbd: clean up, fix style
No assignment in condition. Remove duplicate ret > 0 check.
Signed-off-by: Sage Weil <sage@newdream.net>Reviewed-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>Signed-off-by: Kevin Wolf <kwolf@redhat.com>
rbd: fix leak in qemu_rbd_open failure paths
Fix leak of s->snap in failure path. Simplify error paths for the wholefunction.
Reported-by: Stefan Hajnoczi <stefanha@gmail.com>Signed-off-by: Sage Weil <sage@newdream.net>Reviewed-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>...
ide/atapi: Don't fail eject when tray is already open
MMC-5 6.40.2.6 specifies that START STOP UNIT succeeds when the drivealready has the requested state. cmd_start_stop_unit() fails whenasked to eject while the tray is open and locked. Fix that.
Signed-off-by: Markus Armbruster <armbru@redhat.com>...
scsi-disk: Fix START_STOP to fail when it can't eject
Don't fail when tray is already open.
ide/atapi: Preserve tray state on migration
Use a subsection, so that migration to older version still works,provided the tray is closed and unlocked.
block: Clean up remaining users of "removable"
BlockDriverState member removable is a confused mess. It is true whenan ide-cd, scsi-cd or floppy qdev is attached, or when theBlockDriverState was created with -drive if={floppy,sd} or -driveif={ide,scsi,xen,none},media=cdrom ("created removable"), except when...
block: Drop BlockDriverState member removable
It's a confused mess (see previous commit). No users remain.
block: Show whether the virtual tray is open in info block
Need to ask the device, so this requires new BlockDevOps memberis_tray_open().
block: Move BlockConf & friends from block_int.h to block.h
It's convenience stuff for block device models, so block.h isn't theideal home either, but better than block_int.h.
Permits moving some #include "block_int.h" from device model .h into.c.
hw: Trim superfluous #include "block_int.h"
Including it in device models is unclean, including it without areason adds insult to injury.
block: Revert entanglement of bdrv_is_inserted() with tray status
Commit 4be9762a changed bdrv_is_inserted() to fail when the tray isopen. Unfortunately, there are two different kinds of users, withconflicting needs.
1. Device models using bdrv_eject(), currently ide-cd and scsi-cd....
block: Drop tray status tracking, no longer used
Commit 4be9762a is now completely redone.
ide/atapi: Track tray locked state
We already track it in BlockDriverState. Just like tray open/closestate, we should track it in the device models instead, because it'sdevice state.
scsi-disk: Track tray locked state
block: Leave enforcing tray lock to device models
The device model knows best when to accept the guest's eject command.No need to detour through the block layer.
bdrv_eject() can't fail anymore. Make it void.
block: Drop medium lock tracking, ask device models instead
Requires new BlockDevOps member is_medium_locked(). Implement for IDEand SCSI CD-ROMs.
block: Rename bdrv_set_locked() to bdrv_lock_medium()
While there, make the locked parameter bool.
rbd: allow client id to be specified in config string
Allow the client id to be specified in the config string via 'id=' so thatusers can control who they authenticate as. Currently they are stuck withthe default ('admin'). This is necessary for anyone using authentication...