qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 96acfb: meson: allow optional dependencies fo


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] 96acfb: meson: allow optional dependencies for block modules
Date: Sat, 05 Jun 2021 03:25:54 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 96acfb1f2552c24af6b3ed886daabe2bd3ceff2d
      
https://github.com/qemu/qemu/commit/96acfb1f2552c24af6b3ed886daabe2bd3ceff2d
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2021-06-04 (Fri, 04 Jun 2021)

  Changed paths:
    M block/meson.build

  Log Message:
  -----------
  meson: allow optional dependencies for block modules

Right now all dependencies for block modules are passed to
module_ss.add(when: ...), so they are mandatory.  In the next patch we
will need to add a libm dependency to a module, but libm does not exist
on all systems.  So, modify the creation of module_ss and modsrc so that
dependencies can also be passed to module_ss.add(if_true: ...).

While touching the array, remove the useless dependency of the curl
module on glib.  glib is always linked in QEMU and in fact all other
block modules also need it, but they don't have to specify it.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 7fa1c63553242ad557c26dafd01e828ff1507c64
      
https://github.com/qemu/qemu/commit/7fa1c63553242ad557c26dafd01e828ff1507c64
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2021-06-04 (Fri, 04 Jun 2021)

  Changed paths:
    M block/meson.build
    M meson.build

  Log Message:
  -----------
  iscsi: link libm into the module

Depending on the configuration of QEMU, some binaries might not need libm
at all.  In that case libiscsi, which uses exp(), will fail to load.
Link it in the module explicitly.

Reported-by: Yi Sun <yisun@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 29c3d213f4ad69688638330728cff1a8769d7415
      
https://github.com/qemu/qemu/commit/29c3d213f4ad69688638330728cff1a8769d7415
  Author: Brad Smith <brad@comstyle.com>
  Date:   2021-06-04 (Fri, 04 Jun 2021)

  Changed paths:
    M util/oslib-posix.c

  Log Message:
  -----------
  oslib-posix: Remove OpenBSD workaround for fcntl("/dev/null", F_SETFL, 
O_NONBLOCK) failure

OpenBSD prior to 6.3 required a workaround to utilize fcntl(F_SETFL) on memory
devices.

Since modern verions of OpenBSD that are only officialy supported and buildable
on do not have this issue I am garbage collecting this workaround.

Signed-off-by: Brad Smith <brad@comstyle.com>

Message-Id: <YGYECGXQhdamEJgC@humpty.home.comstyle.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 28f6aa1178581c3647819e1abc4905899d97d3a2
      
https://github.com/qemu/qemu/commit/28f6aa1178581c3647819e1abc4905899d97d3a2
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2021-06-04 (Fri, 04 Jun 2021)

  Changed paths:
    M target/i386/tcg/seg_helper.c

  Log Message:
  -----------
  target/i386: tcg: fix segment register offsets for 16-bit TSS

The TSS offsets in the manuals have only 2-byte slots for the
segment registers.  QEMU incorrectly uses 4-byte slots, so
that SS overlaps the LDT selector.

Resolves: #382
Reported-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: a5505f6b5b6f72eb21be7567fc1ef3ae2d5b3281
      
https://github.com/qemu/qemu/commit/a5505f6b5b6f72eb21be7567fc1ef3ae2d5b3281
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2021-06-04 (Fri, 04 Jun 2021)

  Changed paths:
    M target/i386/tcg/seg_helper.c

  Log Message:
  -----------
  target/i386: tcg: fix loading of registers from 16-bit TSS

According to the manual, the high 16-bit of the registers are preserved
when switching to a 16-bit task.  Implement this in switch_tss_ra.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 1b627f389f9da48aa8f28808770a731c1e09c338
      
https://github.com/qemu/qemu/commit/1b627f389f9da48aa8f28808770a731c1e09c338
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2021-06-04 (Fri, 04 Jun 2021)

  Changed paths:
    M target/i386/tcg/seg_helper.c

  Log Message:
  -----------
  target/i386: tcg: fix switching from 16-bit to 32-bit tasks or vice versa

The format of the task state segment is governed by bit 3 in the
descriptor type field.  On a task switch, the format for saving
is given by the current value of TR's type field, while the
format for loading is given by the new descriptor.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: e18a6ec8c4516f2c2b973f452207e74c1b608414
      
https://github.com/qemu/qemu/commit/e18a6ec8c4516f2c2b973f452207e74c1b608414
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-06-04 (Fri, 04 Jun 2021)

  Changed paths:
    M target/i386/tcg/translate.c

  Log Message:
  -----------
  target/i386: Fix decode of cr8

A recent cleanup did not recognize that there are two ways
to encode cr8: one via the LOCK and the other via REX.

Fixes: 7eff2e7c
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/380
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20210602035511.96834-1-richard.henderson@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 6b731a96aa743a4d384197acb4a6038efbb492b4
      
https://github.com/qemu/qemu/commit/6b731a96aa743a4d384197acb4a6038efbb492b4
  Author: Kit Westneat <kit.westneat@gmail.com>
  Date:   2021-06-04 (Fri, 04 Jun 2021)

  Changed paths:
    M tests/qtest/virtio-scsi-test.c

  Log Message:
  -----------
  tests/qtest/virtio-scsi-test: add unmap large LBA with 4k blocks test

Add test for issue #345

Signed-off-by: Kit Westneat <kit.westneat@gmail.com>
Message-Id: <20210603142022.676395-1-kit.westneat@gmail.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 662175b91ff2c0d56f709345b0bf9534ec2a218d
      
https://github.com/qemu/qemu/commit/662175b91ff2c0d56f709345b0bf9534ec2a218d
  Author: Claudio Fontana <cfontana@suse.de>
  Date:   2021-06-04 (Fri, 04 Jun 2021)

  Changed paths:
    M target/i386/cpu.c
    M target/i386/kvm/kvm-cpu.c

  Log Message:
  -----------
  i386: reorder call to cpu_exec_realizefn

i386 realizefn code is sensitive to ordering, and recent commits
aimed at refactoring it, splitting accelerator-specific code,
broke assumptions which need to be fixed.

We need to:

* process hyper-v enlightements first, as they assume features
  not to be expanded

* only then, expand features

* after expanding features, attempt to check them and modify them in the
  accel-specific realizefn code called by cpu_exec_realizefn().

* after the framework has been called via cpu_exec_realizefn,
  the code can check for what has or hasn't been set by accel-specific
  code, or extend its results, ie:

  - check and evenually set code_urev default
  - modify cpu->mwait after potentially being set from host CPUID.
  - finally check for phys_bits assuming all user and accel-specific
    adjustments have already been taken into account.

Fixes: f5cc5a5c ("i386: split cpu accelerators from cpu.c"...)
Fixes: 30565f10 ("cpu: call AccelCPUClass::cpu_realizefn in"...)
Cc: Eduardo Habkost <ehabkost@redhat.com>
Cc: Vitaly Kuznetsov <vkuznets@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Claudio Fontana <cfontana@suse.de>
Message-Id: <20210603123001.17843-2-cfontana@suse.de>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 4db4385a7ab6512e9af08305f5725b26c8a980ee
      
https://github.com/qemu/qemu/commit/4db4385a7ab6512e9af08305f5725b26c8a980ee
  Author: Claudio Fontana <cfontana@suse.de>
  Date:   2021-06-04 (Fri, 04 Jun 2021)

  Changed paths:
    M target/i386/cpu.c

  Log Message:
  -----------
  i386: run accel_cpu_instance_init as post_init

This fixes host and max cpu initialization, by running the accel cpu
initialization only after all instance init functions are called for all
X86 cpu subclasses.

The bug this is fixing is related to the "max" and "host" i386 cpu
subclasses, which set cpu->max_features, which is then used at cpu
realization time.

In order to properly split the accel-specific max features code that
needs to be executed at cpu instance initialization time,

we cannot call the accel cpu initialization at the end of the x86 base
class initialization, or we will have no way to specialize
"max features" cpu behavior, overriding the "max" cpu class defaults,
and checking for the "max features" flag itself.

This patch moves the accel-specific cpu instance initialization to after
all x86 cpu instance code has been executed, including subclasses,

so that proper initialization of cpu "host" and "max" can be restored.

Fixes: f5cc5a5c ("i386: split cpu accelerators from cpu.c,"...)
Cc: Eduardo Habkost <ehabkost@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Claudio Fontana <cfontana@suse.de>
Message-Id: <20210603123001.17843-3-cfontana@suse.de>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 37701411397c7b7d709ae92abd347cc593940ee5
      
https://github.com/qemu/qemu/commit/37701411397c7b7d709ae92abd347cc593940ee5
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2021-06-04 (Fri, 04 Jun 2021)

  Changed paths:
    M include/qemu/config-file.h
    M softmmu/vl.c
    M util/qemu-config.c

  Log Message:
  -----------
  qemu-config: parse configuration files to a QDict

Change the parser to put the values into a QDict and pass them
to a callback.  qemu_config_parse's QemuOpts creation is
itself turned into a callback function.

This is useful for -readconfig to support keyval-based options;
getting a QDict from the parser removes a roundtrip from
QDict to QemuOpts and then back to QDict.

Unfortunately there is a disadvantage in that semantic errors will
point to the last line of the group, because the entries of the QDict
do not have a location attached.

Cc: Kevin Wolf <kwolf@redhat.com>
Cc: Markus Armbruster <armbru@redhat.com>
Cc: qemu-stable@nongnu.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20210524105752.3318299-2-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: c0d4aa82f895af67cbf7772324e05605e22b4162
      
https://github.com/qemu/qemu/commit/c0d4aa82f895af67cbf7772324e05605e22b4162
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2021-06-04 (Fri, 04 Jun 2021)

  Changed paths:
    M include/block/qdict.h
    M include/qapi/qmp/qdict.h
    M softmmu/vl.c

  Log Message:
  -----------
  vl: plumb keyval-based options into -readconfig

Let -readconfig support parsing command line options into QDict or
QemuOpts.  This will be used to add back support for objects in
-readconfig.

Cc: Markus Armbruster <armbru@redhat.com>
Cc: qemu-stable@nongnu.org
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20210524105752.3318299-3-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 49e987695a1873a769a823604f9065aa88e00c55
      
https://github.com/qemu/qemu/commit/49e987695a1873a769a823604f9065aa88e00c55
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2021-06-04 (Fri, 04 Jun 2021)

  Changed paths:
    M softmmu/vl.c

  Log Message:
  -----------
  vl: plug -object back into -readconfig

Commit bc2f4fcb1d ("qom: move user_creatable_add_opts logic to vl.c
and QAPIfy it", 2021-03-19) switched the creation of objects from
qemu_opts_foreach to a bespoke QTAILQ in preparation for supporting JSON
syntax in -object.

Unfortunately in doing so it lost support for [object] stanzas in
configuration files and also for "-set object.ID.KEY=VAL".  The latter
is hard to re-establish and probably best solved by deprecating -set.
This patch uses the infrastructure introduced by the previous two
patches in order to parse QOM objects correctly from configuration
files.

Cc: Markus Armbruster <armbru@redhat.com>
Cc: qemu-stable@nongnu.org
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20210524105752.3318299-4-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 908a87706ec6214d4a72245c8a0c9d327baf436b
      
https://github.com/qemu/qemu/commit/908a87706ec6214d4a72245c8a0c9d327baf436b
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2021-06-04 (Fri, 04 Jun 2021)

  Changed paths:
    M block/meson.build
    M include/block/qdict.h
    M include/qapi/qmp/qdict.h
    M include/qemu/config-file.h
    M meson.build
    M softmmu/vl.c
    M target/i386/cpu.c
    M target/i386/kvm/kvm-cpu.c
    M target/i386/tcg/seg_helper.c
    M target/i386/tcg/translate.c
    M tests/qtest/virtio-scsi-test.c
    M util/oslib-posix.c
    M util/qemu-config.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/bonzini-gitlab/tags/for-upstream' into 
staging

* OpenBSD cleanup (Brad)
* fixes for the i386 accel/cpu refactoring (Claudio)
* unmap test for emulated SCSI (Kit)
* fix for iscsi module (myself)
* fix for -readconfig of objects (myself)
* fixes for x86 16-bit task switching (myself)
* fix for x86 MOV from/to CR8 (Richard)

# gpg: Signature made Fri 04 Jun 2021 12:53:32 BST
# gpg:                using RSA key F13338574B662389866C7682BFFBD25F78C7AE83
# gpg:                issuer "pbonzini@redhat.com"
# gpg: Good signature from "Paolo Bonzini <bonzini@gnu.org>" [full]
# gpg:                 aka "Paolo Bonzini <pbonzini@redhat.com>" [full]
# Primary key fingerprint: 46F5 9FBD 57D6 12E7 BFD4  E2F7 7E15 100C CD36 69B1
#      Subkey fingerprint: F133 3857 4B66 2389 866C  7682 BFFB D25F 78C7 AE83

* remotes/bonzini-gitlab/tags/for-upstream:
  vl: plug -object back into -readconfig
  vl: plumb keyval-based options into -readconfig
  qemu-config: parse configuration files to a QDict
  i386: run accel_cpu_instance_init as post_init
  i386: reorder call to cpu_exec_realizefn
  tests/qtest/virtio-scsi-test: add unmap large LBA with 4k blocks test
  target/i386: Fix decode of cr8
  target/i386: tcg: fix switching from 16-bit to 32-bit tasks or vice versa
  target/i386: tcg: fix loading of registers from 16-bit TSS
  target/i386: tcg: fix segment register offsets for 16-bit TSS
  oslib-posix: Remove OpenBSD workaround for fcntl("/dev/null", F_SETFL, 
O_NONBLOCK) failure
  iscsi: link libm into the module
  meson: allow optional dependencies for block modules

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


Compare: https://github.com/qemu/qemu/compare/1cbd2d914939...908a87706ec6



reply via email to

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