qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 24bfa2: vhost: put log correctly in vhost_dev


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 24bfa2: vhost: put log correctly in vhost_dev_start()
Date: Thu, 11 Jun 2015 09:00:07 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 24bfa207efb9b9d591552eefc1f414ff33ef0eac
      
https://github.com/qemu/qemu/commit/24bfa207efb9b9d591552eefc1f414ff33ef0eac
  Author: Jason Wang <address@hidden>
  Date:   2015-06-10 (Wed, 10 Jun 2015)

  Changed paths:
    M hw/virtio/vhost.c

  Log Message:
  -----------
  vhost: put log correctly in vhost_dev_start()

We allocate an dummy log even if the size is zero. So we should put it
unconditionally too.

Signed-off-by: Jason Wang <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: 3c185597c86b8cd0a07c46e7a5bd5aac28bb7200
      
https://github.com/qemu/qemu/commit/3c185597c86b8cd0a07c46e7a5bd5aac28bb7200
  Author: Cornelia Huck <address@hidden>
  Date:   2015-06-10 (Wed, 10 Jun 2015)

  Changed paths:
    M hw/virtio/virtio.c
    M include/hw/virtio/virtio-access.h
    M include/hw/virtio/virtio.h

  Log Message:
  -----------
  virtio: endianness checks for virtio 1.0 devices

Add code that checks for the VERSION_1 feature bit in order to make
decisions about the device's endianness. This allows us to support
transitional devices.

Signed-off-by: Cornelia Huck <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>


  Commit: ab223c9518e8c7eb542ef3133de1a34475b69790
      
https://github.com/qemu/qemu/commit/ab223c9518e8c7eb542ef3133de1a34475b69790
  Author: Cornelia Huck <address@hidden>
  Date:   2015-06-10 (Wed, 10 Jun 2015)

  Changed paths:
    M hw/virtio/virtio-mmio.c
    M hw/virtio/virtio.c
    M include/hw/virtio/virtio.h

  Log Message:
  -----------
  virtio: allow virtio-1 queue layout

For virtio-1 devices, we allow a more complex queue layout that doesn't
require descriptor table and rings on a physically-contigous memory area:
add virtio_queue_set_rings() to allow transports to set this up.

Signed-off-by: Cornelia Huck <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>


  Commit: f5a5628cf0b65b223fa0c9031714578dfac4cf04
      
https://github.com/qemu/qemu/commit/f5a5628cf0b65b223fa0c9031714578dfac4cf04
  Author: Cornelia Huck <address@hidden>
  Date:   2015-06-10 (Wed, 10 Jun 2015)

  Changed paths:
    M hw/virtio/dataplane/vring.c

  Log Message:
  -----------
  dataplane: allow virtio-1 devices

Handle endianness conversion for virtio-1 virtqueues correctly.

Note that dataplane now needs to be built per-target.

Signed-off-by: Cornelia Huck <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>


  Commit: 6c0196d702e8482a17638ee79f45ce27cdd1ef5d
      
https://github.com/qemu/qemu/commit/6c0196d702e8482a17638ee79f45ce27cdd1ef5d
  Author: Cornelia Huck <address@hidden>
  Date:   2015-06-10 (Wed, 10 Jun 2015)

  Changed paths:
    M hw/virtio/virtio.c

  Log Message:
  -----------
  virtio: disallow late feature changes for virtio-1

For virtio-1 devices, the driver must not attempt to set feature bits
after it set FEATURES_OK in the device status. Simply reject it in
that case.

Signed-off-by: Cornelia Huck <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>


  Commit: 0b352fd680e1ca7827ddea47b5e9b603320913b6
      
https://github.com/qemu/qemu/commit/0b352fd680e1ca7827ddea47b5e9b603320913b6
  Author: Cornelia Huck <address@hidden>
  Date:   2015-06-10 (Wed, 10 Jun 2015)

  Changed paths:
    M hw/s390x/virtio-ccw.c
    M hw/virtio/virtio.c
    M include/hw/virtio/virtio.h

  Log Message:
  -----------
  virtio: allow to fail setting status

virtio-1 allow setting of the FEATURES_OK status bit to fail if
the negotiated feature bits are inconsistent: let's fail
virtio_set_status() in that case and update virtio-ccw to post an
error to the guest.

Signed-off-by: Cornelia Huck <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>


  Commit: b6a3cddb22d3f0f729e267d45f350ae31bdebbcf
      
https://github.com/qemu/qemu/commit/b6a3cddb22d3f0f729e267d45f350ae31bdebbcf
  Author: Cornelia Huck <address@hidden>
  Date:   2015-06-10 (Wed, 10 Jun 2015)

  Changed paths:
    M hw/net/virtio-net.c

  Log Message:
  -----------
  virtio-net: no writeable mac for virtio-1

Devices operating as virtio 1.0 may not allow writes to the mac
address in config space.

Signed-off-by: Cornelia Huck <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>


  Commit: bb9d17f831fa8e70494eab8421d83a542e3d8508
      
https://github.com/qemu/qemu/commit/bb9d17f831fa8e70494eab8421d83a542e3d8508
  Author: Cornelia Huck <address@hidden>
  Date:   2015-06-10 (Wed, 10 Jun 2015)

  Changed paths:
    M hw/net/virtio-net.c

  Log Message:
  -----------
  virtio-net: support longer header

virtio-1 devices always use num_buffers in the header, even if
mergeable rx buffers have not been negotiated.

Signed-off-by: Cornelia Huck <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>


  Commit: df91055db5c9cee93d70ca8c08d72119a240b987
      
https://github.com/qemu/qemu/commit/df91055db5c9cee93d70ca8c08d72119a240b987
  Author: Cornelia Huck <address@hidden>
  Date:   2015-06-10 (Wed, 10 Jun 2015)

  Changed paths:
    M hw/net/virtio-net.c

  Log Message:
  -----------
  virtio-net: enable virtio 1.0

virtio-net (non-vhost) now should have everything in place to support
virtio 1.0: let's enable the feature bit for it.

Note that VIRTIO_F_VERSION_1 is technically a transport feature; once
every device is ready for virtio 1.0, we can move setting this
feature bit out of the individual devices.

Signed-off-by: Cornelia Huck <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>


  Commit: b1506132001eee6b11cf23b5968cd66ec141a9ed
      
https://github.com/qemu/qemu/commit/b1506132001eee6b11cf23b5968cd66ec141a9ed
  Author: Michael S. Tsirkin <address@hidden>
  Date:   2015-06-10 (Wed, 10 Jun 2015)

  Changed paths:
    M hw/net/vhost_net.c

  Log Message:
  -----------
  vhost_net: add version_1 feature

Add VERSION_1 to list of features that we should
test at the backend.

Signed-off-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>


  Commit: 9a2ba82302bea7faf3b9579f9168b89c73ae34ad
      
https://github.com/qemu/qemu/commit/9a2ba82302bea7faf3b9579f9168b89c73ae34ad
  Author: Cornelia Huck <address@hidden>
  Date:   2015-06-10 (Wed, 10 Jun 2015)

  Changed paths:
    M hw/net/vhost_net.c
    M hw/virtio/vhost.c
    M include/hw/virtio/vhost.h
    M include/net/vhost_net.h

  Log Message:
  -----------
  vhost: 64 bit features

Make sure that all vhost interfaces use 64 bit features, as the virtio
core does, and make sure to use ULL everywhere possible to be on the
safe side.

Signed-off-by: Cornelia Huck <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>


  Commit: c17bef33601737e24a3d53259ddb6db28ac4d6d2
      
https://github.com/qemu/qemu/commit/c17bef33601737e24a3d53259ddb6db28ac4d6d2
  Author: Michael S. Tsirkin <address@hidden>
  Date:   2015-06-10 (Wed, 10 Jun 2015)

  Changed paths:
    M hw/virtio/virtio-pci.c
    A linux-headers/linux/virtio_pci.h

  Log Message:
  -----------
  linux-headers: add virtio_pci

Easier than duplicating code.

Signed-off-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>


  Commit: dfb8e184db758bff275f94f7aa634300886cfe21
      
https://github.com/qemu/qemu/commit/dfb8e184db758bff275f94f7aa634300886cfe21
  Author: Michael S. Tsirkin <address@hidden>
  Date:   2015-06-10 (Wed, 10 Jun 2015)

  Changed paths:
    M hw/virtio/virtio-pci.c
    M hw/virtio/virtio-pci.h

  Log Message:
  -----------
  virtio-pci: initial virtio 1.0 support

This is somewhat functional.  With this, and linux driver from my tree,
I was able to use virtio net as virtio 1.0 device for light browsing.

At the moment, dataplane and vhost code is
still missing.

Based on Cornelia's virtio 1.0 patchset:
    Date: Thu, 11 Dec 2014 14:25:02 +0100
    From: Cornelia Huck <address@hidden>
    To: address@hidden, address@hidden
    Cc: address@hidden, address@hidden, address@hidden,
    Cornelia Huck <address@hidden>
    Subject: [PATCH RFC v6 00/20] qemu: towards virtio-1 host support
    Message-Id: <address@hidden>

which is itself still missing some core bits.

Signed-off-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>


  Commit: b8f059081d93f1802480059d1d49fe5c1d32f60c
      
https://github.com/qemu/qemu/commit/b8f059081d93f1802480059d1d49fe5c1d32f60c
  Author: Michael S. Tsirkin <address@hidden>
  Date:   2015-06-10 (Wed, 10 Jun 2015)

  Changed paths:
    M hw/virtio/virtio-pci.c
    M hw/virtio/virtio.c
    M include/hw/virtio/virtio.h

  Log Message:
  -----------
  virtio: generation counter support

Signed-off-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>


  Commit: adfb743c90c7aa5e92907ce875e4f35747ee1963
      
https://github.com/qemu/qemu/commit/adfb743c90c7aa5e92907ce875e4f35747ee1963
  Author: Michael S. Tsirkin <address@hidden>
  Date:   2015-06-10 (Wed, 10 Jun 2015)

  Changed paths:
    M hw/virtio/virtio.c
    M include/hw/virtio/virtio.h

  Log Message:
  -----------
  virtio: add modern config accessors

virtio 1.0 defines config space as LE,
as opposed to pre-1.0 which was native endian.

Add API for transports to execute word/dword accesses in
little endian format - will be useful for mmio
and pci (byte access is also wrapped, for completeness).

For simplicity, we still keep config in host native
endian format, byteswap to LE on guest access.

Signed-off-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>


  Commit: 54c720d49d3f9741b52ac95c65a5cc990254a5d8
      
https://github.com/qemu/qemu/commit/54c720d49d3f9741b52ac95c65a5cc990254a5d8
  Author: Michael S. Tsirkin <address@hidden>
  Date:   2015-06-10 (Wed, 10 Jun 2015)

  Changed paths:
    M hw/virtio/virtio-pci.c

  Log Message:
  -----------
  virtio-pci: switch to modern accessors for 1.0

virtio 1.0 config space is in LE format for all
devices, use modern wrappers when accessed through
the 1.0 BAR.

Reported-by: Rusty Russell <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>


  Commit: e266d421490e0ae83044bbebb209b2d3650c0ba6
      
https://github.com/qemu/qemu/commit/e266d421490e0ae83044bbebb209b2d3650c0ba6
  Author: Gerd Hoffmann <address@hidden>
  Date:   2015-06-10 (Wed, 10 Jun 2015)

  Changed paths:
    M hw/virtio/virtio-pci.c
    M hw/virtio/virtio-pci.h

  Log Message:
  -----------
  virtio-pci: add flags to enable/disable legacy/modern

Add VIRTIO_PCI_FLAG_DISABLE_LEGACY and VIRTIO_PCI_FLAG_DISABLE_MODERN
for VirtIOPCIProxy->flags.  Also add properties for them.  They can be
used to disable modern (virtio 1.0) or legacy (virtio 0.9) modes.

By default only legacy is advertized, modern will be turned on by
default once all remaining spec compilance issues are addressed.

Signed-off-by: Gerd Hoffmann <address@hidden>
Acked-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>


  Commit: 8aca0d75869f8ad0aa0032c50d8c85dcad65302f
      
https://github.com/qemu/qemu/commit/8aca0d75869f8ad0aa0032c50d8c85dcad65302f
  Author: Gerd Hoffmann <address@hidden>
  Date:   2015-06-10 (Wed, 10 Jun 2015)

  Changed paths:
    M hw/virtio/virtio-pci.c

  Log Message:
  -----------
  virtio-pci: make QEMU_VIRTIO_PCI_QUEUE_MEM_MULT smaller

Signed-off-by: Gerd Hoffmann <address@hidden>
Acked-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>


  Commit: 23c5e3977502a1b57fa2d8cf8cf4b5c9e45f0d1f
      
https://github.com/qemu/qemu/commit/23c5e3977502a1b57fa2d8cf8cf4b5c9e45f0d1f
  Author: Gerd Hoffmann <address@hidden>
  Date:   2015-06-10 (Wed, 10 Jun 2015)

  Changed paths:
    M hw/virtio/virtio-pci.c

  Log Message:
  -----------
  virtio-pci: change & document virtio pci bar layout.

This patch adds variables for the pci bars (to get rid of the magic
numbers in the code) and moves the modern virtio bar to region 4 so
regions 2+3 are kept free.  virtio-vga wants use them.

Signed-off-by: Gerd Hoffmann <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>


  Commit: 4e93a68eb369b2f7adbef7a4f6afd7a30a0ed927
      
https://github.com/qemu/qemu/commit/4e93a68eb369b2f7adbef7a4f6afd7a30a0ed927
  Author: Gerd Hoffmann <address@hidden>
  Date:   2015-06-10 (Wed, 10 Jun 2015)

  Changed paths:
    M hw/virtio/virtio-pci.c

  Log Message:
  -----------
  virtio-pci: make modern bar 64bit + prefetchable

Signed-off-by: Gerd Hoffmann <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>


  Commit: 975acc0ae6d60260859884a9235ae3c62e2969a2
      
https://github.com/qemu/qemu/commit/975acc0ae6d60260859884a9235ae3c62e2969a2
  Author: Jason Wang <address@hidden>
  Date:   2015-06-10 (Wed, 10 Jun 2015)

  Changed paths:
    M hw/virtio/virtio-pci.c

  Log Message:
  -----------
  virtio-pci: correctly set host notifiers for modern bar

Currently, during host notifier set. We only add eventfd for legacy
bar, this is not correct since:

- Non-transitional device does not have legacy bar, so qemu will crash
  since proxy->bar was not initialized.
- Modern device uses modern bar and notify cap to notify the device,
  we should add eventfd for proxy->notify.

So this patch fixes the above two issues by adding eventfd based on
whether legacy or modern device were supported.

Signed-off-by: Jason Wang <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>


  Commit: fbdc6892dd8a842a3d86b8315ff56399e0387b74
      
https://github.com/qemu/qemu/commit/fbdc6892dd8a842a3d86b8315ff56399e0387b74
  Author: Michael S. Tsirkin <address@hidden>
  Date:   2015-06-10 (Wed, 10 Jun 2015)

  Changed paths:
    M include/hw/virtio/virtio-balloon.h

  Log Message:
  -----------
  virtio_balloon: header update

add modern header

Signed-off-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>


  Commit: 40de55affda76392627e68d3b1ba5a6a11c492bc
      
https://github.com/qemu/qemu/commit/40de55affda76392627e68d3b1ba5a6a11c492bc
  Author: Cornelia Huck <address@hidden>
  Date:   2015-06-10 (Wed, 10 Jun 2015)

  Changed paths:
    M hw/virtio/virtio-balloon.c

  Log Message:
  -----------
  virtio-balloon: switch to virtio_add_feature

This was missed during the conversion of feature bit manipulation.

Signed-off-by: Cornelia Huck <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>


  Commit: 588255ad5021f06789f438f7b045015c54e30841
      
https://github.com/qemu/qemu/commit/588255ad5021f06789f438f7b045015c54e30841
  Author: Gerd Hoffmann <address@hidden>
  Date:   2015-06-10 (Wed, 10 Jun 2015)

  Changed paths:
    M hw/virtio/virtio-pci.c
    M hw/virtio/virtio-pci.h

  Log Message:
  -----------
  virtio-pci: add struct VirtIOPCIRegion for virtio-1 regions

For now just place the MemoryRegion there,
following patches will add more.

Signed-off-by: Gerd Hoffmann <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: 1141ce2190c85daacfa9b874476651ed0f7dc6df
      
https://github.com/qemu/qemu/commit/1141ce2190c85daacfa9b874476651ed0f7dc6df
  Author: Gerd Hoffmann <address@hidden>
  Date:   2015-06-10 (Wed, 10 Jun 2015)

  Changed paths:
    M hw/virtio/virtio-pci.c

  Log Message:
  -----------
  virtio-pci: add virtio_pci_modern_regions_init()

Add init function for the modern pci regions,
move over the init code.

Signed-off-by: Gerd Hoffmann <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: a3cc2e81592aba6d818005c078b94b16ba47a02c
      
https://github.com/qemu/qemu/commit/a3cc2e81592aba6d818005c078b94b16ba47a02c
  Author: Gerd Hoffmann <address@hidden>
  Date:   2015-06-10 (Wed, 10 Jun 2015)

  Changed paths:
    M hw/virtio/virtio-pci.c
    M hw/virtio/virtio-pci.h

  Log Message:
  -----------
  virtio-pci: add virtio_pci_modern_region_map()

Add function to map modern virtio regions.
Add offset to VirtIOPCIRegion.

Signed-off-by: Gerd Hoffmann <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: 54790d71e4adcfaae95dac3c7019b10721e609de
      
https://github.com/qemu/qemu/commit/54790d71e4adcfaae95dac3c7019b10721e609de
  Author: Gerd Hoffmann <address@hidden>
  Date:   2015-06-10 (Wed, 10 Jun 2015)

  Changed paths:
    M hw/virtio/virtio-pci.c

  Log Message:
  -----------
  virtio-pci: move virtio_pci_add_mem_cap call to virtio_pci_modern_region_map

Also fill offset and length automatically,
from VirtIOPCIRegion->offset and region size.

Signed-off-by: Gerd Hoffmann <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: fc004905c5b4b7568aad50087c156a5f4dfae1a7
      
https://github.com/qemu/qemu/commit/fc004905c5b4b7568aad50087c156a5f4dfae1a7
  Author: Gerd Hoffmann <address@hidden>
  Date:   2015-06-10 (Wed, 10 Jun 2015)

  Changed paths:
    M hw/virtio/virtio-pci.c
    M hw/virtio/virtio-pci.h

  Log Message:
  -----------
  virtio-pci: move cap type to VirtIOPCIRegion

Signed-off-by: Gerd Hoffmann <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: cc52ea90f835aa66d431db712b22f8b15bec2e46
      
https://github.com/qemu/qemu/commit/cc52ea90f835aa66d431db712b22f8b15bec2e46
  Author: Gerd Hoffmann <address@hidden>
  Date:   2015-06-10 (Wed, 10 Jun 2015)

  Changed paths:
    M hw/virtio/virtio-pci.c

  Log Message:
  -----------
  virtio-pci: drop identical virtio_pci_cap

Now the three struct virtio_pci_caps are identical,
lets drop two of them ;)

Signed-off-by: Gerd Hoffmann <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: b6ce27a593ab39ac28baebc3045901925046bebd
      
https://github.com/qemu/qemu/commit/b6ce27a593ab39ac28baebc3045901925046bebd
  Author: Gerd Hoffmann <address@hidden>
  Date:   2015-06-10 (Wed, 10 Jun 2015)

  Changed paths:
    M hw/virtio/virtio-pci.c
    M hw/virtio/virtio-pci.h

  Log Message:
  -----------
  virtio-pci: fill VirtIOPCIRegions early.

Initialize the modern bar and the VirtIOPCIRegion fields early, in
realize.  Also add a size field to VirtIOPCIRegion and variables for
pci bars to VirtIOPCIProxy.

This allows virtio-pci subclasses to change things before the
device_plugged callback applies them.  virtio-vga will use that to
arrange regions in a way that virtio-vga is compatible to both stdvga
(in vga mode) and virtio-gpu-pci (in pci mode).

Signed-off-by: Gerd Hoffmann <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: ffaa05037134d48e3ccd7ebbf2d58db26590b96d
      
https://github.com/qemu/qemu/commit/ffaa05037134d48e3ccd7ebbf2d58db26590b96d
  Author: Gerd Hoffmann <address@hidden>
  Date:   2015-06-10 (Wed, 10 Jun 2015)

  Changed paths:
    M include/hw/pci/pci_ids.h

  Log Message:
  -----------
  pci: add PCI_CLASS_INPUT_*

Signed-off-by: Gerd Hoffmann <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: f958c8aa138718b8126a300d6faece522f7674b8
      
https://github.com/qemu/qemu/commit/f958c8aa138718b8126a300d6faece522f7674b8
  Author: Gerd Hoffmann <address@hidden>
  Date:   2015-06-10 (Wed, 10 Jun 2015)

  Changed paths:
    M hw/virtio/virtio-pci.c
    M hw/virtio/virtio-pci.h

  Log Message:
  -----------
  virtio-input: core code & base class [pci]

This patch adds the virtio-pci support bits for virtio-input-device.

Signed-off-by: Gerd Hoffmann <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: 710e2d90da1a16807f7885d37b203ce739fdc53a
      
https://github.com/qemu/qemu/commit/710e2d90da1a16807f7885d37b203ce739fdc53a
  Author: Gerd Hoffmann <address@hidden>
  Date:   2015-06-10 (Wed, 10 Jun 2015)

  Changed paths:
    M hw/virtio/virtio-pci.c
    M hw/virtio/virtio-pci.h

  Log Message:
  -----------
  virtio-input: emulated devices [pci]

This patch adds virtio-pci support for the emulated virtio-input
devices.  Using them is as simple as adding "-device virtio-tablet-pci"
to your command line.  If you want add multiple devices but don't want
waste a pci slot for each you can compose a multifunction device this way:

qemu -device virtio-keyboard-pci,addr=0d.0,multifunction=on \
     -device virtio-tablet-pci,addr=0d.1,multifunction=on

Signed-off-by: Gerd Hoffmann <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: 87108bb26ce04637980c0897caeabee8901e72c9
      
https://github.com/qemu/qemu/commit/87108bb26ce04637980c0897caeabee8901e72c9
  Author: Shannon Zhao <address@hidden>
  Date:   2015-06-10 (Wed, 10 Jun 2015)

  Changed paths:
    M hw/net/virtio-net.c
    M include/hw/virtio/virtio-net.h

  Log Message:
  -----------
  virtio-net: move qdev properties into virtio-net.c

As only one place in virtio-net.c uses DEFINE_VIRTIO_NET_FEATURES,
there is no need to expose it. Inline it into virtio-net.c to avoid
wrongly use.

Signed-off-by: Shannon Zhao <address@hidden>
Signed-off-by: Shannon Zhao <address@hidden>
Reviewed-by: Paolo Bonzini <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: db58c063e159f02f0232d1557f0930fd32a6580f
      
https://github.com/qemu/qemu/commit/db58c063e159f02f0232d1557f0930fd32a6580f
  Author: Shannon Zhao <address@hidden>
  Date:   2015-06-10 (Wed, 10 Jun 2015)

  Changed paths:
    M include/hw/virtio/virtio-net.h

  Log Message:
  -----------
  virtio-net.h: Remove unsed DEFINE_VIRTIO_NET_PROPERTIES

Remove unsed DEFINE_VIRTIO_NET_PROPERTIES in virtio-net.h and delete a
space typo.

Signed-off-by: Shannon Zhao <address@hidden>
Signed-off-by: Shannon Zhao <address@hidden>
Reviewed-by: Paolo Bonzini <address@hidden>
Acked-by: Cornelia Huck <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: 0c63237a90f37fffe8a8016f24f61bb228653e86
      
https://github.com/qemu/qemu/commit/0c63237a90f37fffe8a8016f24f61bb228653e86
  Author: Shannon Zhao <address@hidden>
  Date:   2015-06-10 (Wed, 10 Jun 2015)

  Changed paths:
    M hw/scsi/virtio-scsi.c
    M include/hw/virtio/virtio-scsi.h

  Log Message:
  -----------
  virtio-scsi: move qdev properties into virtio-scsi.c

As only one place in virtio-scsi.c uses DEFINE_VIRTIO_SCSI_PROPERTIES
and DEFINE_VIRTIO_SCSI_FEATURES, there is no need to expose them. Inline
them into virtio-scsi.c to avoid wrongly use.

Signed-off-by: Shannon Zhao <address@hidden>
Signed-off-by: Shannon Zhao <address@hidden>
Reviewed-by: Paolo Bonzini <address@hidden>
Acked-by: Cornelia Huck <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: fe704809b974d8dd8e020b4d3f48ede338a886fe
      
https://github.com/qemu/qemu/commit/fe704809b974d8dd8e020b4d3f48ede338a886fe
  Author: Shannon Zhao <address@hidden>
  Date:   2015-06-10 (Wed, 10 Jun 2015)

  Changed paths:
    M hw/virtio/virtio-rng.c
    M include/hw/virtio/virtio-rng.h

  Log Message:
  -----------
  virtio-rng: move qdev properties into virtio-rng.c

As only one place in virtio-rng.c uses DEFINE_VIRTIO_RNG_PROPERTIES,
there is no need to expose it. Inline it into virtio-rng.c to avoid
wrongly use.

Signed-off-by: Shannon Zhao <address@hidden>
Signed-off-by: Shannon Zhao <address@hidden>
Reviewed-by: Paolo Bonzini <address@hidden>
Acked-by: Cornelia Huck <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: 448777c411b80df0263eb00b9df2f829cdc7cc9b
      
https://github.com/qemu/qemu/commit/448777c411b80df0263eb00b9df2f829cdc7cc9b
  Author: Shannon Zhao <address@hidden>
  Date:   2015-06-10 (Wed, 10 Jun 2015)

  Changed paths:
    M hw/char/virtio-serial-bus.c
    M include/hw/virtio/virtio-serial.h

  Log Message:
  -----------
  virtio-serial-bus: move qdev properties into virtio-serial-bus.c

As only one place in virtio-serial-bus.c uses
DEFINE_VIRTIO_SERIAL_PROPERTIES, there is no need to expose it. Inline
it into virtio-serial-bus.c to avoid wrongly use.

Signed-off-by: Shannon Zhao <address@hidden>
Signed-off-by: Shannon Zhao <address@hidden>
Reviewed-by: Paolo Bonzini <address@hidden>
Acked-by: Cornelia Huck <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: 83a84878da2e00b4d350bd90d6775c1f6320e7b4
      
https://github.com/qemu/qemu/commit/83a84878da2e00b4d350bd90d6775c1f6320e7b4
  Author: Shannon Zhao <address@hidden>
  Date:   2015-06-10 (Wed, 10 Jun 2015)

  Changed paths:
    M hw/9pfs/virtio-9p-device.c
    M hw/9pfs/virtio-9p.h

  Log Message:
  -----------
  virtio-9p-device: move qdev properties into virtio-9p-device.c

As only one place in virtio-9p-device.c uses
DEFINE_VIRTIO_9P_PROPERTIES, there is no need to expose it. Inline it
into virtio-9p-device.c to avoid wrongly use.

Signed-off-by: Shannon Zhao <address@hidden>
Signed-off-by: Shannon Zhao <address@hidden>
Reviewed-by: Paolo Bonzini <address@hidden>
Acked-by: Cornelia Huck <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: 21549a4642e1f1b438ffc31dd9dc35f134b10e5b
      
https://github.com/qemu/qemu/commit/21549a4642e1f1b438ffc31dd9dc35f134b10e5b
  Author: Shannon Zhao <address@hidden>
  Date:   2015-06-10 (Wed, 10 Jun 2015)

  Changed paths:
    M hw/scsi/vhost-scsi.c
    M include/hw/virtio/vhost-scsi.h

  Log Message:
  -----------
  vhost-scsi: move qdev properties into vhost-scsi.c

As only one place in vhost-scsi.c uses DEFINE_VHOST_SCSI_PROPERTIES,
there is no need to expose it. Inline it into vhost-scsi.c to avoid
wrongly use.

Signed-off-by: Shannon Zhao <address@hidden>
Signed-off-by: Shannon Zhao <address@hidden>
Reviewed-by: Paolo Bonzini <address@hidden>
Acked-by: Cornelia Huck <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: c96d9286a6d70452e5fa4f1e3f840715e325be95
      
https://github.com/qemu/qemu/commit/c96d9286a6d70452e5fa4f1e3f840715e325be95
  Author: Laszlo Ersek <address@hidden>
  Date:   2015-06-11 (Thu, 11 Jun 2015)

  Changed paths:
    M hw/i386/acpi-build.c

  Log Message:
  -----------
  i386/acpi-build: more traditional _UID and _HID for PXB root buses

The ACPI specification permits the _HID and _UID objects to evaluate to
strings. (See "6.1.5 _HID (Hardware ID)" and "6.1.12 _UID (Unique ID)" in
the ACPI v6.0 spec.)

With regard to related standards, the UEFI specification can also express
a device address composed from string _HID and _UID identifiers, inside
the Expanded ACPI Device Path Node. (See "9.3.3 ACPI Device Path", Table
49, in the UEFI v2.5 spec.)

However, numeric (integer) contents for both _HID and _UID are more
traditional. They are recommended by the UEFI spec for size reasons:

  [...] the ACPI Device Path node is smaller and should be used if
  possible to reduce the size of device paths that may potentially be
  stored in nonvolatile storage [...]

External tools support them better (for example the --acpi_hid and
--acpi_uid options of "efibootmgr" only take numeric identifiers).
Finally, numeric _HID and _UID contents are existing practice in the QEMU
source.

This patch was tested with a Fedora 20 LiveCD and a preexistent Windows
Server 2012 R2 guest. Using "acpidump" and "iasl" in the Fedora guest, we
get, in the SSDT:

> Scope (\_SB)
> {
>   Device (PC04)
>   {
>     Name (_UID, 0x04)  // _UID: Unique ID
>     Name (_HID, EisaId ("PNP0A03") /* PCI Bus */)  // _HID: Hardware ID

Cc: Marcel Apfelbaum <address@hidden>
Cc: Michael S. Tsirkin <address@hidden>
Signed-off-by: Laszlo Ersek <address@hidden>
Reviewed-by: Marcel Apfelbaum <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: 4ebc736e9938a7e88ecc785734b17145bf802a56
      
https://github.com/qemu/qemu/commit/4ebc736e9938a7e88ecc785734b17145bf802a56
  Author: Laszlo Ersek <address@hidden>
  Date:   2015-06-11 (Thu, 11 Jun 2015)

  Changed paths:
    M hw/i386/acpi-build.c

  Log Message:
  -----------
  i386/acpi-build: fix PXB workarounds for unsupported BIOSes

The patch

  apci: fix PXB behaviour if used with unsupported BIOS

uses the following condition to see if a "PXB mem/IO chunk" has *not* been
configured by the BIOS:

  (!range_base || range_base > range_limit)

When this condition evaluates to true, said patch *omits* the
corresponding entry from the _CRS.

Later on the patch checks for the opposite condition (with the intent of
*adding* entries to the _CRS if the "PXB mem/IO chunks" *have* been
configured). Unfortunately, the condition was negated incorrectly: only
the first ! operator was removed, which led to the nonsensical expression

  (range_base || range_base > range_limit)

leading to bogus entries in the _CRS, and causing BSOD in Windows Server
2012 R2 when it runs on OVMF.

The correct negative of the condition seen at the top is

  (range_base && range_base <= range_limit)

Fix the expressions.

Cc: Marcel Apfelbaum <address@hidden>
Cc: Michael S. Tsirkin <address@hidden>
Signed-off-by: Laszlo Ersek <address@hidden>
Reviewed-by: Marcel Apfelbaum <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: d8e3b729cf452d2689c8669f1ec18158db29fd5a
      
https://github.com/qemu/qemu/commit/d8e3b729cf452d2689c8669f1ec18158db29fd5a
  Author: Peter Maydell <address@hidden>
  Date:   2015-06-11 (Thu, 11 Jun 2015)

  Changed paths:
    M hw/9pfs/virtio-9p-device.c
    M hw/9pfs/virtio-9p.h
    M hw/char/virtio-serial-bus.c
    M hw/i386/acpi-build.c
    M hw/net/vhost_net.c
    M hw/net/virtio-net.c
    M hw/s390x/virtio-ccw.c
    M hw/scsi/vhost-scsi.c
    M hw/scsi/virtio-scsi.c
    M hw/virtio/dataplane/vring.c
    M hw/virtio/vhost.c
    M hw/virtio/virtio-balloon.c
    M hw/virtio/virtio-mmio.c
    M hw/virtio/virtio-pci.c
    M hw/virtio/virtio-pci.h
    M hw/virtio/virtio-rng.c
    M hw/virtio/virtio.c
    M include/hw/pci/pci_ids.h
    M include/hw/virtio/vhost-scsi.h
    M include/hw/virtio/vhost.h
    M include/hw/virtio/virtio-access.h
    M include/hw/virtio/virtio-balloon.h
    M include/hw/virtio/virtio-net.h
    M include/hw/virtio/virtio-rng.h
    M include/hw/virtio/virtio-scsi.h
    M include/hw/virtio/virtio-serial.h
    M include/hw/virtio/virtio.h
    M include/net/vhost_net.h
    A linux-headers/linux/virtio_pci.h

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging

pc, acpi, virtio

Most notably this includes virtio 1 patches
Still not all devices converted, and not fully spec compliant,
so disabled by default.

Signed-off-by: Michael S. Tsirkin <address@hidden>

# gpg: Signature made Thu Jun 11 12:53:08 2015 BST using RSA key ID D28D5469
# gpg: Good signature from "Michael S. Tsirkin <address@hidden>"
# gpg:                 aka "Michael S. Tsirkin <address@hidden>"

* remotes/mst/tags/for_upstream: (42 commits)
  i386/acpi-build: fix PXB workarounds for unsupported BIOSes
  i386/acpi-build: more traditional _UID and _HID for PXB root buses
  vhost-scsi: move qdev properties into vhost-scsi.c
  virtio-9p-device: move qdev properties into virtio-9p-device.c
  virtio-serial-bus: move qdev properties into virtio-serial-bus.c
  virtio-rng: move qdev properties into virtio-rng.c
  virtio-scsi: move qdev properties into virtio-scsi.c
  virtio-net.h: Remove unsed DEFINE_VIRTIO_NET_PROPERTIES
  virtio-net: move qdev properties into virtio-net.c
  virtio-input: emulated devices [pci]
  virtio-input: core code & base class [pci]
  pci: add PCI_CLASS_INPUT_*
  virtio-pci: fill VirtIOPCIRegions early.
  virtio-pci: drop identical virtio_pci_cap
  virtio-pci: move cap type to VirtIOPCIRegion
  virtio-pci: move virtio_pci_add_mem_cap call to virtio_pci_modern_region_map
  virtio-pci: add virtio_pci_modern_region_map()
  virtio-pci: add virtio_pci_modern_regions_init()
  virtio-pci: add struct VirtIOPCIRegion for virtio-1 regions
  virtio-balloon: switch to virtio_add_feature
  ...

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/afa25c4bb5bd...d8e3b729cf45

reply via email to

[Prev in Thread] Current Thread [Next in Thread]