qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 2a6f39: device-crash-test: Fix regexp on whit


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 2a6f39: device-crash-test: Fix regexp on whitelist
Date: Tue, 18 Jul 2017 08:42:24 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 2a6f395b9a849942804fae626dad505d17f247da
      
https://github.com/qemu/qemu/commit/2a6f395b9a849942804fae626dad505d17f247da
  Author: Eduardo Habkost <address@hidden>
  Date:   2017-07-17 (Mon, 17 Jul 2017)

  Changed paths:
    M scripts/device-crash-test

  Log Message:
  -----------
  device-crash-test: Fix regexp on whitelist

The "||" in the whitelist entry was not escaped, making the regexp match
all strings, on every single cases where QEMU aborted.

Signed-off-by: Eduardo Habkost <address@hidden>
Message-Id: <address@hidden>


  Commit: 3f0058bbc1f057dee0c6b819b1119f1f58a3a6e8
      
https://github.com/qemu/qemu/commit/3f0058bbc1f057dee0c6b819b1119f1f58a3a6e8
  Author: Eduardo Habkost <address@hidden>
  Date:   2017-07-17 (Mon, 17 Jul 2017)

  Changed paths:
    M tests/check-qom-proplist.c

  Log Message:
  -----------
  tests: Test case for object_resolve_path*()

Test for partial path lookup using object_resolve_path*().

Signed-off-by: Eduardo Habkost <address@hidden>
Message-Id: <address@hidden>
Tested-by: Mark Cave-Ayland <address@hidden>
Reviewed-by: Igor Mammedov <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>


  Commit: 5eb6a3c50185e101f87382f41fb66eed5784e7ac
      
https://github.com/qemu/qemu/commit/5eb6a3c50185e101f87382f41fb66eed5784e7ac
  Author: Greg Kurz <address@hidden>
  Date:   2017-07-17 (Mon, 17 Jul 2017)

  Changed paths:
    M hw/core/qdev-properties.c

  Log Message:
  -----------
  qdev: fix the order compat and global properties are applied

The current code recursively applies global properties from child up to
parent types. This can cause properties passed with the -global option to
be silently overridden by internal compat properties.

This is exactly what happened with virtio-*-pci drivers since commit:

"9a4c0e220d8a hw/virtio-pci: fix virtio behaviour"

Passing -device virtio-blk-pci.disable-modern=off had no effect on 2.6
machine types because the internal virtio-pci.disable-modern=on compat
property always prevailed.

A workaround for this was included with commit 0bcba41f ("machine:
Convert abstract typename on compat_props to subclass names").

This patch fixes the issue properly by reversing the logic: we now go
through the global property list and, for each property, we check if it
is applicable to the device.

This results in compat properties being applied first, in the order they
appear in the HW_COMPAT_* macros, followed by global properties, in the
order they appear on the command line.

Signed-off-by: Greg Kurz <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Cornelia Huck <address@hidden>
Reviewed-by: Halil Pasic <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>


  Commit: 3caca5555844cc7921f0d61f286a4f2b7ebc0a8e
      
https://github.com/qemu/qemu/commit/3caca5555844cc7921f0d61f286a4f2b7ebc0a8e
  Author: Eduardo Habkost <address@hidden>
  Date:   2017-07-17 (Mon, 17 Jul 2017)

  Changed paths:
    M tests/test-qdev-global-props.c

  Log Message:
  -----------
  test-qdev-global-props: Test global property ordering

Test case to detect the bug fixed by commit
"qdev: fix the order compat and global properties are applied".

Signed-off-by: Eduardo Habkost <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Cornelia Huck <address@hidden>
Reviewed-by: Greg Kurz <address@hidden>
Reviewed-by: Halil Pasic <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>


  Commit: 6d1e30c4ac78b93c64730a68a86c9f27900352d5
      
https://github.com/qemu/qemu/commit/6d1e30c4ac78b93c64730a68a86c9f27900352d5
  Author: Eduardo Habkost <address@hidden>
  Date:   2017-07-17 (Mon, 17 Jul 2017)

  Changed paths:
    M hw/core/machine.c

  Log Message:
  -----------
  Revert "machine: Convert abstract typename on compat_props to subclass names"

This reverts commit 0bcba41fe379e4c6834adcf1456d9099db31a5b2.

The bug addressed by that commit is now fixed in a better way by the
commit "qdev: fix the order compat and global properties are applied".

Signed-off-by: Eduardo Habkost <address@hidden>
Message-Id: <address@hidden>
Acked-by: Cornelia Huck <address@hidden>
Reviewed-by: Greg Kurz <address@hidden>
Reviewed-by: Halil Pasic <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>


  Commit: ebcc479eee740937e70a94a468effcf2126a572b
      
https://github.com/qemu/qemu/commit/ebcc479eee740937e70a94a468effcf2126a572b
  Author: Eduardo Habkost <address@hidden>
  Date:   2017-07-17 (Mon, 17 Jul 2017)

  Changed paths:
    M qom/object.c
    M tests/check-qom-proplist.c

  Log Message:
  -----------
  qom: Fix ambiguous path detection when ambiguous=NULL

object_resolve_path*() ambiguous path detection breaks when
ambiguous==NULL and the object tree have 3 objects of the same type and
only 2 of them are under the same parent.  e.g.:

 /container/obj1 (TYPE_FOO)
 /container/obj2 (TYPE_FOO)
 /obj2 (TYPE_FOO)

With the above tree, object_resolve_path_type("", TYPE_FOO, NULL) will
incorrectly return /obj2, because the search inside "/container" will
return NULL, and the match at "/obj2" won't be detected as ambiguous.

Fix that by always calling object_resolve_partial_path() with a non-NULL
ambiguous parameter.

Test case included.

Reported-by: Igor Mammedov <address@hidden>
Cc: Mark Cave-Ayland <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>


  Commit: 6e99c075a0171b7ff74386749125510a6641ea49
      
https://github.com/qemu/qemu/commit/6e99c075a0171b7ff74386749125510a6641ea49
  Author: Mark Cave-Ayland <address@hidden>
  Date:   2017-07-17 (Mon, 17 Jul 2017)

  Changed paths:
    M hw/nvram/fw_cfg.c

  Log Message:
  -----------
  fw_cfg: switch fw_cfg_find() to locate the fw_cfg device by type rather than 
path

This will enable the fw_cfg device to be placed anywhere within the QOM tree
regardless of its machine location.

Note that we also add a comment to document the behaviour that we return NULL to
indicate failure where either no fw_cfg device or multiple fw_cfg devices are
found.

Signed-off-by: Mark Cave-Ayland <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Igor Mammedov <address@hidden>
Reviewed-by: Eduardo Habkost <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>


  Commit: 38f3adc34de83bf75d2023831dc520d32568a2d9
      
https://github.com/qemu/qemu/commit/38f3adc34de83bf75d2023831dc520d32568a2d9
  Author: Mark Cave-Ayland <address@hidden>
  Date:   2017-07-17 (Mon, 17 Jul 2017)

  Changed paths:
    M hw/nvram/fw_cfg.c

  Log Message:
  -----------
  fw_cfg: move qdev_init_nofail() from fw_cfg_init1() to callers

When looking to instantiate a TYPE_FW_CFG_MEM or TYPE_FW_CFG_IO device to be
able to wire it up differently, it is much more convenient for the caller to
instantiate the device and have the fw_cfg default files already preloaded
during realize.

Move fw_cfg_init1() to the end of both the fw_cfg_mem_realize() and
fw_cfg_io_realize() functions so it no longer needs to be called manually
when instantiating the device, and also rename it to fw_cfg_common_realize()
which better describes its new purpose.

Since it is now the responsibility of the machine to wire up the fw_cfg device
it is necessary to introduce a object_property_add_child() call into
fw_cfg_init_io() and fw_cfg_init_mem() to link the fw_cfg device to the root
machine object as before.

Finally with the previous change to fw_cfg_find() we can now remove the
assert() preventing multiple fw_cfg devices being instantiated and replace
them with a simple call to fw_cfg_find() at realize time instead. This allows
us to remove FW_CFG_NAME and FW_CFG_PATH since they are no longer required.

Signed-off-by: Mark Cave-Ayland <address@hidden>
Reviewed-by: Igor Mammedov <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Eduardo Habkost <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>


  Commit: 39736e18cda64c501caab00d93ebfd8b4cf6b36e
      
https://github.com/qemu/qemu/commit/39736e18cda64c501caab00d93ebfd8b4cf6b36e
  Author: Mark Cave-Ayland <address@hidden>
  Date:   2017-07-17 (Mon, 17 Jul 2017)

  Changed paths:
    M hw/nvram/fw_cfg.c
    M include/hw/nvram/fw_cfg.h
    M include/qemu/typedefs.h

  Log Message:
  -----------
  fw_cfg: move QOM type defines and fw_cfg types into fw_cfg.h

By exposing FWCfgIoState and FWCfgMemState internals we allow the possibility
for the internal MemoryRegion fields to be mapped by name for boards that wish
to wire up the fw_cfg device themselves.

Signed-off-by: Mark Cave-Ayland <address@hidden>
Reviewed-by: Laszlo Ersek <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>


  Commit: 1ce36bfe6424243082d3d7c2330e1a0a4ff72a43
      
https://github.com/qemu/qemu/commit/1ce36bfe6424243082d3d7c2330e1a0a4ff72a43
  Author: Daniel P. Berrange <address@hidden>
  Date:   2017-07-17 (Mon, 17 Jul 2017)

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

  Log Message:
  -----------
  i386: expose "TCGTCGTCGTCG" in the 0x40000000 CPUID leaf

Currently when running KVM, we expose "KVMKVMKVM\0\0\0" in
the 0x40000000 CPUID leaf. Other hypervisors (VMWare,
HyperV, Xen, BHyve) all do the same thing, which leaves
TCG as the odd one out.

The CPUID signature is used by software to detect which
virtual environment they are running in and (potentially)
change behaviour in certain ways. For example, systemd
supports a ConditionVirtualization= setting in unit files.
The virt-what command can also report the virt type it is
running on

Currently both these apps have to resort to custom hacks
like looking for 'fw-cfg' entry in the /proc/device-tree
file to identify TCG.

This change thus proposes a signature "TCGTCGTCGTCG" to be
reported when running under TCG.

To hide this, the -cpu option tcg-cpuid=off can be used.

Signed-off-by: Daniel P. Berrange <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>


  Commit: cf70879f14d83287d0d6af3b0d7ba7a322ea9ece
      
https://github.com/qemu/qemu/commit/cf70879f14d83287d0d6af3b0d7ba7a322ea9ece
  Author: Eduardo Habkost <address@hidden>
  Date:   2017-07-17 (Mon, 17 Jul 2017)

  Changed paths:
    M target/i386/cpu.c

  Log Message:
  -----------
  i386: Update comment about XSAVES on Skylake-Client

Reported-by: Paolo Bonzini <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>


  Commit: 53f9a6f45fb214540cb40af45efc11ac40ac454c
      
https://github.com/qemu/qemu/commit/53f9a6f45fb214540cb40af45efc11ac40ac454c
  Author: Boqun Feng (Intel) <address@hidden>
  Date:   2017-07-17 (Mon, 17 Jul 2017)

  Changed paths:
    M target/i386/cpu.c

  Log Message:
  -----------
  i386: add Skylake-Server cpu model

Introduce Skylake-Server cpu mode which inherits the features from
Skylake-Client and supports some additional features that are: AVX512,
CLWB and PGPE1GB.

Signed-off-by: Boqun Feng (Intel) <address@hidden>
Message-Id: <address@hidden>
[ehabkost: copied comment about XSAVES from Skylake-Client]
Signed-off-by: Eduardo Habkost <address@hidden>


  Commit: dbb2a604a94f3899fa34bd1ede462f213e822e03
      
https://github.com/qemu/qemu/commit/dbb2a604a94f3899fa34bd1ede462f213e822e03
  Author: Eduardo Habkost <address@hidden>
  Date:   2017-07-17 (Mon, 17 Jul 2017)

  Changed paths:
    M tests/device-introspect-test.c

  Log Message:
  -----------
  tests: Simplify abstract-interfaces check with a helper

Add a new type_list_find() helper to device-introspect-test.c, to
simplify the code at test_abstract_interfaces().

Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>


  Commit: 87467eae37e9b4727152292e09acead3ba3c95ed
      
https://github.com/qemu/qemu/commit/87467eae37e9b4727152292e09acead3ba3c95ed
  Author: Eduardo Habkost <address@hidden>
  Date:   2017-07-17 (Mon, 17 Jul 2017)

  Changed paths:
    M qapi-schema.json
    M qmp.c
    M tests/device-introspect-test.c

  Log Message:
  -----------
  qmp: Include 'abstract' field on 'qom-list-types' output

A client may be interested in getting the list of both abstract and
non-abstract types.  Instead of requiring them to make multiple queries
with different filter arguments, just return an 'abstract' field in
'qom-list-types'.

In addition to the new test code for validating this field, update the
abstract-interfaces test case to query for all 'interface' subtypes
(including abstract ones), and to look at the 'abstract' field directly.

Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>


  Commit: f86285c571c49e781d3fa46f3bef3835b8e6f393
      
https://github.com/qemu/qemu/commit/f86285c571c49e781d3fa46f3bef3835b8e6f393
  Author: Eduardo Habkost <address@hidden>
  Date:   2017-07-17 (Mon, 17 Jul 2017)

  Changed paths:
    M qapi-schema.json
    M qmp.c
    M tests/device-introspect-test.c

  Log Message:
  -----------
  qmp: Include parent type on 'qom-list-types' output

Include name of parent type of each type on 'qom-list-types' output.

Without this, there's no way to figure out the parents of a given type
without making additional 'qom-list-types' queries.

In addition to the test case for the new feature, update the
abstract-interface test case to use the new field and avoid the
"qom-list-types implements=object" trick.

Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>


  Commit: 368e708b4c95501574ab11632c7a0b8bb3ddc7e8
      
https://github.com/qemu/qemu/commit/368e708b4c95501574ab11632c7a0b8bb3ddc7e8
  Author: Peter Maydell <address@hidden>
  Date:   2017-07-18 (Tue, 18 Jul 2017)

  Changed paths:
    M hw/core/machine.c
    M hw/core/qdev-properties.c
    M hw/nvram/fw_cfg.c
    M include/hw/i386/pc.h
    M include/hw/nvram/fw_cfg.h
    M include/qemu/typedefs.h
    M qapi-schema.json
    M qmp.c
    M qom/object.c
    M scripts/device-crash-test
    M target/i386/cpu.c
    M target/i386/cpu.h
    M tests/check-qom-proplist.c
    M tests/device-introspect-test.c
    M tests/test-qdev-global-props.c

  Log Message:
  -----------
  Merge remote-tracking branch 
'remotes/ehabkost/tags/x86-and-machine-pull-request' into staging

x86 and machine queue, 2017-07-17

# gpg: Signature made Mon 17 Jul 2017 19:46:14 BST
# gpg:                using RSA key 0x2807936F984DC5A6
# gpg: Good signature from "Eduardo Habkost <address@hidden>"
# Primary key fingerprint: 5A32 2FD5 ABC4 D3DB ACCF  D1AA 2807 936F 984D C5A6

* remotes/ehabkost/tags/x86-and-machine-pull-request:
  qmp: Include parent type on 'qom-list-types' output
  qmp: Include 'abstract' field on 'qom-list-types' output
  tests: Simplify abstract-interfaces check with a helper
  i386: add Skylake-Server cpu model
  i386: Update comment about XSAVES on Skylake-Client
  i386: expose "TCGTCGTCGTCG" in the 0x40000000 CPUID leaf
  fw_cfg: move QOM type defines and fw_cfg types into fw_cfg.h
  fw_cfg: move qdev_init_nofail() from fw_cfg_init1() to callers
  fw_cfg: switch fw_cfg_find() to locate the fw_cfg device by type rather than 
path
  qom: Fix ambiguous path detection when ambiguous=NULL
  Revert "machine: Convert abstract typename on compat_props to subclass names"
  test-qdev-global-props: Test global property ordering
  qdev: fix the order compat and global properties are applied
  tests: Test case for object_resolve_path*()
  device-crash-test: Fix regexp on whitelist

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


Compare: https://github.com/qemu/qemu/compare/e9277a19a1a5...368e708b4c95

reply via email to

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