]> git.proxmox.com Git - qemu.git/log
qemu.git
11 years agoMerge remote-tracking branch 'kwolf/for-anthony' into staging
Anthony Liguori [Mon, 22 Apr 2013 13:08:22 +0000 (08:08 -0500)]
Merge remote-tracking branch 'kwolf/for-anthony' into staging

# By Kevin Wolf (16) and Stefan Hajnoczi (4)
# Via Kevin Wolf
* kwolf/for-anthony:
  qemu-iotests: add 053 unaligned compressed image size test
  block: Allow overriding backing.file.filename
  block: Remove filename parameter from .bdrv_file_open()
  vvfat: Use bdrv_open options instead of filename
  sheepdog: Use bdrv_open options instead of filename
  rbd: Use bdrv_open options instead of filename
  iscsi: Use bdrv_open options instead of filename
  gluster: Use bdrv_open options instead of filename
  curl: Use bdrv_open options instead of filename
  blkverify: Use bdrv_open options instead of filename
  blkdebug: Use bdrv_open options instead of filename
  raw-win32: Use bdrv_open options instead of filename
  raw-posix: Use bdrv_open options instead of filename
  block: Enable filename option
  block: Add driver-specific options for backing files
  block: Fail gracefully when using a format driver on protocol level
  qemu-iotests: Fix _filter_qemu
  qemu-img: do not zero-pad the compressed write buffer
  qcow: allow sub-cluster compressed write to last cluster
  qcow2: allow sub-cluster compressed write to last cluster

Message-id: 1366630294-18984-1-git-send-email-kwolf@redhat.com
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
11 years agoMerge remote-tracking branch 'bonzini/nbd-next' into staging
Anthony Liguori [Mon, 22 Apr 2013 13:05:14 +0000 (08:05 -0500)]
Merge remote-tracking branch 'bonzini/nbd-next' into staging

# By Stefan Hajnoczi
# Via Paolo Bonzini
* bonzini/nbd-next:
  nbd: set TCP_NODELAY
  nbd: use TCP_CORK in nbd_co_send_request()
  nbd: unlock mutex in nbd_co_send_request() error path

Message-id: 1366381830-11267-1-git-send-email-pbonzini@redhat.com
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
11 years agoMerge remote-tracking branch 'bonzini/scsi-next' into staging
Anthony Liguori [Mon, 22 Apr 2013 13:05:05 +0000 (08:05 -0500)]
Merge remote-tracking branch 'bonzini/scsi-next' into staging

# By Paolo Bonzini (5) and others
# Via Paolo Bonzini
* bonzini/scsi-next:
  vhost-scsi-s390: new device supporting the tcm_vhost Linux kernel module
  vhost-scsi-ccw: new device supporting the tcm_vhost Linux kernel module
  vhost-scsi-pci: new device supporting the tcm_vhost Linux kernel module
  vhost-scsi: new device supporting the tcm_vhost Linux kernel module
  virtio: simplify Makefile conditionals
  virtio-scsi: create VirtIOSCSICommon
  vhost: Add vhost_commit callback for SeaBIOS ROM region re-mapping
  scsi: VMWare PVSCSI paravirtual device implementation
  scsi: avoid assertion failure on VERIFY command

Message-id: 1366381460-6041-1-git-send-email-pbonzini@redhat.com
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
11 years agoMerge remote-tracking branch 'luiz/queue/qmp' into staging
Anthony Liguori [Mon, 22 Apr 2013 13:04:21 +0000 (08:04 -0500)]
Merge remote-tracking branch 'luiz/queue/qmp' into staging

# By Amos Kong (1) and Luiz Capitulino (1)
# Via Luiz Capitulino
* luiz/queue/qmp:
  virtio-balloon: fix integer overflow in BALLOON_CHANGE QMP event
  monitor: fix the wrong order of releasing keys

Message-id: 1366375833-995-1-git-send-email-lcapitulino@redhat.com
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
11 years agoqemu-iotests: add 053 unaligned compressed image size test
Stefan Hajnoczi [Tue, 16 Apr 2013 09:14:23 +0000 (11:14 +0200)]
qemu-iotests: add 053 unaligned compressed image size test

Test that qemu-img convert -c works when input image length is not a
multiple of the cluster size.

Previously an error message would be produced:

  qemu-img: error while compressing sector 0: Input/output error

Now that qcow2 and qcow handle this case the test passes successfully.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
11 years agoblock: Allow overriding backing.file.filename
Kevin Wolf [Fri, 12 Apr 2013 18:27:07 +0000 (20:27 +0200)]
block: Allow overriding backing.file.filename

If a filename is passed in the driver-specific options from the command
line, the backing file path from the image is ignored now.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
11 years agoblock: Remove filename parameter from .bdrv_file_open()
Kevin Wolf [Fri, 12 Apr 2013 18:02:37 +0000 (20:02 +0200)]
block: Remove filename parameter from .bdrv_file_open()

It is unused now in all block drivers.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
11 years agovvfat: Use bdrv_open options instead of filename
Kevin Wolf [Fri, 12 Apr 2013 17:42:04 +0000 (19:42 +0200)]
vvfat: Use bdrv_open options instead of filename

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
11 years agosheepdog: Use bdrv_open options instead of filename
Kevin Wolf [Fri, 12 Apr 2013 16:10:49 +0000 (18:10 +0200)]
sheepdog: Use bdrv_open options instead of filename

This is only to convert the internal interface that is used for passing
the "filename" to be parsed, but converting to actual fine grained
options is left for another day, as it doesn't look trivial.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
11 years agorbd: Use bdrv_open options instead of filename
Kevin Wolf [Fri, 12 Apr 2013 16:05:35 +0000 (18:05 +0200)]
rbd: Use bdrv_open options instead of filename

This is only to convert the internal interface that is used for passing
the "filename" to be parsed, but converting to actual fine grained
options is left for another day, as it doesn't look trivial.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
11 years agoiscsi: Use bdrv_open options instead of filename
Kevin Wolf [Fri, 12 Apr 2013 15:59:59 +0000 (17:59 +0200)]
iscsi: Use bdrv_open options instead of filename

This is only to convert the internal interface that is used for passing
the "filename" to be parsed, but converting to actual fine grained
options is left for another day, as it doesn't look trivial.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
11 years agogluster: Use bdrv_open options instead of filename
Kevin Wolf [Fri, 12 Apr 2013 15:50:16 +0000 (17:50 +0200)]
gluster: Use bdrv_open options instead of filename

This is only to convert the internal interface that is used for passing
the "filename" to be parsed, but converting to actual fine grained
options is left for another day, as it doesn't look trivial.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
11 years agocurl: Use bdrv_open options instead of filename
Kevin Wolf [Wed, 10 Apr 2013 13:31:33 +0000 (15:31 +0200)]
curl: Use bdrv_open options instead of filename

As a bonus, going through the QemuOpts QEMU_OPT_SIZE parser for the
readahead option gives us proper error reporting that the previous use
of atoi() lacked.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
11 years agoblkverify: Use bdrv_open options instead of filename
Kevin Wolf [Wed, 10 Apr 2013 12:40:28 +0000 (14:40 +0200)]
blkverify: Use bdrv_open options instead of filename

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
11 years agoblkdebug: Use bdrv_open options instead of filename
Kevin Wolf [Wed, 10 Apr 2013 11:37:33 +0000 (13:37 +0200)]
blkdebug: Use bdrv_open options instead of filename

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
11 years agoraw-win32: Use bdrv_open options instead of filename
Kevin Wolf [Wed, 10 Apr 2013 09:34:56 +0000 (11:34 +0200)]
raw-win32: Use bdrv_open options instead of filename

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
11 years agoraw-posix: Use bdrv_open options instead of filename
Kevin Wolf [Tue, 2 Apr 2013 08:47:40 +0000 (10:47 +0200)]
raw-posix: Use bdrv_open options instead of filename

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
11 years agoblock: Enable filename option
Kevin Wolf [Tue, 9 Apr 2013 12:34:19 +0000 (14:34 +0200)]
block: Enable filename option

This allows using the file.filename option instead of the string that
comes from -drive file=... and is passed around as a separate parameter.
The goal is to get rid of this parameter and use the options QDict more
consistently.

With this option you can access not only the top-level image, but
specify a filename for the backing file (currently only if no backing
file exists, but we'll allow overriding it later)

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
11 years agoblock: Add driver-specific options for backing files
Kevin Wolf [Thu, 28 Mar 2013 14:29:24 +0000 (15:29 +0100)]
block: Add driver-specific options for backing files

Options starting in "backing." are passed to the backing file now. If
you don't need to specify the filename for the backing file, you can add
it on the command line instead of in the image file:

$ qemu-nbd -t /tmp/test.img
$ qemu-img create -f qcow2 empty.qcow2 1G
$ qemu-system-x86_64 -drive file=empty.qcow2,backing.file.driver=nbd,\
    backing.file.host=localhost

Note that this doesn't override the backing filename from the image. If
the image has one, this will fail because NBD doesn't want the options
and a filename at the same time.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
11 years agoblock: Fail gracefully when using a format driver on protocol level
Kevin Wolf [Tue, 9 Apr 2013 11:19:18 +0000 (13:19 +0200)]
block: Fail gracefully when using a format driver on protocol level

Specifying the wrong driver could fail an assertion:

$ qemu-system-x86_64 -drive file.driver=qcow2,file=x
qemu-system-x86_64: block.c:721: bdrv_open_common: Assertion `file !=
((void *)0)' failed.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
11 years agoqemu-iotests: Fix _filter_qemu
Kevin Wolf [Tue, 16 Apr 2013 09:22:36 +0000 (11:22 +0200)]
qemu-iotests: Fix _filter_qemu

$QEMU_PROG happens to be 'qemu' in my setup, so this sed command
replaces a bit too much. Restrict it to the start of the line and to
when it's followed by a colon, i.e. the form used by error messages.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
11 years agoqemu-img: do not zero-pad the compressed write buffer
Stefan Hajnoczi [Mon, 15 Apr 2013 15:17:33 +0000 (17:17 +0200)]
qemu-img: do not zero-pad the compressed write buffer

bdrv_write_compressed() does not allow requests that span the end of the
device.  Therefore it is useless to zero-pad the last cluster and
thereby exceed the end of the device.

Let image formats handle zero-padding the final compressed cluster, if
necessary.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
11 years agoqcow: allow sub-cluster compressed write to last cluster
Stefan Hajnoczi [Mon, 15 Apr 2013 15:17:32 +0000 (17:17 +0200)]
qcow: allow sub-cluster compressed write to last cluster

Compression in qcow requires image length to be a multiple of the
cluster size.  Lift this requirement by zero-padding the final cluster
when necessary.  The virtual disk size is still not cluster-aligned, so
the guest cannot access the zero sectors.

Note that this is almost identical to the qcow2 version of this code.
qcow2's compression code is drawn from qcow.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
11 years agoqcow2: allow sub-cluster compressed write to last cluster
Stefan Hajnoczi [Mon, 15 Apr 2013 15:17:31 +0000 (17:17 +0200)]
qcow2: allow sub-cluster compressed write to last cluster

Compression in qcow2 requires image length to be a multiple of the
cluster size.  Lift this requirement by zero-padding the final cluster
when necessary.  The virtual disk size is still not cluster-aligned, so
the guest cannot access the zero sectors.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
11 years agoui/cocoa.m: Fix recent compile breakage
Peter Maydell [Wed, 17 Apr 2013 09:16:35 +0000 (09:16 +0000)]
ui/cocoa.m: Fix recent compile breakage

Fix failures to compile introduced by recent console commits
1dbfa0050381c0d5a6) which removed is_graphic_console() and
vga_hw_update() without updating the cocoa UI backend to match.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
11 years agoi386 ROR r8/r16 instruction fix
Pavel Dovgaluk [Mon, 15 Apr 2013 06:59:15 +0000 (10:59 +0400)]
i386 ROR r8/r16 instruction fix

Fixed EFLAGS corruption by ROR r8/r16 instruction located at the end of the TB.

Signed-off-by: Pavel Dovgalyuk <pavel.dovgaluk@gmail.com>
Reviewed-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
11 years agoqdev: Drop taddr properties
Peter Maydell [Sat, 20 Apr 2013 13:48:28 +0000 (14:48 +0100)]
qdev: Drop taddr properties

Drop all the infrastructure for taddr properties (ie ones which
are 'hwaddr' sized). These are now unused, and any further desired
use would be rather questionable since device properties shouldn't
generally depend on a type that is conceptually variable based on
the target CPU. 32 or 64 bit integer properties should be used instead
as appropriate for the specific device.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
11 years agohw/sm501: Use correct setter for sysbus-ohci dma-address property
Peter Maydell [Sat, 20 Apr 2013 13:48:27 +0000 (14:48 +0100)]
hw/sm501: Use correct setter for sysbus-ohci dma-address property

The sysbus-ohci dma-address property is declared as a HEX64
property, not a TADDR, so use the correct setter for it.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Acked-by: Andreas Färber <afaerber@suse.de>
Tested-by: Aurelien Jarno <aurelien@aurel32.net>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
11 years agoMerge branch 'arm-devs.next' of git://git.linaro.org/people/pmaydell/qemu-arm
Blue Swirl [Sat, 20 Apr 2013 11:39:08 +0000 (11:39 +0000)]
Merge branch 'arm-devs.next' of git://git.linaro.org/people/pmaydell/qemu-arm

* 'arm-devs.next' of git://git.linaro.org/people/pmaydell/qemu-arm:
  hw/versatile_pci: Drop unnecessary vpb_pci_config_addr()
  versatile_pci: Expose PCI memory space to system
  arm/realview: Fix mapping of PCI regions
  versatile_pci: Implement the PCI controller's control registers
  versatile_pci: Implement the correct PCI IRQ mapping
  versatile_pci: Put the host bridge PCI device at slot 29
  versatile_pci: Use separate PCI I/O space rather than system I/O space
  versatile_pci: Change to subclassing TYPE_PCI_HOST_BRIDGE
  versatile_pci: Update to realize and instance init functions
  versatile_pci: Expose PCI I/O region on Versatile PB
  versatile_pci: Fix hardcoded tabs

11 years agoMerge branch 'target-arm.next' of git://git.linaro.org/people/pmaydell/qemu-arm
Blue Swirl [Sat, 20 Apr 2013 11:38:48 +0000 (11:38 +0000)]
Merge branch 'target-arm.next' of git://git.linaro.org/people/pmaydell/qemu-arm

* 'target-arm.next' of git://git.linaro.org/people/pmaydell/qemu-arm:
  target-arm: Correctly restore FPSCR
  target-arm: Add some missing CPU state fields to VMState
  target-arm: port ARM CPU save/load to use VMState
  target-arm: Reinsert missing return statement in ARM mode SRS decode

11 years agoMerge branch 'linux-user-for-upstream' of git://git.linaro.org/people/rikuvoipio...
Blue Swirl [Sat, 20 Apr 2013 11:38:29 +0000 (11:38 +0000)]
Merge branch 'linux-user-for-upstream' of git://git.linaro.org/people/rikuvoipio/qemu

* 'linux-user-for-upstream' of git://git.linaro.org/people/rikuvoipio/qemu:
  linux-user: fix setgroups/getgroups for non-UID16 archs
  linux-user: fix undefined shift in copy_to_user_fdset
  linux-user: change do_semop to return target errno when unsuccessful

11 years agovhost-scsi-s390: new device supporting the tcm_vhost Linux kernel module
Paolo Bonzini [Fri, 29 Mar 2013 01:08:16 +0000 (01:08 +0000)]
vhost-scsi-s390: new device supporting the tcm_vhost Linux kernel module

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Asias He <asias@redhat.com>
Cc: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
11 years agovhost-scsi-ccw: new device supporting the tcm_vhost Linux kernel module
Paolo Bonzini [Fri, 19 Apr 2013 14:16:50 +0000 (16:16 +0200)]
vhost-scsi-ccw: new device supporting the tcm_vhost Linux kernel module

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
11 years agovhost-scsi-pci: new device supporting the tcm_vhost Linux kernel module
Nicholas Bellinger [Fri, 29 Mar 2013 01:08:16 +0000 (01:08 +0000)]
vhost-scsi-pci: new device supporting the tcm_vhost Linux kernel module

Cc: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Signed-off-by: Asias He <asias@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
11 years agovhost-scsi: new device supporting the tcm_vhost Linux kernel module
Nicholas Bellinger [Fri, 29 Mar 2013 01:08:16 +0000 (01:08 +0000)]
vhost-scsi: new device supporting the tcm_vhost Linux kernel module

The WWPN specified in configfs is passed to "-device vhost-scsi-pci".
The tgpt field of the SET_ENDPOINT ioctl is obsolete now, so it is not
available from the QEMU command-line.  Instead, I hardcode it to zero.

Changes in Patch-v2:
   - Add vhost_scsi_get_features() in order to determine feature bits
     supports by host kernel (mst + nab)
   - Re-enable usage of DEFINE_VIRTIO_COMMON_FEATURES, and allow
     EVENT_IDX to be disabled by host in vhost_scsi_get_features()
   - Drop unused hotplug bit in DEFINE_VHOST_SCSI_PROPERTIES

Changes in Patch-v1:
   - Set event_idx=off by default (nab, thanks asias)
   - Disable hotplug feature bit for v3.9 tcm_vhost kernel code, need to
     re-enable in v3.10 (nab)
   - Update to latest qemu.git/master HEAD

Changes in WIP-V3:
   - Drop ioeventfd vhost_scsi_properties (asias, thanks stefanha)
   - Add CONFIG_VHOST_SCSI (asias, thanks stefanha)
   - Add hotplug feature bit

Changes in WIP-V2:
   - Add backend guest masking support (nab)
   - Bump ABI_VERSION to 1 (nab)
   - Set up set_guest_notifiers (asias)
   - Set up vs->dev.vq_index (asias)
   - Drop vs->vs.vdev.{set,clear}_vhost_endpoint (asias)
   - Drop VIRTIO_CONFIG_S_DRIVER check in vhost_scsi_set_status (asias)

Howto:
   Use the latest seabios, at least commit b44a7be17b
   git clone git://git.seabios.org/seabios.git
   make
   cp out/bios.bin /usr/share/qemu/bios.bin
   qemu -device vhost-scsi-pci,wwpn=naa.6001405bd4e8476d,event_idx=off
...

Cc: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Signed-off-by: Asias He <asias@redhat.com>
[ Rebase on top of VirtIOSCSICommon patch, fix bugs in feature
  negotiation and irqfd masking - Paolo ]
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
11 years agovirtio: simplify Makefile conditionals
Paolo Bonzini [Fri, 19 Apr 2013 08:45:25 +0000 (10:45 +0200)]
virtio: simplify Makefile conditionals

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
11 years agovirtio-scsi: create VirtIOSCSICommon
Paolo Bonzini [Fri, 29 Mar 2013 01:08:15 +0000 (01:08 +0000)]
virtio-scsi: create VirtIOSCSICommon

This patch refactors existing virtio-scsi code into VirtIOSCSICommon
in order to allow virtio_scsi_init_common() to be used by both internal
virtio_scsi_init() and external vhost-scsi-pci code.

Cc: Michael S. Tsirkin <mst@redhat.com>
Cc: Asias He <asias@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
11 years agoMerge remote-tracking branch 'stefanha/trivial-patches' into staging
Anthony Liguori [Fri, 19 Apr 2013 13:38:16 +0000 (08:38 -0500)]
Merge remote-tracking branch 'stefanha/trivial-patches' into staging

# By Stefan Weil (3) and others
# Via Stefan Hajnoczi
* stefanha/trivial-patches:
  m25p80: Remove bogus include of devices.h
  ssh: Remove unnecessary use of strlen function.
  block/ssh: Add missing gcc format attributes
  linux-user: change do_semop to return target errno when unsuccessful
  w64: Fix compiler warnings (wrong format specifier)
  Remove unneeded type casts
  virtio.h: drop unused function prototypes
  bswap: fix compiler warning

Message-id: 1366371241-23430-1-git-send-email-stefanha@redhat.com
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
11 years agoMerge remote-tracking branch 'mst/tags/for_anthony' into staging
Anthony Liguori [Fri, 19 Apr 2013 13:38:05 +0000 (08:38 -0500)]
Merge remote-tracking branch 'mst/tags/for_anthony' into staging

pci: add pci test device

This adds a new device that we can use for testing PCI PIO and MMIO, with and
without ioeventfd in different configurations.  FAST_MMIO will be added if/when
kvm supports it.  Also included are minor cleanups in kvm APIs that it needs.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
# gpg: Signature made Mon 15 Apr 2013 05:42:24 PM CDT using RSA key ID D28D5469
# gpg: Can't check signature: public key not found

# By Michael S. Tsirkin
# Via Michael S. Tsirkin
* mst/tags/for_anthony:
  pci: add pci test device
  kvm: support non datamatch ioeventfd
  kvm: support any size for pio eventfd
  kvm: remove unused APIs

Message-id: cover.1366272004.git.mst@redhat.com
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
11 years agoMerge remote-tracking branch 'qemu-kvm/uq/master' into staging
Anthony Liguori [Fri, 19 Apr 2013 13:37:58 +0000 (08:37 -0500)]
Merge remote-tracking branch 'qemu-kvm/uq/master' into staging

# By Jan Kiszka (4) and Marcelo Tosatti (1)
# Via Marcelo Tosatti
* qemu-kvm/uq/master:
  vmxcap: Update according to SDM of January 2013
  target-i386: kvm: save/restore steal time MSR
  vmxcap: Report APIC register emulation and RDTSCP control
  vmxcap: Augment reported information
  vmxcap: Open MSR file in unbuffered mode

Message-id: cover.1366253306.git.mtosatti@redhat.com
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
11 years agovirtio-balloon: fix integer overflow in BALLOON_CHANGE QMP event
Luiz Capitulino [Thu, 18 Apr 2013 15:53:32 +0000 (11:53 -0400)]
virtio-balloon: fix integer overflow in BALLOON_CHANGE QMP event

Because dev->actual is uint32_t, the expression 'dev->actual <<
VIRTIO_BALLOON_PFN_SHIFT' is truncated to 32 bits. This overflows when
dev->actual >= 1048576.

To reproduce:

 1. Start a VM with a QMP socket and 5G of RAM
 2. Connect to the QMP socket, negotiate capabilities and issue:

   { "execute":"balloon", "arguments": { "value": 1073741824 } }

 3. Watch for BALLOON_CHANGE QMP events, the last one will incorretly be:

   { "timestamp": { "seconds": 1366228965, "microseconds": 245466 },
     "event": "BALLOON_CHANGE", "data": { "actual": 5368709120 } }

To fix it this commit casts it to ram_addr_t, which is ram_size's type.

Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
11 years agomonitor: fix the wrong order of releasing keys
Amos Kong [Tue, 16 Apr 2013 05:47:32 +0000 (13:47 +0800)]
monitor: fix the wrong order of releasing keys

(qemu) sendkey ctrl_r-scroll_lock-scroll_lock

Executing this command could not let Windows guest panic, it caused by
the wrong order of releasing keys. This problem was introduced by
commit e4c8f004c55d9da3eae3e14df740238bf805b5d6.

The right release order should be starting from last item.

Signed-off-by: Amos Kong <akong@redhat.com>
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
11 years agotarget-arm: Correctly restore FPSCR
Peter Maydell [Fri, 19 Apr 2013 11:24:19 +0000 (12:24 +0100)]
target-arm: Correctly restore FPSCR

Use the helper functions to save and restore the FPSCR, so that
we correctly propagate rounding mode and flushing behaviour into
the float_status fields. This also allows us to stop saving the
vector length/stride fields separately.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
11 years agotarget-arm: Add some missing CPU state fields to VMState
Peter Maydell [Fri, 19 Apr 2013 11:24:19 +0000 (12:24 +0100)]
target-arm: Add some missing CPU state fields to VMState

A number of CPU state fields were accidentally omitted from
our migration state: some OMAP specific cp15 registers, and
some related to state for load/store exclusive insns. Add them.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
11 years agotarget-arm: port ARM CPU save/load to use VMState
Juan Quintela [Fri, 19 Apr 2013 11:24:19 +0000 (12:24 +0100)]
target-arm: port ARM CPU save/load to use VMState

Port the ARM CPU save/load code to use VMState. Some state is
saved in a slightly different order to simplify things -- for
example arrays are saved one after the other rather than 'striped',
and we always save all 32 VFP registers even if the CPU happens
to only have 16.

Use one subsection for each feature.  This means that we don't need to
bump the version field each time that a new feature gets introduced.

Signed-off-by: Juan Quintela <quintela@redhat.com>
[PMM: fixed conflicts, updated to use cpu_class_set_vmsd(),  updated
 with new/removed fields since original patch, changed to use custom
 VMStateInfo for cpsr rather than presave/postload hooks, corrected
 subsection names so vmload doesn't fail]
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
11 years agotarget-arm: Reinsert missing return statement in ARM mode SRS decode
Peter Chubb [Fri, 19 Apr 2013 11:24:18 +0000 (12:24 +0100)]
target-arm: Reinsert missing return statement in ARM mode SRS decode

Since patch
   81465888c5306cd94abb9847e560796fd13d3c2f
   target-arm: factor out handling of SRS instruction
the ARM mode SRS instruction has not worked in QEMU.

The problem is a missing return directive that was removed in the
refactoring, so after decoding the instruction, qemu would fall through
to generate an UNDEF exception for an illegal instruction.

Signed-off-by: Peter Chubb <peter.chubb@nicta.com.au>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
11 years agohw/versatile_pci: Drop unnecessary vpb_pci_config_addr()
Peter Maydell [Fri, 19 Apr 2013 10:15:21 +0000 (11:15 +0100)]
hw/versatile_pci: Drop unnecessary vpb_pci_config_addr()

Drop the vpb_pci_config_addr() function -- it is unnecessary since
the size of the memory regions means the hwaddr is always within
the 24 bit size. (This function was probably a leftover from when
read/write functions were called with absolute addresses rather
than relative ones.)

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Acked-by: Paul Brook <paul@codesourcery.com>
11 years agoversatile_pci: Expose PCI memory space to system
Peter Maydell [Fri, 19 Apr 2013 10:15:20 +0000 (11:15 +0100)]
versatile_pci: Expose PCI memory space to system

The VersatilePB's PCI controller exposes the PCI memory space to the
system via three regions controlled by the mapping control registers.
Implement this so that guests can actually use MMIO-BAR PCI cards.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Acked-by: Paul Brook <paul@codesourcery.com>
11 years agoarm/realview: Fix mapping of PCI regions
Peter Maydell [Fri, 19 Apr 2013 10:15:20 +0000 (11:15 +0100)]
arm/realview: Fix mapping of PCI regions

Fix the mapping of the PCI regions for the realview board, which were
all incorrect. (This was never noticed because the Linux kernel
doesn't actually include a PCI driver for the realview boards.)

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Acked-by: Paul Brook <paul@codesourcery.com>
11 years agoversatile_pci: Implement the PCI controller's control registers
Peter Maydell [Fri, 19 Apr 2013 10:15:20 +0000 (11:15 +0100)]
versatile_pci: Implement the PCI controller's control registers

The versatile_pci PCI controller has a set of control registers which
handle the mapping between PCI and system address spaces. Implement
these registers (though for now they have no effect since we don't
implement mapping PCI space into system memory at all).

The most natural order for our sysbus regions has the control
registers at the start, so move all the others down one.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Acked-by: Paul Brook <paul@codesourcery.com>
11 years agoversatile_pci: Implement the correct PCI IRQ mapping
Peter Maydell [Fri, 19 Apr 2013 10:15:19 +0000 (11:15 +0100)]
versatile_pci: Implement the correct PCI IRQ mapping

Implement the correct IRQ mapping for the Versatile PCI controller; it
differs between realview and versatile boards, but the previous QEMU
implementation was correct only for the first PCI card on a versatile
board, since we weren't swizzling IRQs based on the slot number.

Since this change would otherwise break any uses of PCI on Linux kernels
which have an equivalent bug (since they have effectively only been
tested against QEMU, not real hardware), we implement a mechanism
for automatically detecting those broken kernels and switching back
to the old mapping. This works by looking at the values the kernel
writes to the PCI_INTERRUPT_LINE register in the config space, which
is effectively the interrupt number the kernel expects the device
to be using.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
11 years agoversatile_pci: Put the host bridge PCI device at slot 29
Peter Maydell [Fri, 19 Apr 2013 10:15:19 +0000 (11:15 +0100)]
versatile_pci: Put the host bridge PCI device at slot 29

On real hardware the host bridge appears as a PCI device in slot 29,
so make QEMU put its host bridge in that slot too.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Acked-by: Paul Brook <paul@codesourcery.com>
11 years agoversatile_pci: Use separate PCI I/O space rather than system I/O space
Peter Maydell [Fri, 19 Apr 2013 10:15:18 +0000 (11:15 +0100)]
versatile_pci: Use separate PCI I/O space rather than system I/O space

Rather than overloading the system I/O space (which doesn't even make
any sense on ARM) for PCI I/O, create an memory region in the PCI
controller and use that to represent the I/O space.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Acked-by: Paul Brook <paul@codesourcery.com>
11 years agoversatile_pci: Change to subclassing TYPE_PCI_HOST_BRIDGE
Peter Maydell [Fri, 19 Apr 2013 10:15:18 +0000 (11:15 +0100)]
versatile_pci: Change to subclassing TYPE_PCI_HOST_BRIDGE

Change versatile_pci to subclass TYPE_PCI_HOST_BRIDGE and generally
handle PCI in a more QOM-like fashion.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Acked-by: Paul Brook <paul@codesourcery.com>
11 years agoversatile_pci: Update to realize and instance init functions
Peter Maydell [Fri, 19 Apr 2013 10:15:18 +0000 (11:15 +0100)]
versatile_pci: Update to realize and instance init functions

Update the Versatile PCI controller to use a realize function rather
than SysBusDevice::init. To reflect the fact that the 'realview_pci'
class is taking most of its implementation from 'versatile_pci' (and
to make the QOM casts work) we make 'realview_pci' a subclass of
'versatile_pci'.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Acked-by: Paul Brook <paul@codesourcery.com>
11 years agoversatile_pci: Expose PCI I/O region on Versatile PB
Peter Maydell [Fri, 19 Apr 2013 10:15:17 +0000 (11:15 +0100)]
versatile_pci: Expose PCI I/O region on Versatile PB

Comments in the QEMU source code claim that the version of the PCI
controller on the VersatilePB board doesn't support the PCI I/O
region, but this is incorrect; expose that region, map it in the
correct location, and drop the misleading comments.

This change removes the only currently implemented difference
between the realview-pci and versatile-pci models; however there
are other differences in not-yet-implemented functionality, so we
retain the distinction between the two device types.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Acked-by: Paul Brook <paul@codesourcery.com>
11 years agoversatile_pci: Fix hardcoded tabs
Peter Maydell [Fri, 19 Apr 2013 10:15:17 +0000 (11:15 +0100)]
versatile_pci: Fix hardcoded tabs

There is just one line in this source file with a hardcoded tab
indent, so just fix it.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Acked-by: Paul Brook <paul@codesourcery.com>
11 years agom25p80: Remove bogus include of devices.h
Peter Crosthwaite [Fri, 19 Apr 2013 02:18:05 +0000 (12:18 +1000)]
m25p80: Remove bogus include of devices.h

I think in the early revisions of this we had an instantiation helper
for the device in devices.h. This was later removed and this header was
left over. Removed

Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
11 years agossh: Remove unnecessary use of strlen function.
Richard W.M. Jones [Thu, 18 Apr 2013 21:09:33 +0000 (22:09 +0100)]
ssh: Remove unnecessary use of strlen function.

Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Stefan Weil <sw@weilnetz.de>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
11 years agoblock/ssh: Add missing gcc format attributes
Stefan Weil [Thu, 18 Apr 2013 20:21:05 +0000 (22:21 +0200)]
block/ssh: Add missing gcc format attributes

Now gcc will check whether format string and variable arguments match.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
11 years agolinux-user: change do_semop to return target errno when unsuccessful
Petar Jovanovic [Thu, 21 Mar 2013 17:57:36 +0000 (18:57 +0100)]
linux-user: change do_semop to return target errno when unsuccessful

do_semop() is called from two places, and one of these fails to convert
return error to target errno when semop fails. This patch changes the
function to always return target errno in case of an unsuccessful call.

Signed-off-by: Petar Jovanovic <petar.jovanovic@imgtec.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
11 years agow64: Fix compiler warnings (wrong format specifier)
Stefan Weil [Sat, 13 Apr 2013 20:45:50 +0000 (22:45 +0200)]
w64: Fix compiler warnings (wrong format specifier)

GetLastError() returns a DWORD value which is unsigned long,
so the correct format specifier is %lu.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
11 years agoRemove unneeded type casts
Stefan Weil [Fri, 12 Apr 2013 18:53:58 +0000 (20:53 +0200)]
Remove unneeded type casts

cpu_physical_memory_read, cpu_physical_memory_write take any pointer
as 2nd argument without needing a type cast.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
Reviewed-by: Andreas Färber <afaerber@suse.de>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
11 years agovirtio.h: drop unused function prototypes
Luiz Capitulino [Fri, 12 Apr 2013 13:12:55 +0000 (09:12 -0400)]
virtio.h: drop unused function prototypes

They are unused since commit 5c7d0962f60498c3f11d402e1c857cb9d5d8568d.

Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
11 years agobswap: fix compiler warning
Alexey Kardashevskiy [Mon, 15 Apr 2013 01:47:56 +0000 (11:47 +1000)]
bswap: fix compiler warning

The bswap functions use memcpy but the bswap.h header itself does not seem to
include it in some configuration such as cross compiling for powerpc64
on x86_64 machine.

The patch explicitly includes string.h.

Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Reviewed-by: Andreas Färber <afaerber@suse.de>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
11 years agovhost: Add vhost_commit callback for SeaBIOS ROM region re-mapping
Nicholas Bellinger [Wed, 3 Apr 2013 09:15:11 +0000 (09:15 +0000)]
vhost: Add vhost_commit callback for SeaBIOS ROM region re-mapping

This patch follows MST's recommendation to move checks for
vhost_verify_ring_mappings() -> cpu_physical_memory_map() operations
from MemoryListener->region_[add,del]() -> vhost_set_memory() into
final MemoryListener->commit() -> vhost_commit() callback.

It addresses the case where virtio-scsi vq ioport RAM re-mapping
to read-only SeaBIOS ROM triggers a cpu_physical_memory_map()
NIL MemoryRegionSection pointer failure.

Also save vhost_dev->mem_changed_[start,end]_addr values in
vhost_set_memory() for final ranges_overlap checks.  (Thanks Paolo!)

Cc: Michael S. Tsirkin <mst@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Asias He <asias@redhat.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
11 years agoscsi: VMWare PVSCSI paravirtual device implementation
Dmitry Fleytman [Fri, 19 Apr 2013 07:05:46 +0000 (10:05 +0300)]
scsi: VMWare PVSCSI paravirtual device implementation

Signed-off-by: Dmitry Fleytman <dmitry@daynix.com>
Signed-off-by: Yan Vugenfirer <yan@daynix.com>
[ Rename files to vmw_pvscsi, fix setting of hostStatus in
  pvscsi_request_cancelled - Paolo ]
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
11 years agoscsi: avoid assertion failure on VERIFY command
Paolo Bonzini [Mon, 8 Apr 2013 16:50:15 +0000 (18:50 +0200)]
scsi: avoid assertion failure on VERIFY command

A verify command is not an actual read (we do not implement
compare mode) and thus does not have an AIOCB attached.  Do
not crash in scsi_dma_complete.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
11 years agolinux-user: fix setgroups/getgroups for non-UID16 archs
Andreas Schwab [Tue, 9 Apr 2013 05:41:33 +0000 (05:41 +0000)]
linux-user: fix setgroups/getgroups for non-UID16 archs

Don't assume target_id is a short.

Signed-off-by: Andreas Schwab <schwab@suse.de>
Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
11 years agolinux-user: fix undefined shift in copy_to_user_fdset
Andreas Schwab [Tue, 9 Apr 2013 01:02:34 +0000 (01:02 +0000)]
linux-user: fix undefined shift in copy_to_user_fdset

If TARGET_ABI_BITS is bigger than 32 we shift by more than the size of int.

Signed-off-by: Andreas Schwab <schwab@suse.de>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
11 years agolinux-user: change do_semop to return target errno when unsuccessful
Petar Jovanovic [Thu, 21 Mar 2013 07:57:36 +0000 (07:57 +0000)]
linux-user: change do_semop to return target errno when unsuccessful

do_semop() is called from two places, and one of these fails to convert
return error to target errno when semop fails. This patch changes the
function to always return target errno in case of an unsuccessful call.

Signed-off-by: Petar Jovanovic <petar.jovanovic@imgtec.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
11 years agoconfigure: remove duplicate test
Paolo Bonzini [Wed, 17 Apr 2013 14:26:47 +0000 (16:26 +0200)]
configure: remove duplicate test

We already had a test to add -march=i486 when needed.  Make the
existing test independent of vhost-net, so that it is also used
under Win32.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
11 years agoconfigure: CONFIG_NO_XEN is duplicated
Paolo Bonzini [Wed, 17 Apr 2013 14:26:46 +0000 (16:26 +0200)]
configure: CONFIG_NO_XEN is duplicated

We already define it in Makefile.target.  But we need to avoid a
curious double negation in order to eliminate it.

Tested-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
11 years agoconfigure: eliminate target_libs_softmmu
Paolo Bonzini [Wed, 17 Apr 2013 14:26:45 +0000 (16:26 +0200)]
configure: eliminate target_libs_softmmu

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
11 years agoconfigure: move common libraries to config-host.mak
Paolo Bonzini [Wed, 17 Apr 2013 14:26:44 +0000 (16:26 +0200)]
configure: move common libraries to config-host.mak

Move -lm to the end of the line, so that it can be picked up as a
dependency by pixman in the static build case.

Reviewed-by: Peter Maydell <peter.maydell@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
11 years agoconfigure: move CONFIG_QEMU_LDST_OPTIMIZATION to config-host.mak
Paolo Bonzini [Wed, 17 Apr 2013 14:26:43 +0000 (16:26 +0200)]
configure: move CONFIG_QEMU_LDST_OPTIMIZATION to config-host.mak

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
11 years agoelfload: use abi_llong/ullong instead of target_llong/ullong
Paolo Bonzini [Wed, 17 Apr 2013 14:26:42 +0000 (16:26 +0200)]
elfload: use abi_llong/ullong instead of target_llong/ullong

The alignment is a characteristic of the ABI, not the CPU.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
11 years agoelfload: only give abi_long/ulong the alignment specified by the target
Paolo Bonzini [Wed, 17 Apr 2013 14:26:41 +0000 (16:26 +0200)]
elfload: only give abi_long/ulong the alignment specified by the target

Previously, this was done for target_long/ulong, and propagated to
abi_long/ulong via a typedef.  But target_long/ulong should not
have any specific alignment, it is never used to access guest
memory.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
11 years agoelfload: use abi_int/uint instead of target_int/uint
Paolo Bonzini [Wed, 17 Apr 2013 14:26:40 +0000 (16:26 +0200)]
elfload: use abi_int/uint instead of target_int/uint

The alignment is a characteristic of the ABI, not the CPU.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
11 years agoelfload: use abi_short/ushort instead of target_short/ushort
Paolo Bonzini [Wed, 17 Apr 2013 14:26:39 +0000 (16:26 +0200)]
elfload: use abi_short/ushort instead of target_short/ushort

The alignment is a characteristic of the ABI, not the CPU.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
11 years agoelfload: use tswapreg consistently in elf_core_copy_regs
Paolo Bonzini [Wed, 17 Apr 2013 14:26:38 +0000 (16:26 +0200)]
elfload: use tswapreg consistently in elf_core_copy_regs

Reviewed-by: Peter Maydell <peter.maydell@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
11 years agoelfload: fix size of registers for N32
Paolo Bonzini [Wed, 17 Apr 2013 14:26:37 +0000 (16:26 +0200)]
elfload: fix size of registers for N32

Registers are 64-bit in size for the MIPS n32 ABI.  Define
target_elf_greg_t accordingly, and use the correct function
to do endian swaps.

Reviewed-by: Peter Maydell <peter.maydell@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
11 years agoelfload: fix size of ABI-dependent fields in core dumps
Paolo Bonzini [Wed, 17 Apr 2013 14:26:36 +0000 (16:26 +0200)]
elfload: fix size of ABI-dependent fields in core dumps

Some fields in core dumps are 32-bit in 32-or-64 environments (ppc64abi32,
sparc32plus).  Use abi_long/ulong for those.

Also, the fields of target_elf_siginfo are ints.  Use tswap32 to convert them.

Reviewed-by: Peter Maydell <peter.maydell@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
11 years agoconfigure: QEMU_INCLUDES are the same for all subtargets
Paolo Bonzini [Wed, 17 Apr 2013 14:26:35 +0000 (16:26 +0200)]
configure: QEMU_INCLUDES are the same for all subtargets

Reviewed-by: Peter Maydell <peter.maydell@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
11 years agoconfigure/Make: Build libfdt from submodule DTC
Peter Crosthwaite [Thu, 18 Apr 2013 04:47:31 +0000 (14:47 +1000)]
configure/Make: Build libfdt from submodule DTC

Configure to use the DTC submodule to build libfdt when no system libfdt
is found. Prompt to install the DTC submodule if --enable-fdt is set but
no DTC can be found.

DTC has no out-of-tree build capability, so the configure will symlink
the Makefile and scripts directory in the out of tree build directory
and pass in all the needed DTC arguments to make out of tree build happen.
Ideally we fix the DTC make to support out of tree, but did it this way to
avoid commits to DTC.

Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
11 years agodtc: add submodule
Peter Crosthwaite [Thu, 18 Apr 2013 04:46:53 +0000 (14:46 +1000)]
dtc: add submodule

Add dtc submodule as a fallback for old distros.
Picking version 1.3.0. as this is the most recently tagged stable version.

Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
11 years agoconfigure: Put cross compile flags in EXTRA_CFLAGS
Peter Crosthwaite [Thu, 18 Apr 2013 04:46:14 +0000 (14:46 +1000)]
configure: Put cross compile flags in EXTRA_CFLAGS

The cross compile CFLAGS are needed to properly build pixman (and any other
submodules). Only the EXTRA_CFLAGS set is passed to submodules not QEMU_CFLAGS,
so put the cross compile flags in EXTRA_CFLAGS instead.

Signed-off-by: Peter Crosthwaite peter.crosthwaite@xilinx.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
11 years agovmxcap: Update according to SDM of January 2013
Jan Kiszka [Sun, 17 Mar 2013 10:45:50 +0000 (11:45 +0100)]
vmxcap: Update according to SDM of January 2013

This adds reporting of VMCS shadowing, #VE, IA32_SMBASE, unrestricted
VMWRITE and fixes the range of the MSEG revision ID.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
11 years agotarget-i386: kvm: save/restore steal time MSR
Marcelo Tosatti [Wed, 20 Feb 2013 02:27:20 +0000 (23:27 -0300)]
target-i386: kvm: save/restore steal time MSR

Read and write steal time MSR, so that reporting is functional across
migration.

Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: Gleb Natapov <gleb@redhat.com>
11 years agovmxcap: Report APIC register emulation and RDTSCP control
Jan Kiszka [Mon, 18 Feb 2013 06:56:54 +0000 (07:56 +0100)]
vmxcap: Report APIC register emulation and RDTSCP control

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
11 years agovmxcap: Augment reported information
Jan Kiszka [Wed, 13 Feb 2013 11:44:06 +0000 (12:44 +0100)]
vmxcap: Augment reported information

Parse the Basic VMX Information MSR and add the bit for the new posted
interrupts.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Gleb Natapov <gleb@redhat.com>
11 years agovmxcap: Open MSR file in unbuffered mode
Jan Kiszka [Wed, 13 Feb 2013 11:43:10 +0000 (12:43 +0100)]
vmxcap: Open MSR file in unbuffered mode

Python may otherwise decide to to read larger chunks, applying the seek
only on the software buffer. This will return results from the wrong
MSRs.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Gleb Natapov <gleb@redhat.com>
11 years agovirtio-net: cleanup: init and exit function.
KONRAD Frederic [Thu, 11 Apr 2013 14:30:02 +0000 (16:30 +0200)]
virtio-net: cleanup: init and exit function.

This remove old init and exit function as they are no longer needed.

Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com>
Tested-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Message-id: 1365690602-22729-8-git-send-email-fred.konrad@greensocs.com
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
11 years agovirtio-net: cleanup: use QOM cast.
KONRAD Frederic [Thu, 11 Apr 2013 14:30:01 +0000 (16:30 +0200)]
virtio-net: cleanup: use QOM cast.

As the virtio-net-pci and virtio-net-s390 are switched to the new API,
we can use QOM casts.

Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com>
Tested-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Message-id: 1365690602-22729-7-git-send-email-fred.konrad@greensocs.com
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
11 years agovirtio-net-ccw: switch to the new API.
KONRAD Frederic [Thu, 11 Apr 2013 14:30:00 +0000 (16:30 +0200)]
virtio-net-ccw: switch to the new API.

Here the virtio-net-ccw is modified for the new API. The device
virtio-net-ccw extends virtio-ccw-device as before. It creates and
connects a virtio-net-device during the init. The properties are not modified.

Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com>
Tested-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Message-id: 1365690602-22729-6-git-send-email-fred.konrad@greensocs.com
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
11 years agovirtio-net-s390: switch to the new API.
KONRAD Frederic [Thu, 11 Apr 2013 14:29:59 +0000 (16:29 +0200)]
virtio-net-s390: switch to the new API.

Here the virtio-net-s390 is modified for the new API. The device
virtio-net-s390 extends virtio-s390-device as before. It creates and
connects a virtio-net-device during the init. The properties are not modified.

Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com>
Tested-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Message-id: 1365690602-22729-5-git-send-email-fred.konrad@greensocs.com
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
11 years agovirtio-net-pci: switch to the new API.
KONRAD Frederic [Thu, 11 Apr 2013 14:29:58 +0000 (16:29 +0200)]
virtio-net-pci: switch to the new API.

Here the virtio-net-pci is modified for the new API. The device
virtio-net-pci extends virtio-pci. It creates and connects a
virtio-net-device during the init. The properties are not changed.

Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com>
Tested-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Message-id: 1365690602-22729-4-git-send-email-fred.konrad@greensocs.com
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
11 years agovirtio-net: add the virtio-net device.
KONRAD Frederic [Thu, 11 Apr 2013 14:29:57 +0000 (16:29 +0200)]
virtio-net: add the virtio-net device.

Create virtio-net-device which extends virtio-device, so it can be connected on
virtio-bus.

Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com>
Tested-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Message-id: 1365690602-22729-3-git-send-email-fred.konrad@greensocs.com
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
11 years agovirtio: add two functions to VirtioDeviceClass.
KONRAD Frederic [Thu, 11 Apr 2013 14:29:56 +0000 (16:29 +0200)]
virtio: add two functions to VirtioDeviceClass.

Recent changes need two functions to VirtioDevice. This just add them
into VirtioDeviceClass.

Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com>
Tested-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Message-id: 1365690602-22729-2-git-send-email-fred.konrad@greensocs.com
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
11 years agoFix warnings suppressors to honor --disable-werror
Markus Armbruster [Tue, 16 Apr 2013 11:51:06 +0000 (13:51 +0200)]
Fix warnings suppressors to honor --disable-werror

Replace

    #pragma GCC diagnostic ignored FOO
    [Troublesome code...]
    #pragma GCC diagnostic error FOO

by

    #pragma GCC diagnostic push
    #pragma GCC diagnostic ignored FOO
    [Troublesome code...]
    #pragma GCC diagnostic pop

Broken in commit 3f4349d, commit 092bb30, and commit c95e308.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Tested-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Message-id: 1366113066-1340-1-git-send-email-armbru@redhat.com
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>