qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 5f62d0: hw/block/nvme: fix typo in trace even


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] 5f62d0: hw/block/nvme: fix typo in trace event
Date: Mon, 02 Nov 2020 12:29:41 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 5f62d00f4d293b79f6ccb017638c111e764e4f0b
      
https://github.com/qemu/qemu/commit/5f62d00f4d293b79f6ccb017638c111e764e4f0b
  Author: Klaus Jensen <k.jensen@samsung.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/block/trace-events

  Log Message:
  -----------
  hw/block/nvme: fix typo in trace event

Fix a typo in the sq doorbell trace event.

Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Keith Busch <kbusch@kernel.org>


  Commit: 195cc354696d75e9625cf303a0791404b3215501
      
https://github.com/qemu/qemu/commit/195cc354696d75e9625cf303a0791404b3215501
  Author: Klaus Jensen <k.jensen@samsung.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M include/hw/pci/pci.h

  Log Message:
  -----------
  pci: pass along the return value of dma_memory_rw

Some devices might want to know the return value of dma_memory_rw, so
pass it along instead of ignoring it.

There are no existing users of the return value, so this patch should be
safe.

Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Keith Busch <kbusch@kernel.org>


  Commit: 94cbcf530f9d9789b75ef1ae227ba4a4f702bf7d
      
https://github.com/qemu/qemu/commit/94cbcf530f9d9789b75ef1ae227ba4a4f702bf7d
  Author: Klaus Jensen <k.jensen@samsung.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/block/nvme.c
    M hw/block/trace-events

  Log Message:
  -----------
  hw/block/nvme: handle dma errors

Handling DMA errors gracefully is required for the device to pass the
block/011 test ("disable PCI device while doing I/O") in the blktests
suite.

With this patch the device sets the Controller Fatal Status bit in the
CSTS register when failing to read from a submission queue or writing to
a completion queue; expecting the host to reset the controller.

If DMA errors occur at any other point in the execution of the command
(say, while mapping the PRPs), the command is aborted with a Data
Transfer Error status code.

Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Keith Busch <kbusch@kernel.org>


  Commit: c6056bd1ce63d6d4eac6c54126c32838624efdac
      
https://github.com/qemu/qemu/commit/c6056bd1ce63d6d4eac6c54126c32838624efdac
  Author: Klaus Jensen <k.jensen@samsung.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/block/nvme.c

  Log Message:
  -----------
  hw/block/nvme: commonize nvme_rw error handling

Move common error handling to a label.

Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Keith Busch <kbusch@kernel.org>


  Commit: 2750384669ee038bd1f1fa33bbd4a660c351ea90
      
https://github.com/qemu/qemu/commit/2750384669ee038bd1f1fa33bbd4a660c351ea90
  Author: Klaus Jensen <k.jensen@samsung.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/block/nvme.c

  Log Message:
  -----------
  hw/block/nvme: alignment style fixes

Style fixes.

Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Keith Busch <kbusch@kernel.org>


  Commit: 9994f72bd8c379eda01503ef6a7b06b7900110c5
      
https://github.com/qemu/qemu/commit/9994f72bd8c379eda01503ef6a7b06b7900110c5
  Author: Klaus Jensen <k.jensen@samsung.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/block/nvme.c
    M hw/block/nvme.h

  Log Message:
  -----------
  hw/block/nvme: add a lba to bytes helper

Add the nvme_l2b helper and use it for converting NLB and SLBA to byte
counts and offsets.

Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Keith Busch <kbusch@kernel.org>


  Commit: fd90f26cc732b5c0f51140ba0d1f7fd31e8bf910
      
https://github.com/qemu/qemu/commit/fd90f26cc732b5c0f51140ba0d1f7fd31e8bf910
  Author: Klaus Jensen <k.jensen@samsung.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/block/nvme.c

  Log Message:
  -----------
  hw/block/nvme: fix endian conversion

The raw NLB field is a 16 bit value, so use le16_to_cpu instead of
le32_to_cpu and cast to uint32_t before incrementing the value to not
wrap around.

Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Keith Busch <kbusch@kernel.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>


  Commit: e2f79209cd0129b8f27b87908de09cdc44a94baa
      
https://github.com/qemu/qemu/commit/e2f79209cd0129b8f27b87908de09cdc44a94baa
  Author: Klaus Jensen <k.jensen@samsung.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/block/nvme.c
    M hw/block/nvme.h
    M hw/block/trace-events

  Log Message:
  -----------
  hw/block/nvme: add symbolic command name to trace events

Add the symbolic command name to the pci_nvme_{io,admin}_cmd and
pci_nvme_rw trace events.

Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Keith Busch <kbusch@kernel.org>


  Commit: 6a09a3d737adbacd2b1d19596f0ac05de2a08aa7
      
https://github.com/qemu/qemu/commit/6a09a3d737adbacd2b1d19596f0ac05de2a08aa7
  Author: Klaus Jensen <k.jensen@samsung.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/block/nvme.c
    M hw/block/nvme.h
    M hw/block/trace-events

  Log Message:
  -----------
  hw/block/nvme: refactor aio submission

This pulls block layer aio submission/completion to common functions.

For completions, additionally map an AIO error to the Unrecovered Read
and Write Fault status codes.

Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Keith Busch <kbusch@kernel.org>


  Commit: 92a10ec17f3ae7221b23f3eaefa29066e10d7973
      
https://github.com/qemu/qemu/commit/92a10ec17f3ae7221b23f3eaefa29066e10d7973
  Author: Klaus Jensen <k.jensen@samsung.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/block/nvme.c

  Log Message:
  -----------
  hw/block/nvme: default request status to success

Make the default request status NVME_SUCCESS so only error status codes
have to be set.

Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Keith Busch <kbusch@kernel.org>


  Commit: 6e0ac3a03f3ab0d0b69d086e3226bac77a20a468
      
https://github.com/qemu/qemu/commit/6e0ac3a03f3ab0d0b69d086e3226bac77a20a468
  Author: Klaus Jensen <k.jensen@samsung.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/block/nvme.c

  Log Message:
  -----------
  hw/block/nvme: harden cmb access

Since the controller has only supported PRPs so far it has not been
required to check the ending address (addr + len - 1) of the CMB access
for validity since it has been guaranteed to be in range of the CMB.

This changes when the controller adds support for SGLs (next patch), so
add that check.

Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Keith Busch <kbusch@kernel.org>


  Commit: cba0a8a344fea94aa2212e105611b8e099343cb1
      
https://github.com/qemu/qemu/commit/cba0a8a344fea94aa2212e105611b8e099343cb1
  Author: Klaus Jensen <k.jensen@samsung.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/block/nvme.c
    M hw/block/trace-events
    M include/block/nvme.h

  Log Message:
  -----------
  hw/block/nvme: add support for scatter gather lists

For now, support the Data Block, Segment and Last Segment descriptor
types.

See NVM Express 1.3d, Section 4.4 ("Scatter Gather List (SGL)").

Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Keith Busch <kbusch@kernel.org>


  Commit: d97eee64fef35655bd06f5c44a07fdb83a6274ae
      
https://github.com/qemu/qemu/commit/d97eee64fef35655bd06f5c44a07fdb83a6274ae
  Author: Gollu Appalanaidu <anaidu.gollu@samsung.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/block/nvme.c

  Log Message:
  -----------
  hw/block/nvme: add support for sgl bit bucket descriptor

This adds support for SGL descriptor type 0x1 (bit bucket descriptor).
See the NVM Express v1.3d specification, Section 4.4 ("Scatter Gather
List (SGL)").

Signed-off-by: Gollu Appalanaidu <anaidu.gollu@samsung.com>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Keith Busch <kbusch@kernel.org>


  Commit: 7c9c350c15289b601766c391024e0bfea8a36ee0
      
https://github.com/qemu/qemu/commit/7c9c350c15289b601766c391024e0bfea8a36ee0
  Author: Klaus Jensen <k.jensen@samsung.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/block/nvme.c

  Log Message:
  -----------
  hw/block/nvme: refactor identify active namespace id list

Prepare to support inactive namespaces.

Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Reviewed-by: Keith Busch <kbusch@kernel.org>


  Commit: 7f0f1acedf159d00684d495d7a14d52220c1d16b
      
https://github.com/qemu/qemu/commit/7f0f1acedf159d00684d495d7a14d52220c1d16b
  Author: Klaus Jensen <k.jensen@samsung.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/block/meson.build
    A hw/block/nvme-ns.c
    A hw/block/nvme-ns.h
    M hw/block/nvme.c
    M hw/block/nvme.h
    M hw/block/trace-events

  Log Message:
  -----------
  hw/block/nvme: support multiple namespaces

This adds support for multiple namespaces by introducing a new 'nvme-ns'
device model. The nvme device creates a bus named from the device name
('id'). The nvme-ns devices then connect to this and registers
themselves with the nvme device.

This changes how an nvme device is created. Example with two namespaces:

  -drive file=nvme0n1.img,if=none,id=disk1
  -drive file=nvme0n2.img,if=none,id=disk2
  -device nvme,serial=deadbeef,id=nvme0
  -device nvme-ns,drive=disk1,bus=nvme0,nsid=1
  -device nvme-ns,drive=disk2,bus=nvme0,nsid=2

The drive property is kept on the nvme device to keep the change
backward compatible, but the property is now optional. Specifying a
drive for the nvme device will always create the namespace with nsid 1.

Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Keith Busch <kbusch@kernel.org>
Reviewed-by: Minwoo Im <minwoo.im.dev@gmail.com>


  Commit: c1e18246618b3401ba1769bf88d2bcdf49e947aa
      
https://github.com/qemu/qemu/commit/c1e18246618b3401ba1769bf88d2bcdf49e947aa
  Author: Klaus Jensen <k.jensen@samsung.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M MAINTAINERS
    A docs/specs/nvme.txt
    M docs/specs/pci-ids.txt
    M include/hw/pci/pci.h

  Log Message:
  -----------
  pci: allocate pci id for nvme

The emulated nvme device (hw/block/nvme.c) is currently using an
internal Intel device id.

Prepare to change that by allocating a device id under the 1b36 (Red
Hat, Inc.) vendor id.

Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Acked-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Reviewed-by: Keith Busch <kbusch@kernel.org>


  Commit: 6eb7a071292a2f11065127ac152fa24248806021
      
https://github.com/qemu/qemu/commit/6eb7a071292a2f11065127ac152fa24248806021
  Author: Klaus Jensen <k.jensen@samsung.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/block/nvme.c
    M hw/block/nvme.h
    M hw/core/machine.c

  Log Message:
  -----------
  hw/block/nvme: change controller pci id

There are two reasons for changing this:

  1. The nvme device currently uses an internal Intel device id.

  2. Since commits "nvme: fix write zeroes offset and count" and "nvme:
     support multiple namespaces" the controller device no longer has
     the quirks that the Linux kernel think it has.

     As the quirks are applied based on pci vendor and device id, change
     them to get rid of the quirks.

To keep backward compatibility, add a new 'use-intel-id' parameter to
the nvme device to force use of the Intel vendor and device id. This is
off by default but add a compat property to set this for 5.1 machines
and older. If a 5.1 machine is booted (or the use-intel-id parameter is
explicitly set to true), the Linux kernel will just apply these
unnecessary quirks:

  1. NVME_QUIRK_IDENTIFY_CNS which says that the device does not support
     anything else than values 0x0 and 0x1 for CNS (Identify Namespace
     and Identify Namespace). With multiple namespace support, this just
     means that the kernel will "scan" namespaces instead of using
     "Active Namespace ID list" (CNS 0x2).

  2. NVME_QUIRK_DISABLE_WRITE_ZEROES. The nvme device started out with a
     broken Write Zeroes implementation which has since been fixed in
     commit 9d6459d21a6e ("nvme: fix write zeroes offset and count").

Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Keith Busch <kbusch@kernel.org>
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>


  Commit: b20804946bce7545ec9758d82806ee30a21b6211
      
https://github.com/qemu/qemu/commit/b20804946bce7545ec9758d82806ee30a21b6211
  Author: Klaus Jensen <k.jensen@samsung.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/block/nvme.c

  Log Message:
  -----------
  hw/block/nvme: update nsid when registered

If the user does not specify an nsid parameter on the nvme-ns device,
nvme_register_namespace will find the first free namespace id and assign
that.

This fix makes sure the assigned id is saved.

Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Dmitry Fomichev <dmitry.fomichev@wdc.com>


  Commit: 8c125590dfa33699a267c797a41939c1ac8b77bf
      
https://github.com/qemu/qemu/commit/8c125590dfa33699a267c797a41939c1ac8b77bf
  Author: Keith Busch <kbusch@kernel.org>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/block/nvme.c
    M hw/block/trace-events

  Log Message:
  -----------
  hw/block/nvme: remove pointless rw indirection

The code switches on the opcode to invoke a function specific to that
opcode. There's no point in consolidating back to a common function that
just switches on that same opcode without any actual common code.
Restore the opcode specific behavior without going back through another
level of switches.

Signed-off-by: Keith Busch <kbusch@kernel.org>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>


  Commit: a740facfbd05c9dd630e1f992a9dc6b5444096a7
      
https://github.com/qemu/qemu/commit/a740facfbd05c9dd630e1f992a9dc6b5444096a7
  Author: Keith Busch <kbusch@kernel.org>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/block/nvme.c

  Log Message:
  -----------
  hw/block/nvme: fix log page offset check

Return error if the requested offset starts after the size of the log
being returned. Also, move the check for earlier in the function so
we're not doing unnecessary calculations.

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed- by: Dmitry Fomichev <dmitry.fomichev@wdc.com>
Signed-off-by: Keith Busch <kbusch@kernel.org>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>


  Commit: 2fbbecc5cd90ec00027a155f7044f2f70ed84f30
      
https://github.com/qemu/qemu/commit/2fbbecc5cd90ec00027a155f7044f2f70ed84f30
  Author: Keith Busch <kbusch@kernel.org>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/block/nvme.c
    M include/block/nvme.h

  Log Message:
  -----------
  hw/block/nvme: support per-namespace smart log

Let the user specify a specific namespace if they want to get access
stats for a specific namespace.

Signed-off-by: Keith Busch <kbusch@kernel.org>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>


  Commit: 492f9a8d79f2e815007e985cad8dd73b713722f0
      
https://github.com/qemu/qemu/commit/492f9a8d79f2e815007e985cad8dd73b713722f0
  Author: Keith Busch <kbusch@kernel.org>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/block/nvme.c
    M hw/block/trace-events
    M include/block/nvme.h

  Log Message:
  -----------
  hw/block/nvme: validate command set selected

Fail to start the controller if the user requests a command set that the
controller does not support.

Signed-off-by: Keith Busch <kbusch@kernel.org>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>


  Commit: 8c5cea85934eb7b580ced14f7f188e19880d4c1c
      
https://github.com/qemu/qemu/commit/8c5cea85934eb7b580ced14f7f188e19880d4c1c
  Author: Keith Busch <kbusch@kernel.org>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/block/nvme.c
    M include/block/nvme.h

  Log Message:
  -----------
  hw/block/nvme: support for admin-only command set

Signed-off-by: Keith Busch <kbusch@kernel.org>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>


  Commit: 1b48e4611a7a3ee3065d3bb8428f5f6acb5232fe
      
https://github.com/qemu/qemu/commit/1b48e4611a7a3ee3065d3bb8428f5f6acb5232fe
  Author: Klaus Jensen <k.jensen@samsung.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/block/nvme.c
    M include/block/nvme.h

  Log Message:
  -----------
  hw/block/nvme: reject io commands if only admin command set selected

If the host sets CC.CSS to 111b, all commands submitted to I/O queues
should be completed with status Invalid Command Opcode.

Note that this is technically a v1.4 feature, but it does not hurt to
implement before we finally bump the reported version implemented.

Reviewed-by: Dmitry Fomichev <dmitry.fomichev@wdc.com>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Signed-off-by: Keith Busch <kbusch@kernel.org>


  Commit: 976951048c2fb31ba1622c36d25b4cd69bea5a64
      
https://github.com/qemu/qemu/commit/976951048c2fb31ba1622c36d25b4cd69bea5a64
  Author: Klaus Jensen <k.jensen@samsung.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/block/nvme.c
    M hw/block/trace-events

  Log Message:
  -----------
  hw/block/nvme: add nsid to get/setfeat trace events

Include the namespace id in the pci_nvme_{get,set}feat trace events.

Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Signed-off-by: Keith Busch <kbusch@kernel.org>


  Commit: dcd1496132704ca16fc857a40370a6b9209341ae
      
https://github.com/qemu/qemu/commit/dcd1496132704ca16fc857a40370a6b9209341ae
  Author: Klaus Jensen <k.jensen@samsung.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/block/nvme.c
    M hw/block/trace-events

  Log Message:
  -----------
  hw/block/nvme: add trace event for requests with non-zero status code

If a command results in a non-zero status code, trace it.

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Dmitry Fomichev <dmitry.fomichev@wdc.com>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Signed-off-by: Keith Busch <kbusch@kernel.org>


  Commit: b865cabf735be793789ad2c7eac97f47a1325966
      
https://github.com/qemu/qemu/commit/b865cabf735be793789ad2c7eac97f47a1325966
  Author: Dmitry Fomichev <dmitry.fomichev@wdc.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/block/nvme-ns.c

  Log Message:
  -----------
  hw/block/nvme: report actual LBA data shift in LBAF

Calculate the data shift value to report based on the set value of
logical_block_size device property.

In the process, use a local variable to calculate the LBA format
index instead of the hardcoded value 0. This makes the code more
readable and it will make it easier to add support for multiple LBA
formats in the future.

Signed-off-by: Dmitry Fomichev <dmitry.fomichev@wdc.com>
Signed-off-by: Keith Busch <kbusch@kernel.org>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>


  Commit: 28fee5b5d02d59a2b039c71a0a72292b1bc7f75b
      
https://github.com/qemu/qemu/commit/28fee5b5d02d59a2b039c71a0a72292b1bc7f75b
  Author: Gollu Appalanaidu <anaidu.gollu@samsung.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/block/nvme.c
    M hw/block/trace-events
    M include/block/nvme.h

  Log Message:
  -----------
  hw/block/nvme: fix prp mapping status codes

Address 0 is not an invalid address. Remove those invalikd checks.

Unaligned PRP2 and PRP list entries should result in Invalid PRP Offset
status code and not Invalid Field. Fix that.

See NVMe Express v1.3d, Section 4.3 ("Physical Region Page Entry and
List").

Suggested-by: Keith Busch <kbusch@kernel.org>
Signed-off-by: Gollu Appalanaidu <anaidu.gollu@samsung.com>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Keith Busch <kbusch@kernel.org>


  Commit: 482e97fcfad6672d2849f2fe36bd460d70468b0a
      
https://github.com/qemu/qemu/commit/482e97fcfad6672d2849f2fe36bd460d70468b0a
  Author: Gollu Appalanaidu <anaidu.gollu@samsung.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/block/nvme.c

  Log Message:
  -----------
  hw/block/nvme: fix create IO SQ/CQ status codes

Replace the Invalid Field in Command with the Invalid PRP Offset status
code in the nvme_create_{cq,sq} functions. Also, allow PRP1 to be
address 0x0.

Also replace the Completion Queue Invalid status code returned in
nvme_create_cq when the the queue identifier is invalid with the Invalid
Queue Identifier. The Completion Queue Invalid status code is
exclusively for indicating that the completion queue identifer given
when creating a submission queue is invalid.

See NVM Express v1.3d, Section 5.3 ("Create I/O Completion Queue
command") and 5.4("Create I/O Submission Queue command").

Signed-off-by: Gollu Appalanaidu <anaidu.gollu@samsung.com>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Keith Busch <kbusch@kernel.org>


  Commit: 843c8f91a7ad63f8f3e4e564d3f41f3d030ab8a9
      
https://github.com/qemu/qemu/commit/843c8f91a7ad63f8f3e4e564d3f41f3d030ab8a9
  Author: Gollu Appalanaidu <anaidu.gollu@samsung.com>
  Date:   2020-10-27 (Tue, 27 Oct 2020)

  Changed paths:
    M hw/block/nvme.c

  Log Message:
  -----------
  hw/block/nvme: fix queue identifer validation

The nvme_check_{sq,cq} functions check if the given queue identifer is
valid *and* that the queue exists. Thus, the function return value
cannot simply be inverted to check if the identifer is valid and that
the queue does *not* exist.

Replace the call with an OR'ed version of the checks.

Signed-off-by: Gollu Appalanaidu <anaidu.gollu@samsung.com>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Keith Busch <kbusch@kernel.org>


  Commit: 8680d6e36468f1ca00e2fe749bef50585d632401
      
https://github.com/qemu/qemu/commit/8680d6e36468f1ca00e2fe749bef50585d632401
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-11-02 (Mon, 02 Nov 2020)

  Changed paths:
    M MAINTAINERS
    A docs/specs/nvme.txt
    M docs/specs/pci-ids.txt
    M hw/block/meson.build
    A hw/block/nvme-ns.c
    A hw/block/nvme-ns.h
    M hw/block/nvme.c
    M hw/block/nvme.h
    M hw/block/trace-events
    M hw/core/machine.c
    M include/block/nvme.h
    M include/hw/pci/pci.h

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/nvme/tags/pull-nvme-20201102' into 
staging

nvme pull 2 Nov 2020

# gpg: Signature made Mon 02 Nov 2020 15:20:30 GMT
# 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-20201102: (30 commits)
  hw/block/nvme: fix queue identifer validation
  hw/block/nvme: fix create IO SQ/CQ status codes
  hw/block/nvme: fix prp mapping status codes
  hw/block/nvme: report actual LBA data shift in LBAF
  hw/block/nvme: add trace event for requests with non-zero status code
  hw/block/nvme: add nsid to get/setfeat trace events
  hw/block/nvme: reject io commands if only admin command set selected
  hw/block/nvme: support for admin-only command set
  hw/block/nvme: validate command set selected
  hw/block/nvme: support per-namespace smart log
  hw/block/nvme: fix log page offset check
  hw/block/nvme: remove pointless rw indirection
  hw/block/nvme: update nsid when registered
  hw/block/nvme: change controller pci id
  pci: allocate pci id for nvme
  hw/block/nvme: support multiple namespaces
  hw/block/nvme: refactor identify active namespace id list
  hw/block/nvme: add support for sgl bit bucket descriptor
  hw/block/nvme: add support for scatter gather lists
  hw/block/nvme: harden cmb access
  ...

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


Compare: https://github.com/qemu/qemu/compare/b139d11ae198...8680d6e36468



reply via email to

[Prev in Thread] Current Thread [Next in Thread]