Replace the meson introspect argument with the build directory instead
of the meson.build file. The introspect command accepts an optional
build directory not a file.
Signed-off-by: Joel Granados
---
For some reason this causes an error when I "remote" compile qemu.
In any case, the
On Wed, Jan 31, 2024 at 11:24:18PM +0800, Yi Liu wrote:
> On 2024/1/31 22:40, Joel Granados wrote:
> > On Mon, Jan 15, 2024 at 06:37:35PM +0800, Zhenzhong Duan wrote:
> >> From: Yi Liu
> >>
> >> Intel VT-d 3.0 introduces scalable mode, and it has a bunch of c
>scalable_mode = false;
> +s->scalable_modern = false;
> +}
> +
> if ((s->aw_bits != VTD_HOST_AW_39BIT) &&
> (s->aw_bits != VTD_HOST_AW_48BIT) &&
> !s->scalable_modern) {
> --
> 2.34.1
>
>
I noticed that this patch changes quite a bit from the previous version
that you had. I Specifically noticed that you dropped VTD_ECAP_PRS from
intel_iommu_internal.h. I was under the impression that this set the
Page Request Servicves capability in the IOMMU effectively enabling PRI
in the iommu.
Why did you remove it from your original patch?
Thx in advance
Best
--
Joel Granados
signature.asc
Description: PGP signature
On Thu, Dec 21, 2023 at 03:33:47AM +, Duan, Zhenzhong wrote:
> Hi Joel,
>
> >-Original Message-----
> >From: Joel Granados
> >Subject: Questions regarding the still unpublished qemu series
> >https://github.com/yiliu1765/qemu/tree/zhenzhong/wip/iommufd_
: Why assert on the permissions being NONE if they might be
read|write?
Hope this makes sense. Don't hesitate to get back to me if you see that
there is something missing in my explanation.
Best
--
Joel Granados
signature.asc
Description: PGP signature
(const char *dev, int devfd) " %s (fd=%d)"
> +vfio_iommufd_bind_device(int iommufd, const char *name, int devfd, int
> devid) " [iommufd=%d] Succesfully bound device %s (fd=%d): output devid=%d"
> +vfio_iommufd_attach_device(int iommufd, const char *name, int devfd, int
> ioasid, int hwptid) " [iommufd=%d] Succesfully attached device %s (%d) to
> ioasid=%d: output hwptd=%d"
> +vfio_iommufd_detach_device(int iommufd, const char *name, int ioasid) "
> [iommufd=%d] Detached %s from ioasid=%d"
> +vfio_iommufd_alloc_ioas(int iommufd, int ioas_id) " [iommufd=%d] new IOMMUFD
> container with ioasid=%d"
> +vfio_iommufd_device_info(char *name, int devfd, int num_irqs, int
> num_regions, int flags) " %s (%d) num_irqs=%d num_regions=%d flags=%d"
> +vfio_iommufd_fail_attach_existing_container(const char *msg) " %s"
> +vfio_iommufd_container_reset(char *name) " Successfully reset %s"
> diff --git a/include/hw/vfio/vfio-common.h b/include/hw/vfio/vfio-common.h
> index 81a87d88b6..6434a442fd 100644
> --- a/include/hw/vfio/vfio-common.h
> +++ b/include/hw/vfio/vfio-common.h
> @@ -85,6 +85,26 @@ typedef struct VFIOLegacyContainer {
> QLIST_HEAD(, VFIOGroup) group_list;
> } VFIOLegacyContainer;
>
> +#ifdef CONFIG_IOMMUFD
> +typedef struct VFIOIOASHwpt {
> +uint32_t hwpt_id;
> +QLIST_HEAD(, VFIODevice) device_list;
> +QLIST_ENTRY(VFIOIOASHwpt) next;
> +} VFIOIOASHwpt;
> +
> +typedef struct IOMMUFDBackend IOMMUFDBackend;
> +
> +typedef struct VFIOIOMMUFDContainer {
> +VFIOContainer bcontainer;
> +IOMMUFDBackend *be;
> +uint32_t ioas_id;
> +QLIST_HEAD(, VFIOIOASHwpt) hwpt_list;
> +} VFIOIOMMUFDContainer;
> +#endif
> +
> +typedef QLIST_HEAD(VFIOAddressSpaceList, VFIOAddressSpace)
> VFIOAddressSpaceList;
> +extern VFIOAddressSpaceList vfio_address_spaces;
> +
> typedef struct VFIODeviceOps VFIODeviceOps;
>
> typedef struct VFIODevice {
> @@ -110,6 +130,10 @@ typedef struct VFIODevice {
> OnOffAuto pre_copy_dirty_page_tracking;
> bool dirty_pages_supported;
> bool dirty_tracking;
> +#ifdef CONFIG_IOMMUFD
> +int devid;
> +IOMMUFDBackend *iommufd;
> +#endif
> } VFIODevice;
>
> struct VFIODeviceOps {
> diff --git a/include/hw/vfio/vfio-container-base.h
> b/include/hw/vfio/vfio-container-base.h
> index b18fa92146..51aff4af05 100644
> --- a/include/hw/vfio/vfio-container-base.h
> +++ b/include/hw/vfio/vfio-container-base.h
> @@ -117,6 +117,9 @@ void vfio_container_init(VFIOContainer *container,
> void vfio_container_destroy(VFIOContainer *container);
>
> #define TYPE_VFIO_IOMMU_BACKEND_LEGACY_OPS "vfio-iommu-backend-legacy-ops"
> +#ifdef CONFIG_IOMMUFD
> +#define TYPE_VFIO_IOMMU_BACKEND_IOMMUFD_OPS "vfio-iommu-backend-iommufd-ops"
> +#endif
> #define TYPE_VFIO_IOMMU_BACKEND_OPS "vfio-iommu-backend-ops"
>
> DECLARE_CLASS_CHECKERS(VFIOIOMMUBackendOpsClass,
> --
> 2.34.1
>
>
--
Joel Granados
signature.asc
Description: PGP signature
On Mon, Mar 06, 2023 at 03:34:29PM +0100, Klaus Jensen wrote:
> From: Joel Granados
>
> Move the rounding of bytes read/written into nvme_smart_log which
> reports in units of 512 bytes, rounded up in thousands. This is in
> preparation for adding the Endurance Group Information
On Mon, Feb 20, 2023 at 12:59:24PM +0100, Jesper Devantier wrote:
> From: Klaus Jensen
>
> Add the mandatory Endurance Group identify data structures and log
> pages.
>
> For now, all namespaces in a subsystem belongs to a single Endurance
> Group.
>
> Signed-off-by: Klaus Jensen
> ---
> hw/n
On Mon, Feb 20, 2023 at 12:59:22PM +0100, Jesper Devantier wrote:
> From: Joel Granados
>
> In order to return the units_{read/written} required by the SMART log we
> need to shift the number of bytes value by BDRV_SECTORS_BITS and multiply
> by 1000. This is a prep patch
s like the "Media Bytes with Metadata Written" in
the statistics log page of the newly ratified FDP TP.
Thx for the review
Best
Joel
>
> On Mon, Nov 14, 2022 at 02:50:40PM +0100, Joel Granados wrote:
> > The motivation and description are contained in the last patch in thi
ping.
Is the solution to the guid constant ok?
Best
On Fri, Nov 25, 2022 at 10:48:06AM +0100, Joel Granados wrote:
> The motivation and description are contained in the last patch in this set.
> Will copy paste it here for convenience:
>
> In order to evaluate write amplific
all namespaces and report them back on
the extended log as per the spec.
3. I removed the default case in the switch in nvme_vendor_specific_log as
it does not have any special function.
Joel Granados (2):
nvme: Move adjustment of data_units{read,written}
nvme: Add physical writes/reads f
log_page_uuid.
Signed-off-by: Joel Granados
---
docs/system/devices/nvme.rst | 7 +
hw/nvme/ctrl.c | 59
hw/nvme/nvme.h | 1 +
include/block/nvme.h | 36 ++
4 files changed, 103 insertions(+)
diff --git a
extended smart log values.
Signed-off-by: Joel Granados
---
hw/nvme/ctrl.c | 14 --
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/hw/nvme/ctrl.c b/hw/nvme/ctrl.c
index 87aeba0564..bf291f7ffe 100644
--- a/hw/nvme/ctrl.c
+++ b/hw/nvme/ctrl.c
@@ -4449,8 +4449,8 @@ static void
On Thu, Nov 17, 2022 at 08:30:46AM +0100, Klaus Jensen wrote:
> On Nov 16 18:14, Joel Granados wrote:
> > In order to evaluate write amplification factor (WAF) within the storage
> > stack it is important to know the number of bytes written to the
> > controller. The existi
special function.
Joel Granados (2):
nvme: Move adjustment of data_units{read,written}
nvme: Add physical writes/reads from OCP log
docs/system/devices/nvme.rst | 7
hw/nvme/ctrl.c | 69
hw/nvme/nvme.h | 1 +
include
log_page_uuid.
Signed-off-by: Joel Granados
---
docs/system/devices/nvme.rst | 7 +
hw/nvme/ctrl.c | 55
hw/nvme/nvme.h | 1 +
include/block/nvme.h | 36 +++
4 files changed, 99 insertions(+)
diff --git a
extended smart log values.
Signed-off-by: Joel Granados
---
hw/nvme/ctrl.c | 14 --
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/hw/nvme/ctrl.c b/hw/nvme/ctrl.c
index 87aeba0564..bf291f7ffe 100644
--- a/hw/nvme/ctrl.c
+++ b/hw/nvme/ctrl.c
@@ -4449,8 +4449,8 @@ static void
On Tue, Nov 15, 2022 at 12:26:17PM +0100, Klaus Jensen wrote:
> On Nov 14 14:50, Joel Granados wrote:
> > In order to evaluate write amplification factor (WAF) within the storage
> > stack it is important to know the number of bytes written to the
> > controller. The existi
On Tue, Nov 15, 2022 at 12:11:50PM +0100, Klaus Jensen wrote:
> On Nov 14 14:50, Joel Granados wrote:
> > The Open Compute Project defines a Datacenter NVMe SSD Spec that sits on
> > top of the NVMe spec. Additional commands and NVMe behaviors specific for
> > the Datacenter.
extended log as per the spec.
3. I removed the default case in the switch in nvme_vendor_specific_log as
it does not have any special function.
Joel Granados (3):
nvme: Move adjustment of data_units{read,written}
nvme: Add ocp to the subsys
nvme: Add physical writes/reads from OCP log
hw
the command is 0xC0 and ocp has been turned on
in the args.
Though we add the whole nvme smart log extended structure, we only populate
the physical_media_units_{read,written}, log_page_version and
log_page_uuid.
Signed-off-by: Joel Granados
squash with main
Signed-off-by: Joel Granados
extended smart log values.
Signed-off-by: Joel Granados
---
hw/nvme/ctrl.c | 14 --
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/hw/nvme/ctrl.c b/hw/nvme/ctrl.c
index 87aeba0564..220683201a 100644
--- a/hw/nvme/ctrl.c
+++ b/hw/nvme/ctrl.c
@@ -4449,8 +4449,8 @@ static void
The Open Compute Project defines a Datacenter NVMe SSD Spec that sits on
top of the NVMe spec. Additional commands and NVMe behaviors specific for
the Datacenter. This is a preparation patch that introduces an argument to
activate OCP in nvme.
Signed-off-by: Joel Granados
---
hw/nvme/nvme.h
24 matches
Mail list logo