[PATCH v1 00/20] node_dev_udev: use workerpool and improve nodedev events
by Marc Hartmayer
When an udev event occurs for a mediated device (mdev) the mdev config data
requires an update via mdevctl as the udev event does not contain all config
data. This update needs to occur immediately and to be finished before the
libvirt nodedev event is issued to keep the API usage reliable.
Changelog:
RFCv1->v1:
+ removed some of my own s-o-b's that were accidentally inserted in the RFC
+ added r-b's from Boris and Jonathon
+ worked in comments from Boris and Jonathon, but I did not inline
"nodeDeviceDefResetMdevActiveConfig" as I'm not sure whether this improves
the readability
+ reworked patch "[RFC PATCH v1 11/15] node_device_udev: Use
`stateShutdownPrepare` and `stateShutdownWait`"
+ reworked patch "node_device_udev: Use a worker pool for processing events and
emitting nodedev event"
+ added patches:
- node_device_udev: Move responsibility to release `(init|udev)Thread` to `udevEventDataDispose`
- node_device_udev: Fix leak of mdevctlLock, udevThreadCond, and mdevCtlMonitor
- node_device_udev: nodeStateShutdownPrepare: Disconnect the signals explicitly
- node_device_udev: Pass the driver state as parameter in prepartion for the next commit
- node_device_udev: Add support for `g_autoptr` to `udevEventData
- node_device_udev: Pass the `udevEventData` via parameter and use refcounting
Boris Fiuczynski (3):
nodedev: fix mdev add udev event data handling
nodedev: immediate update of active config on udev add
nodedev: reset active config data on udev remove event
Marc Hartmayer (17):
node_device_udev: Set @def to NULL
node_device_udev: Remove the timeout if the data is disposed
node_device_udev: Test for mdevctlTimeout != -1
node_device_udev: Don't take `mdevctlLock` for `mdevctl list` and add
comments about locking
node_device_udev: Take lock if `driver->privateData` is modified
node_device_udev: Add prefix `udev` for udev related data
node_device_udev: Inline `udevRemoveOneDevice`
node_device_udev: Move responsibility to release `(init|udev)Thread`
to `udevEventDataDispose`
node_device_udev: Fix leak of mdevctlLock, udevThreadCond, and
mdevCtlMonitors
node_device_udev: Introduce and use `stateShutdownPrepare` and
`stateShutdownWait`
node_device_udev: nodeStateShutdownPrepare: Disconnect the signals
explicitly
node_device_udev: Pass the driver state as parameter in preparation
for the next commit
node_device_udev: Use a worker pool for processing events and emitting
nodedev event
node_device_udev: Call `nodeDeviceUpdateMediatedDevices` directly
node_device_udev: Make the code easier to read
node_device_udev: Add support for `g_autoptr` to `udevEventData`
node_device_udev: Pass the `udevEventData` via parameter and use
refcounting
src/node_device/node_device_driver.h | 5 +-
src/util/virmdev.h | 4 +
src/conf/node_device_conf.c | 10 +-
src/node_device/node_device_driver.c | 19 +-
src/node_device/node_device_udev.c | 510 ++++++++++++++++++---------
src/test/test_driver.c | 3 +-
src/util/virmdev.c | 20 ++
src/libvirt_private.syms | 2 +
8 files changed, 384 insertions(+), 189 deletions(-)
base-commit: c38720b337f74337ec94c0fe2e97a7c2c57188ae
--
2.34.1
3 weeks, 2 days
[PATCH 0/2] ci : drop CentOS 8 Stream
by Daniel P. Berrangé
CentOS 8 Stream goes EOL at the end of May, and unlike most other
distros, it will actively break the ability to install and update
it, as package repos are all archived. We thus have to stop using
it in CI, but fortunately Alma Linux 8 continues to give us enough
ongoing coverage.
The exception is the integration tests. To keep those working would
require the custom runner to be reinstalled with Alma Linux, which
I don't have access to do.
Daniel P. Berrangé (2):
ci: refresh with latest lcitool manifest
ci: drop CentOS 8 Stream and refresh
ci/buildenv/alpine-319.sh | 2 +-
ci/buildenv/alpine-edge.sh | 2 +-
ci/buildenv/centos-stream-8.sh | 104 -------------
ci/buildenv/centos-stream-9.sh | 1 +
ci/cirrus/build.yml | 2 +-
ci/containers/alpine-319.Dockerfile | 2 +-
ci/containers/alpine-edge.Dockerfile | 2 +-
ci/containers/centos-stream-8.Dockerfile | 107 -------------
ci/containers/centos-stream-9.Dockerfile | 1 +
ci/gitlab/build-templates.yml | 184 ++++++++++-------------
ci/gitlab/builds.yml | 15 --
ci/gitlab/containers.yml | 7 -
ci/integration.yml | 24 ---
ci/manifest.yml | 8 -
14 files changed, 90 insertions(+), 371 deletions(-)
delete mode 100644 ci/buildenv/centos-stream-8.sh
delete mode 100644 ci/containers/centos-stream-8.Dockerfile
--
2.43.0
3 weeks, 3 days
[PATCH 0/2] cmdComplete: Fix two memleaks
by Peter Krempa
Putting my recently-reviewed series through CI revealed that there were
two pre-existing memleaks in the completion code caught by the test
additions.
Peter Krempa (2):
vsh: cmdComplete: Don't leak buffer for completion
vshReadlineInit: Initialize only once
tools/vsh.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
--
2.44.0
3 weeks, 3 days
[PATCH 00/13] vsh: Fix handling of commands and help - part 3 (commandline parser overhaul)
by Peter Krempa
This series refactors the commandline parser in order to use easier to
understand/maintain logic.
Peter Krempa (13):
meson: tests: Add 'virsh' as dependency of 'virshtest'
tools: Rename vshCommandOptStringReq to vshCommandOptString
vsh: Fix 'stdin' closing in 'cmdComplete'
vsh: Add a VSH_OT_STRING argument for 'virsh echo'
virshtest: Add test cases for command completion helper
vsh: Rework logic for picking which argument is to be completed
virsh: Introduce new 'VSH_OT_ARGV' accessors
vsh: Remove unused infrastructure for command completion
vsh: Unexport command lookup helpers 'vshCmddefSearch',
'vshCmdGrpSearch', 'vshCmdGrpHelp'
vsh: Refactor parsed option and command assignment
vshCmddefCheckInternals: Remove check for "too many options"
vsh: Move option assignment debugging from vshCommandParse to
vshCmdOptAssign
vsh: Refactor logic in vshCommandParse
tests/meson.build | 4 +-
tests/virshtest.c | 37 +
.../completion-arg-full-argv-next.out | 2 +
.../completion-arg-full-argv.out | 2 +
.../completion-arg-full-bool-next.out | 7 +
.../completion-arg-full-bool.out | 2 +
.../completion-arg-full-string-next.out | 7 +
.../completion-arg-full-string.out | 2 +
.../virshtestdata/completion-arg-partial.out | 4 +
.../completion-arg-positional-empty.out | 3 +
...completion-arg-positional-partial-next.out | 2 +
.../completion-arg-positional-partial.out | 2 +
tests/virshtestdata/completion-args.out | 7 +
.../completion-argv-multiple-next.out | 25 +
...mpletion-argv-multiple-positional-next.out | 25 +
.../completion-argv-multiple-positional.out | 2 +
.../completion-argv-multiple.out | 2 +
.../completion-command-complete.out | 2 +
tests/virshtestdata/completion-command.out | 2 +
tests/virshtestdata/completion.in | 16 +
tests/virshtestdata/completion.out | 71 ++
tools/virsh-backup.c | 4 +-
tools/virsh-checkpoint.c | 18 +-
tools/virsh-completer-domain.c | 2 +-
tools/virsh-completer-host.c | 8 +-
tools/virsh-domain-event.c | 2 +-
tools/virsh-domain-monitor.c | 18 +-
tools/virsh-domain.c | 351 +++---
tools/virsh-host.c | 40 +-
tools/virsh-interface.c | 6 +-
tools/virsh-network.c | 35 +-
tools/virsh-nodedev.c | 30 +-
tools/virsh-nwfilter.c | 8 +-
tools/virsh-pool.c | 64 +-
tools/virsh-secret.c | 10 +-
tools/virsh-snapshot.c | 23 +-
tools/virsh-util.c | 2 +-
tools/virsh-volume.c | 29 +-
tools/virsh.c | 6 +-
tools/virt-admin.c | 26 +-
tools/vsh.c | 1012 +++++++++--------
tools/vsh.h | 27 +-
42 files changed, 1103 insertions(+), 844 deletions(-)
create mode 100644 tests/virshtestdata/completion-arg-full-argv-next.out
create mode 100644 tests/virshtestdata/completion-arg-full-argv.out
create mode 100644 tests/virshtestdata/completion-arg-full-bool-next.out
create mode 100644 tests/virshtestdata/completion-arg-full-bool.out
create mode 100644 tests/virshtestdata/completion-arg-full-string-next.out
create mode 100644 tests/virshtestdata/completion-arg-full-string.out
create mode 100644 tests/virshtestdata/completion-arg-partial.out
create mode 100644 tests/virshtestdata/completion-arg-positional-empty.out
create mode 100644 tests/virshtestdata/completion-arg-positional-partial-next.out
create mode 100644 tests/virshtestdata/completion-arg-positional-partial.out
create mode 100644 tests/virshtestdata/completion-args.out
create mode 100644 tests/virshtestdata/completion-argv-multiple-next.out
create mode 100644 tests/virshtestdata/completion-argv-multiple-positional-next.out
create mode 100644 tests/virshtestdata/completion-argv-multiple-positional.out
create mode 100644 tests/virshtestdata/completion-argv-multiple.out
create mode 100644 tests/virshtestdata/completion-command-complete.out
create mode 100644 tests/virshtestdata/completion-command.out
create mode 100644 tests/virshtestdata/completion.in
create mode 100644 tests/virshtestdata/completion.out
--
2.44.0
3 weeks, 3 days
[PATCH] virnetdevbandwidth.c: Put a limit to "quantum"
by Michal Privoznik
The "quantum" attribute of HTB is documented as:
Number of bytes to serve from this class before the scheduler
moves to the next class.
Since v1.3.2-rc1~225 we compute what we think is the appropriate
value and pass it on the TC command line. But kernel and
subsequently TC use uint32_t to store this value. If we compute
value outside of this type then TC fails and prints usage which
we then interpret as an error message. Needlessly long error
message. While there's not much we can do about the latter, we
can put a cap on the value and stop tickling this behavior of TC.
Fixes: 065054daa71f645fc83aff0271f194d326208616
Resolves: https://issues.redhat.com/browse/RHEL-34112
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
src/util/virnetdevbandwidth.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/src/util/virnetdevbandwidth.c b/src/util/virnetdevbandwidth.c
index ec41666f67..7f5714a33f 100644
--- a/src/util/virnetdevbandwidth.c
+++ b/src/util/virnetdevbandwidth.c
@@ -46,6 +46,7 @@ virNetDevBandwidthCmdAddOptimalQuantum(virCommand *cmd,
const virNetDevBandwidthRate *rate)
{
const unsigned long long mtu = 1500;
+ const unsigned long long r2q_limit = (1ULL << 32) -1;
unsigned long long r2q;
/* When two or more classes compete for unused bandwidth they are each
@@ -60,6 +61,11 @@ virNetDevBandwidthCmdAddOptimalQuantum(virCommand *cmd,
if (!r2q)
r2q = 1;
+ /* But there's an internal limit in TC (well, kernel's implementation of
+ * HTB) for quantum: it has to fit into u32. Put a cap there. */
+ if (r2q > r2q_limit)
+ r2q = r2q_limit;
+
virCommandAddArg(cmd, "quantum");
virCommandAddArgFormat(cmd, "%llu", r2q);
}
--
2.43.2
3 weeks, 3 days
[PULL 0/5] Housekeeping patches for 2024-04-24
by Philippe Mathieu-Daudé
The following changes since commit 1a6f53953df65f31e922f8a1763dac9f10adc81b:
Open 9.1 development tree (2024-04-23 17:33:36 -0700)
are available in the Git repository at:
https://github.com/philmd/qemu.git tags/housekeeping-20240424
for you to fetch changes up to 2d9cbbea64e67d90c3c22d7e2d5ab530d830eb33:
block/gluster: Remove deprecated RDMA protocol handling (2024-04-24 16:03:38 +0200)
----------------------------------------------------------------
Removal of deprecated code
- Remove the Nios II target and hardware
- Remove pvrdma device and rdmacm-mux helper
- Remove GlusterFS RDMA protocol handling
- Update Sriram Yagnaraman mail address
----------------------------------------------------------------
Philippe Mathieu-Daudé (4):
target/nios2: Remove the deprecated Nios II target
hw/timer: Remove the ALTERA_TIMER model
hw/rdma: Remove deprecated pvrdma device and rdmacm-mux helper
block/gluster: Remove deprecated RDMA protocol handling
Sriram Yagnaraman (1):
MAINTAINERS: Update Sriram Yagnaraman mail address
MAINTAINERS | 25 +-
docs/about/deprecated.rst | 20 -
docs/about/emulation.rst | 7 -
docs/about/removed-features.rst | 21 +
docs/pvrdma.txt | 345 --
docs/system/device-url-syntax.rst.inc | 4 +-
docs/system/loongarch/virt.rst | 2 +-
docs/system/qemu-block-drivers.rst.inc | 1 -
docs/system/replay.rst | 2 +-
docs/user/main.rst | 4 -
configure | 2 -
configs/devices/nios2-softmmu/default.mak | 6 -
configs/targets/nios2-linux-user.mak | 1 -
configs/targets/nios2-softmmu.mak | 2 -
meson.build | 38 -
qapi/machine.json | 19 +-
qapi/qapi-schema.json | 1 -
qapi/rdma.json | 38 -
contrib/rdmacm-mux/rdmacm-mux.h | 61 -
hw/nios2/boot.h | 10 -
hw/rdma/rdma_backend.h | 129 -
hw/rdma/rdma_backend_defs.h | 76 -
hw/rdma/rdma_rm.h | 97 -
hw/rdma/rdma_rm_defs.h | 146 -
hw/rdma/rdma_utils.h | 63 -
hw/rdma/trace.h | 1 -
hw/rdma/vmw/pvrdma.h | 144 -
hw/rdma/vmw/pvrdma_dev_ring.h | 46 -
hw/rdma/vmw/pvrdma_qp_ops.h | 28 -
hw/rdma/vmw/trace.h | 1 -
include/disas/dis-asm.h | 5 -
include/exec/poison.h | 2 -
include/exec/user/abitypes.h | 3 +-
include/hw/intc/nios2_vic.h | 66 -
include/hw/rdma/rdma.h | 37 -
include/monitor/hmp.h | 1 -
.../infiniband/hw/vmw_pvrdma/pvrdma_dev_api.h | 685 ----
.../infiniband/hw/vmw_pvrdma/pvrdma_verbs.h | 348 --
.../standard-headers/rdma/vmw_pvrdma-abi.h | 310 --
include/sysemu/arch_init.h | 1 -
linux-user/nios2/sockbits.h | 1 -
linux-user/nios2/syscall_nr.h | 333 --
linux-user/nios2/target_cpu.h | 49 -
linux-user/nios2/target_elf.h | 14 -
linux-user/nios2/target_errno_defs.h | 7 -
linux-user/nios2/target_fcntl.h | 11 -
linux-user/nios2/target_mman.h | 11 -
linux-user/nios2/target_prctl.h | 1 -
linux-user/nios2/target_proc.h | 1 -
linux-user/nios2/target_resource.h | 1 -
linux-user/nios2/target_signal.h | 9 -
linux-user/nios2/target_structs.h | 1 -
linux-user/nios2/target_syscall.h | 37 -
linux-user/nios2/termbits.h | 1 -
linux-user/syscall_defs.h | 4 +-
target/nios2/cpu-param.h | 20 -
target/nios2/cpu-qom.h | 18 -
target/nios2/cpu.h | 301 --
target/nios2/helper.h | 32 -
target/nios2/mmu.h | 52 -
tests/tcg/nios2/semicall.h | 28 -
block/gluster.c | 39 -
contrib/rdmacm-mux/main.c | 831 ----
disas/nios2.c | 3514 -----------------
hw/core/machine-qmp-cmds.c | 32 -
hw/intc/nios2_vic.c | 313 --
hw/nios2/10m50_devboard.c | 181 -
hw/nios2/boot.c | 234 --
hw/nios2/generic_nommu.c | 101 -
hw/rdma/rdma.c | 30 -
hw/rdma/rdma_backend.c | 1401 -------
hw/rdma/rdma_rm.c | 812 ----
hw/rdma/rdma_utils.c | 126 -
hw/rdma/vmw/pvrdma_cmd.c | 815 ----
hw/rdma/vmw/pvrdma_dev_ring.c | 141 -
hw/rdma/vmw/pvrdma_main.c | 735 ----
hw/rdma/vmw/pvrdma_qp_ops.c | 298 --
hw/timer/altera_timer.c | 244 --
linux-user/elfload.c | 99 -
linux-user/nios2/cpu_loop.c | 157 -
linux-user/nios2/signal.c | 210 -
monitor/qmp-cmds.c | 1 -
target/nios2/cpu.c | 410 --
target/nios2/helper.c | 371 --
target/nios2/mmu.c | 216 -
target/nios2/monitor.c | 35 -
target/nios2/nios2-semi.c | 230 --
target/nios2/op_helper.c | 119 -
target/nios2/translate.c | 1107 ------
tests/qtest/machine-none-test.c | 1 -
fpu/softfloat-specialize.c.inc | 2 +-
.gitlab-ci.d/buildtest.yml | 4 +-
.gitlab-ci.d/crossbuild-template.yml | 2 +-
.gitlab-ci.d/crossbuilds.yml | 2 +-
.mailmap | 1 +
Kconfig.host | 3 -
contrib/rdmacm-mux/meson.build | 7 -
disas/meson.build | 1 -
hmp-commands-info.hx | 13 -
hw/Kconfig | 2 -
hw/intc/Kconfig | 3 -
hw/intc/meson.build | 1 -
hw/meson.build | 2 -
hw/nios2/Kconfig | 13 -
hw/nios2/meson.build | 6 -
hw/rdma/Kconfig | 3 -
hw/rdma/meson.build | 12 -
hw/rdma/trace-events | 31 -
hw/rdma/vmw/trace-events | 17 -
hw/timer/Kconfig | 4 -
hw/timer/meson.build | 1 -
meson_options.txt | 2 -
qapi/meson.build | 1 -
qemu-options.hx | 11 +-
.../ci/org.centos/stream/8/x86_64/configure | 1 -
scripts/coverity-scan/COMPONENTS.md | 3 -
scripts/gensyscalls.sh | 1 -
scripts/meson-buildoptions.sh | 3 -
scripts/probe-gdb-support.py | 1 -
scripts/update-linux-headers.sh | 27 -
target/Kconfig | 1 -
target/meson.build | 1 -
target/nios2/Kconfig | 3 -
target/nios2/meson.build | 17 -
target/nios2/trace-events | 10 -
tests/avocado/boot_linux_console.py | 8 -
tests/avocado/replay_kernel.py | 11 -
tests/docker/Makefile.include | 5 -
.../debian-nios2-cross.d/build-toolchain.sh | 87 -
tests/tcg/nios2/10m50-ghrd.ld | 70 -
tests/tcg/nios2/Makefile.softmmu-target | 32 -
tests/tcg/nios2/Makefile.target | 11 -
tests/tcg/nios2/boot.S | 218 -
tests/tcg/nios2/intr.S | 31 -
tests/tcg/nios2/test-shadow-1.S | 40 -
135 files changed, 40 insertions(+), 17218 deletions(-)
delete mode 100644 docs/pvrdma.txt
delete mode 100644 configs/devices/nios2-softmmu/default.mak
delete mode 100644 configs/targets/nios2-linux-user.mak
delete mode 100644 configs/targets/nios2-softmmu.mak
delete mode 100644 qapi/rdma.json
delete mode 100644 contrib/rdmacm-mux/rdmacm-mux.h
delete mode 100644 hw/nios2/boot.h
delete mode 100644 hw/rdma/rdma_backend.h
delete mode 100644 hw/rdma/rdma_backend_defs.h
delete mode 100644 hw/rdma/rdma_rm.h
delete mode 100644 hw/rdma/rdma_rm_defs.h
delete mode 100644 hw/rdma/rdma_utils.h
delete mode 100644 hw/rdma/trace.h
delete mode 100644 hw/rdma/vmw/pvrdma.h
delete mode 100644 hw/rdma/vmw/pvrdma_dev_ring.h
delete mode 100644 hw/rdma/vmw/pvrdma_qp_ops.h
delete mode 100644 hw/rdma/vmw/trace.h
delete mode 100644 include/hw/intc/nios2_vic.h
delete mode 100644 include/hw/rdma/rdma.h
delete mode 100644 include/standard-headers/drivers/infiniband/hw/vmw_pvrdma/pvrdma_dev_api.h
delete mode 100644 include/standard-headers/drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.h
delete mode 100644 include/standard-headers/rdma/vmw_pvrdma-abi.h
delete mode 100644 linux-user/nios2/sockbits.h
delete mode 100644 linux-user/nios2/syscall_nr.h
delete mode 100644 linux-user/nios2/target_cpu.h
delete mode 100644 linux-user/nios2/target_elf.h
delete mode 100644 linux-user/nios2/target_errno_defs.h
delete mode 100644 linux-user/nios2/target_fcntl.h
delete mode 100644 linux-user/nios2/target_mman.h
delete mode 100644 linux-user/nios2/target_prctl.h
delete mode 100644 linux-user/nios2/target_proc.h
delete mode 100644 linux-user/nios2/target_resource.h
delete mode 100644 linux-user/nios2/target_signal.h
delete mode 100644 linux-user/nios2/target_structs.h
delete mode 100644 linux-user/nios2/target_syscall.h
delete mode 100644 linux-user/nios2/termbits.h
delete mode 100644 target/nios2/cpu-param.h
delete mode 100644 target/nios2/cpu-qom.h
delete mode 100644 target/nios2/cpu.h
delete mode 100644 target/nios2/helper.h
delete mode 100644 target/nios2/mmu.h
delete mode 100644 tests/tcg/nios2/semicall.h
delete mode 100644 contrib/rdmacm-mux/main.c
delete mode 100644 disas/nios2.c
delete mode 100644 hw/intc/nios2_vic.c
delete mode 100644 hw/nios2/10m50_devboard.c
delete mode 100644 hw/nios2/boot.c
delete mode 100644 hw/nios2/generic_nommu.c
delete mode 100644 hw/rdma/rdma.c
delete mode 100644 hw/rdma/rdma_backend.c
delete mode 100644 hw/rdma/rdma_rm.c
delete mode 100644 hw/rdma/rdma_utils.c
delete mode 100644 hw/rdma/vmw/pvrdma_cmd.c
delete mode 100644 hw/rdma/vmw/pvrdma_dev_ring.c
delete mode 100644 hw/rdma/vmw/pvrdma_main.c
delete mode 100644 hw/rdma/vmw/pvrdma_qp_ops.c
delete mode 100644 hw/timer/altera_timer.c
delete mode 100644 linux-user/nios2/cpu_loop.c
delete mode 100644 linux-user/nios2/signal.c
delete mode 100644 target/nios2/cpu.c
delete mode 100644 target/nios2/helper.c
delete mode 100644 target/nios2/mmu.c
delete mode 100644 target/nios2/monitor.c
delete mode 100644 target/nios2/nios2-semi.c
delete mode 100644 target/nios2/op_helper.c
delete mode 100644 target/nios2/translate.c
delete mode 100644 contrib/rdmacm-mux/meson.build
delete mode 100644 hw/nios2/Kconfig
delete mode 100644 hw/nios2/meson.build
delete mode 100644 hw/rdma/Kconfig
delete mode 100644 hw/rdma/meson.build
delete mode 100644 hw/rdma/trace-events
delete mode 100644 hw/rdma/vmw/trace-events
delete mode 100644 target/nios2/Kconfig
delete mode 100644 target/nios2/meson.build
delete mode 100644 target/nios2/trace-events
delete mode 100755 tests/docker/dockerfiles/debian-nios2-cross.d/build-toolchain.sh
delete mode 100644 tests/tcg/nios2/10m50-ghrd.ld
delete mode 100644 tests/tcg/nios2/Makefile.softmmu-target
delete mode 100644 tests/tcg/nios2/Makefile.target
delete mode 100644 tests/tcg/nios2/boot.S
delete mode 100644 tests/tcg/nios2/intr.S
delete mode 100644 tests/tcg/nios2/test-shadow-1.S
--
2.41.0
3 weeks, 3 days
[PATCH-for-9.1 v2 0/3] target/nios2: Remove the deprecated Nios II target
by Philippe Mathieu-Daudé
Since v1:
- Remove user emulation too
- Remove ALTERA_TIMER
Philippe Mathieu-Daudé (3):
fpu/softfloat: Remove mention of TILE-Gx target
target/nios2: Remove the deprecated Nios II target
hw/timer: Remove the ALTERA_TIMER model
MAINTAINERS | 13 -
docs/about/deprecated.rst | 11 -
docs/about/emulation.rst | 7 -
docs/about/removed-features.rst | 14 +
docs/system/replay.rst | 2 +-
docs/user/main.rst | 4 -
configure | 2 -
configs/devices/nios2-softmmu/default.mak | 6 -
configs/targets/nios2-linux-user.mak | 1 -
configs/targets/nios2-softmmu.mak | 2 -
meson.build | 2 -
qapi/machine.json | 2 +-
hw/nios2/boot.h | 10 -
include/disas/dis-asm.h | 5 -
include/exec/poison.h | 2 -
include/exec/user/abitypes.h | 3 +-
include/hw/intc/nios2_vic.h | 66 -
include/sysemu/arch_init.h | 1 -
linux-user/nios2/sockbits.h | 1 -
linux-user/nios2/syscall_nr.h | 333 --
linux-user/nios2/target_cpu.h | 49 -
linux-user/nios2/target_elf.h | 14 -
linux-user/nios2/target_errno_defs.h | 7 -
linux-user/nios2/target_fcntl.h | 11 -
linux-user/nios2/target_mman.h | 11 -
linux-user/nios2/target_prctl.h | 1 -
linux-user/nios2/target_proc.h | 1 -
linux-user/nios2/target_resource.h | 1 -
linux-user/nios2/target_signal.h | 9 -
linux-user/nios2/target_structs.h | 1 -
linux-user/nios2/target_syscall.h | 37 -
linux-user/nios2/termbits.h | 1 -
linux-user/syscall_defs.h | 4 +-
target/nios2/cpu-param.h | 20 -
target/nios2/cpu-qom.h | 18 -
target/nios2/cpu.h | 301 --
target/nios2/helper.h | 32 -
target/nios2/mmu.h | 52 -
tests/tcg/nios2/semicall.h | 28 -
disas/nios2.c | 3514 -----------------
hw/intc/nios2_vic.c | 313 --
hw/nios2/10m50_devboard.c | 181 -
hw/nios2/boot.c | 234 --
hw/nios2/generic_nommu.c | 101 -
hw/timer/altera_timer.c | 244 --
linux-user/elfload.c | 99 -
linux-user/nios2/cpu_loop.c | 157 -
linux-user/nios2/signal.c | 210 -
target/nios2/cpu.c | 410 --
target/nios2/helper.c | 371 --
target/nios2/mmu.c | 216 -
target/nios2/monitor.c | 35 -
target/nios2/nios2-semi.c | 230 --
target/nios2/op_helper.c | 119 -
target/nios2/translate.c | 1107 ------
tests/qtest/machine-none-test.c | 1 -
fpu/softfloat-specialize.c.inc | 2 +-
.gitlab-ci.d/buildtest.yml | 4 +-
.gitlab-ci.d/crossbuild-template.yml | 2 +-
.gitlab-ci.d/crossbuilds.yml | 2 +-
disas/meson.build | 1 -
hw/Kconfig | 1 -
hw/intc/Kconfig | 3 -
hw/intc/meson.build | 1 -
hw/meson.build | 1 -
hw/nios2/Kconfig | 13 -
hw/nios2/meson.build | 6 -
hw/timer/Kconfig | 4 -
hw/timer/meson.build | 1 -
qemu-options.hx | 8 +-
scripts/coverity-scan/COMPONENTS.md | 3 -
scripts/gensyscalls.sh | 1 -
scripts/probe-gdb-support.py | 1 -
target/Kconfig | 1 -
target/meson.build | 1 -
target/nios2/Kconfig | 3 -
target/nios2/meson.build | 17 -
target/nios2/trace-events | 10 -
tests/avocado/boot_linux_console.py | 8 -
tests/avocado/replay_kernel.py | 11 -
tests/docker/Makefile.include | 5 -
.../debian-nios2-cross.d/build-toolchain.sh | 87 -
tests/tcg/nios2/10m50-ghrd.ld | 70 -
tests/tcg/nios2/Makefile.softmmu-target | 32 -
tests/tcg/nios2/Makefile.target | 11 -
tests/tcg/nios2/boot.S | 218 -
tests/tcg/nios2/intr.S | 31 -
tests/tcg/nios2/test-shadow-1.S | 40 -
88 files changed, 28 insertions(+), 9198 deletions(-)
delete mode 100644 configs/devices/nios2-softmmu/default.mak
delete mode 100644 configs/targets/nios2-linux-user.mak
delete mode 100644 configs/targets/nios2-softmmu.mak
delete mode 100644 hw/nios2/boot.h
delete mode 100644 include/hw/intc/nios2_vic.h
delete mode 100644 linux-user/nios2/sockbits.h
delete mode 100644 linux-user/nios2/syscall_nr.h
delete mode 100644 linux-user/nios2/target_cpu.h
delete mode 100644 linux-user/nios2/target_elf.h
delete mode 100644 linux-user/nios2/target_errno_defs.h
delete mode 100644 linux-user/nios2/target_fcntl.h
delete mode 100644 linux-user/nios2/target_mman.h
delete mode 100644 linux-user/nios2/target_prctl.h
delete mode 100644 linux-user/nios2/target_proc.h
delete mode 100644 linux-user/nios2/target_resource.h
delete mode 100644 linux-user/nios2/target_signal.h
delete mode 100644 linux-user/nios2/target_structs.h
delete mode 100644 linux-user/nios2/target_syscall.h
delete mode 100644 linux-user/nios2/termbits.h
delete mode 100644 target/nios2/cpu-param.h
delete mode 100644 target/nios2/cpu-qom.h
delete mode 100644 target/nios2/cpu.h
delete mode 100644 target/nios2/helper.h
delete mode 100644 target/nios2/mmu.h
delete mode 100644 tests/tcg/nios2/semicall.h
delete mode 100644 disas/nios2.c
delete mode 100644 hw/intc/nios2_vic.c
delete mode 100644 hw/nios2/10m50_devboard.c
delete mode 100644 hw/nios2/boot.c
delete mode 100644 hw/nios2/generic_nommu.c
delete mode 100644 hw/timer/altera_timer.c
delete mode 100644 linux-user/nios2/cpu_loop.c
delete mode 100644 linux-user/nios2/signal.c
delete mode 100644 target/nios2/cpu.c
delete mode 100644 target/nios2/helper.c
delete mode 100644 target/nios2/mmu.c
delete mode 100644 target/nios2/monitor.c
delete mode 100644 target/nios2/nios2-semi.c
delete mode 100644 target/nios2/op_helper.c
delete mode 100644 target/nios2/translate.c
delete mode 100644 hw/nios2/Kconfig
delete mode 100644 hw/nios2/meson.build
delete mode 100644 target/nios2/Kconfig
delete mode 100644 target/nios2/meson.build
delete mode 100644 target/nios2/trace-events
delete mode 100755 tests/docker/dockerfiles/debian-nios2-cross.d/build-toolchain.sh
delete mode 100644 tests/tcg/nios2/10m50-ghrd.ld
delete mode 100644 tests/tcg/nios2/Makefile.softmmu-target
delete mode 100644 tests/tcg/nios2/Makefile.target
delete mode 100644 tests/tcg/nios2/boot.S
delete mode 100644 tests/tcg/nios2/intr.S
delete mode 100644 tests/tcg/nios2/test-shadow-1.S
--
2.41.0
3 weeks, 4 days
[PATCH v5 0/3] test: fix nodedev mdev XML regression
by Cole Robinson
See last patch for explanation. First two patches are related
bugfixes/improvements
v5:
- Changed impl to match Boris' suggestion
Cole Robinson (3):
test: make parsed nodedevs active and persistent
test: Sync GetXML INACTIVE behavior with live driver
test: nodedev: fill active_config at driver startup time
src/conf/node_device_conf.c | 24 ++++++++++++++++++++++++
src/conf/node_device_conf.h | 3 +++
src/libvirt_private.syms | 1 +
src/test/test_driver.c | 20 +++++++++++++++++++-
tests/nodedevxml2xmltest.c | 18 +++---------------
5 files changed, 50 insertions(+), 16 deletions(-)
--
2.44.0
3 weeks, 4 days
[PATCH 1/1] qemu_domain: fix vcpu hotunplug race by locking vcpupriv
by Shaleen Bathla
multiple parallel timedout vcpu hotunplug requests coming from qemu handled
asynchronously by libvirt can cause data corruption as they modify
vcpu data during refresh by libvirt.
Lock each vcpu before modification and then release the lock
Signed-off-by: Shaleen Bathla <shaleen.bathla(a)oracle.com>
---
src/qemu/qemu_domain.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index 3469f0d40c59..15ec1b0a771a 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -10084,6 +10084,7 @@ qemuDomainRefreshVcpuInfo(virDomainObj *vm,
for (i = 0; i < maxvcpus; i++) {
vcpu = virDomainDefGetVcpu(vm->def, i);
vcpupriv = QEMU_DOMAIN_VCPU_PRIVATE(vcpu);
+ virObjectLock(vcpupriv);
if (validTIDs)
vcpupriv->tid = info[i].tid;
@@ -10113,6 +10114,7 @@ qemuDomainRefreshVcpuInfo(virDomainObj *vm,
else
vcpu->hotpluggable = VIR_TRISTATE_BOOL_NO;
}
+ virObjectUnlock(vcpupriv);
}
ret = 0;
--
2.39.3
3 weeks, 4 days
[PATCH 0/2] tests: Fix 'qemucapsprobe' and update caps for qemu-9.0 release
by Peter Krempa
Peter Krempa (2):
tests: qemucapsprobe: Fix construction of path to
libqemucapsprobemock.so
qemucapabilitiestest: Update qemu capability dump for qemu-9.0 release
.../caps_9.0.0_x86_64.replies | 50 ++-----------------
.../caps_9.0.0_x86_64.xml | 4 +-
tests/qemucapsprobe.c | 2 +-
3 files changed, 7 insertions(+), 49 deletions(-)
--
2.44.0
3 weeks, 4 days