aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2011-11-24pl031: convert to memory APIAvi Kivity
Signed-off-by: Avi Kivity <avi@redhat.com>
2011-11-24pl022: convert to memory APIAvi Kivity
Signed-off-by: Avi Kivity <avi@redhat.com>
2011-11-24pl011: convert to memory APIAvi Kivity
Signed-off-by: Avi Kivity <avi@redhat.com>
2011-11-24zaurus: convert to memory APIAvi Kivity
Signed-off-by: Avi Kivity <avi@redhat.com>
2011-11-24parallel: convert to memory APIAvi Kivity
Signed-off-by: Avi Kivity <avi@redhat.com>
2011-11-24jazz_led: convert to memory APIAvi Kivity
Signed-off-by: Avi Kivity <avi@redhat.com>
2011-11-24shix: convert to memory APIAvi Kivity
RAM wasn't actually allocated, only used, so fix that as well. Signed-off-by: Avi Kivity <avi@redhat.com>
2011-11-24virtex_ml507: convert to memory APIAvi Kivity
Signed-off-by: Avi Kivity <avi@redhat.com>
2011-11-24vexpress: convert to memory APIAvi Kivity
Signed-off-by: Avi Kivity <avi@redhat.com>
2011-11-24versatilepb: convert to memory APIAvi Kivity
Signed-off-by: Avi Kivity <avi@redhat.com>
2011-11-24tosa: convert to memory APIAvi Kivity
Signed-off-by: Avi Kivity <avi@redhat.com>
2011-11-21Update version for 1.0-rc3 releasev1.0-rc3Anthony Liguori
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-11-21configure: check for EFD_NONBLOCK | EFD_CLOEXEC flagsMax Filippov
Add check for the EFD_NONBLOCK and EFD_CLOEXEC flags to the CONFIG_EVENTFD test. This fixes the following build failure on Fedora 9: CC event_notifier.o event_notifier.c: In function `event_notifier_init': event_notifier.c:21: error: `EFD_NONBLOCK' undeclared (first use in this function) event_notifier.c:21: error: (Each undeclared identifier is reported only once event_notifier.c:21: error: for each function it appears in.) event_notifier.c:21: error: `EFD_CLOEXEC' undeclared (first use in this function) make: *** [event_notifier.o] Error 1 Reviewed-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com> Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-11-21configure: build position independent executables on x86-Linux hostsAvi Kivity
Change the default on x86 Linux hosts to building PIE (position independent executables); instead of restricting the option to user-only targets, apply it to all targets. In addition, set the relocation sections to read-only (relro) when available; this reduces the attack surface by disallowing changes to relocation tables at runtime. While PIE reduces performance and relro increases load time, it greatly improves security, with the potential to reduce a code execution vulnerability to a self denial of service. Non-x86 are not changed, as they require TCG changes; neither are non-Linux, due to lack of test coverage. Signed-off-by: Avi Kivity <avi@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-11-21ivshmem: fix PCI BAR2 registration during initializationHongyong Zang
Ivshmem cannot work, and the command lspci cannot show ivshmem BAR2 in the guest. As for pci_register_bar(), parameter MemoryRegion should be s->bar instead of s->ivshmem. Reviewed-by: Avi Kivity <avi@redhat.com> Signed-off-by: Hongyong Zang <zanghongyong@huawei.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-11-21msix: avoid mask updates if mask is unchangedMichael S. Tsirkin
Check pending bit only if vector mask status changed. This is not really important for qemu.git but helps fix a bug in qemu-kvm.git. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-11-21msix: Prevent bogus mask updates on MMIO accessesMichael S. Tsirkin
>From: Jan Kiszka <jan.kiszka@siemens.com> Only accesses to the MSI-X table must trigger a call to msix_handle_mask_update, otherwise the vector value might be out of range. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-11-21msix: track function masked in pci device stateMichael S. Tsirkin
Only go over the table when function is masked. This is not really important for qemu.git but helps fix a bug in qemu-kvm.git. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-11-21Include zlib.h using #include <>Stefan Weil
zlib.h is not a local include file, therefore it should be included using <> instead of "". Signed-off-by: Stefan Weil <sw@weilnetz.de> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-11-219p: pass dotl flags to the unlinkat methodPaolo Bonzini
AT_REMOVEDIR is not defined on all systems. Pass the raw flags from the 9p protocol, which are always there. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-11-219p: allow compiling the dummy virtio-9p-handle.c code on LinuxPaolo Bonzini
Avoid a conflict on the definition of struct file_handle by using a replacement name. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-11-21qed: add migration blocker (v2)Anthony Liguori
Now when you try to migrate with qed, you get: (qemu) migrate tcp:localhost:1025 Block format 'qed' used by device 'ide0-hd0' does not support feature 'live migration' (qemu) Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-11-21qcow2: implement bdrv_invalidate_cache (v2)Anthony Liguori
We don't reopen the actual file, but instead invoke the close and open routines. We specifically ignore the backing file since it's contents are read-only and therefore immutable. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-11-21block: allow migration to work with image files (v3)Anthony Liguori
Image files have two types of data: immutable data that describes things like image size, backing files, etc. and mutable data that includes offset and reference count tables. Today, image formats aggressively cache mutable data to improve performance. In some cases, this happens before a guest even starts. When dealing with live migration, since a file is open on two machines, the caching of meta data can lead to data corruption. This patch addresses this by introducing a mechanism to invalidate any cached mutable data a block driver may have which is then used by the live migration code. NB, this still requires coherent shared storage. Addressing migration without coherent shared storage (i.e. NFS) requires additional work. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-11-21ivshmem: use migration blockers to prevent live migration in peer mode (v2)Anthony Liguori
Now when you try to migrate with ivshmem, you get a proper QMP error: (qemu) migrate tcp:localhost:1025 Migration is disabled when using feature 'peer mode' in device 'ivshmem' (qemu) Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-11-21migrate: add migration blockersAnthony Liguori
This lets different subsystems register an Error that is thrown whenever migration is attempted. This works nicely because it gracefully supports things like hotplug. Right now, if multiple errors are registered, only one of them is reported. I expect that for 1.1, we'll extend query-migrate to return all of the reasons why migration is disabled at any given point in time. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-11-21Merge remote-tracking branch 'kraxel/usb.31' into stagingAnthony Liguori
2011-11-21Merge remote-tracking branch 'origin/master' into stagingAnthony Liguori
2011-11-21usb-linux: fix /proc/bus/usb/devices scanGerd Hoffmann
Commit 0c402e5abb8c2755390eee864b43a98280fc2453 is incomplete and misses one of the two function pointer calls in usb_host_scan_dev(). Add the additional port handling logic to the other call too. Spotted by Coverity. Cc: Markus Armbruster <armbru@redhat.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2011-11-21ehci: add assertGerd Hoffmann
Coverity thinks q could be NULL there and warns. I believe it can't be NULL there. Add assert to prove it. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2011-11-21usb-storage: don't try to send the status early.Gerd Hoffmann
Until recently all scsi commands sent to scsi-disk did either transfer data or finished instantly. The correct implementation of SYNCRONIZE_CACHE changed the picture though, and usb-storage needs a fix to handle that case correctly.
2011-11-21usb-storage: drop result from device state.Gerd Hoffmann
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2011-11-21usb-storage: drop tag from device state.Gerd Hoffmann
scsi keeps track of the tag in SCSIRequest, no need to store a separate copy. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2011-11-21usb-storage: fill status in complete callback.Gerd Hoffmann
Put status word into device state, fill it in command_complete, have usb_msd_send_status just send it out. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2011-11-21usb-storage: move status debug message to usb_msd_send_status.Gerd Hoffmann
usb_msd_send_status can be called from different code paths, move the debug message into the function to make sure it is printed unconditionally. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2011-11-19x86: fix pcmpestrm and pcmpistrmBlue Swirl
Fix obvious typos (decrement and off-by-one error) in pcmpestrm and pcmpistrm which resulted in infinite loop. Reported by Frank Mehnert, spotted also by Coverity (bug 84752853). Reported-by: Frank Mehnert <frank.mehnert@oracle.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2011-11-19loader: Fix read_targphys() to behave when read() failsMarkus Armbruster
Happily passes (size_t)-1 to rom_add_blob_fixed(), which promptly dies attempting to malloc that much. Spotted by Coverity. Bonus fix for ROMs larger than INT_MAX bytes: return ssize_t instead of int. Bug can't bite, because the only user load_aout() limits ROM size to an int value. Signed-off-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2011-11-19Improve "ta 0" shutdownFabien Chouteau
This patch replace the previous implementation with this simplified and more complete version (no shutdown when psret == 1). Signed-off-by: Fabien Chouteau <chouteau@adacore.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2011-11-19gdbstub: Fix memory leakStefan Weil
cppcheck report: gdbstub.c:1781: error: Memory leak: s Rearranging of the code avoids the leak. v2: Replace the g_malloc0() by g_new0() (suggested by Stuart Brady). Signed-off-by: Stefan Weil <sw@weilnetz.de> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2011-11-19tcg-sparc: Fix set-but-not used warnings.Richard Henderson
In both cases, val is computed, but then not used in the subsequent line, which then re-computes the quantity in a different type (int32_t vs unsigned long). Keep the computation type that's been working so far. Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2011-11-19Merge branch 's390-1.0' of git://repo.or.cz/qemu/agrafBlue Swirl
* 's390-1.0' of git://repo.or.cz/qemu/agraf: s390x: initialize virtio dev region tcg: Use TCGReg for standard tcg-target entry points. tcg: Standardize on TCGReg as the enum for hard registers s390x: Add shutdown for TCG s390-virtio machine s390: Fix cpu shutdown for KVM s390: fix short kernel command lines s390: fix reset hypercall to reset the status s390x: implement SIGP restart and shutdown s390x: implement rrbe instruction properly s390x: update R and C bits in storage key s390x: make ipte 31-bit aware s390x: add ldeb instruction
2011-11-19Merge branch 'ppc-1.0' of git://repo.or.cz/qemu/agrafBlue Swirl
* 'ppc-1.0' of git://repo.or.cz/qemu/agraf: pseries: Fix qdev.id handling in the VIO bus code pseries: Allow kernel's early debug output to work pseries: Default reg for vty should be SPAPR_VTY_BASE_ADDRESS pseries: Check we have a chardev in spapr_vty_init() pseries: Fix buggy spapr_vio_find_by_reg() pseries: Correct RAM size check for SLOF PPC: Fix for the gdb single step problem on an rfi instruction tcg-ppc64: Fix compile errors for userspace only builds with gcc 4.6 pseries: Fix initialization of sPAPREnvironment structure
2011-11-18Merge remote-tracking branch 'kwolf/block-stable' into stagingAnthony Liguori
2011-11-18Merge remote-tracking branch 'qmp/queue/qmp-1.0' into stagingAnthony Liguori
2011-11-18fmodaudio: Remove unused variable 'bits16' (reported by cppcheck)Stefan Weil
The variable is assigned a value which is never used, so remove variable and assignment. Signed-off-by: Stefan Weil <sw@weilnetz.de> Signed-off-by: malc <av1474@comtv.ru>
2011-11-18pseries: Fix qdev.id handling in the VIO bus codeMichael Ellerman
When the user creates a device on the command line with -device, they can specify the id, using id=foo. Currently the VIO bus code overwrites this id with it's own value. We should only set qdev.id if it is not already set by the user. The device tree code uses qdev.id for the device tree node name, however we can't rely on the user specifiying the id using proper device tree syntax, ie. device@reg. So separate the device tree node name from the qdev.id, but use the same syntax, so they will match by default. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Alexander Graf <agraf@suse.de>
2011-11-18pseries: Allow kernel's early debug output to workDavid Gibson
The PAPR specification defines a virtual TTY/console interface for guest OSes to use via the H_PUT_TERM_CHAR and H_GET_TERM_CHAR hypercalls. There can be multiple virtual ttys, so these take a "termno" parameter. This encodes which vty to use as the 'reg' property on the device tree node associated with that vty. However, with the early debug options enabled, the Linux kernel will attempt debugging output through the vty very early, before it has read the device tree. In this case it always uses a termno of 0. This works on the existing PowerVM hypervisor, so we assume there must be a hack / feature in there which interprets termno==0 to mean the default primary console. To help with debugging kernels, including existing distribution kernels, this patch implements a similar feature / hack in qemu. If termno==0 is supplied to H_{GET,PUT}_TERM_CHAR, they use the first available vty device instead. We need to be careful in the case that the user has manually created an spapr-vty at address 0. So first we search for the specified reg and only if that doesn't match do we fall back. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Alexander Graf <agraf@suse.de>
2011-11-18pseries: Default reg for vty should be SPAPR_VTY_BASE_ADDRESSMichael Ellerman
In commit b4a78527359a4540d84d4cdf629d01cbb262f698 ("Place pseries vty devices at addresses more similar to existing machines"), we changed the default reg for the vty to 0x30000000, however we didn't update the default value for a user specified vty device. Fix that. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Alexander Graf <agraf@suse.de>
2011-11-18pseries: Check we have a chardev in spapr_vty_init()Michael Ellerman
If qemu is run like: qemu-system-ppc64 -nodefaults -device spapr-vty We end up in spapr_vty_init() with dev->chardev == NULL. Currently that leads to a segfault because we unconditionally call qemu_chr_add_handlers(). Although we could make that call conditional, I think a spapr-vty without a chardev is basically useless so fail the init. This is similar to what the serial code does for example. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Alexander Graf <agraf@suse.de>
2011-11-18pseries: Fix buggy spapr_vio_find_by_reg()David Gibson
The spapr_vio_find_by_reg() function in hw/spapr_vio.c is supposed to find the device structure for a PAPR virtual IO device with the given reg value, and return NULL if none exists. It does the first ok, but if no device with that reg exists, it just returns the last device traversed in the list. This patch fixes it. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Alexander Graf <agraf@suse.de>