Fiona Ebner and Kevin Wolf
59fd82544d
blockjob: query driver-specific info via a new 'query' driver method
...
Signed-off-by: Fiona Ebner <f.ebner@proxmox.com >
Message-ID: <20231031135431.393137-9-f.ebner@proxmox.com >
Reviewed-by: Kevin Wolf <kwolf@redhat.com >
Signed-off-by: Kevin Wolf <kwolf@redhat.com >
2023-10-31 18:20:29 +01:00
Fiona Ebner and Kevin Wolf
61a3a5a76a
blockjob: introduce block-job-change QMP command
...
which will allow changing job-type-specific options after job
creation.
In the JobVerbTable, the same allow bits as for set-speed are used,
because set-speed can be considered an existing change command.
Signed-off-by: Fiona Ebner <f.ebner@proxmox.com >
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru >
Message-ID: <20231031135431.393137-2-f.ebner@proxmox.com >
Reviewed-by: Kevin Wolf <kwolf@redhat.com >
Reviewed-by: Eric Blake <eblake@redhat.com >
Signed-off-by: Kevin Wolf <kwolf@redhat.com >
2023-10-31 18:20:25 +01:00
Stefan Hajnoczi and Kevin Wolf
433fcea40c
util/defer-call: move defer_call() to util/
...
The networking subsystem may wish to use defer_call(), so move the code
to util/ where it can be reused.
As a reminder of what defer_call() does:
This API defers a function call within a defer_call_begin()/defer_call_end()
section, allowing multiple calls to batch up. This is a performance
optimization that is used in the block layer to submit several I/O requests
at once instead of individually:
defer_call_begin(); <-- start of section
...
defer_call(my_func, my_obj); <-- deferred my_func(my_obj) call
defer_call(my_func, my_obj); <-- another
defer_call(my_func, my_obj); <-- another
...
defer_call_end(); <-- end of section, my_func(my_obj) is called once
Suggested-by: Ilya Maximets <i.maximets@ovn.org >
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com >
Message-ID: <20230913200045.1024233-3-stefanha@redhat.com >
Reviewed-by: Michael S. Tsirkin <mst@redhat.com >
Reviewed-by: Kevin Wolf <kwolf@redhat.com >
Signed-off-by: Kevin Wolf <kwolf@redhat.com >
2023-10-31 15:41:42 +01:00
Stefan Hajnoczi and Kevin Wolf
ccee48aa73
block: rename blk_io_plug_call() API to defer_call()
...
Prepare to move the blk_io_plug_call() API out of the block layer so
that other subsystems call use this deferred call mechanism. Rename it
to defer_call() but leave the code in block/plug.c.
The next commit will move the code out of the block layer.
Suggested-by: Ilya Maximets <i.maximets@ovn.org >
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Reviewed-by: Paul Durrant <paul@xen.org >
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com >
Message-ID: <20230913200045.1024233-2-stefanha@redhat.com >
Reviewed-by: Michael S. Tsirkin <mst@redhat.com >
Reviewed-by: Kevin Wolf <kwolf@redhat.com >
Signed-off-by: Kevin Wolf <kwolf@redhat.com >
2023-10-31 15:41:24 +01:00
Stefan Hajnoczi
235fe6d06e
Merge tag 'pull-ufs-20231030' of https://gitlab.com/jeuk20.kim/qemu into staging
...
ufs-next-pull-request
# -----BEGIN PGP SIGNATURE-----
#
# iQIzBAABCgAdFiEEUBfYMVl8eKPZB+73EuIgTA5dtgIFAmU/DfoACgkQEuIgTA5d
# tgKZ3g/+J38LTaktLPgUb0Kg390anPkIAkqqA1QZC8lC/FRSEWpgsNBqcvAASNTl
# jj1c80k/+Dvf9Ti1lmDNkuYczCFvKNJZQ1iRHmv2wc79A01GV0Ue6xayQjjNjoKK
# SBMIsFpArmFQjR2wGlkRc8PXha1JyWrsD4iPY6ZqedEcyuueLx69XbLL37FfVbQt
# 5IMnDqGkLCmrGowAjwurq2UM5IiYjeB4I5OwUgJC526zlyngXTFJimCWS6b2uUBk
# Yg1PnFffBsh11Pwmq4IZ1DAv3Bv/gFovenuatFqZrgqtfK7tEiARInIEsctu0U0a
# hPK/KojJAPF/cfMssRm1D1GCfsXM4tP2yFY/6q0wTRr9Dod8OSjlvfJR7+ez71/j
# aoY4N/nYYrZ6+pQNsPJcuBqQdtjdNUp4gUHx5qYxwwqZcHK4ubxpIvstmxceoLEX
# 3PG4O1iAapc/aL12ww9bYJ2lrbKGx7ZJU/Ij8bud8tYzLheG3xaYUEhonk7DE6+e
# AXFSad5CJTIF9Duh1uAMe1sV9GxELV8MHZSalqfGOhWYp7LzUBgouEJ1gQdOQbTK
# VsLs48WQ23OjWNKyAMaXQXdFO4FVbsjIg9nQXEHNRPkUownVHNVL8zu6EsXvHfch
# u691ygt5pD100SYdcDv73xTSeqP/rxqyYdxJl4LRkv/hGWU4y78=
# =Oisg
# -----END PGP SIGNATURE-----
# gpg: Signature made Mon 30 Oct 2023 10:59:22 JST
# gpg: using RSA key 5017D831597C78A3D907EEF712E2204C0E5DB602
# gpg: Good signature from "Jeuk Kim <jeuk20.kim@samsung.com >" [unknown]
# gpg: aka "Jeuk Kim <jeuk20.kim@gmail.com >" [unknown]
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the owner.
# Primary key fingerprint: 5017 D831 597C 78A3 D907 EEF7 12E2 204C 0E5D B602
* tag 'pull-ufs-20231030' of https://gitlab.com/jeuk20.kim/qemu :
hw/ufs: Modify lu.c to share codes with SCSI subsystem
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com >
2023-10-31 07:11:23 +09:00
Jeuk Kim
096434fea1
hw/ufs: Modify lu.c to share codes with SCSI subsystem
...
This patch removes the code that ufs-lu was duplicating from
scsi-hd and allows them to share code.
It makes ufs-lu have a virtual scsi-bus and scsi-hd internally.
This allows scsi related commands to be passed thorugh to the scsi-hd.
The query request and nop command work the same as the existing logic.
Well-known lus do not have a virtual scsi-bus and scsi-hd, and
handle the necessary scsi commands by emulating them directly.
Signed-off-by: Jeuk Kim <jeuk20.kim@samsung.com >
2023-10-30 10:28:04 +09:00
Philippe Mathieu-Daudé and Peter Maydell
cbf08c1851
hw/pcmcia/pxa2xx: Inline pxa2xx_pcmcia_init()
...
Reviewed-by: Thomas Huth <thuth@redhat.com >
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20231020130331.50048-6-philmd@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2023-10-27 12:48:57 +01:00
Philippe Mathieu-Daudé and Peter Maydell
f3205af4c7
hw/arm/xlnx-zynqmp: Remove 'hw/arm/boot.h' from header
...
"hw/arm/boot.h" is only required on the source file.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Luc Michel <luc.michel@amd.com >
Message-id: 20231025065316.56817-11-philmd@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2023-10-27 12:42:13 +01:00
Philippe Mathieu-Daudé and Peter Maydell
d95a3a7580
hw/arm/xlnx-versal: Remove 'hw/arm/boot.h' from header
...
"hw/arm/boot.h" is only required on the source file.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Luc Michel <luc.michel@amd.com >
Message-id: 20231025065316.56817-10-philmd@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2023-10-27 12:42:13 +01:00
Philippe Mathieu-Daudé and Peter Maydell
f27cbd94ee
hw/arm/fsl-imx7: Remove 'hw/arm/boot.h' from header
...
"hw/arm/boot.h" is only required on the source file.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Luc Michel <luc.michel@amd.com >
Message-id: 20231025065316.56817-9-philmd@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2023-10-27 12:42:13 +01:00
Philippe Mathieu-Daudé and Peter Maydell
8727076bb9
hw/arm/fsl-imx6ul: Remove 'hw/arm/boot.h' from header
...
"hw/arm/boot.h" is only required on the source file.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Luc Michel <luc.michel@amd.com >
Message-id: 20231025065316.56817-8-philmd@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2023-10-27 12:42:13 +01:00
Philippe Mathieu-Daudé and Peter Maydell
e77bf48586
hw/arm/fsl-imx6: Remove 'hw/arm/boot.h' from header
...
"hw/arm/boot.h" is only required on the source file.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Luc Michel <luc.michel@amd.com >
Message-id: 20231025065316.56817-7-philmd@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2023-10-27 12:42:13 +01:00
Philippe Mathieu-Daudé and Peter Maydell
88e763dab4
hw/arm/fsl-imx31: Remove 'hw/arm/boot.h' from header
...
"hw/arm/boot.h" is only required on the source file.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Luc Michel <luc.michel@amd.com >
Message-id: 20231025065316.56817-6-philmd@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2023-10-27 12:42:13 +01:00
Philippe Mathieu-Daudé and Peter Maydell
6fda3b91bf
hw/arm/fsl-imx25: Remove 'hw/arm/boot.h' from header
...
"hw/arm/boot.h" is only required on the source file.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Luc Michel <luc.michel@amd.com >
Message-id: 20231025065316.56817-5-philmd@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2023-10-27 12:42:13 +01:00
Philippe Mathieu-Daudé and Peter Maydell
6f4d538aa1
hw/arm/allwinner-r40: Remove 'hw/arm/boot.h' from header
...
"hw/arm/boot.h" is only required on the source file.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Luc Michel <luc.michel@amd.com >
Message-id: 20231025065316.56817-4-philmd@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2023-10-27 12:42:13 +01:00
Philippe Mathieu-Daudé and Peter Maydell
0e246c6209
hw/arm/allwinner-h3: Remove 'hw/arm/boot.h' from header
...
"hw/arm/boot.h" is only required on the source file.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Luc Michel <luc.michel@amd.com >
Message-id: 20231025065316.56817-3-philmd@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2023-10-27 12:42:13 +01:00
Philippe Mathieu-Daudé and Peter Maydell
0c436de6ba
hw/arm/allwinner-a10: Remove 'hw/arm/boot.h' from header
...
"hw/arm/boot.h" is only required on the source file.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Luc Michel <luc.michel@amd.com >
Message-id: 20231025065316.56817-2-philmd@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2023-10-27 12:42:13 +01:00
Stefan Hajnoczi
3c95fd4ed8
Merge tag 'for-upstream' of https://gitlab.com/bonzini/qemu into staging
...
* target/i386: implement SHA instructions
* target/i386: check CPUID_PAE to determine 36 bit processor address space
* target/i386: improve validation of AVX instructions
* require Linux 4.4 for KVM
# -----BEGIN PGP SIGNATURE-----
#
# iQFIBAABCAAyFiEE8TM4V0tmI4mGbHaCv/vSX3jHroMFAmU5Vi4UHHBib256aW5p
# QHJlZGhhdC5jb20ACgkQv/vSX3jHroNVbwf9HCx+C0MITWjQ+rEkmtiy/Cn+ZsF1
# gbaL31ahymEU3vUcKZX8Z4ycmBFw9b3yvotTVR38lE9p+sKtSaGKUGV0btpS7oBB
# y8IfnVmg5X1j4PtyDxFlLD48qg//2kVgJ6wtaDTSAkgQMOPM9UgHgQD+Ks7kOo8v
# rReL46XVPEZTWt3syX0y87mFinjK2hXGqIdsnJ1uT614BAVVIrmO6aFNNN1FlsRb
# NGRZevJTfEWjWVfWOhUiZdUGDz74sOXdshZX/teadeDJLtWaw0uytMN9qoTN33h/
# OsdR2fO7h8ZknGEc2F1fJEVh4sOfO4fGYAAJGzHP9AjUDV1IVVYELb79dg==
# =WYTo
# -----END PGP SIGNATURE-----
# gpg: Signature made Thu 26 Oct 2023 02:53:50 JST
# 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
* tag 'for-upstream' of https://gitlab.com/bonzini/qemu : (24 commits)
kvm: i8254: require KVM_CAP_PIT2 and KVM_CAP_PIT_STATE2
kvm: i386: require KVM_CAP_SET_IDENTITY_MAP_ADDR
kvm: i386: require KVM_CAP_ADJUST_CLOCK
kvm: i386: require KVM_CAP_MCE
kvm: i386: require KVM_CAP_SET_VCPU_EVENTS and KVM_CAP_X86_ROBUST_SINGLESTEP
kvm: i386: require KVM_CAP_XSAVE
kvm: i386: require KVM_CAP_DEBUGREGS
kvm: i386: move KVM_CAP_IRQ_ROUTING detection to kvm_arch_required_capabilities
kvm: unify listeners for PIO address space
kvm: require KVM_CAP_IOEVENTFD and KVM_CAP_IOEVENTFD_ANY_LENGTH
kvm: assume that many ioeventfds can be created
kvm: drop reference to KVM_CAP_PCI_2_3
kvm: require KVM_IRQFD for kernel irqchip
kvm: require KVM_IRQFD for kernel irqchip
kvm: require KVM_CAP_SIGNAL_MSI
kvm: require KVM_CAP_INTERNAL_ERROR_DATA
kvm: remove unnecessary stub
target/i386: check CPUID_PAE to determine 36 bit processor address space
target/i386: validate VEX.W for AVX instructions
target/i386: group common checks in the decoding phase
...
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com >
2023-10-27 09:43:07 +09:00
Paolo Bonzini
1a44a79ddf
kvm: i386: require KVM_CAP_SET_VCPU_EVENTS and KVM_CAP_X86_ROBUST_SINGLESTEP
...
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com >
2023-10-25 19:53:30 +02:00
Paolo Bonzini
f57a4dd311
kvm: i386: require KVM_CAP_DEBUGREGS
...
This was introduced in KVM in Linux 2.6.35, we can require it unconditionally.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com >
2023-10-25 17:35:15 +02:00
Paolo Bonzini
126e7f7803
kvm: require KVM_CAP_IOEVENTFD and KVM_CAP_IOEVENTFD_ANY_LENGTH
...
KVM_CAP_IOEVENTFD_ANY_LENGTH was added in Linux 4.4, released in 2016.
Assume that it is present.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com >
2023-10-25 17:35:15 +02:00
Paolo Bonzini
5d9ec1f4c7
kvm: assume that many ioeventfds can be created
...
NR_IOBUS_DEVS was increased to 200 in Linux 2.6.34. By Linux 3.5 it had
increased to 1000 and later ioeventfds were changed to not count against
the limit. But the earlier limit of 200 would already be enough for
kvm_check_many_ioeventfds() to be true, so remove the check.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com >
2023-10-25 17:35:15 +02:00
Paolo Bonzini
d19fe67ba8
kvm: drop reference to KVM_CAP_PCI_2_3
...
This is a remnant of pre-VFIO device assignment; it is not defined
anymore by Linux and not used by QEMU.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com >
2023-10-25 17:35:15 +02:00
Paolo Bonzini
f8c0687fe3
kvm: require KVM_IRQFD for kernel irqchip
...
KVM_IRQFD was introduced in Linux 2.6.32, and since then it has always been
available on architectures that support an in-kernel interrupt controller.
We can require it unconditionally.
Reviewed-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org >
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com >
2023-10-25 17:35:15 +02:00
Paolo Bonzini
a788260b20
kvm: require KVM_IRQFD for kernel irqchip
...
KVM_IRQFD was introduced in Linux 2.6.32, and since then it has always been
available on architectures that support an in-kernel interrupt controller.
We can require it unconditionally.
Reviewed-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org >
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com >
2023-10-25 17:35:15 +02:00