On 24-09-24 08:35:40, Klaus Jensen wrote:
> From: Klaus Jensen
>
> Add a boolean prop (ctratt.mem) for setting CTRATT.MEM and default it to
> unset (false) to keep existing behavior of the device intact.
>
> Signed-off-by: Klaus Jensen
Reviewed-by: Minwoo Im
his could cause ufs_mmio_read()/ufs_mmio_write() to overflow the
> buffer. So fix it.
>
> Fixes: 5c079578d2e4 ("hw/ufs: Add support MCQ of UFSHCI 4.0")
> Signed-off-by: Jeuk Kim
Reviewed-by: Minwoo Im
different elements:
PF: `max_ioqpairs + 1` with `msix_qsize`
VF: VQFRSM with VIFRSM
Signed-off-by: Minwoo Im
---
hw/nvme/ctrl.c | 19 +++
1 file changed, 15 insertions(+), 4 deletions(-)
diff --git a/hw/nvme/ctrl.c b/hw/nvme/ctrl.c
index 127c3d2383..57bc26034c 100644
On 24-05-31 11:34:54, Changqi Lu wrote:
> Add reservation acquire, reservation register,
> reservation release and reservation report commands
> in the nvme device layer.
>
> By introducing these commands, this enables the nvme
> device to perform reservation-related tasks, including
> querying ke
array of secondary
controller list rather than a static array with a fixed size of
maximum number of VF to support (Suggested by Klaus).
v2:
- Added [2/4] commit to fix crash due to entry overflow
Minwoo Im (4):
hw/nvme: add Identify Enduran
n the
command comes in.
Signed-off-by: Minwoo Im
---
hw/nvme/ctrl.c | 21 ++---
hw/nvme/nvme.h | 14 --
hw/nvme/subsys.c | 8
3 files changed, 22 insertions(+), 21 deletions(-)
diff --git a/hw/nvme/ctrl.c b/hw/nvme/ctrl.c
index 18672f6619..7cf1e8e384 100644
But, yes, only just for the endurance group #1. This patch
allows host applications to ask for which endurance group is available
and utilize FDP through that endurance group.
Reviewed-by: Klaus Jensen
Signed-off-by: Minwoo Im
---
hw/nvme/ctrl.c | 22 ++
include/block/n
To prevent further bumping up the number of maximum VF te support, this
patch allocates a dynamic array (NvmeCtrl *)->sec_ctrl_list based on
number of VF supported by sriov_max_vfs property.
Signed-off-by: Minwoo Im
---
hw/nvme/ctrl.c | 8 +---
hw/nvme/nvme.h | 5 ++---
hw/nvme/subsy
.
Reviewed-by: Klaus Jensen
Signed-off-by: Minwoo Im
---
hw/nvme/ctrl.c | 8
hw/nvme/nvme.h | 4 ++--
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/hw/nvme/ctrl.c b/hw/nvme/ctrl.c
index 90a58e71bd..b957debdc3 100644
--- a/hw/nvme/ctrl.c
+++ b/hw/nvme/ctrl.c
@@ -8460,10
qReg, UfsMcqSqIntReg, UfsMcqCqReg, UfsMcqCqIntReg
The maxinum number of queue is 32 as per spec, and the default
MAC(Multiple Active Commands) are 32 in the device.
Example:
-device ufs,serial=foo,id=ufs0,mcq=true,mcq-maxq=8
Signed-off-by: Minwoo Im
---
hw/ufs/trace-events | 17 ++
hw/ufs/u
This patch is a prep patch for the following MCQ support patch for
hw/ufs. This patch updated minimal mandatory fields to support MCQ
based on UFSHCI 4.0.
Signed-off-by: Minwoo Im
---
include/block/ufs.h | 108 +++-
1 file changed, 106 insertions(+), 2
and to ensure
that io_queues exist to handle device commands.
Please review.
Thanks,
Minwoo Im (2):
hw/ufs: Update MCQ-related fields to block/ufs.h
hw/ufs: Add support MCQ of UFSHCI 4.0
hw/ufs/trace-events | 17 ++
hw/ufs/ufs.c| 478 ++--
hw
On 24-05-28 10:00:35, Jeuk Kim wrote:
> Thanks for your contribution!
>
> There are only two minor comments.
Thanks for your review.
>
> Please check it and send patch v2.
>
>
> Thank you!
>
> On 5/21/2024 8:05 PM, Minwoo Im wrote:
> > @@ -1288,12 +1717,
qReg, UfsMcqSqIntReg, UfsMcqCqReg, UfsMcqCqIntReg
The maxinum number of queue is 32 as per spec, and the default
MAC(Multiple Active Commands) are 32 in the device.
Example:
-device ufs,serial=foo,id=ufs0,mcq=true,mcq-maxq=8
Signed-off-by: Minwoo Im
---
hw/ufs/trace-events | 17 ++
hw/ufs/u
actual changes for MCQ.
Please review.
Thanks,
Minwoo Im (2):
hw/ufs: Update MCQ-related fields to block/ufs.h
hw/ufs: Add support MCQ of UFSHCI 4.0
hw/ufs/trace-events | 17 ++
hw/ufs/ufs.c| 474 ++--
hw/ufs/ufs.h| 98
actual changes for MCQ.
Please review.
Thanks,
Minwoo Im (2):
hw/ufs: Update MCQ-related fields to block/ufs.h
hw/ufs: Add support MCQ of UFSHCI 4.0
hw/ufs/trace-events | 17 ++
hw/ufs/ufs.c| 474 ++--
hw/ufs/ufs.h| 98
This patch is a prep patch for the following MCQ support patch for
hw/ufs. This patch updated minimal mandatory fields to support MCQ
based on UFSHCI 4.0.
Signed-off-by: Minwoo Im
---
include/block/ufs.h | 108 +++-
1 file changed, 106 insertions(+), 2
From: Minwoo Im
VI and VQ resources cover queue resources in each VFs in SR-IOV.
Current maximum I/O queue pair size is 0x, we can expand them to
cover the full number of I/O queue pairs.
This patch also fixed Identify Secondary Controller List overflow due to
expand of number of secondary
From: Minwoo Im
Commit 73064edfb864 ("hw/nvme: flexible data placement emulation")
intorudced NVMe FDP feature to nvme-subsys and nvme-ctrl with a
single endurance group #1 supported. This means that controller should
return proper identify data to host with Identify Endurance Group
From: Minwoo Im
Secondary controller list for virtualization has been managed by
Identify Secondary Controller List data structure with NvmeSecCtrlList
where up to 127 secondary controller entries can be managed. The
problem hasn't arisen so far because NVME_MAX_VFS has been 127.
This
done
Thanks,
v3:
- Replace [3/4] patch with one allocating a dyanmic array of secondary
controller list rather than a static array with a fixed size of
maximum number of VF to support (Suggested by Klaus).
v2:
- Added [2/4] commit to fix
From: Minwoo Im
To prevent further bumping up the number of maximum VF te support, this
patch allocates a dynamic array (NvmeCtrl *)->sec_ctrl_list based on
number of VF supported by sriov_max_vfs property.
Signed-off-by: Minwoo Im
---
hw/nvme/ctrl.c | 8 +---
hw/nvme/nvme.h
On 24-05-01 14:46:39, Klaus Jensen wrote:
> On Apr 1 04:30, Minwoo Im wrote:
> > From: Minwoo Im
> >
> > The number of virtual functions(VFs) supported in SR-IOV is 64k as per
> > spec. To test a large number of MSI-X vectors mapping to CPU matrix in
> > the QE
From: Minwoo Im
Secondary controller list for virtualization has been managed by
Identify Secondary Controller List data structure with NvmeSecCtrlList
where up to 127 secondary controller entries can be managed. The
problem hasn't arisen so far because NVME_MAX_VFS has been 127.
This
From: Minwoo Im
Commit 73064edfb864 ("hw/nvme: flexible data placement emulation")
intorudced NVMe FDP feature to nvme-subsys and nvme-ctrl with a
single endurance group #1 supported. This means that controller should
return proper identify data to host with Identify Endurance Group
From: Minwoo Im
VI and VQ resources cover queue resources in each VFs in SR-IOV.
Current maximum I/O queue pair size is 0x, we can expand them to
cover the full number of I/O queue pairs.
This patch also fixed Identify Secondary Controller List overflow due to
expand of number of secondary
From: Minwoo Im
The number of virtual functions(VFs) supported in SR-IOV is 64k as per
spec. To test a large number of MSI-X vectors mapping to CPU matrix in
the QEMU system, we need much more than 127 VFs. This patch made
support for 256 VFs per a physical function(PF).
Signed-off-by: Minwoo
Added [2/4] commit to fix crash due to entry overflow
Minwoo Im (4):
hw/nvme: add Identify Endurance Group List
hw/nvme: separate identify data for sec. ctrl list
hw/nvme: Support SR-IOV VFs more than 127
hw/nvme: Expand VI/VQ resource to uint32
hw/nvme/ctrl.c
tialize capability structures for
> primary/secondary controllers")
> Reported-by: Kevin Wolf
> Signed-off-by: Klaus Jensen
Reviewed-by: Minwoo Im
Thanks,
From: Minwoo Im
The number of virtual functions(VFs) supported in SR-IOV is 64k as per
spec. To test a large number of MSI-X vectors mapping to CPU matrix in
the QEMU system, we need much more than 127 VFs. This patch made
support for 256 VFs per a physical function(PF).
Signed-off-by: Minwoo
From: Minwoo Im
VI and VQ resources cover queue resources in each VFs in SR-IOV.
Current maximum I/O queue pair size is 0x, we can expand them to
cover the full number of I/O queue pairs.
This patch also fixed Identify Secondary Controller List overflow due to
expand of number of secondary
Hello,
This patchset includes patches for adding Identify data for the
recently added Endurance Group (endgrpid=1) used in FDP, and patches
for increasing the maximum number of SR-IOV VF Resources to support
more resources to enable testing as recent SSDs.
Thanks,
Minwoo Im (3):
hw/nvme: add
From: Minwoo Im
Commit 73064edfb864 ("hw/nvme: flexible data placement emulation")
intorudced NVMe FDP feature to nvme-subsys and nvme-ctrl with a
single endurance group #1 supported. This means that controller should
return proper identify data to host with Identify Endurance Group
> -Original Message-
> From: qemu-block-bounces+minwoo.im.dev=gmail@nongnu.org bounces+minwoo.im.dev=gmail@nongnu.org> On Behalf Of Akihiko Odaki
> Sent: Monday, February 12, 2024 7:21 PM
> To: Philippe Mathieu-Daudé ; Michael S. Tsirkin
> ; Marcel Apfelbaum ; Alex
> Williamson ; C
o fail in error.
>
> Fixes: 381ab99d8587 ("hw/nvme: check maximum copy length (MCL) for COPY")
> Signed-off-by: Klaus Jensen
Hi Klaus,
Reviewed-by: Minwoo Im
Thanks!
> ---
> hw/nvme/ctrl.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/hw/
From: Minwoo Im
If we don't have NVME_CMD_COPY consideration in the switch statement in
nvme_aio_err(), it will go to have NVME_INTERNAL_DEV_ERROR and
`req->status` will be ovewritten to it. During the aio context, it
might set the NVMe status field like NVME_CMD_SIZE_LIMIT,
Fix status code overwritten issue in the COPY command and a trivial
patch to check the Maximum Copy Length (MCL) for COPY command.
Minwoo Im (2):
hw/nvme: consider COPY command in nvme_aio_err
hw/nvme: check maximum copy length (MCL) for COPY
hw/nvme/ctrl.c | 25 +
1
From: Minwoo Im
MCL(Maximum Copy Length) in the Identify Namespace data structure limits
the number of LBAs to be copied inside of the controller. We've not
checked it at all, so added the check with returning the proper error
status.
Signed-off-by: Minwoo Im
Reviewed-by: Klaus J
Fix status code overwritten issue in the COPY command and a trivial
patch to check the Maximum Copy Length (MCL) for COPY command.
Minwoo Im (2):
hw/nvme: consider COPY command in nvme_aio_err
hw/nvme: check maximum copy length (MCL) for COPY
hw/nvme/ctrl.c | 25 +
1
From: Minwoo Im
Add more comments of existing properties for nvme-ns device.
Signed-off-by: Minwoo Im
Reviewed-by: Klaus Jensen
---
hw/nvme/ctrl.c | 9 -
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/hw/nvme/ctrl.c b/hw/nvme/ctrl.c
index 8b7be14209..87c07f5dbb 100644
MCL(Maximum Copy Length) in the Identify Namespace data structure limits
the number of LBAs to be copied inside of the controller. We've not
checked it at all, so added the check with returning the proper error
status.
Signed-off-by: Minwoo Im
Reviewed-by: Klaus Jensen
---
hw/nvme/ctrl.c
ritten in the nvme_aio_err().
Add consideration for the NVME_CMD_COPY not to overwrite the status at
the end of the function.
Signed-off-by: Minwoo Im
Reviewed-by: Klaus Jensen
---
hw/nvme/ctrl.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/hw/nvme/ctrl.c b/hw/nvme/ctrl.c
index 49c1210fce..fef5
On 21-04-09 14:36:19, Klaus Jensen wrote:
> On Apr 9 21:31, Minwoo Im wrote:
> > On 21-04-09 13:55:01, Klaus Jensen wrote:
> > > On Apr 9 20:05, Minwoo Im wrote:
> > > > On 21-04-09 13:14:02, Gollu Appalanaidu wrote:
> > > > > NSZE is the total size o
On 21-04-09 13:55:01, Klaus Jensen wrote:
> On Apr 9 20:05, Minwoo Im wrote:
> > On 21-04-09 13:14:02, Gollu Appalanaidu wrote:
> > > NSZE is the total size of the namespace in logical blocks. So the max
> > > addressable logical block is NLB minus 1. So your starting l
On 21-04-08 21:37:08, Klaus Jensen wrote:
> From: Klaus Jensen
>
> nvme_compare() fails to store the aiocb from the blk_aio_preadv() call.
> Fix this.
>
> Fixes: 0a384f923f51 ("hw/block/nvme: add compare command")
> Cc: Gollu Appalanaidu
> Signed-off-by: Klaus Jensen
Reviewed-by: Minwoo Im
")
> Fixes: e4e430b3d6ba ("hw/block/nvme: add simple copy command")
> Fixes: 5f5dc4c6a942 ("hw/block/nvme: zero out zones on reset")
> Fixes: 2605257a26b8 ("hw/block/nvme: add the dataset management command")
> Cc: Gollu Appalanaidu
> Cc:
On 21-04-09 13:14:02, Gollu Appalanaidu wrote:
> NSZE is the total size of the namespace in logical blocks. So the max
> addressable logical block is NLB minus 1. So your starting logical
> block is equal to NSZE it is a out of range.
>
> Signed-off-by: Gollu Appalanaidu
> ---
> hw/block/nvme.c
ached" (in
> QEMU terms that is) to an nvme controller device through an NvmeBus, the
> nvme-ns namespace device can always get a reference to the subsystem of
> the controller it is explicitly (using 'bus=' parametr) or implicitly
> attaching to.
>
> Fixes: e57076
On 21-03-16 08:19:08, Klaus Jensen wrote:
> On Mar 16 15:53, Minwoo Im wrote:
> > On 21-03-10 10:53:43, Klaus Jensen wrote:
> > > From: Klaus Jensen
> > >
> > > Provide a more flexible nlbas helper.
> > >
> > > Signed-off-by:
On 21-03-10 10:53:43, Klaus Jensen wrote:
> From: Klaus Jensen
>
> Provide a more flexible nlbas helper.
>
> Signed-off-by: Klaus Jensen
> ---
> hw/block/nvme-ns.h | 14 ++
> 1 file changed, 10 insertions(+), 4 deletions(-)
>
> diff --git a/hw/block/nvme-ns.h b/hw/block/nvme-ns.h
Reviewed-by: Minwoo Im
Reviewed-by: Minwoo Im
)
indicating the number of the controller id entries. So, the data can
hold up to 2047 entries for the controller ids.
Signed-off-by: Minwoo Im
Tested-by: Klaus Jensen
Reviewed-by: Klaus Jensen
---
hw/block/nvme.c | 42 ++
hw/block/trace-events
, this patch set
OAES(Optional Asynchronous Events Supported) in Identify Controller data
structure.
Signed-off-by: Minwoo Im
---
hw/block/nvme-ns.h | 1 +
hw/block/nvme.c | 57
hw/block/nvme.h | 4
include/block/nvme.h | 7 ++
4
a passthru IOCTL.
Signed-off-by: Minwoo Im
---
hw/block/nvme-subsys.h | 10 +++
hw/block/nvme.c| 61 +-
hw/block/nvme.h| 5
hw/block/trace-events | 2 ++
include/block/nvme.h | 6 +
5 files changed, 83 insertions(+),
This patch has no functional changes. This patch just refactored
nvme_select_ns_iocs() to iterate the attached namespaces of the
controlller and make it invoke __nvme_select_ns_iocs().
Signed-off-by: Minwoo Im
Tested-by: Klaus Jensen
Reviewed-by: Klaus Jensen
---
hw/block/nvme.c | 36
spaces = NVME_MAX_NAMESPACES;
The above line will set the NN field by id->nn so that the subsystem
should also prepare at least this number of namespace list entries.
Signed-off-by: Minwoo Im
Tested-by: Klaus Jensen
Reviewed-by: Klaus Jensen
---
hw/block/nvme-subsys.h | 2 +-
hw/block/nvme.h
ubsystem.
Signed-off-by: Minwoo Im
Tested-by: Klaus Jensen
Reviewed-by: Klaus Jensen
---
hw/block/nvme-subsys.h | 13 +
hw/block/nvme.c| 63 +++---
2 files changed, 60 insertions(+), 16 deletions(-)
diff --git a/hw/block/nvme-subsys.h b/hw/b
subsys->namespaces array used to be sized to NVME_SUBSYS_MAX_NAMESPACES.
But subsys->namespaces are being accessed with 1-based namespace id
which means the very first array entry will always be empty(NULL).
Signed-off-by: Minwoo Im
Tested-by: Klaus Jensen
Reviewed-by: Klaus Jensen
-
manage ns:
-device nvme,serial=foo,id=nvme0
-device nvme-ns,id=ns1,drive=blknvme0,nsid=1,bus=nvme0,detached=true
Signed-off-by: Minwoo Im
Tested-by: Klaus Jensen
Reviewed-by: Klaus Jensen
---
hw/block/nvme-ns.c | 1 +
hw/block/nvme-ns.h
ched Controller list).
Minwoo Im (8):
hw/block/nvme: support namespace detach
hw/block/nvme: fix namespaces array to 1-based
hw/block/nvme: fix allocated namespace list to 256
hw/block/nvme: support allocated namespace type
hw/block/nvme: refactor nvme_select_ns_iocs
hw/block/nvme: support
On 21-03-01 06:56:02, Klaus Jensen wrote:
> On Mar 1 01:10, Minwoo Im wrote:
> > If namespace inventory is changed due to some reasons (e.g., namespace
> > attachment/detachment), controller can send out event notifier to the
> > host to manage namespaces.
> >
> >
a passthru IOCTL.
Signed-off-by: Minwoo Im
---
hw/block/nvme-subsys.h | 10 +++
hw/block/nvme.c| 61 +-
hw/block/nvme.h| 5
hw/block/trace-events | 2 ++
include/block/nvme.h | 6 +
5 files changed, 83 insertions(+),
, this patch set
OAES(Optional Asynchronous Events Supported) in Identify Controller data
structure.
Signed-off-by: Minwoo Im
---
hw/block/nvme.c | 44
hw/block/nvme.h | 7 +++
include/block/nvme.h | 7 +++
3 files changed, 58
subsys->namespaces array used to be sized to NVME_SUBSYS_MAX_NAMESPACES.
But subsys->namespaces are being accessed with 1-based namespace id
which means the very first array entry will always be empty(NULL).
Signed-off-by: Minwoo Im
Tested-by: Klaus Jensen
Reviewed-by: Klaus Jensen
-
spaces = NVME_MAX_NAMESPACES;
The above line will set the NN field by id->nn so that the subsystem
should also prepare at least this number of namespace list entries.
Signed-off-by: Minwoo Im
Tested-by: Klaus Jensen
Reviewed-by: Klaus Jensen
---
hw/block/nvme-subsys.h | 2 +-
hw/block/nvme.h
ubsystem.
Signed-off-by: Minwoo Im
Tested-by: Klaus Jensen
Reviewed-by: Klaus Jensen
---
hw/block/nvme-subsys.h | 13 +
hw/block/nvme.c| 63 +++---
2 files changed, 60 insertions(+), 16 deletions(-)
diff --git a/hw/block/nvme-subsys.h b/hw/b
manage ns:
-device nvme,serial=foo,id=nvme0
-device nvme-ns,id=ns1,drive=blknvme0,nsid=1,bus=nvme0,detached=true
Signed-off-by: Minwoo Im
Tested-by: Klaus Jensen
Reviewed-by: Klaus Jensen
---
hw/block/nvme-ns.c | 1 +
hw/block/nvme-ns.h
This patch has no functional changes. This patch just refactored
nvme_select_ns_iocs() to iterate the attached namespaces of the
controlller and make it invoke __nvme_select_ns_iocs().
Signed-off-by: Minwoo Im
Tested-by: Klaus Jensen
Reviewed-by: Klaus Jensen
---
hw/block/nvme.c | 36
)
indicating the number of the controller id entries. So, the data can
hold up to 2047 entries for the controller ids.
Signed-off-by: Minwoo Im
Tested-by: Klaus Jensen
Reviewed-by: Klaus Jensen
---
hw/block/nvme.c | 42 ++
hw/block/trace-events
a [7/7] patch to support CNS 12h Identify command (Namespace
Attached Controller list).
Minwoo Im (8):
hw/block/nvme: support namespace detach
hw/block/nvme: fix namespaces array to 1-based
hw/block/nvme: fix allocated namespace list to 256
hw/block/nvme: support allocated namespace type
On 21-02-27 02:59:35, Keith Busch wrote:
> On Thu, Feb 11, 2021 at 01:09:36AM +0900, Minwoo Im wrote:
> > @@ -183,6 +183,7 @@ static const uint32_t nvme_cse_acs[256] = {
> > [NVME_ADM_CMD_SET_FEATURES] = NVME_CMD_EFF_CSUPP,
> > [NVME_ADM_CMD_GET_FEATURES]
On 21-02-14 20:24:00, Minwoo Im wrote:
> Human Monitor Interface(HMP) is there for easy human debugging. This
> patch added a HMP command 'nvme_ana_inject_state'. This can be executed
> from the QEMU monitor. This command will have the following syntax:
>
>
On 21-02-11 01:09:30, Minwoo Im wrote:
> Hello,
>
> This series supports namespace attachment: attach and detach. This is
> the second version series with a fix a bug on choosing a controller to
> attach for a namespace in the attach command handler.
Keith,
Could you please have
On 21-02-09 12:08:26, Klaus Jensen wrote:
> From: Klaus Jensen
>
> Move a bunch of functions that are internal to a device out of the
> shared header.
>
> Signed-off-by: Klaus Jensen
> ---
> hw/nvme/nvme.h | 110 +
> hw/nvme/ctrl.c | 90
On 21-02-22 08:06:14, Klaus Jensen wrote:
> From: Gollu Appalanaidu
>
> assert may be compiled to a noop and we could end up returning an
> uninitialized status.
>
> Fix this by always returning Internal Device Error as a fallback.
>
> Signed-off-by: Gollu Appalanaidu
> Signed-off-by: Klaus Je
would be great if it can be separated into two.
Anyway, changes look good to me.
Reviewed-by: Minwoo Im
> +
> +switch (c->cns) {
> case NVME_ID_CNS_NS:
> /* fall through */
> case NVME_ID_CNS_NS_PRESENT:
> diff --git a/hw/block/trace-events b/hw/b
On 21-02-22 08:06:15, Klaus Jensen wrote:
> From: Gollu Appalanaidu
>
> Dataset Management is not subject to MDTS, but exceeded a certain size
> per range causes internal looping. Report this limit (DMRSL) in the NVM
> command set specific identify controller data structure.
>
> Signed-off-by: G
and 3 for the simplicity.
This patch also introduced set/get feature command handler for Host
Behavior feature (16h). In this feature, ACRE(Advanced Command Retry
Enable) will be set by the host based on the Identify controller data
structure, especially by CRDTs.
Signed-off-by: Minwoo Im
---
rg/archive/html/qemu-block/2021-02/msg00843.html
Minwoo Im (1):
hw/block/nvme: support command retry delay
hw/block/nvme.c | 68 +++-
hw/block/nvme.h | 2 ++
include/block/nvme.h | 13 -
3 files changed, 81 insertions(+), 2 deletions(-)
--
2.17.1
MP command interafce
will make us not to build QEMU itself again to control things in device.
This interface supports Persistent Loss state transition, but it's not
going to be persistent: volatile of qemu perspective.
Cc: Dr . David Alan Gilbert
Signed-off-by: Minwoo Im
---
hmp-command
side.
Signed-off-by: Minwoo Im
---
hw/block/nvme-ns.c | 26
hw/block/nvme-ns.h | 3 +
hw/block/nvme-subsys.c | 6 ++
hw/block/nvme-subsys.h | 6 ++
hw/block/nvme.c| 147 -
hw/block/nvme.h| 25 +++
include/block
,nsid=2,subsys=subsys0,ana.grpid=2 \
ANA state transition (HMP command)
(qemu) nvme_ana_inject_state nvme0 1 inaccessible
nvme0: ANA state inaccessible(3) injected
Thanks,
Minwoo Im (2):
hw/block/nvme: support Asymmetric Namespace Access(ANA)
hw/block/nvme: add
On 21-02-11 13:07:08, Klaus Jensen wrote:
> On Feb 11 11:49, Minwoo Im wrote:
> > On 21-01-27 14:15:05, Klaus Jensen wrote:
> > > From: Klaus Jensen
> > >
> > > For most commands, when issuing an AIO, the BlockAIOCB is stored in the
> > > NvmeRequ
Thanks Klaus,
Reviewed-by: Minwoo Im
Reviewed-by: Minwoo Im
On 21-02-11 13:24:22, Keith Busch wrote:
> On Thu, Feb 11, 2021 at 12:38:48PM +0900, Minwoo Im wrote:
> > On 21-02-11 12:00:11, Keith Busch wrote:
> > > But I would prefer to see advanced retry tied to real errors that can be
> > > retried, like if we got an EBUSY or EAG
On 21-02-10 21:19:43, Klaus Jensen wrote:
> On Feb 11 04:52, Minwoo Im wrote:
> > @@ -945,6 +945,11 @@ static void nvme_post_cqes(void *opaque)
> > static void nvme_enqueue_req_completion(NvmeCQueue *cq, NvmeRequest *req)
> > {
> > assert(cq->cqid == req->
On 21-02-11 12:00:11, Keith Busch wrote:
> On Thu, Feb 11, 2021 at 04:52:52AM +0900, Minwoo Im wrote:
> > nvme_inject_state command is to give a controller state to be.
> > Human Monitor Interface(HMP) supports users to make controller to a
> > specified state of
On 21-02-10 21:33:50, Klaus Jensen wrote:
> On Feb 11 04:52, Minwoo Im wrote:
> > nvme_inject_state command is to give a controller state to be.
> > Human Monitor Interface(HMP) supports users to make controller to a
> > specified state of:
> >
> > normal:
On 21-02-09 12:08:26, Klaus Jensen wrote:
> From: Klaus Jensen
>
> Move a bunch of functions that are internal to a device out of the
> shared header.
May I ask why? I think some kind of these helpers can stick onto the
header.
-by: Philippe Mathieu-Daudé
> Signed-off-by: Klaus Jensen
Please add description about consolidation of nvme-ns.h and
nvme-subsys.h to the nvme.h for a unified header file when you apply
this patch! :)
Acked-by: Minwoo Im
On 21-01-27 14:15:05, Klaus Jensen wrote:
> From: Klaus Jensen
>
> For most commands, when issuing an AIO, the BlockAIOCB is stored in the
> NvmeRequest aiocb pointer when the AIO is issued. The purpose of storing
> this is to allow the AIO to be cancelled when deleting submission
> queues (it is
7; is not given, the default value will be -1 which is
CRDT will not be configured at all and ACRE will not be supported. In
this case, we just set NVME_DNR to the error CQ entry just like we used
to. If it's given to positive value, then ACRE will be supported by the
device.
Signed-off-by:
nvme0 cmd-interrupted
(qemu) nvme_inject_state nvme0 normal
This feature is required to test Linux kernel NVMe driver for the
command retry feature.
Signed-off-by: Minwoo Im
---
hmp-commands.hx | 13
hw/block/nvme.c
sed with Command Interrupted status code. Then host
# will retry based on the delay.
Thanks,
Minwoo Im (3):
hw/block/nvme: set NVME_DNR in a single place
hw/block/nvme: support command retry delay
hw/block/nvme: add nvme_inject_state HMP command
hmp-commands.hx
Set NVME_DNR in the CQ entry status field right before writing the CQ
entry: in nvme_post_cqes(). We have put NVME_DNR for all CQ entry
status for all error cases. This patch is a former patch to support
command retry feature.
Signed-off-by: Minwoo Im
---
hw/block/nvme.c | 192
)
indicating the number of the controller id entries. So, the data can
hold up to 2047 entries for the controller ids.
Signed-off-by: Minwoo Im
---
hw/block/nvme.c | 42 ++
hw/block/trace-events | 1 +
include/block/nvme.h | 1 +
3 files changed
ubsystem.
Signed-off-by: Minwoo Im
---
hw/block/nvme-subsys.h | 13 +
hw/block/nvme.c| 63 +++---
2 files changed, 60 insertions(+), 16 deletions(-)
diff --git a/hw/block/nvme-subsys.h b/hw/block/nvme-subsys.h
index 8a0732b22316..14627f9ccb41 10
This patch has no functional changes. This patch just refactored
nvme_select_ns_iocs() to iterate the attached namespaces of the
controlller and make it invoke __nvme_select_ns_iocs().
Signed-off-by: Minwoo Im
---
hw/block/nvme.c | 36 +---
1 file changed, 21
1 - 100 of 248 matches
Mail list logo