[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