qemu/hw
Alan Adamson ebd1568fc7 hw/nvme: add atomic write support
Adds support for the controller atomic parameters: AWUN and AWUPF. Atomic
Compare and Write Unit (ACWU) is not currently supported.

Writes that adhere to the ACWU and AWUPF parameters are guaranteed to be atomic.

New NVMe QEMU Parameters (See NVMe Specification for details):
       atomic.dn (default off) - Set the value of Disable Normal.
       atomic.awun=UINT16 (default: 0)
       atomic.awupf=UINT16 (default: 0)

By default (Disable Normal set to zero), the maximum atomic write size is
set to the AWUN value.  If Disable Normal is set, the maximum atomic write
size is set to AWUPF.

Signed-off-by: Alan Adamson <alan.adamson@oracle.com>
Reviewed-by: Klaus Jensen <k.jensen@samsung.com>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
2024-10-01 09:02:05 +02:00
..
9pfs hw/xen: Make XenDevOps structures const 2024-06-04 11:53:43 +02:00
acpi hw/acpi: remove break after g_assert_not_reached() 2024-09-24 13:53:35 +02:00
adc hw: Use device_class_set_legacy_reset() instead of opencoding 2024-09-13 15:31:44 +01:00
alpha alpha: switch boards to "default y" 2024-05-03 15:47:47 +02:00
arm * Convert more Avocado tests to the new functional test framework 2024-09-28 12:34:38 +01:00
audio hw: Use device_class_set_legacy_reset() instead of opencoding 2024-09-13 15:31:44 +01:00
avr avr: switch boards to "default y" 2024-05-03 15:47:47 +02:00
block hw/block: fix uint32 overflow 2024-09-17 12:12:30 +02:00
char hw/char/stm32l4x5_usart.c: Enable USART ACK bit response 2024-09-19 12:58:58 +01:00
core Hi, 2024-09-26 17:10:39 +01:00
cpu hw: Add a Kconfig switch for the TYPE_CPU_CLUSTER device 2024-04-25 12:48:12 +02:00
cxl hw: Use device_class_set_legacy_reset() instead of opencoding 2024-09-13 15:31:44 +01:00
display hw/display: Fix mirrored output in dm163 2024-09-20 08:06:57 +03:00
dma hw/dma: Remove ETRAX_FS DMA device 2024-09-13 20:11:13 +02:00
fsi hw: Use device_class_set_legacy_reset() instead of opencoding 2024-09-13 15:31:44 +01:00
gpio hw/gpio/aspeed_gpio: Avoid shift into sign bit 2024-09-16 17:44:07 +02:00
hppa reset: Use ResetType for qemu_devices_reset() and MachineClass::reset() 2024-09-24 11:33:34 +02:00
hyperv hw/hyperv: remove return after g_assert_not_reached() 2024-09-24 13:53:35 +02:00
i2c hw/i2c/aspeed: Add support for 64 bit addresses 2024-09-16 17:44:08 +02:00
i386 reset: Add RESET_TYPE_WAKEUP 2024-09-24 11:33:35 +02:00
ide mac_dbdma: Remove leftover dma_memory_unmap calls 2024-09-18 09:31:56 +01:00
input hw/input/adb-mouse: convert to use QemuInputHandler 2024-09-13 20:11:13 +02:00
intc hw/intc: Remove TYPE_ETRAX_FS_PIC device 2024-09-13 20:10:50 +02:00
ipack hw/ipack: Constify VMState 2023-12-29 11:17:30 +11:00
ipmi hw/ipmi: Constify VMState 2023-12-29 11:17:30 +11:00
isa hw: Use device_class_set_legacy_reset() instead of opencoding 2024-09-13 15:31:44 +01:00
loongarch hw/loongarch/virt: Add description for virt machine type 2024-09-20 08:06:56 +03:00
m68k license: Update deprecated SPDX tag GPL-2.0 to GPL-2.0-only 2024-09-20 10:11:59 +03:00
mem hw: Use device_class_set_legacy_reset() instead of opencoding 2024-09-13 15:31:44 +01:00
microblaze microblaze: switch boards to "default y" 2024-05-03 15:47:47 +02:00
mips hw/mips/jazz: fix typo in in-built NIC alias 2024-09-20 08:06:56 +03:00
misc hw/misc: remove break after g_assert_not_reached() 2024-09-13 20:12:16 +02:00
net * Convert more Avocado tests to the new functional test framework 2024-09-28 12:34:38 +01:00
nubus hw/nubus/nubus-device: Range check 'slot' property 2024-09-08 11:49:49 +02:00
nvme hw/nvme: add atomic write support 2024-10-01 09:02:05 +02:00
nvram license: Update deprecated SPDX tag GPL-2.0+ to GPL-2.0-or-later 2024-09-20 10:11:59 +03:00
openrisc kconfig: express dependency of individual boards on libfdt 2024-05-10 15:45:15 +02:00
pci hw/pci: remove return after g_assert_not_reached() 2024-09-24 13:53:35 +02:00
pci-bridge hw: Use device_class_set_legacy_reset() instead of opencoding 2024-09-13 15:31:44 +01:00
pci-host hw/pci-host: remove break after g_assert_not_reached() 2024-09-13 20:12:16 +02:00
pcmcia hw/pcmcia/pxa2xx: Inline pxa2xx_pcmcia_init() 2023-10-27 12:48:57 +01:00
ppc * Convert more Avocado tests to the new functional test framework 2024-09-28 12:34:38 +01:00
remote hw: Use device_class_set_legacy_reset() instead of opencoding 2024-09-13 15:31:44 +01:00
riscv Revert "hw/riscv/virt.c: imsics DT: add '#msi-cells'" 2024-08-19 14:34:49 +10:00
rtc hw: Use device_class_set_legacy_reset() instead of opencoding 2024-09-13 15:31:44 +01:00
rx kconfig: express dependency of individual boards on libfdt 2024-05-10 15:45:15 +02:00
s390x reset: Use ResetType for qemu_devices_reset() and MachineClass::reset() 2024-09-24 11:33:34 +02:00
scsi hw/scsi: remove break after g_assert_not_reached() 2024-09-24 13:53:35 +02:00
sd hw: Use device_class_set_legacy_reset() instead of opencoding 2024-09-13 15:31:44 +01:00
sensor hw/sensor/tmp105: Lower 4 bit of limit registers are always 0 2024-09-13 20:11:13 +02:00
sh4 hw/sh4: Remove sh7750_register_io_device() helper 2024-09-13 20:10:49 +02:00
smbios smbios: make memory device size configurable per Machine 2024-07-22 20:15:41 -04:00
sparc hw: Use device_class_set_legacy_reset() instead of opencoding 2024-09-13 15:31:44 +01:00
sparc64 hw: Use device_class_set_legacy_reset() instead of opencoding 2024-09-13 15:31:44 +01:00
ssi hw: Use device_class_set_legacy_reset() instead of opencoding 2024-09-13 15:31:44 +01:00
timer hw/timer: Remove TYPE_ETRAX_FS_TIMER device 2024-09-13 20:11:13 +02:00
tpm hw/tpm: remove break after g_assert_not_reached() 2024-09-24 13:53:35 +02:00
tricore hw: Use device_class_set_legacy_reset() instead of opencoding 2024-09-13 15:31:44 +01:00
ufs hw/ufs: minor bug fixes related to ufs-test 2024-09-06 18:04:16 +09:00
usb hw: Use device_class_set_legacy_reset() instead of opencoding 2024-09-13 15:31:44 +01:00
vfio vfio/igd: correctly calculate stolen memory size for gen 9 and later 2024-09-17 10:37:55 +02:00
virtio Hi, 2024-09-26 17:10:39 +01:00
watchdog hw/watchdog: replace assert(0) with g_assert_not_reached() 2024-09-13 20:12:16 +02:00
xen hw/xen: pvh-common: Add support for creating PCIe/GPEX 2024-09-04 16:50:43 +02:00
xenpv hw/xen: Register framebuffer backend via xen_backend_init() 2024-06-04 11:53:43 +02:00
xtensa hw/xtensa: require libfdt 2024-05-10 15:45:15 +02:00
Kconfig hw/timer: Remove TYPE_ETRAX_FS_TIMER device 2024-09-13 20:11:13 +02:00
meson.build hw/cris: Remove image loader helper 2024-09-13 20:10:50 +02:00