From: Eric Auger
Compute the host reserved regions in virtio_iommu_set_iommu_device().
The usable IOVA regions are retrieved from the HostIOMMUDevice.
The virtio_iommu_set_host_iova_ranges() helper turns usable regions
into complementary reserved regions while testing the inclusion
into existing
From: Zhenzhong Duan
With HostIOMMUDevice passed, vIOMMU can check compatibility with host
IOMMU, call into IOMMUFD specific methods, etc.
Originally-by: Yi Liu
Signed-off-by: Nicolin Chen
Signed-off-by: Yi Sun
Signed-off-by: Zhenzhong Duan
Reviewed-by: Eric Auger
Reviewed-by: Michael S. Ts
The 'container' pointer has no other use than its 'fd' attribute.
Simplify the prototype to ease future changes.
Reviewed-by: Zhenzhong Duan
Reviewed-by: Eric Auger
Tested-by: Eric Auger
Signed-off-by: Cédric Le Goater
---
hw/vfio/container.c | 6 +++---
1 file changed
This allows us to move the initialization code from vfio_container_init(),
which we will soon remove.
Reviewed-by: Zhenzhong Duan
Reviewed-by: Eric Auger
Tested-by: Eric Auger
Signed-off-by: Cédric Le Goater
---
hw/vfio/container-base.c | 19 +--
1 file changed, 13 insertions
lue can be saved in the migration stream when
called from vfio_listener_log_global_stop().
Reviewed-by: Zhenzhong Duan
Reviewed-by: Eric Auger
Tested-by: Eric Auger
Signed-off-by: Cédric Le Goater
---
hw/vfio/common.c | 14 +++---
1 file changed, 7 insertions(+), 7 deletions(-)
diff
From: Eric Auger
Store the agent device (VFIO or VDPA) in the host IOMMU device.
This will allow easy access to some of its resources.
Signed-off-by: Eric Auger
Reviewed-by: Zhenzhong Duan
Reviewed-by: Michael S. Tsirkin
---
include/sysemu/host_iommu_device.h | 1 +
hw/vfio/container.c
Instead of allocating the container struct, create a QOM object of the
appropriate type.
Reviewed-by: Zhenzhong Duan
Reviewed-by: Eric Auger
Tested-by: Eric Auger
Signed-off-by: Cédric Le Goater
---
hw/vfio/container.c | 6 +++---
hw/vfio/iommufd.c | 4 ++--
2 files changed, 5 insertions
It's now empty.
Reviewed-by: Zhenzhong Duan
Reviewed-by: Eric Auger
Tested-by: Eric Auger
Signed-off-by: Cédric Le Goater
---
include/hw/vfio/vfio-container-base.h | 2 --
hw/vfio/container-base.c | 5 -
hw/vfio/container.c | 3 ---
hw/vfio/iomm
ill assign the 'space'
pointer later in the execution flow. This should not have any
consequence.
Reviewed-by: Zhenzhong Duan
Tested-by: Eric Auger
Signed-off-by: Cédric Le Goater
---
include/hw/vfio/vfio-container-base.h | 1 -
hw/vfio/common.c | 1 +
hw/v
Just as we did for the VFIOContainerBase object, introduce an
instance_init() handler for the legacy VFIOContainer object and do the
specific initialization there.
Reviewed-by: Zhenzhong Duan
Reviewed-by: Eric Auger
Tested-by: Eric Auger
Signed-off-by: Cédric Le Goater
---
hw/vfio
: - Rebased on upstream
- Fixed typo in commit log ]
Reviewed-by: Zhenzhong Duan
Tested-by: Eric Auger
Signed-off-by: Cédric Le Goater
---
hw/vfio/common.c | 63 +---
1 file changed, 38 insertions(+), 25 deletions(-)
diff --git a/hw/vfio/common.c b/hw
From: Zhenzhong Duan
Extract cap/ecap initialization in vtd_cap_init() to make code
cleaner.
No functional change intended.
Reviewed-by: Eric Auger
Signed-off-by: Zhenzhong Duan
Reviewed-by: Michael S. Tsirkin
---
hw/i386/intel_iommu.c | 93 ---
1 fil
From: Eric Auger
Since the host IOVA ranges are now passed through the
PCIIOMMUOps set_host_resv_regions and we have removed
the only implementation of iommu_set_iova_range() in
the virtio-iommu and the only call site in vfio/common,
let's retire the IOMMU MR API and its memory wrapper.
Signed-o
From: Zhenzhong Duan
Introduce a helper function iommufd_backend_get_device_info() to get
host IOMMU related information through iommufd uAPI.
Signed-off-by: Yi Liu
Signed-off-by: Yi Sun
Signed-off-by: Zhenzhong Duan
Reviewed-by: Eric Auger
Reviewed-by: Michael S. Tsirkin
---
include/sysem
From: Yi Liu
pci_device_[set|unset]_iommu_device() call pci_device_get_iommu_bus_devfn()
to get iommu_bus->iommu_ops and call [set|unset]_iommu_device callback to
set/unset HostIOMMUDevice for a given PCI device.
Signed-off-by: Yi Liu
Signed-off-by: Yi Sun
Signed-off-by: Nicolin Chen
Signed-o
From: Zhenzhong Duan
It calls iommufd_backend_get_device_info() to get host IOMMU
related information and translate it into HostIOMMUDeviceCaps
for query with .get_cap().
For aw_bits, use the same way as legacy backend by calling
vfio_device_get_aw_bits() which is common for different vendor
IOM
: Eric Auger
Tested-by: Eric Auger
Signed-off-by: Cédric Le Goater
---
include/hw/vfio/vfio-container-base.h | 3 ---
hw/vfio/container-base.c | 4 +++-
hw/vfio/container.c | 2 --
hw/vfio/iommufd.c | 1 -
4 files changed, 3 insertions(+), 7
adjustments in the VFIO_IOMMU hierarchy.
Reviewed-by: Zhenzhong Duan
Reviewed-by: Eric Auger
Tested-by: Eric Auger
Signed-off-by: Cédric Le Goater
---
include/hw/vfio/vfio-common.h | 4
include/hw/vfio/vfio-container-base.h | 12 +++-
hw/vfio/container-base.c
From: Eric Auger
As we have just removed the only implementation of
iommu_set_iova_ranges IOMMU MR callback in the virtio-iommu,
let's remove the call to the memory wrapper. Usable IOVA ranges
are now conveyed through the PCIIOMMUOps in VFIO-PCI.
Signed-off-by: Eric Auger
Reviewed-by: Zhenzhong
() to extract the part doing the container
initialization and move it under vfio_create_container().
Reviewed-by: Zhenzhong Duan
Reviewed-by: Eric Auger
Tested-by: Eric Auger
Signed-off-by: Cédric Le Goater
---
hw/vfio/container.c | 47 ++---
1 file
From: Zhenzhong Duan
If check fails, host device (either VFIO or VDPA device) is not
compatible with current vIOMMU config and should not be passed to
guest.
Only aw_bits is checked for now, we don't care about other caps
before scalable modern mode is introduced.
Signed-off-by: Yi Liu
Signed-
From: Zhenzhong Duan
The realize function populates the capabilities. For now only the
aw_bits caps is computed for legacy backend.
Introduce a helper function vfio_device_get_aw_bits() which calls
range_get_last_bit() to get host aw_bits and package it in
HostIOMMUDeviceCaps for query with .get
Instead, use VFIO_IOMMU_GET_CLASS() to get the class pointer.
Reviewed-by: Zhenzhong Duan
Reviewed-by: Eric Auger
Tested-by: Eric Auger
Signed-off-by: Cédric Le Goater
---
include/hw/vfio/vfio-container-base.h | 1 -
hw/vfio/common.c | 2 +-
hw/vfio/container-base.c
From: Yi Liu
Implement [set|unset]_iommu_device() callbacks in Intel vIOMMU.
In set call, we take a reference of HostIOMMUDevice and store it
in hash table indexed by PCI BDF.
Note this BDF index is device's real BDF not the aliased one which
is different from the index of VTDAddressSpace. There
bstraction
* VIRTIO-IOMMU/VFIO: Fix host iommu geometry handling
* QOMify VFIOContainer
Avihai Horon (1):
vfio/common: Extract vIOMMU code from vfio_sync_dirty_bitmap()
Cédric Le Goater (15):
vfio: Make vfio_devices_dma_log
From: Eric Auger
Implement PCIIOMMUOPs [set|unset]_iommu_device() callbacks.
In set(), the HostIOMMUDevice handle is stored in a hash
table indexed by PCI BDF. The object will allow to retrieve
information related to the physical IOMMU.
Signed-off-by: Eric Auger
Reviewed-by: Zhenzhong Duan
Rev
host IOMMU address width.
Introduce .get_cap() handler to check if HOST_IOMMU_DEVICE_CAP_XXX
is supported.
Suggested-by: Cédric Le Goater
Signed-off-by: Zhenzhong Duan
Reviewed-by: Eric Auger
Reviewed-by: Michael S. Tsirkin
---
include/sysemu/host_iommu_device.h | 38
From: Zhenzhong Duan
TYPE_HOST_IOMMU_DEVICE_LEGACY_VFIO represents a host IOMMU device under
VFIO legacy container backend.
It will have its own realize implementation.
Suggested-by: Eric Auger
Suggested-by: Cédric Le Goater
Signed-off-by: Zhenzhong Duan
Reviewed-by: Eric Auger
Reviewed-by
().
Suggested-by: Cédric Le Goater
Signed-off-by: Zhenzhong Duan
Reviewed-by: Eric Auger
Reviewed-by: Michael S. Tsirkin
---
include/hw/vfio/vfio-common.h | 1 +
include/hw/vfio/vfio-container-base.h | 3 +++
hw/vfio/common.c | 16 +++-
hw/vfio/container.c
From: Zhenzhong Duan
Suggested-by: Cédric Le Goater
Signed-off-by: Zhenzhong Duan
Reviewed-by: Eric Auger
Reviewed-by: Michael S. Tsirkin
---
hw/vfio/container.c | 15 +++
1 file changed, 15 insertions(+)
diff --git a/hw/vfio/container.c b/hw/vfio/container.c
index
From: Zhenzhong Duan
This helper get the highest 1 bit position of the upper bound.
If the range is empty or upper bound is zero, -1 is returned.
Suggested-by: Cédric Le Goater
Signed-off-by: Zhenzhong Duan
Reviewed-by: Eric Auger
Reviewed-by: Michael S. Tsirkin
---
include/qemu/range.h
On 6/14/24 11:52 AM, Eric Auger wrote:
This series is based on Zhenzhong HostIOMMUDevice:
[PATCH v7 00/17] Add a host IOMMU device abstraction to check with vIOMMU
https://lore.kernel.org/all/20240605083043.317831-1-zhenzhong.d...@intel.com/
It allows to convey host IOVA reserved regions to the
On 6/17/24 8:33 AM, Cédric Le Goater wrote:
Hello,
The series starts with simple changes (patch 1-4). Two of which were
initially sent by Joao in a series adding VFIO migration support with
vIOMMU [1].
The changes following prepare VFIOContainer for QOMification, switch
the container models to
On 6/5/24 10:30 AM, Zhenzhong Duan wrote:
Hi,
This series introduce a HostIOMMUDevice abstraction and sub-classes.
Also HostIOMMUDeviceCaps structure in HostIOMMUDevice and a new interface
between vIOMMU and HostIOMMUDevice.
A HostIOMMUDevice is an abstraction for an assigned device that is pro
On 6/24/24 12:26 PM, Michael S. Tsirkin wrote:
On Wed, Jun 05, 2024 at 04:30:26PM +0800, Zhenzhong Duan wrote:
Hi,
This series introduce a HostIOMMUDevice abstraction and sub-classes.
Also HostIOMMUDeviceCaps structure in HostIOMMUDevice and a new interface
between vIOMMU and HostIOMMUDevice.
On 6/24/24 4:01 PM, Peter Maydell wrote:
On Mon, 24 Jun 2024 at 14:58, Cédric Le Goater wrote:
On 6/24/24 2:18 PM, Peter Maydell wrote:
On Wed, 19 Jun 2024 at 10:35, Jamin Lin wrote:
Fix coverity defect: DIVIDE_BY_ZERO.
Signed-off-by: Jamin Lin
---
hw/arm/aspeed_ast27x0.c | 6
On 6/24/24 2:18 PM, Peter Maydell wrote:
On Wed, 19 Jun 2024 at 10:35, Jamin Lin wrote:
Fix coverity defect: DIVIDE_BY_ZERO.
Signed-off-by: Jamin Lin
---
hw/arm/aspeed_ast27x0.c | 6 ++
1 file changed, 6 insertions(+)
diff --git a/hw/arm/aspeed_ast27x0.c b/hw/arm/aspeed_ast27x0.c
ind
_STATUS is handled
before in the "Unprotected registers" switch statement. Remove it.
Fixes: Coverity CID 1547112
with that,
Reviewed-by: Cédric Le Goater
Thanks,
C.
Signed-off-by: Jamin Lin
---
hw/misc/aspeed_sdmc.c | 1 -
1 file changed, 1 deletion(-)
erty. This can not happen because RAM has
predefined valid sizes per SoC. Nevertheless, add a test to
close the issue.
Fixes: Coverity CID 1547113
with that,
Reviewed-by: Cédric Le Goater
Thanks,
C.
---
hw/arm/aspeed_ast27x0.c | 6 ++
1 file changed, 6 insertions(+)
diff
| 2 +-
hw/sd/trace-events | 7 +-
3 files changed, 159 insertions(+), 128 deletions(-)
Tested-by: Cédric Le Goater
Thanks,
C.
On 6/21/24 10:05 AM, Philippe Mathieu-Daudé wrote:
From: Philippe Mathieu-Daudé
Signed-off-by: Philippe Mathieu-Daudé
Signed-off-by: Philippe Mathieu-Daudé
Reviewed-by: Cédric Le Goater
Thanks,
C.
---
hw/sd/sd.c | 20
1 file changed, 20 insertions(+)
diff
On 6/21/24 10:05 AM, Philippe Mathieu-Daudé wrote:
Having the mode switch displayed help to track incomplete
command implementations.
Signed-off-by: Philippe Mathieu-Daudé
Reviewed-by: Cédric Le Goater
Thanks,
C.
---
hw/sd/sd.c | 75
On 6/21/24 10:05 AM, Philippe Mathieu-Daudé wrote:
These macros only save 3 chars and make the code harder
to maintain, simply remove them.
Signed-off-by: Philippe Mathieu-Daudé
Reviewed-by: Cédric Le Goater
Thanks,
C.
---
hw/sd/sd.c | 15 +++
1 file changed, 7
eviewed-by: Cédric Le Goater
Thanks,
C.
---
hw/sd/sd.c | 14 --
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/hw/sd/sd.c b/hw/sd/sd.c
index a0193a46ea..1df16ce6a2 100644
--- a/hw/sd/sd.c
+++ b/hw/sd/sd.c
@@ -,7 +,7 @@ static sd_rsp_type_t sd_cmd_SET_BLOCK_COU
On 6/21/24 10:05 AM, Philippe Mathieu-Daudé wrote:
Extract sd_cmd_get_address() so we can re-use it
in various SDProto handlers. Use CARD_CAPACITY and
HWBLOCK_SHIFT definitions instead of magic values.
Signed-off-by: Philippe Mathieu-Daudé
Reviewed-by: Cédric Le Goater
Thanks,
C
On 6/21/24 10:05 AM, Philippe Mathieu-Daudé wrote:
It will be useful later to assert only AC commands
(Addressed point-to-point Commands, defined as the
'sd_ac' enum) extract the RCA value from the command
argument.
Signed-off-by: Philippe Mathieu-Daudé
Reviewed-by: Cédric
On 6/21/24 10:05 AM, Philippe Mathieu-Daudé wrote:
Extract sd_req_get_rca() so we can re-use it in various
SDProto handlers. Return a 16-bit value since RCA is 16-bit.
Signed-off-by: Philippe Mathieu-Daudé
Reviewed-by: Cédric Le Goater
Thanks,
C.
---
hw/sd/sd.c | 15
On 6/21/24 10:05 AM, Philippe Mathieu-Daudé wrote:
Signed-off-by: Philippe Mathieu-Daudé
Reviewed-by: Cédric Le Goater
Thanks,
C.
---
hw/sd/sd.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/hw/sd/sd.c b/hw/sd/sd.c
index c6cc1bab11..510784fc82 100644
--- a
On 6/21/24 10:05 AM, Philippe Mathieu-Daudé wrote:
Useful to detect out of bound accesses.
Signed-off-by: Philippe Mathieu-Daudé
Reviewed-by: Cédric Le Goater
Thanks,
C.
---
hw/sd/sd.c | 4 ++--
hw/sd/trace-events | 4 ++--
2 files changed, 4 insertions(+), 4 deletions
On 6/21/24 10:05 AM, Philippe Mathieu-Daudé wrote:
Signed-off-by: Philippe Mathieu-Daudé
Reviewed-by: Cédric Le Goater
Thanks,
C.
---
hw/sd/sd.c | 1 +
hw/sd/trace-events | 3 ++-
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/hw/sd/sd.c b/hw/sd/sd.c
index
On 6/21/24 10:05 AM, Philippe Mathieu-Daudé wrote:
NULL handler is already handled as illegal, no need to
duplicate (that keeps this array simpler to maintain).
Signed-off-by: Philippe Mathieu-Daudé
Reviewed-by: Cédric Le Goater
Thanks,
C.
---
hw/sd/sd.c | 11 ---
1 file
e Mathieu-Daudé
Reviewed-by: Cédric Le Goater
Thanks,
C.
---
hw/sd/sd.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/sd/sd.c b/hw/sd/sd.c
index b0cd30c657..e9af834a8c 100644
--- a/hw/sd/sd.c
+++ b/hw/sd/sd.c
@@ -1012,6 +1012,7 @@ static sd_rsp_type_t sd_cmd_ille
On 6/21/24 10:05 AM, Philippe Mathieu-Daudé wrote:
The ld/st API helps noticing CID or CSD bytes refer
to the same field. Multi-bytes fields are stored MSB
first in CID / CSD.
Signed-off-by: Philippe Mathieu-Daudé
Reviewed-by: Cédric Le Goater
Thanks,
C.
---
hw/sd/sd.c | 9
On 6/21/24 10:05 AM, Philippe Mathieu-Daudé wrote:
Use registerfield-generated definitions to update card_status.
Signed-off-by: Philippe Mathieu-Daudé
Reviewed-by: Cédric Le Goater
Thanks,
C.
---
hw/sd/sd.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/hw
On 6/21/24 10:05 AM, Philippe Mathieu-Daudé wrote:
There is no SEND_OP_CMD but SEND_OP_COND.
Signed-off-by: Philippe Mathieu-Daudé
Reviewed-by: Cédric Le Goater
Thanks,
C.
---
hw/sd/sd.c | 6 +++---
hw/sd/sdmmc-internal.c | 2 +-
2 files changed, 4 insertions(+), 4
On 6/21/24 10:05 AM, Philippe Mathieu-Daudé wrote:
From: Philippe Mathieu-Daudé
Signed-off-by: Philippe Mathieu-Daudé
Signed-off-by: Philippe Mathieu-Daudé
Reviewed-by: Cédric Le Goater
Thanks,
C.
---
hw/sd/sd.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff
On 6/21/24 10:05 AM, Philippe Mathieu-Daudé wrote:
Keep this handler style in sync with other handlers by
using a switch() case, which might become handy to
handle other states.
Signed-off-by: Philippe Mathieu-Daudé
Reviewed-by: Cédric Le Goater
Thanks,
C.
---
hw/sd/sd.c | 10
1 file changed, 17 insertions(+), 17 deletions(-)
Reviewed-by: Cédric Le Goater
Thanks,
C.
diff --git a/hw/sd/sd.c b/hw/sd/sd.c
index 16d8d52a78..626e99ecd6 100644
--- a/hw/sd/sd.c
+++ b/hw/sd/sd.c
@@ -1069,33 +1069,33 @@ static sd_rsp_type_t sd_cmd_SEND_RELATIVE_ADDR(SDState
*sd, SDRequ
On 6/21/24 4:47 PM, Shivaprasad G Bhat wrote:
On 6/21/24 2:19 PM, Cédric Le Goater wrote:
Could you please describe the host/guest OS, hypervisor, processor
and adapter ?
Here is the environment info,
pSeries:
Host : Power10 PowerVM Lpar
Kernel: Upstream 6.10.0-rc4 + VFIO fixes posted
On 6/19/24 12:01 PM, Jamin Lin wrote:
ASPEED AST2700 SOC is a 64 bits quad core CPUs (Cortex-a35)
And the base address of dram is "0x4 " which
is 64bits address.
It have "Normal Priority Transmit Ring Base Address Register High(0x17C)",
"High Priority Transmit Ring Base Address Register
On 6/21/24 10:17 AM, Shivaprasad G Bhat wrote:
Hi Cédric,
On 6/20/24 6:37 PM, Cédric Le Goater wrote:
Shivaprasad,
On 5/9/24 9:14 PM, Shivaprasad G Bhat wrote:
The commit 6ad359ec29 "(vfio/spapr: Move prereg_listener into
spapr container)" began to use the newly introduced VFIOSpap
re 3 bytes wide stored MSB first.
---
Reviewed-by: Cédric Le Goater
Thanks,
C.
include/qemu/bswap.h | 7 +++
1 file changed, 7 insertions(+)
diff --git a/include/qemu/bswap.h b/include/qemu/bswap.h
index bd67468e5e..ad22910a5d 100644
--- a/include/qemu/bswap.h
+++ b/include/qemu/bswap.h
On 6/20/24 4:02 PM, Zheyu Ma wrote:
ASan detected a global-buffer-overflow error in the aspeed_gpio_read()
function. This issue occurred when reading beyond the bounds of the
reg_table.
To enhance the safety and maintainability of the Aspeed GPIO code, this commit
introduces a reg_table_count me
Shivaprasad,
On 5/9/24 9:14 PM, Shivaprasad G Bhat wrote:
The commit 6ad359ec29 "(vfio/spapr: Move prereg_listener into
spapr container)" began to use the newly introduced VFIOSpaprContainer
structure.
After several refactors, today the container_of(container,
VFIOSpaprContainer, ABC) is used w
@@ -75,6 +75,7 @@ struct AspeedGPIOClass {
uint32_t nr_gpio_pins;
uint32_t nr_gpio_sets;
const AspeedGPIOReg *reg_table;
+ uint32_t reg_table_size;
};
- "reg_table_size" is a number of registers, using s/size/count/ might
be clearer.
- No point in specifying 32-bit,
[ ... ]
* [v4] vfio: VFIO migration support with vIOMMU
https://lore.kernel.org/qemu-devel/20230622214845.3980-1-joao.m.mart...@oracle.com/
Refreshed the patchset on upstream and pushed on vfio-9.1 branch.
/me nods Probably deserves an item on the list too related to this subject of
v
Hello
On 6/19/24 7:40 PM, Philippe Mathieu-Daudé wrote:
Hi,
On 3/7/23 15:24, Cédric Le Goater wrote:
The parameters mimick a real 4GB eMMC, but it can be set to various
sizes. Initially from Vincent Palatin
Signed-off-by: Cédric Le Goater
---
hw/sd/sdmmc-internal.h | 97
On 6/19/24 12:01 PM, Jamin Lin wrote:
Fix coding style issues from checkpatch.pl
Test command:
./scripts/checkpatch.pl --no-tree -f hw/net/ftgmac100.c
Signed-off-by: Jamin Lin
Reviewed-by: Cédric Le Goater
Thanks,
C.
---
hw/net/ftgmac100.c | 12
1 file changed, 8
On 6/19/24 8:36 PM, Zheyu Ma wrote:
ASan detected a global-buffer-overflow error in the aspeed_gpio_read()
function. This issue occurred when reading beyond the bounds of the
reg_table.
To enhance the safety and maintainability of the Aspeed GPIO code, this commit
introduces a reg_table_size mem
l Kowal
Looks correct. You might need to rebase because Philippe sent changes
on the same routines.
Reviewed-by: Cédric Le Goater
Thanks,
C.
---
include/hw/ppc/xive2_regs.h | 9 +
hw/intc/pnv_xive2.c | 27 ---
hw/intc/xive.c |
operation and log
an error.
Signed-off-by: Michael Kowal
Reviewed-by: Cédric Le Goater
Thanks,
C.
---
hw/intc/pnv_xive2.c | 5 +
1 file changed, 5 insertions(+)
diff --git a/hw/intc/pnv_xive2.c b/hw/intc/pnv_xive2.c
index a1146311a3..e473109196 100644
--- a/hw/intc/pnv_xive2.c
+++
(NVC), like it's already done for the other VST tables.
Signed-off-by: Michael Kowal
Reviewed-by: Cédric Le Goater
Thanks,
C.
---
hw/intc/pnv_xive2.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/hw/intc/pnv_xive2.c b/hw/intc/pnv_xive2.c
index ff3d2d9c7b..a1146311a3 10064
shift
0010 - 2 bit shift
1000 - 8 bit shift
1001- - No compression
Signed-off-by: Michael Kowal
Reviewed-by: Cédric Le Goater
Thanks,
C.
---
hw/intc/pnv_xive2_regs.h | 2 ++
hw/intc/pnv_xive2.c | 20
2 files changed, 22 insertions
Hello Michael,
On 6/17/24 10:42 PM, Michael Kowal wrote:
From: Frederic Barrat
XIVE offers a 'cache watch facility', which allows software to read/update
a potentially cached table entry with no software lock. There's one such
facility in the Virtualization Controller (VC) to update the ESB an
On 6/17/24 6:54 PM, Chalapathi V wrote:
In this commit Write a qtest pnv-spi-seeprom-test to check the
SPI transactions between spi controller and seeprom device.
Signed-off-by: Chalapathi V
Acked-by: Cédric Le Goater
Thanks,
C.
---
tests/qtest/pnv-spi-seeprom-test.c | 110
On 6/17/24 6:54 PM, Chalapathi V wrote:
In this commit SPI shift engine and sequencer logic is implemented.
Shift engine performs serialization and de-serialization according to the
control by the sequencer and according to the setup defined in the
configuration registers. Sequencer implements th
Hello Chalapathi,
On 6/17/24 6:54 PM, Chalapathi V wrote:
SPI controller device model supports a connection to a single SPI responder.
This provide access to SPI seeproms, TPM, flash device and an ADC controller.
All SPI function control is mapped into the SPI register space to enable full
cont
On 6/17/24 6:22 PM, Eric Auger wrote:
Hi Cédric,
On 6/17/24 08:33, Cédric Le Goater wrote:
Hello,
The series starts with simple changes (patch 1-4). Two of which were
initially sent by Joao in a series adding VFIO migration support with
vIOMMU [1].
The changes following prepare VFIOContainer
On 6/17/24 4:25 PM, Eric Auger wrote:
Hi Cédric,
On 6/17/24 08:33, Cédric Le Goater wrote:
Assign the base container VFIOAddressSpace 'space' pointer in
vfio_address_space_insert().
OK I get it now. Maybe in the previous patch, say that the
vfio_address_space_insert() will be enh
On 6/17/24 4:04 PM, Eric Auger wrote:
On 6/17/24 08:33, Cédric Le Goater wrote:
It will ease future changes.
Does it, really?
Changed to :
It prepares gound for a future change initializing the 'space' pointer
of VFIOContainerBase. The goal is to replace vfio_container_init
On 6/17/24 4:00 PM, Eric Auger wrote:
Hi Cédric,
On 6/17/24 08:33, Cédric Le Goater wrote:
From: Avihai Horon
Extract vIOMMU code from vfio_sync_dirty_bitmap() to a new function and
restructure the code.
This is done in preparation for optimizing vIOMMU deviice dirty page
device
fixed
On 6/17/24 1:39 PM, Eric Auger wrote:
Hi Cédric,
On 6/17/24 08:33, Cédric Le Goater wrote:
From: Joao Martins
Separate the changes that updates the ranges from the listener, to
s/updates/update
fixed.
make it reusable in preparation to expand its use to vIOMMU support.
[ clg: - Rebased
Hello Michael,
On 6/5/24 10:30 AM, Zhenzhong Duan wrote:
Hi,
This series introduce a HostIOMMUDevice abstraction and sub-classes.
Also HostIOMMUDeviceCaps structure in HostIOMMUDevice and a new interface
between vIOMMU and HostIOMMUDevice.
A HostIOMMUDevice is an abstraction for an assigned de
On 6/14/24 11:52 AM, Eric Auger wrote:
Introduce a new HostIOMMUDevice callback that allows to
retrieve the usable IOVA ranges.
Implement this callback in the legacy VFIO and IOMMUFD VFIO
host iommu devices. This relies on the VFIODevice agent's
base container iova_ranges resource.
Signed-off-b
Hello Eric,
On 6/17/24 1:31 PM, Eric Auger wrote:
Hi Cédric,
On 6/17/24 08:33, Cédric Le Goater wrote:
Since vfio_devices_dma_logging_start() takes an 'Error **' argument,
best practices suggest to return a bool. See the api/error.h Rules
section. It will simplify potential chan
Instead, use VFIO_IOMMU_GET_CLASS() to get the class pointer.
Signed-off-by: Cédric Le Goater
Reviewed-by: Zhenzhong Duan
---
include/hw/vfio/vfio-container-base.h | 1 -
hw/vfio/common.c | 2 +-
hw/vfio/container-base.c | 37 +--
hw
() to extract the part doing the container
initialization and move it under vfio_create_container().
Signed-off-by: Cédric Le Goater
Reviewed-by: Zhenzhong Duan
---
hw/vfio/container.c | 47 ++---
1 file changed, 23 insertions(+), 24 deletions(-)
diff --git
adjustments in the VFIO_IOMMU hierarchy.
Signed-off-by: Cédric Le Goater
Reviewed-by: Zhenzhong Duan
---
include/hw/vfio/vfio-common.h | 4
include/hw/vfio/vfio-container-base.h | 12 +++-
hw/vfio/container-base.c | 4 +++-
hw/vfio/container.c
Just as we did for the VFIOContainerBase object, introduce an
instance_init() handler for the legacy VFIOContainer object and do the
specific initialization there.
Signed-off-by: Cédric Le Goater
Reviewed-by: Zhenzhong Duan
---
hw/vfio/container.c | 9 -
1 file changed, 8 insertions
This routine allocates the QEMU struct type representing the VFIO
container. It is minimal currently and future changes will do more
initialization.
Signed-off-by: Cédric Le Goater
Reviewed-by: Zhenzhong Duan
---
hw/vfio/container.c | 19 +++
1 file changed, 15 insertions(+), 4
vfio_container_destroy() clears the resources allocated
VFIOContainerBase object. Now that VFIOContainerBase is a QOM object,
add an instance_finalize() handler to do the cleanup. It will be
called through object_unref().
Suggested-by: Zhenzhong Duan
Signed-off-by: Cédric Le Goater
---
include
It's now empty.
Signed-off-by: Cédric Le Goater
Reviewed-by: Zhenzhong Duan
---
include/hw/vfio/vfio-container-base.h | 2 --
hw/vfio/container-base.c | 5 -
hw/vfio/container.c | 3 ---
hw/vfio/iommufd.c | 1 -
4 files change
Instead of allocating the container struct, create a QOM object of the
appropriate type.
Signed-off-by: Cédric Le Goater
Reviewed-by: Zhenzhong Duan
---
hw/vfio/container.c | 6 +++---
hw/vfio/iommufd.c | 4 ++--
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/hw/vfio
lue can be saved in the migration stream when
called from vfio_listener_log_global_stop().
Signed-off-by: Cédric Le Goater
Reviewed-by: Zhenzhong Duan
---
hw/vfio/common.c | 14 +++---
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/hw/vfio/common.c b/hw/vfio/comm
This allows us to move the initialization code from vfio_container_init(),
which we will soon remove.
Signed-off-by: Cédric Le Goater
Reviewed-by: Zhenzhong Duan
---
hw/vfio/container-base.c | 19 +--
1 file changed, 13 insertions(+), 6 deletions(-)
diff --git a/hw/vfio
Assign the base container VFIOAddressSpace 'space' pointer in
vfio_address_space_insert().
To be noted that vfio_connect_container() will assign the 'space'
pointer later in the execution flow. This should not have any
consequence.
Signed-off-by: Cédric Le Goater
Reviewe
The 'container' pointer has no other use than its 'fd' attribute.
Simplify the prototype to ease future changes.
Signed-off-by: Cédric Le Goater
Reviewed-by: Zhenzhong Duan
---
hw/vfio/container.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/h
From: Joao Martins
Separate the changes that updates the ranges from the listener, to
make it reusable in preparation to expand its use to vIOMMU support.
[ clg: - Rebased on upstream
- Introduced vfio_dirty_tracking_update_range() ]
Signed-off-by: Joao Martins
Signed-off-by: Cédric Le
Rework vfio_get_iommu_class() to return a literal class name instead
of a class object. We will need this name to instantiate the object
later on. Since the default case asserts, remove the error report as
QEMU will simply abort before.
Signed-off-by: Cédric Le Goater
Reviewed-by: Zhenzhong Duan
: - Rebased on upstream ]
Signed-off-by: Cédric Le Goater
Reviewed-by: Zhenzhong Duan
---
hw/vfio/common.c | 63 +---
1 file changed, 38 insertions(+), 25 deletions(-)
diff --git a/hw/vfio/common.c b/hw/vfio/common.c
index
701 - 800 of 2955 matches
Mail list logo