qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] d75e2f: numa: fix comment


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] d75e2f: numa: fix comment
Date: Sun, 29 Jun 2014 11:00:05 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: d75e2f68890bfea22cb2ea5b2de4657cab87a1da
      
https://github.com/qemu/qemu/commit/d75e2f68890bfea22cb2ea5b2de4657cab87a1da
  Author: Michael S. Tsirkin <address@hidden>
  Date:   2014-06-29 (Sun, 29 Jun 2014)

  Changed paths:
    M numa.c

  Log Message:
  -----------
  numa: fix comment

Fix up English in comments:
s/the each/each/

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


  Commit: 29923e94e7ed93bac3fcc5e8a31b2f163a412172
      
https://github.com/qemu/qemu/commit/29923e94e7ed93bac3fcc5e8a31b2f163a412172
  Author: Michael S. Tsirkin <address@hidden>
  Date:   2014-06-29 (Sun, 29 Jun 2014)

  Changed paths:
    M target-openrisc/translate.c

  Log Message:
  -----------
  openrisc: fix comment

Fix English in comment:

s/the each/each/

s/  \*\// \*\//

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


  Commit: 9851d0fe3592f1b493aa9eb0166fdd4ed9f47430
      
https://github.com/qemu/qemu/commit/9851d0fe3592f1b493aa9eb0166fdd4ed9f47430
  Author: Michael S. Tsirkin <address@hidden>
  Date:   2014-06-29 (Sun, 29 Jun 2014)

  Changed paths:
    M numa.c

  Log Message:
  -----------
  numa: fix comment

s/if given for/is given for/;

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


  Commit: b8f5cfd6824ee7122e714ffc7e893432dd7beae5
      
https://github.com/qemu/qemu/commit/b8f5cfd6824ee7122e714ffc7e893432dd7beae5
  Author: Eduardo Habkost <address@hidden>
  Date:   2014-06-29 (Sun, 29 Jun 2014)

  Changed paths:
    M hw/i386/pc_q35.c
    M include/hw/i386/pc.h

  Log Message:
  -----------
  pc: Move q35 compat props to PC_COMPAT_*

For each compat property on PC_Q35_COMPAT_*, there are only two
possibilities:

 * If the device is never instantiated when using a machine other than
   pc-q35, then the compat property can be safely added to
   PC_COMPAT_*;
 * If the device can be instantiated when using a machine other than
   pc-q35, that means the other machines also need the compat property
   to be set.

That means we don't need separate PC_Q35_COMPAT_* macros at all, today.

The hpet.hpet-intcap case is interesting: piix and q35 do have something
that emulates different defaults, but the machine-specific default is
applied _after_ compat_props are applied, by simply checking if the
property is zero (which is the real default on the hpet code).

The hpet.hpet-intcap=0x4 compat property can (should?) be applied to
piix too, because 0x4 was the default on both piix and q35 before the
hpet-intcap property was introduced.

Now, if one day we change the default HPET intcap on one of the PC
machine-types again, we may want to introduce PC_{Q35,I440FX}_COMPAT
macros. But while we don't need that, we can keep the code simple.

Signed-off-by: Eduardo Habkost <address@hidden>
Cc: Liu Ping Fan <address@hidden>
Cc: Peter Maydell <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: fa118d1f8be40860469e8e23745d0202bdf229ba
      
https://github.com/qemu/qemu/commit/fa118d1f8be40860469e8e23745d0202bdf229ba
  Author: Eduardo Habkost <address@hidden>
  Date:   2014-06-29 (Sun, 29 Jun 2014)

  Changed paths:
    M include/hw/i386/pc.h

  Log Message:
  -----------
  pc: Fix "prog_if" typo on PC_COMPAT_2_0

The property name is "prog_if", not "prof_if".

Signed-off-by: Eduardo Habkost <address@hidden>
Reported-by: BALATON Zoltan <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: f2ae8abf1fa003e7ec6ee22cc3871924422a01d0
      
https://github.com/qemu/qemu/commit/f2ae8abf1fa003e7ec6ee22cc3871924422a01d0
  Author: Marcelo Tosatti <address@hidden>
  Date:   2014-06-29 (Sun, 29 Jun 2014)

  Changed paths:
    M hw/timer/mc146818rtc.c
    M monitor.c
    M qapi-schema.json
    M qmp-commands.hx

  Log Message:
  -----------
  mc146818rtc: add rtc-reset-reinjection QMP command

It is necessary to reset RTC interrupt reinjection backlog if
guest time is synchronized via a different mechanism, such as
QGA's guest-set-time command.

Failing to do so causes both corrections to be applied (summed),
resulting in an incorrect guest time.

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


  Commit: 46e797c4d34c1340eb981fa599f49f82b2ba5f41
      
https://github.com/qemu/qemu/commit/46e797c4d34c1340eb981fa599f49f82b2ba5f41
  Author: Damjan Marion <address@hidden>
  Date:   2014-06-29 (Sun, 29 Jun 2014)

  Changed paths:
    M docs/specs/vhost-user.txt

  Log Message:
  -----------
  vhost-user: fix wrong ids in documentation

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


  Commit: 5f8632d3c3d7bc5ef24166ba7cf90fcfb2adbf7d
      
https://github.com/qemu/qemu/commit/5f8632d3c3d7bc5ef24166ba7cf90fcfb2adbf7d
  Author: Don Slutz <address@hidden>
  Date:   2014-06-29 (Sun, 29 Jun 2014)

  Changed paths:
    M hw/i386/pc_piix.c

  Log Message:
  -----------
  pc: make isapc and pc-0.10 to pc-0.13 have 1.7.0 memory layout

QEMU 2.0 changed memory layout for isapc and pc-0.10 to pc-0.13.
This prevents migration from QEMU 1.7.0 for these
machine types when -m 3.5G is specified.

Paolo Bonzini asked that:

    smbios_legacy_mode = true;
    has_reserved_memory = false;
    option_rom_has_mr = true;
    rom_file_has_mr = false;

also be done.

Cc: address@hidden
Cc: Paolo Bonzini <address@hidden>
Signed-off-by: Don Slutz <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
Fixes: https://bugs.launchpad.net/qemu/+bug/1334307
Tested-by: "Slutz, Donald Christopher" <address@hidden>


  Commit: 2f5732e9648fcddc8759a8fd25c0b41a38352be6
      
https://github.com/qemu/qemu/commit/2f5732e9648fcddc8759a8fd25c0b41a38352be6
  Author: Dr. David Alan Gilbert <address@hidden>
  Date:   2014-06-29 (Sun, 29 Jun 2014)

  Changed paths:
    M hw/virtio/virtio.c

  Log Message:
  -----------
  Allow mismatched virtio config-len

Commit 'virtio: validate config_len on load' restricted config_len
loaded from the wire to match the config_len that the device had.

Unfortunately, there are cases where this isn't true, the one
we found it on was the wce addition in virtio-blk.

Allow mismatched config-lengths:
   *) If the version on the wire is shorter then fine
   *) If the version on the wire is longer, load what we have space
      for and skip the rest.

(This is address@hidden's rework of what I originally posted)

Signed-off-by: Dr. David Alan Gilbert <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: 1af878e0497a885b6cbdd3a6d91d399f4851d99c
      
https://github.com/qemu/qemu/commit/1af878e0497a885b6cbdd3a6d91d399f4851d99c
  Author: Eduardo Habkost <address@hidden>
  Date:   2014-06-29 (Sun, 29 Jun 2014)

  Changed paths:
    M include/sysemu/sysemu.h
    M numa.c
    M vl.c

  Log Message:
  -----------
  numa: Keep track of NUMA nodes present on the command-line

Based on "enable sparse node numbering" patch from Nishanth Aravamudan,
but without the code to actually support sparse node IDs. This just adds
the code to keep track of present/non-present nodes on the command-line,
without changing any behavior.

Signed-off-by: Nishanth Aravamudan <address@hidden>
[Rename max_numa_node to max_numa_nodeid -Eduardo]
[Initialize max_numa_nodeid to 0 -Eduardo]
[Use MAX() macro when setting max_numa_nodeid -Eduardo]
Signed-off-by: Eduardo Habkost <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Hu Tao <address@hidden>
Reviewed-by: Eric Blake <address@hidden>


  Commit: 1945b9d8b03aad59e86bfe3a3194e6bbeffbad6a
      
https://github.com/qemu/qemu/commit/1945b9d8b03aad59e86bfe3a3194e6bbeffbad6a
  Author: Eduardo Habkost <address@hidden>
  Date:   2014-06-29 (Sun, 29 Jun 2014)

  Changed paths:
    M numa.c

  Log Message:
  -----------
  numa: Reject duplicate node IDs

The same nodeid shouldn't appear multiple times in the command-line.

In addition to detecting command-line mistakes, this will fix a bug
where nb_numa_nodes may become larger than MAX_NODES (and cause
out-of-bounds access on the numa_info array).

Signed-off-by: Eduardo Habkost <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Hu Tao <address@hidden>
Reviewed-by: Eric Blake <address@hidden>


  Commit: 12d6e4640ce28d002e96d58c31cd5e7256258626
      
https://github.com/qemu/qemu/commit/12d6e4640ce28d002e96d58c31cd5e7256258626
  Author: Eduardo Habkost <address@hidden>
  Date:   2014-06-29 (Sun, 29 Jun 2014)

  Changed paths:
    M numa.c

  Log Message:
  -----------
  numa: Reject configuration if not all node IDs are present

We don't support sparse NUMA node IDs yet, so this changes QEMU to
reject configs where not all nodes are present.

Signed-off-by: Eduardo Habkost <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Eric Blake <address@hidden>


  Commit: 3fd74b84076488ae44ba5f3cfed22ff056c5199c
      
https://github.com/qemu/qemu/commit/3fd74b84076488ae44ba5f3cfed22ff056c5199c
  Author: Damjan Marion <address@hidden>
  Date:   2014-06-29 (Sun, 29 Jun 2014)

  Changed paths:
    M docs/specs/vhost-user.txt
    M exec.c
    M hw/virtio/vhost-user.c
    M include/exec/ram_addr.h

  Log Message:
  -----------
  vhost-user: fix regions provied with VHOST_USER_SET_MEM_TABLE message

Old code was affected by memory gaps which resulted in buffer pointers
pointing to address outside of the mapped regions.

Here we are introducing following changes:
 - new function qemu_get_ram_block_host_ptr() returns host pointer
   to the ram block, it is needed to calculate offset of specific
   region in the host memory
 - new field mmap_offset is added to the VhostUserMemoryRegion. It
   contains offset where specific region starts in the mapped memory.
   As there is stil no wider adoption of vhost-user agreement was made
   that we will not bump version number due to this change
 - other fileds in VhostUserMemoryRegion struct are not changed, as
   they are all needed for usermode app implementation
 - region data is not taken from ram_list.blocks anymore, instead we
   use region data which is alredy calculated for use in vhost-net
 - Now multiple regions can have same FD and user applicaton can call
   mmap() multiple times with the same FD but with different offset
   (user needs to take care for offset page alignment)

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


  Commit: a628fc8dae4c4a9a70f020ab65018a6e085a2088
      
https://github.com/qemu/qemu/commit/a628fc8dae4c4a9a70f020ab65018a6e085a2088
  Author: Michael S. Tsirkin <address@hidden>
  Date:   2014-06-29 (Sun, 29 Jun 2014)

  Changed paths:
    M docs/specs/vhost-user.txt

  Log Message:
  -----------
  vhost-user: typo fixups

Fix typo in field name.
Strip two consequitive empty lines.

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


  Commit: 032a74a1c0fcdd5fd1c69e56126b4c857ee36611
      
https://github.com/qemu/qemu/commit/032a74a1c0fcdd5fd1c69e56126b4c857ee36611
  Author: Cédric Le Goater <address@hidden>
  Date:   2014-06-29 (Sun, 29 Jun 2014)

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

  Log Message:
  -----------
  virtio-net: byteswap virtio-net header

TCP connectivity fails when the guest has a different endianness.
The packets are silently dropped on the host by the tap backend
when they are read from user space because the endianness of the
virtio-net header is in the wrong order. These lines may appear
in the guest console:

[  454.709327] skbuff: bad partial csum: csum=8704/4096 len=74
[  455.702554] skbuff: bad partial csum: csum=8704/4096 len=74

The issue that got first spotted with a ppc64le PowerKVM guest,
but it also exists for the less common case of a x86_64 guest run
by a big-endian ppc64 TCG hypervisor.

Signed-off-by: Cédric Le Goater <address@hidden>
[ Ported from PowerKVM,
  Greg Kurz <address@hidden> ]
Signed-off-by: Greg Kurz <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: e38e943a1fa20d04deb1899be19b12aadec7a585
      
https://github.com/qemu/qemu/commit/e38e943a1fa20d04deb1899be19b12aadec7a585
  Author: Alexander Graf <address@hidden>
  Date:   2014-06-29 (Sun, 29 Jun 2014)

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

  Log Message:
  -----------
  virtio-serial: don't migrate the config space

The device configuration is set at realize time and never changes. It
should not be migrated as it is done today. For the sake of compatibility,
let's just skip them at load time.

Signed-off-by: Alexander Graf <address@hidden>
[ added missing casts to uint16_t *,
  added From, SoB and commit message,
  Greg Kurz <address@hidden> ]
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Greg Kurz <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: 1b5fc0dea469976fcbf6dc2e8f2637a2154af2fb
      
https://github.com/qemu/qemu/commit/1b5fc0dea469976fcbf6dc2e8f2637a2154af2fb
  Author: Greg Kurz <address@hidden>
  Date:   2014-06-29 (Sun, 29 Jun 2014)

  Changed paths:
    M hw/block/virtio-blk.c
    M hw/char/virtio-serial-bus.c
    M hw/net/virtio-net.c
    M hw/scsi/virtio-scsi.c
    M hw/virtio/virtio-balloon.c
    M hw/virtio/virtio-rng.c
    M hw/virtio/virtio.c
    M include/hw/virtio/virtio.h

  Log Message:
  -----------
  virtio: introduce device specific migration calls

In order to migrate virtio subsections, they should be streamed after
the device itself. We need the device specific code to be called from
the common migration code to achieve this. This patch introduces load
and save methods for this purpose.

Suggested-by: Andreas Färber <address@hidden>
Signed-off-by: Greg Kurz <address@hidden>
Reviewed-by: Alexander Graf <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: 037dab2fe8877f0513417ba7613a93c456962da9
      
https://github.com/qemu/qemu/commit/037dab2fe8877f0513417ba7613a93c456962da9
  Author: Greg Kurz <address@hidden>
  Date:   2014-06-29 (Sun, 29 Jun 2014)

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

  Log Message:
  -----------
  virtio-net: implement per-device migration calls

Signed-off-by: Greg Kurz <address@hidden>
Reviewed-by: Alexander Graf <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: b2b295a74a17ec8b2eec166cbc65b65307a97ee2
      
https://github.com/qemu/qemu/commit/b2b295a74a17ec8b2eec166cbc65b65307a97ee2
  Author: Greg Kurz <address@hidden>
  Date:   2014-06-29 (Sun, 29 Jun 2014)

  Changed paths:
    M hw/block/virtio-blk.c

  Log Message:
  -----------
  virtio-blk: implement per-device migration calls

Signed-off-by: Greg Kurz <address@hidden>
Reviewed-by: Alexander Graf <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: 13c6855ab06b910a3a320b0e8f2b5f7ae8e2f351
      
https://github.com/qemu/qemu/commit/13c6855ab06b910a3a320b0e8f2b5f7ae8e2f351
  Author: Greg Kurz <address@hidden>
  Date:   2014-06-29 (Sun, 29 Jun 2014)

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

  Log Message:
  -----------
  virtio-serial: implement per-device migration calls

Signed-off-by: Greg Kurz <address@hidden>
Reviewed-by: Alexander Graf <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: 9ea2511c8542b875e89ab73d18480d42d6129a8c
      
https://github.com/qemu/qemu/commit/9ea2511c8542b875e89ab73d18480d42d6129a8c
  Author: Greg Kurz <address@hidden>
  Date:   2014-06-29 (Sun, 29 Jun 2014)

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

  Log Message:
  -----------
  virtio-balloon: implement per-device migration calls

Signed-off-by: Greg Kurz <address@hidden>
Reviewed-by: Alexander Graf <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: 3902d49e13c2428bd6381cfdf183103ca4477c1f
      
https://github.com/qemu/qemu/commit/3902d49e13c2428bd6381cfdf183103ca4477c1f
  Author: Greg Kurz <address@hidden>
  Date:   2014-06-29 (Sun, 29 Jun 2014)

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

  Log Message:
  -----------
  virtio-rng: implement per-device migration calls

While we are here, we also check virtio_load() return value.

Signed-off-by: Greg Kurz <address@hidden>
Reviewed-by: Alexander Graf <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: 6b321a3df55de42ad349870a8793e33a69f9d1a3
      
https://github.com/qemu/qemu/commit/6b321a3df55de42ad349870a8793e33a69f9d1a3
  Author: Greg Kurz <address@hidden>
  Date:   2014-06-29 (Sun, 29 Jun 2014)

  Changed paths:
    M hw/virtio/virtio.c

  Log Message:
  -----------
  virtio: add subsections to the migration stream

There is a need to add some more fields to VirtIODevice that should be
migrated (broken status, endianness). The problem is that we do not
want to break compatibility while adding a new feature... This issue has
been addressed in the generic VMState code with the use of optional
subsections. As a *temporary* alternative to port the whole virtio
migration code to VMState, this patch mimics a similar subsectionning
ability for virtio, using the VMState code.

Since each virtio device is streamed in its own section, the idea is to
stream subsections between the end of the device section and the start
of the next sections. This allows an older QEMU to complain and exit
when fed with subsections:

Unknown savevm section type 5
load of migration failed

Suggested-by: Alexander Graf <address@hidden>
Signed-off-by: Greg Kurz <address@hidden>
Reviewed-by: Alexander Graf <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: 98ed8ecfc9dd9e22e4251251492f062dde32c3c4
      
https://github.com/qemu/qemu/commit/98ed8ecfc9dd9e22e4251251492f062dde32c3c4
  Author: Greg Kurz <address@hidden>
  Date:   2014-06-29 (Sun, 29 Jun 2014)

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

  Log Message:
  -----------
  exec: introduce target_words_bigendian() helper

We currently have a virtio_is_big_endian() helper that provides the target
endianness to the virtio code. As of today, the helper returns a fixed
compile-time value. Of course, this will have to change if we want to
support target endianness changes at run-time.

Let's move the TARGET_WORDS_BIGENDIAN bits out to a new helper and have
virtio_is_big_endian() implemented on top of it.

This patch doesn't change any functionality.

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


  Commit: bf7663c4bd8f8f619d6dbb5780025d92ace250a8
      
https://github.com/qemu/qemu/commit/bf7663c4bd8f8f619d6dbb5780025d92ace250a8
  Author: Greg Kurz <address@hidden>
  Date:   2014-06-29 (Sun, 29 Jun 2014)

  Changed paths:
    M include/qom/cpu.h
    M qom/cpu.c

  Log Message:
  -----------
  cpu: introduce CPUClass::virtio_is_big_endian()

If we want to support targets that can change endianness (modern PPC and
ARM for the moment), we need to add a per-CPU class method to be called
from the virtio code. The virtio_ prefix in the name is a hint for people
to avoid misusage (aka. anywhere but from the virtio code).

The default behaviour is to return the compile-time default target
endianness.

Suggested-by: Peter Maydell <address@hidden>
Signed-off-by: Greg Kurz <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: 616a655219a92ae7cf5d6a7862e6489c6282009e
      
https://github.com/qemu/qemu/commit/616a655219a92ae7cf5d6a7862e6489c6282009e
  Author: Greg Kurz <address@hidden>
  Date:   2014-06-29 (Sun, 29 Jun 2014)

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

  Log Message:
  -----------
  virtio: add endian-ambivalent support to VirtIODevice

Some CPU families can dynamically change their endianness. This means we
can have little endian ppc or big endian arm guests for example. This has
an impact on legacy virtio data structures since they are target endian.
We hence introduce a new property to track the endianness of each virtio
device. It is reasonnably assumed that endianness won't change while the
device is in use : we hence capture the device endianness when it gets
reset.

We migrate this property in a subsection, after the device descriptor. This
means the load code must not rely on it until it is restored. As a consequence,
the vring sanity checks had to be moved after the call to vmstate_load_state().
We enforce paranoia by poisoning the property at the begining of virtio_load().

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


  Commit: 0f5d1d2a49778863db54b4b1ac2dc008a8f21f11
      
https://github.com/qemu/qemu/commit/0f5d1d2a49778863db54b4b1ac2dc008a8f21f11
  Author: Greg Kurz <address@hidden>
  Date:   2014-06-29 (Sun, 29 Jun 2014)

  Changed paths:
    A include/hw/virtio/virtio-access.h

  Log Message:
  -----------
  virtio: memory accessors for endian-ambivalent targets

This is the virtio-access.h header file taken from Rusty's "endian-ambivalent
targets using legacy virtio" patch. It introduces helpers that should be used
when accessing vring data or by drivers for data that contains headers.
The virtio config space is also target endian, but the current code already
handles that with the virtio_is_big_endian() helper. There is no obvious
benefit at using the virtio accessors in this case.

Now we have two distinct paths: a fast inline one for fixed endian targets,
and a slow out-of-line one for targets that define the new TARGET_IS_BIENDIAN
macro.

Signed-off-by: Rusty Russell <address@hidden>
[ relicensed virtio-access.h to GPLv2+ on Rusty's request,
  pass &address_space_memory to physical memory accessors,
  per-device endianness,
  virtio tswap16 and tswap64 helpers,
  faspath for fixed endian targets,
  Greg Kurz <address@hidden> ]
Cc: Cédric Le Goater <address@hidden>
Signed-off-by: Greg Kurz <address@hidden>
Reviewed-by: Alexander Graf <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: cee3ca002855f87b78aaa7769efeb90321757e49
      
https://github.com/qemu/qemu/commit/cee3ca002855f87b78aaa7769efeb90321757e49
  Author: Rusty Russell <address@hidden>
  Date:   2014-06-29 (Sun, 29 Jun 2014)

  Changed paths:
    M hw/virtio/virtio.c

  Log Message:
  -----------
  virtio: allow byte swapping for vring

Quoting original text from Rusty: "This is based on a simpler patch by Anthony
Liguouri".

Signed-off-by: Rusty Russell <address@hidden>
[ add VirtIODevice * argument to most helpers,
  Greg Kurz <address@hidden> ]
Signed-off-by: Greg Kurz <address@hidden>
Reviewed-by: Thomas Huth <address@hidden>
Reviewed-by: Alexander Graf <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: 1399c60d70a261acbeb65f614a00eab2dbf4237b
      
https://github.com/qemu/qemu/commit/1399c60d70a261acbeb65f614a00eab2dbf4237b
  Author: Rusty Russell <address@hidden>
  Date:   2014-06-29 (Sun, 29 Jun 2014)

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

  Log Message:
  -----------
  virtio-net: use virtio wrappers to access headers

Signed-off-by: Rusty Russell <address@hidden>
Reviewed-by: Anthony Liguori <address@hidden>
[ pass VirtIODevice * to memory accessors,
  converted new tswap locations to virtio_tswap,
  Greg Kurz <address@hidden> ]
Signed-off-by: Greg Kurz <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: 8609d2a87aff1e4b45fa96f7373d9f8e07951deb
      
https://github.com/qemu/qemu/commit/8609d2a87aff1e4b45fa96f7373d9f8e07951deb
  Author: Rusty Russell <address@hidden>
  Date:   2014-06-29 (Sun, 29 Jun 2014)

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

  Log Message:
  -----------
  virtio-balloon: use virtio wrappers to access page frame numbers

Signed-off-by: Rusty Russell <address@hidden>
Reviewed-by: Anthony Liguori <address@hidden>
[ pass VirtIODevice * to memory accessors,
  Greg Kurz <address@hidden> ]
Signed-off-by: Greg Kurz <address@hidden>
Reviewed-by: Alexander Graf <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: 783d189725d937f8ed9dae68c7e35b6afa0691da
      
https://github.com/qemu/qemu/commit/783d189725d937f8ed9dae68c7e35b6afa0691da
  Author: Rusty Russell <address@hidden>
  Date:   2014-06-29 (Sun, 29 Jun 2014)

  Changed paths:
    M hw/block/virtio-blk.c

  Log Message:
  -----------
  virtio-blk: use virtio wrappers to access headers

Note that st*_raw and ld*_raw are effectively replaced by st*_p and ld*_p.

Signed-off-by: Rusty Russell <address@hidden>
Reviewed-by: Anthony Liguori <address@hidden>
[ pass VirtIODevice * to memory accessors,
  Greg Kurz <address@hidden> ]
Signed-off-by: Greg Kurz <address@hidden>
Reviewed-by: Alexander Graf <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: 8c085dbe6d1e3fb3f18cdd05e67980a529a3ba4a
      
https://github.com/qemu/qemu/commit/8c085dbe6d1e3fb3f18cdd05e67980a529a3ba4a
  Author: Rusty Russell <address@hidden>
  Date:   2014-06-29 (Sun, 29 Jun 2014)

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

  Log Message:
  -----------
  virtio-scsi: use virtio wrappers to access headers

Note that st*_raw and ld*_raw are effectively replaced by st*_p and ld*_p.

Signed-off-by: Rusty Russell <address@hidden>
Reviewed-by: Anthony Liguori <address@hidden>
[ pass VirtIODevice * to memory accessors,
  converted new tswap locations to virtio_tswap,
  Greg Kurz <address@hidden> ]
Signed-off-by: Greg Kurz <address@hidden>
Reviewed-by: Alexander Graf <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: e0ab7fac65dc75573d3f02105c80981be4f49c2d
      
https://github.com/qemu/qemu/commit/e0ab7fac65dc75573d3f02105c80981be4f49c2d
  Author: Rusty Russell <address@hidden>
  Date:   2014-06-29 (Sun, 29 Jun 2014)

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

  Log Message:
  -----------
  virtio-serial-bus: use virtio wrappers to access headers

We also fix max_nr_ports at reset time as the device endianness may have
changed.

Signed-off-by: Rusty Russell <address@hidden>
Reviewed-by: Anthony Liguori <address@hidden>
[ pass VirtIODevice * to memory accessors,
  fix max_nr_ports at reset time,
  Greg Kurz <address@hidden> ]
Signed-off-by: Greg Kurz <address@hidden>
Reviewed-by: Alexander Graf <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: d64ccb91adda46197702ec3a8b6d9c85c03b3c80
      
https://github.com/qemu/qemu/commit/d64ccb91adda46197702ec3a8b6d9c85c03b3c80
  Author: Greg Kurz <address@hidden>
  Date:   2014-06-29 (Sun, 29 Jun 2014)

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

  Log Message:
  -----------
  virtio-9p: use virtio wrappers to access headers

Note that st*_raw and ld*_raw are effectively replaced by st*_p and ld*_p.

Signed-off-by: Greg Kurz <address@hidden>
Reviewed-by: Alexander Graf <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: 7826c2b2a46988c278fbea5e1e376cf783f8bc46
      
https://github.com/qemu/qemu/commit/7826c2b2a46988c278fbea5e1e376cf783f8bc46
  Author: Greg Kurz <address@hidden>
  Date:   2014-06-29 (Sun, 29 Jun 2014)

  Changed paths:
    M target-ppc/cpu.h
    M target-ppc/translate_init.c

  Log Message:
  -----------
  target-ppc: enable virtio endian ambivalent support

The device endianness is the cpu endianness at device reset time.

Signed-off-by: Greg Kurz <address@hidden>
Reviewed-by: Alexander Graf <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: 371df9f5e0f175a1d8f2e9f2e86cf65f952b1c56
      
https://github.com/qemu/qemu/commit/371df9f5e0f175a1d8f2e9f2e86cf65f952b1c56
  Author: Greg Kurz <address@hidden>
  Date:   2014-06-29 (Sun, 29 Jun 2014)

  Changed paths:
    M hw/net/vhost_net.c

  Log Message:
  -----------
  vhost-net: disable when cross-endian

As of today, vhost assumes guest and host have the same endianness.
This is definitely not compatible with modern PPC64 and ARM that
can change endianness at runtime. Let's disable vhost-net and print
an error message when we detect such a case:

qemu-system-ppc64: vhost-net does not support cross-endian
qemu-system-ppc64: unable to start vhost net: 38: falling back on userspace 
virtio

This way users can continue to run VMs without changing their setup and
have a chance to know that performance will be impacted.

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


  Commit: b4900c0e8a606bed834bd610fbae0fdf1d697ff9
      
https://github.com/qemu/qemu/commit/b4900c0e8a606bed834bd610fbae0fdf1d697ff9
  Author: Hu Tao <address@hidden>
  Date:   2014-06-29 (Sun, 29 Jun 2014)

  Changed paths:
    M tests/test-string-output-visitor.c

  Log Message:
  -----------
  tests: add human format test for string output visitor

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


  Commit: 9328cfd2fe4a7ff86a41b2c26ea33974241d7d4e
      
https://github.com/qemu/qemu/commit/9328cfd2fe4a7ff86a41b2c26ea33974241d7d4e
  Author: Peter Maydell <address@hidden>
  Date:   2014-06-29 (Sun, 29 Jun 2014)

  Changed paths:
    M docs/specs/vhost-user.txt
    M exec.c
    M hw/9pfs/virtio-9p-device.c
    M hw/block/virtio-blk.c
    M hw/char/virtio-serial-bus.c
    M hw/i386/pc_piix.c
    M hw/i386/pc_q35.c
    M hw/net/vhost_net.c
    M hw/net/virtio-net.c
    M hw/scsi/virtio-scsi.c
    M hw/timer/mc146818rtc.c
    M hw/virtio/vhost-user.c
    M hw/virtio/virtio-balloon.c
    M hw/virtio/virtio-pci.c
    M hw/virtio/virtio-rng.c
    M hw/virtio/virtio.c
    M include/exec/ram_addr.h
    M include/hw/i386/pc.h
    A include/hw/virtio/virtio-access.h
    M include/hw/virtio/virtio.h
    M include/qom/cpu.h
    M include/sysemu/sysemu.h
    M monitor.c
    M numa.c
    M qapi-schema.json
    M qmp-commands.hx
    M qom/cpu.c
    M target-openrisc/translate.c
    M target-ppc/cpu.h
    M target-ppc/translate_init.c
    M tests/test-string-output-visitor.c
    M vl.c

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

pc,vhost,virtio fixes, enhancements

virtio bi-endian support
new command to resync RTC
misc bugfixes and cleanups

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

# gpg: Signature made Sun 29 Jun 2014 17:41:13 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: (37 commits)
  tests: add human format test for string output visitor
  vhost-net: disable when cross-endian
  target-ppc: enable virtio endian ambivalent support
  virtio-9p: use virtio wrappers to access headers
  virtio-serial-bus: use virtio wrappers to access headers
  virtio-scsi: use virtio wrappers to access headers
  virtio-blk: use virtio wrappers to access headers
  virtio-balloon: use virtio wrappers to access page frame numbers
  virtio-net: use virtio wrappers to access headers
  virtio: allow byte swapping for vring
  virtio: memory accessors for endian-ambivalent targets
  virtio: add endian-ambivalent support to VirtIODevice
  cpu: introduce CPUClass::virtio_is_big_endian()
  exec: introduce target_words_bigendian() helper
  virtio: add subsections to the migration stream
  virtio-rng: implement per-device migration calls
  virtio-balloon: implement per-device migration calls
  virtio-serial: implement per-device migration calls
  virtio-blk: implement per-device migration calls
  virtio-net: implement per-device migration calls
  ...

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


Compare: https://github.com/qemu/qemu/compare/4f9c5be9191f...9328cfd2fe4a

reply via email to

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