[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [qemu/qemu] e8cc43: MAINTAINERS: update nvme entry
From: |
Peter Maydell |
Subject: |
[Qemu-commits] [qemu/qemu] e8cc43: MAINTAINERS: update nvme entry |
Date: |
Thu, 03 Sep 2020 04:30:28 -0700 |
Branch: refs/heads/master
Home: https://github.com/qemu/qemu
Commit: e8cc43d5cc680d348fcc43c46fc2d5e603d0579e
https://github.com/qemu/qemu/commit/e8cc43d5cc680d348fcc43c46fc2d5e603d0579e
Author: Keith Busch <kbusch@kernel.org>
Date: 2020-09-02 (Wed, 02 Sep 2020)
Changed paths:
M MAINTAINERS
Log Message:
-----------
MAINTAINERS: update nvme entry
The nvme emulated device development pace has increased recently. Klaus
has offered to co-maintain, and since we have many new contributions
coming through, we're adding a repository to accumulate and test new
features.
Cc: Klaus Jensen <its@irrelevant.dk>
Acked-by: Klaus Jensen <k.jensen@samsung.com>
Acked-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Keith Busch <kbusch@kernel.org>
Commit: 7a85fb7faa43f9acc22ab507b6038116cf297fb4
https://github.com/qemu/qemu/commit/7a85fb7faa43f9acc22ab507b6038116cf297fb4
Author: Philippe Mathieu-Daudé <philmd@redhat.com>
Date: 2020-09-02 (Wed, 02 Sep 2020)
Changed paths:
M hw/block/nvme.c
Log Message:
-----------
hw/block/nvme: Update specification URL
At some point the URL changed, update it to avoid other
developers to search for it.
Reviewed-by: Dmitry Fomichev <dmitry.fomichev@wdc.com>
Reviewed-by: Klaus Jensen <k.jensen@samsung.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20200630110429.19972-2-philmd@redhat.com>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Commit: e989738f3ab3283039385e5771e459b3f2ccfbf1
https://github.com/qemu/qemu/commit/e989738f3ab3283039385e5771e459b3f2ccfbf1
Author: Philippe Mathieu-Daudé <philmd@redhat.com>
Date: 2020-09-02 (Wed, 02 Sep 2020)
Changed paths:
M include/block/nvme.h
Log Message:
-----------
hw/block/nvme: Use QEMU_PACKED on hardware/packet structures
These structures either describe hardware registers, or
commands ('packets') to send to the hardware. To forbid
the compiler to optimize and change fields alignment,
mark the structures as packed.
Reviewed-by: Dmitry Fomichev <dmitry.fomichev@wdc.com>
Reviewed-by: Klaus Jensen <k.jensen@samsung.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20200630110429.19972-3-philmd@redhat.com>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Commit: af4a367d15d26c5594b4c38060083aa77a649a90
https://github.com/qemu/qemu/commit/af4a367d15d26c5594b4c38060083aa77a649a90
Author: Philippe Mathieu-Daudé <philmd@redhat.com>
Date: 2020-09-02 (Wed, 02 Sep 2020)
Changed paths:
M include/block/nvme.h
Log Message:
-----------
hw/block/nvme: Fix pmrmsc register size
The Persistent Memory Region Controller Memory Space Control
register is 64-bit wide. See 'Figure 68: Register Definition'
of the 'NVM Express Base Specification Revision 1.4'.
Fixes: 6cf9413229 ("introduce PMR support from NVMe 1.4 spec")
Reported-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Dmitry Fomichev <dmitry.fomichev@wdc.com>
Reviewed-by: Klaus Jensen <k.jensen@samsung.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20200630110429.19972-4-philmd@redhat.com>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Commit: 74e18435c0eb59004e580f7103b3482fafab2c47
https://github.com/qemu/qemu/commit/74e18435c0eb59004e580f7103b3482fafab2c47
Author: Philippe Mathieu-Daudé <philmd@redhat.com>
Date: 2020-09-02 (Wed, 02 Sep 2020)
Changed paths:
M hw/block/nvme.c
M include/block/nvme.h
Log Message:
-----------
hw/block/nvme: Align I/O BAR to 4 KiB
Simplify the NVMe emulated device by aligning the I/O BAR to 4 KiB.
Reviewed-by: Dmitry Fomichev <dmitry.fomichev@wdc.com>
Reviewed-by: Klaus Jensen <k.jensen@samsung.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20200630110429.19972-5-philmd@redhat.com>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Commit: c26f21737045a6c6ce7fbdea998868d9bcd9b489
https://github.com/qemu/qemu/commit/c26f21737045a6c6ce7fbdea998868d9bcd9b489
Author: Klaus Jensen <k.jensen@samsung.com>
Date: 2020-09-02 (Wed, 02 Sep 2020)
Changed paths:
M block/nvme.c
M hw/block/nvme.c
M include/block/nvme.h
Log Message:
-----------
hw/block/nvme: bump spec data structures to v1.3
Add missing fields in the Identify Controller and Identify Namespace
data structures to bring them in line with NVMe v1.3.
This also adds data structures and defines for SGL support which
requires a couple of trivial changes to the nvme block driver as well.
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Acked-by: Fam Zheng <fam@euphon.net>
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Reviewed-by: Dmitry Fomichev <dmitry.fomichev@wdc.com>
Message-Id: <20200706061303.246057-2-its@irrelevant.dk>
Commit: a70174ef2e6cd73b8e071ed7ce3cbef8ccb60089
https://github.com/qemu/qemu/commit/a70174ef2e6cd73b8e071ed7ce3cbef8ccb60089
Author: Klaus Jensen <k.jensen@samsung.com>
Date: 2020-09-02 (Wed, 02 Sep 2020)
Changed paths:
M hw/block/nvme.c
Log Message:
-----------
hw/block/nvme: fix missing endian conversion
Fix a missing cpu_to conversion by moving conversion to just before
returning instead.
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Suggested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Dmitry Fomichev <dmitry.fomichev@wdc.com>
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Message-Id: <20200706061303.246057-3-its@irrelevant.dk>
Commit: a04425fb06738b696ba81a5494645965b1c5955b
https://github.com/qemu/qemu/commit/a04425fb06738b696ba81a5494645965b1c5955b
Author: Klaus Jensen <k.jensen@samsung.com>
Date: 2020-09-02 (Wed, 02 Sep 2020)
Changed paths:
M hw/block/nvme.c
M hw/block/trace-events
Log Message:
-----------
hw/block/nvme: additional tracing
Add various additional tracing and streamline nvme_identify_ns and
nvme_identify_nslist (they do not need to repeat the command, it is
already in the trace name).
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Dmitry Fomichev <dmitry.fomichev@wdc.com>
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Message-Id: <20200706061303.246057-4-its@irrelevant.dk>
Commit: 1504ede69304ee8588483dd8c5e6434dd2c0faff
https://github.com/qemu/qemu/commit/1504ede69304ee8588483dd8c5e6434dd2c0faff
Author: Klaus Jensen <k.jensen@samsung.com>
Date: 2020-09-02 (Wed, 02 Sep 2020)
Changed paths:
M hw/block/nvme.c
Log Message:
-----------
hw/block/nvme: add support for the abort command
Required for compliance with NVMe revision 1.3d. See NVM Express 1.3d,
Section 5.1 ("Abort command").
The Abort command is a best effort command; for now, the device always
fails to abort the given command.
Signed-off-by: Klaus Jensen <klaus.jensen@cnexlabs.com>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Acked-by: Keith Busch <kbusch@kernel.org>
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Reviewed-by: Dmitry Fomichev <dmitry.fomichev@wdc.com>
Message-Id: <20200706061303.246057-5-its@irrelevant.dk>
Commit: 69ff06c49e9b0768bd68d887c2f29e8ff84dfaf3
https://github.com/qemu/qemu/commit/69ff06c49e9b0768bd68d887c2f29e8ff84dfaf3
Author: Klaus Jensen <k.jensen@samsung.com>
Date: 2020-09-02 (Wed, 02 Sep 2020)
Changed paths:
M hw/block/nvme.c
M hw/block/nvme.h
M include/block/nvme.h
Log Message:
-----------
hw/block/nvme: add temperature threshold feature
It might seem weird to implement this feature for an emulated device,
but it is mandatory to support and the feature is useful for testing
asynchronous event request support, which will be added in a later
patch.
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Acked-by: Keith Busch <kbusch@kernel.org>
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Reviewed-by: Dmitry Fomichev <dmitry.fomichev@wdc.com>
Message-Id: <20200706061303.246057-6-its@irrelevant.dk>
Commit: 42a42e4610ab9e4ca0bcc976f4b19f9f612a085e
https://github.com/qemu/qemu/commit/42a42e4610ab9e4ca0bcc976f4b19f9f612a085e
Author: Klaus Jensen <k.jensen@samsung.com>
Date: 2020-09-02 (Wed, 02 Sep 2020)
Changed paths:
M hw/block/nvme.c
M include/block/nvme.h
Log Message:
-----------
hw/block/nvme: mark fw slot 1 as read-only
Mark firmware slot 1 as read-only and only support that slot.
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Dmitry Fomichev <dmitry.fomichev@wdc.com>
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Message-Id: <20200706061303.246057-7-its@irrelevant.dk>
Commit: 94a7897c41db0596c544af1bd27eedb833eae496
https://github.com/qemu/qemu/commit/94a7897c41db0596c544af1bd27eedb833eae496
Author: Klaus Jensen <k.jensen@samsung.com>
Date: 2020-09-02 (Wed, 02 Sep 2020)
Changed paths:
M hw/block/nvme.c
M hw/block/nvme.h
M hw/block/trace-events
M include/block/nvme.h
Log Message:
-----------
hw/block/nvme: add support for the get log page command
Add support for the Get Log Page command and basic implementations of
the mandatory Error Information, SMART / Health Information and Firmware
Slot Information log pages.
In violation of the specification, the SMART / Health Information log
page does not persist information over the lifetime of the controller
because the device has no place to store such persistent state.
Note that the LPA field in the Identify Controller data structure
intentionally has bit 0 cleared because there is no namespace specific
information in the SMART / Health information log page.
Required for compliance with NVMe revision 1.3d. See NVM Express 1.3d,
Section 5.14 ("Get Log Page command").
Signed-off-by: Klaus Jensen <klaus.jensen@cnexlabs.com>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Acked-by: Keith Busch <kbusch@kernel.org>
Reviewed-by: Dmitry Fomichev <dmitry.fomichev@wdc.com>
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Message-Id: <20200706061303.246057-8-its@irrelevant.dk>
Commit: 5d5a53302b95c50197d007407d24e2da3397926a
https://github.com/qemu/qemu/commit/5d5a53302b95c50197d007407d24e2da3397926a
Author: Klaus Jensen <k.jensen@samsung.com>
Date: 2020-09-02 (Wed, 02 Sep 2020)
Changed paths:
M hw/block/nvme.c
M hw/block/nvme.h
M hw/block/trace-events
M include/block/nvme.h
Log Message:
-----------
hw/block/nvme: add support for the asynchronous event request command
Add support for the Asynchronous Event Request command. Required for
compliance with NVMe revision 1.3d. See NVM Express 1.3d, Section 5.2
("Asynchronous Event Request command").
Mostly imported from Keith's qemu-nvme tree. Modified with a max number
of queued events (controllable with the aer_max_queued device
parameter). The spec states that the controller *should* retain
events, so we do best effort here.
Signed-off-by: Klaus Jensen <klaus.jensen@cnexlabs.com>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Acked-by: Keith Busch <kbusch@kernel.org>
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Reviewed-by: Dmitry Fomichev <dmitry.fomichev@wdc.com>
Message-Id: <20200706061303.246057-9-its@irrelevant.dk>
Commit: 46ac29c38bb45184db71dfbfbf5a31b3c12dbe29
https://github.com/qemu/qemu/commit/46ac29c38bb45184db71dfbfbf5a31b3c12dbe29
Author: Klaus Jensen <k.jensen@samsung.com>
Date: 2020-09-02 (Wed, 02 Sep 2020)
Changed paths:
M hw/block/nvme.h
M include/block/nvme.h
Log Message:
-----------
hw/block/nvme: move NvmeFeatureVal into hw/block/nvme.h
The NvmeFeatureVal does not belong with the spec-related data structures
in include/block/nvme.h that is shared between the block-level nvme
driver and the emulated nvme device.
Move it into the nvme device specific header file as it is the only
user of the structure. Also, remove the unused members.
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Dmitry Fomichev <dmitry.fomichev@wdc.com>
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Message-Id: <20200706061303.246057-10-its@irrelevant.dk>
Commit: d21d37f5ab8c439ea183d8b04c469823d3b0b5ef
https://github.com/qemu/qemu/commit/d21d37f5ab8c439ea183d8b04c469823d3b0b5ef
Author: Klaus Jensen <k.jensen@samsung.com>
Date: 2020-09-02 (Wed, 02 Sep 2020)
Changed paths:
M hw/block/nvme.c
Log Message:
-----------
hw/block/nvme: flush write cache when disabled
If the write cache is disabled with a Set Features command, flush it if
currently enabled.
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Dmitry Fomichev <dmitry.fomichev@wdc.com>
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Message-Id: <20200706061303.246057-11-its@irrelevant.dk>
Commit: 1302e48e499c526583b3182ad8c9b7e32010ac53
https://github.com/qemu/qemu/commit/1302e48e499c526583b3182ad8c9b7e32010ac53
Author: Klaus Jensen <k.jensen@samsung.com>
Date: 2020-09-02 (Wed, 02 Sep 2020)
Changed paths:
M hw/block/nvme.c
M hw/block/trace-events
M include/block/nvme.h
Log Message:
-----------
hw/block/nvme: add remaining mandatory controller parameters
Add support for any remaining mandatory controller operating parameters
(features).
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Dmitry Fomichev <dmitry.fomichev@wdc.com>
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Message-Id: <20200706061303.246057-12-its@irrelevant.dk>
Commit: 7c46310d298d8caa9dd0e4c0846331dd148a575c
https://github.com/qemu/qemu/commit/7c46310d298d8caa9dd0e4c0846331dd148a575c
Author: Klaus Jensen <k.jensen@samsung.com>
Date: 2020-09-02 (Wed, 02 Sep 2020)
Changed paths:
M hw/block/nvme.c
M hw/block/trace-events
M include/block/nvme.h
Log Message:
-----------
hw/block/nvme: support the get/set features select and save fields
Since the device does not have any persistent state storage, no
features are "saveable" and setting the Save (SV) field in any Set
Features command will result in a Feature Identifier Not Saveable status
code.
Similarly, if the Select (SEL) field is set to request saved values, the
devices will (as it should) return the default values instead.
Since this also introduces "Supported Capabilities", the nsid field is
now also checked for validity wrt. the feature being get/set'ed.
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Dmitry Fomichev <dmitry.fomichev@wdc.com>
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Message-Id: <20200706061303.246057-13-its@irrelevant.dk>
Commit: 9932551154ff38b87e73c0ab209a1b75f702e84d
https://github.com/qemu/qemu/commit/9932551154ff38b87e73c0ab209a1b75f702e84d
Author: Klaus Jensen <k.jensen@samsung.com>
Date: 2020-09-02 (Wed, 02 Sep 2020)
Changed paths:
M hw/block/nvme.c
Log Message:
-----------
hw/block/nvme: make sure ncqr and nsqr is valid
0xffff is not an allowed value for NCQR and NSQR in Set Features on
Number of Queues.
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Acked-by: Keith Busch <kbusch@kernel.org>
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Reviewed-by: Dmitry Fomichev <dmitry.fomichev@wdc.com>
Message-Id: <20200706061303.246057-14-its@irrelevant.dk>
Commit: 464eaa7292ab8b8fc3f09780649f89009ac2c535
https://github.com/qemu/qemu/commit/464eaa7292ab8b8fc3f09780649f89009ac2c535
Author: Klaus Jensen <k.jensen@samsung.com>
Date: 2020-09-02 (Wed, 02 Sep 2020)
Changed paths:
M hw/block/nvme.c
M hw/block/trace-events
Log Message:
-----------
hw/block/nvme: support identify namespace descriptor list
Since we are not providing the NGUID or EUI64 fields, we must support
the Namespace UUID. We do not have any way of storing a persistent
unique identifier, so conjure up a UUID that is just the namespace id.
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Dmitry Fomichev <dmitry.fomichev@wdc.com>
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Message-Id: <20200706061303.246057-15-its@irrelevant.dk>
Commit: 38a58e7ce38cf73f25e5242f5f1abcfcbd250a6d
https://github.com/qemu/qemu/commit/38a58e7ce38cf73f25e5242f5f1abcfcbd250a6d
Author: Klaus Jensen <k.jensen@samsung.com>
Date: 2020-09-02 (Wed, 02 Sep 2020)
Changed paths:
M hw/block/nvme.c
Log Message:
-----------
hw/block/nvme: reject invalid nsid values in active namespace id list
Reject the nsid broadcast value (0xffffffff) and 0xfffffffe in the
Active Namespace ID list.
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Dmitry Fomichev <dmitry.fomichev@wdc.com>
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Message-Id: <20200706061303.246057-16-its@irrelevant.dk>
Commit: 9e7ecdca26c34ffc5bda3d1d49e90bbb6b4f4422
https://github.com/qemu/qemu/commit/9e7ecdca26c34ffc5bda3d1d49e90bbb6b4f4422
Author: Klaus Jensen <k.jensen@samsung.com>
Date: 2020-09-02 (Wed, 02 Sep 2020)
Changed paths:
M hw/block/nvme.c
M hw/block/nvme.h
Log Message:
-----------
hw/block/nvme: enforce valid queue creation sequence
Support returning Command Sequence Error if Set Features on Number of
Queues is called after queues have been created.
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Reviewed-by: Dmitry Fomichev <dmitry.fomichev@wdc.com>
Message-Id: <20200706061303.246057-17-its@irrelevant.dk>
Commit: ccbefdb51d55b6649cf30541a2d2542dc6f89fab
https://github.com/qemu/qemu/commit/ccbefdb51d55b6649cf30541a2d2542dc6f89fab
Author: Klaus Jensen <k.jensen@samsung.com>
Date: 2020-09-02 (Wed, 02 Sep 2020)
Changed paths:
M hw/block/nvme.c
Log Message:
-----------
hw/block/nvme: provide the mandatory subnqn field
The SUBNQN field is mandatory in NVM Express 1.3.
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Dmitry Fomichev <dmitry.fomichev@wdc.com>
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Message-Id: <20200706061303.246057-18-its@irrelevant.dk>
Commit: 3c40434e516d1541d3f356dbad8c695447a5a7ad
https://github.com/qemu/qemu/commit/3c40434e516d1541d3f356dbad8c695447a5a7ad
Author: Klaus Jensen <k.jensen@samsung.com>
Date: 2020-09-02 (Wed, 02 Sep 2020)
Changed paths:
M hw/block/nvme.c
Log Message:
-----------
hw/block/nvme: bump supported version to v1.3
Bump the supported NVM Express version to v1.3.
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Reviewed-by: Dmitry Fomichev <dmitry.fomichev@wdc.com>
Message-Id: <20200706061303.246057-19-its@irrelevant.dk>
Commit: d1322b46684ef38f78760acfd4861b396a9c0264
https://github.com/qemu/qemu/commit/d1322b46684ef38f78760acfd4861b396a9c0264
Author: Klaus Jensen <k.jensen@samsung.com>
Date: 2020-09-02 (Wed, 02 Sep 2020)
Changed paths:
M hw/block/nvme.c
Log Message:
-----------
hw/block/nvme: memset preallocated requests structures
This is preparatory to subsequent patches that change how QSGs/IOVs are
handled. It is important that the qsg and iov members of the NvmeRequest
are initially zeroed.
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Reviewed-by: Minwoo Im <minwoo.im.dev@gmail.com>
Commit: a80b2ce68251cf5b11c450173128f29223045b9c
https://github.com/qemu/qemu/commit/a80b2ce68251cf5b11c450173128f29223045b9c
Author: Klaus Jensen <k.jensen@samsung.com>
Date: 2020-09-02 (Wed, 02 Sep 2020)
Changed paths:
M hw/block/nvme.c
M hw/block/trace-events
Log Message:
-----------
hw/block/nvme: add mapping helpers
Add nvme_map_addr, nvme_map_addr_cmb and nvme_addr_to_cmb helpers and
use them in nvme_map_prp.
This fixes a bug where in the case of a CMB transfer, the device would
map to the buffer with a wrong length.
Fixes: b2b2b67a00574 ("nvme: Add support for Read Data and Write Data in CMBs.")
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Reviewed-by: Minwoo Im <minwoo.im.dev@gmail.com>
Reviewed-by: Andrzej Jakowski <andrzej.jakowski@linux.intel.com>
Commit: 904248a53f3506fc41d30c6ef63d3ee7692d76d5
https://github.com/qemu/qemu/commit/904248a53f3506fc41d30c6ef63d3ee7692d76d5
Author: Klaus Jensen <k.jensen@samsung.com>
Date: 2020-09-02 (Wed, 02 Sep 2020)
Changed paths:
M hw/block/nvme.c
Log Message:
-----------
hw/block/nvme: replace dma_acct with blk_acct equivalent
The QSG isn't always initialized, so accounting could be wrong. Issue a
call to blk_acct_start instead with the size taken from the QSG or IOV
depending on the kind of I/O.
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Reviewed-by: Minwoo Im <minwoo.im.dev@gmail.com>
Commit: 13b4463d8b4f46ab69755d1dd74c6a0c957cce08
https://github.com/qemu/qemu/commit/13b4463d8b4f46ab69755d1dd74c6a0c957cce08
Author: Klaus Jensen <k.jensen@samsung.com>
Date: 2020-09-02 (Wed, 02 Sep 2020)
Changed paths:
M hw/block/nvme.c
M hw/block/nvme.h
Log Message:
-----------
hw/block/nvme: remove redundant has_sg member
Remove the has_sg member from NvmeRequest since it's redundant.
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Minwoo Im <minwoo.im.dev@gmail.com>
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Commit: f06a6aa9648c0567fda12b75358630b595834490
https://github.com/qemu/qemu/commit/f06a6aa9648c0567fda12b75358630b595834490
Author: Klaus Jensen <k.jensen@samsung.com>
Date: 2020-09-02 (Wed, 02 Sep 2020)
Changed paths:
M hw/block/nvme.c
Log Message:
-----------
hw/block/nvme: destroy request iov before reuse
Make sure the request iov is destroyed before reuse; fixing a memory
leak.
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Minwoo Im <minwoo.im.dev@gmail.com>
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Commit: 794ef1b5a7a6053f5dd1ea20c75c2c292d2a1f51
https://github.com/qemu/qemu/commit/794ef1b5a7a6053f5dd1ea20c75c2c292d2a1f51
Author: Klaus Jensen <k.jensen@samsung.com>
Date: 2020-09-02 (Wed, 02 Sep 2020)
Changed paths:
M hw/block/nvme.c
Log Message:
-----------
hw/block/nvme: refactor dma read/write
Refactor the nvme_dma_{read,write}_prp functions into a common function
taking a DMADirection parameter.
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Reviewed-by: Minwoo Im <minwoo.im.dev@gmail.com>
Commit: 19012fb898d0a4b3e5999212d01923a5e45cb399
https://github.com/qemu/qemu/commit/19012fb898d0a4b3e5999212d01923a5e45cb399
Author: Klaus Jensen <k.jensen@samsung.com>
Date: 2020-09-02 (Wed, 02 Sep 2020)
Changed paths:
M hw/block/nvme.c
M hw/block/trace-events
Log Message:
-----------
hw/block/nvme: add tracing to nvme_map_prp
Add tracing to nvme_map_prp.
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Minwoo Im <minwoo.im.dev@gmail.com>
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Commit: 6d1257f973e2be5c98650147f6cc89a5a05699e3
https://github.com/qemu/qemu/commit/6d1257f973e2be5c98650147f6cc89a5a05699e3
Author: Klaus Jensen <k.jensen@samsung.com>
Date: 2020-09-02 (Wed, 02 Sep 2020)
Changed paths:
M hw/block/nvme.c
Log Message:
-----------
hw/block/nvme: add request mapping helper
Introduce the nvme_map helper to remove some noise in the main nvme_rw
function.
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Reviewed-by: Minwoo Im <minwoo.im.dev@gmail.com>
Commit: 076c816f4e62824714427a9d193f31ccb693d404
https://github.com/qemu/qemu/commit/076c816f4e62824714427a9d193f31ccb693d404
Author: Klaus Jensen <k.jensen@samsung.com>
Date: 2020-09-02 (Wed, 02 Sep 2020)
Changed paths:
M hw/block/nvme.c
Log Message:
-----------
hw/block/nvme: verify validity of prp lists in the cmb
Before this patch the device already supported PRP lists in the CMB, but
it did not check for the validity of it nor announced the support in the
Identify Controller data structure LISTS field.
If some of the PRPs in a PRP list are in the CMB, then ALL entries must
be there. This patch makes sure that requirement is verified as well as
properly announcing support for PRP lists in the CMB.
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Reviewed-by: Minwoo Im <minwoo.im.dev@gmail.com>
Commit: 36c100f530b52cc43ad214c48dcfe4c6752859b6
https://github.com/qemu/qemu/commit/36c100f530b52cc43ad214c48dcfe4c6752859b6
Author: Klaus Jensen <k.jensen@samsung.com>
Date: 2020-09-02 (Wed, 02 Sep 2020)
Changed paths:
M hw/block/nvme.c
Log Message:
-----------
hw/block/nvme: refactor request bounds checking
Hoist bounds checking into its own function and check for wrap-around.
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Reviewed-by: Minwoo Im <minwoo.im.dev@gmail.com>
Commit: e137d20e7dfff00d0662b3d2d256e9c92f7a7f4a
https://github.com/qemu/qemu/commit/e137d20e7dfff00d0662b3d2d256e9c92f7a7f4a
Author: Klaus Jensen <k.jensen@samsung.com>
Date: 2020-09-02 (Wed, 02 Sep 2020)
Changed paths:
M hw/block/nvme.c
M hw/block/nvme.h
M hw/block/trace-events
Log Message:
-----------
hw/block/nvme: add check for mdts
Add 'mdts' device parameter to control the Maximum Data Transfer Size of
the controller and check that it is respected.
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Reviewed-by: Minwoo Im <minwoo.im.dev@gmail.com>
Commit: 69265150aa53f0e1dbc85809800df40ffc9e7d67
https://github.com/qemu/qemu/commit/69265150aa53f0e1dbc85809800df40ffc9e7d67
Author: Klaus Jensen <k.jensen@samsung.com>
Date: 2020-09-02 (Wed, 02 Sep 2020)
Changed paths:
M block/nvme.c
M hw/block/nvme.c
M include/block/nvme.h
Log Message:
-----------
hw/block/nvme: be consistent about zeros vs zeroes
The NVM Express specification generally uses 'zeroes' and not 'zeros',
so let us align with it.
Cc: Fam Zheng <fam@euphon.net>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Minwoo Im <minwoo.im.dev@gmail.com>
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Commit: 3143df3d568d45740473ef8d0cb73ae41eafad3f
https://github.com/qemu/qemu/commit/3143df3d568d45740473ef8d0cb73ae41eafad3f
Author: Klaus Jensen <k.jensen@samsung.com>
Date: 2020-09-02 (Wed, 02 Sep 2020)
Changed paths:
M hw/block/nvme.c
M hw/block/nvme.h
Log Message:
-----------
hw/block/nvme: add ns/cmd references in NvmeRequest
Instead of passing around the NvmeNamespace and the NvmeCmd, add them as
members in the NvmeRequest structure.
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Minwoo Im <minwoo.im.dev@gmail.com>
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Commit: c660ad250e04c598330f366a2b612ce60285d199
https://github.com/qemu/qemu/commit/c660ad250e04c598330f366a2b612ce60285d199
Author: Klaus Jensen <k.jensen@samsung.com>
Date: 2020-09-02 (Wed, 02 Sep 2020)
Changed paths:
M hw/block/nvme.c
Log Message:
-----------
hw/block/nvme: consolidate qsg/iov clearing
Always destroy the request qsg/iov at the end of request use.
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Reviewed-by: Minwoo Im <minwoo.im.dev@gmail.com>
Commit: d424d36a496da064de866469a344b07b771fbc12
https://github.com/qemu/qemu/commit/d424d36a496da064de866469a344b07b771fbc12
Author: Klaus Jensen <k.jensen@samsung.com>
Date: 2020-09-02 (Wed, 02 Sep 2020)
Changed paths:
M hw/block/nvme.c
Log Message:
-----------
hw/block/nvme: use preallocated qsg/iov in nvme_dma_prp
Since clean up of the request qsg/iov is now always done post-use, there
is no need to use a stack-allocated qsg/iov in nvme_dma_prp.
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Acked-by: Keith Busch <kbusch@kernel.org>
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Reviewed-by: Minwoo Im <minwoo.im.dev@gmail.com>
Commit: 82386d4a0f19ff1e6a04e29f104da1d12269539e
https://github.com/qemu/qemu/commit/82386d4a0f19ff1e6a04e29f104da1d12269539e
Author: Klaus Jensen <k.jensen@samsung.com>
Date: 2020-09-02 (Wed, 02 Sep 2020)
Changed paths:
M hw/block/nvme.c
Log Message:
-----------
hw/block/nvme: remove explicit qsg/iov parameters
Since nvme_map_prp always operate on the request-scoped qsg/iovs, just
pass a single pointer to the NvmeRequest instead of two for each of the
qsg and iov.
Suggested-by: Minwoo Im <minwoo.im.dev@gmail.com>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Minwoo Im <minwoo.im.dev@gmail.com>
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Commit: e4d8b7c1a95fffcfa4bdab9aa7ffd1cf590cdcf5
https://github.com/qemu/qemu/commit/e4d8b7c1a95fffcfa4bdab9aa7ffd1cf590cdcf5
Author: Peter Maydell <peter.maydell@linaro.org>
Date: 2020-09-02 (Wed, 02 Sep 2020)
Changed paths:
M MAINTAINERS
M block/nvme.c
M hw/block/nvme.c
M hw/block/nvme.h
M hw/block/trace-events
M include/block/nvme.h
Log Message:
-----------
Merge remote-tracking branch 'remotes/nvme/tags/pull-nvme-20200902' into
staging
qemu-nvme
# gpg: Signature made Wed 02 Sep 2020 15:39:10 BST
# gpg: using RSA key DBC11D2D373B4A3755F502EC625156610A4F6CC0
# gpg: Good signature from "Keith Busch <kbusch@kernel.org>" [unknown]
# gpg: aka "Keith Busch <keith.busch@gmail.com>" [unknown]
# gpg: aka "Keith Busch <keith.busch@intel.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: DBC1 1D2D 373B 4A37 55F5 02EC 6251 5661 0A4F 6CC0
* remotes/nvme/tags/pull-nvme-20200902: (39 commits)
hw/block/nvme: remove explicit qsg/iov parameters
hw/block/nvme: use preallocated qsg/iov in nvme_dma_prp
hw/block/nvme: consolidate qsg/iov clearing
hw/block/nvme: add ns/cmd references in NvmeRequest
hw/block/nvme: be consistent about zeros vs zeroes
hw/block/nvme: add check for mdts
hw/block/nvme: refactor request bounds checking
hw/block/nvme: verify validity of prp lists in the cmb
hw/block/nvme: add request mapping helper
hw/block/nvme: add tracing to nvme_map_prp
hw/block/nvme: refactor dma read/write
hw/block/nvme: destroy request iov before reuse
hw/block/nvme: remove redundant has_sg member
hw/block/nvme: replace dma_acct with blk_acct equivalent
hw/block/nvme: add mapping helpers
hw/block/nvme: memset preallocated requests structures
hw/block/nvme: bump supported version to v1.3
hw/block/nvme: provide the mandatory subnqn field
hw/block/nvme: enforce valid queue creation sequence
hw/block/nvme: reject invalid nsid values in active namespace id list
...
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Compare: https://github.com/qemu/qemu/compare/ed215cec0fca...e4d8b7c1a95f
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-commits] [qemu/qemu] e8cc43: MAINTAINERS: update nvme entry,
Peter Maydell <=