mirror of
https://github.com/izzy2lost/xemu.git
synced 2026-07-06 00:20:22 -07:00
Merge tag 'nvme-next-pull-request' of https://gitlab.com/birkelund/qemu into staging
hw/nvme patches # -----BEGIN PGP SIGNATURE----- # # iQEzBAABCgAdFiEEUigzqnXi3OaiR2bATeGvMW1PDekFAmaeiz4ACgkQTeGvMW1P # Dem5DggAkudAwZYUlKLz/FuxmOJsZ/CKL7iIu6wE3P93WTTbi4m2AL5lMFz1bOUH # 33LtjHz51bDvOsnhAwLs2TwjfhICiMJCOXEmxF9zJnO4Yo8ih9UbeE7sEukpxsVr # FJlAg5OXhdIHuo48ow7hu7BqMs58jnXhVA6zSvLU5rbKTSdG/369jyQKy5aoFPN0 # Rk+S6hqDmVMiN7u6E+QqPyB2tSbmNKkhPICu3O9fbHmaOoMFmrcvyxkd1wJ9JxwF # 8MWbuEZlIpLIIL/mCN4wzDw8VKlJ26sBJJC1b+NHmWIWmPkqMeXwcmQtWhUqsrcs # xAGUcjgJuJ3Fu6Xzt+09Y+FXO8v0oQ== # =vCDb # -----END PGP SIGNATURE----- # gpg: Signature made Tue 23 Jul 2024 02:39:26 AM AEST # gpg: using RSA key 522833AA75E2DCE6A24766C04DE1AF316D4F0DE9 # gpg: Good signature from "Klaus Jensen <its@irrelevant.dk>" [unknown] # gpg: aka "Klaus Jensen <k.jensen@samsung.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: DDCA 4D9C 9EF9 31CC 3468 4272 63D5 6FC5 E55D A838 # Subkey fingerprint: 5228 33AA 75E2 DCE6 A247 66C0 4DE1 AF31 6D4F 0DE9 * tag 'nvme-next-pull-request' of https://gitlab.com/birkelund/qemu: hw/nvme: remove useless type cast hw/nvme: actually implement abort hw/nvme: add cross namespace copy support hw/nvme: fix memory leak in nvme_dsm Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
+297
-93
File diff suppressed because it is too large
Load Diff
+26
-11
@@ -799,6 +799,8 @@ typedef struct QEMU_PACKED NvmeDsmRange {
|
||||
enum {
|
||||
NVME_COPY_FORMAT_0 = 0x0,
|
||||
NVME_COPY_FORMAT_1 = 0x1,
|
||||
NVME_COPY_FORMAT_2 = 0x2,
|
||||
NVME_COPY_FORMAT_3 = 0x3,
|
||||
};
|
||||
|
||||
typedef struct QEMU_PACKED NvmeCopyCmd {
|
||||
@@ -820,25 +822,30 @@ typedef struct QEMU_PACKED NvmeCopyCmd {
|
||||
uint16_t appmask;
|
||||
} NvmeCopyCmd;
|
||||
|
||||
typedef struct QEMU_PACKED NvmeCopySourceRangeFormat0 {
|
||||
uint8_t rsvd0[8];
|
||||
typedef struct QEMU_PACKED NvmeCopySourceRangeFormat0_2 {
|
||||
uint32_t sparams;
|
||||
uint8_t rsvd4[4];
|
||||
uint64_t slba;
|
||||
uint16_t nlb;
|
||||
uint8_t rsvd18[6];
|
||||
uint8_t rsvd18[4];
|
||||
uint16_t sopt;
|
||||
uint32_t reftag;
|
||||
uint16_t apptag;
|
||||
uint16_t appmask;
|
||||
} NvmeCopySourceRangeFormat0;
|
||||
} NvmeCopySourceRangeFormat0_2;
|
||||
|
||||
typedef struct QEMU_PACKED NvmeCopySourceRangeFormat1 {
|
||||
uint8_t rsvd0[8];
|
||||
typedef struct QEMU_PACKED NvmeCopySourceRangeFormat1_3 {
|
||||
uint32_t sparams;
|
||||
uint8_t rsvd4[4];
|
||||
uint64_t slba;
|
||||
uint16_t nlb;
|
||||
uint8_t rsvd18[8];
|
||||
uint8_t rsvd18[4];
|
||||
uint16_t sopt;
|
||||
uint8_t rsvd24[2];
|
||||
uint8_t sr[10];
|
||||
uint16_t apptag;
|
||||
uint16_t appmask;
|
||||
} NvmeCopySourceRangeFormat1;
|
||||
} NvmeCopySourceRangeFormat1_3;
|
||||
|
||||
enum NvmeAsyncEventRequest {
|
||||
NVME_AER_TYPE_ERROR = 0,
|
||||
@@ -937,6 +944,8 @@ enum NvmeStatusCodes {
|
||||
NVME_INVALID_PROT_INFO = 0x0181,
|
||||
NVME_WRITE_TO_RO = 0x0182,
|
||||
NVME_CMD_SIZE_LIMIT = 0x0183,
|
||||
NVME_CMD_INCOMP_NS_OR_FMT = 0x0185,
|
||||
NVME_CMD_OVERLAP_IO_RANGE = 0x0187,
|
||||
NVME_INVALID_ZONE_OP = 0x01b6,
|
||||
NVME_NOZRWA = 0x01b7,
|
||||
NVME_ZONE_BOUNDARY_ERROR = 0x01b8,
|
||||
@@ -1195,11 +1204,15 @@ enum NvmeIdCtrlOncs {
|
||||
NVME_ONCS_TIMESTAMP = 1 << 6,
|
||||
NVME_ONCS_VERIFY = 1 << 7,
|
||||
NVME_ONCS_COPY = 1 << 8,
|
||||
NVME_ONCS_NVMCSA = 1 << 9,
|
||||
NVME_ONCS_NVMAFC = 1 << 10,
|
||||
};
|
||||
|
||||
enum NvmeIdCtrlOcfs {
|
||||
NVME_OCFS_COPY_FORMAT_0 = 1 << NVME_COPY_FORMAT_0,
|
||||
NVME_OCFS_COPY_FORMAT_1 = 1 << NVME_COPY_FORMAT_1,
|
||||
NVME_OCFS_COPY_FORMAT_2 = 1 << NVME_COPY_FORMAT_2,
|
||||
NVME_OCFS_COPY_FORMAT_3 = 1 << NVME_COPY_FORMAT_3,
|
||||
};
|
||||
|
||||
enum NvmeIdctrlVwc {
|
||||
@@ -1333,7 +1346,9 @@ typedef struct NvmeHostBehaviorSupport {
|
||||
uint8_t acre;
|
||||
uint8_t etdas;
|
||||
uint8_t lbafee;
|
||||
uint8_t rsvd3[509];
|
||||
uint8_t rsvd3;
|
||||
uint16_t cdfe;
|
||||
uint8_t rsvd6[506];
|
||||
} NvmeHostBehaviorSupport;
|
||||
|
||||
typedef struct QEMU_PACKED NvmeLBAF {
|
||||
@@ -1833,8 +1848,8 @@ static inline void _nvme_check_size(void)
|
||||
QEMU_BUILD_BUG_ON(sizeof(NvmeZonedResult) != 8);
|
||||
QEMU_BUILD_BUG_ON(sizeof(NvmeCqe) != 16);
|
||||
QEMU_BUILD_BUG_ON(sizeof(NvmeDsmRange) != 16);
|
||||
QEMU_BUILD_BUG_ON(sizeof(NvmeCopySourceRangeFormat0) != 32);
|
||||
QEMU_BUILD_BUG_ON(sizeof(NvmeCopySourceRangeFormat1) != 40);
|
||||
QEMU_BUILD_BUG_ON(sizeof(NvmeCopySourceRangeFormat0_2) != 32);
|
||||
QEMU_BUILD_BUG_ON(sizeof(NvmeCopySourceRangeFormat1_3) != 40);
|
||||
QEMU_BUILD_BUG_ON(sizeof(NvmeCmd) != 64);
|
||||
QEMU_BUILD_BUG_ON(sizeof(NvmeDeleteQ) != 64);
|
||||
QEMU_BUILD_BUG_ON(sizeof(NvmeCreateCq) != 64);
|
||||
|
||||
Reference in New Issue
Block a user