diff options
author | Dimitri John Ledkov <dimitri.ledkov@canonical.com> | 2014-05-07 15:55:30 -0400 |
---|---|---|
committer | Matthew Wilcox <matthew.r.wilcox@intel.com> | 2014-05-09 18:50:53 -0400 |
commit | f2727f7eb9132803d06309839a95de3dad82d237 (patch) | |
tree | 3292a70af5dc1e79ae7c3a02f4585dd478a3a521 | |
parent | 53562be74bd06bbe74d2acf3caca5398f8eeb160 (diff) |
NVMe: Update namespace and controller identify structures to the 1.1a spec
Controller: add CNTLID, AVSCC, APSTA, NVSCC, ACWU, SGLS fields.
Namespace: add NMIC, RESCAP, EUI64 fields. EUI64 is specifically
interesting, since it can be used to construct an UEFI NVMe device
path for a boot entry.
As per NVM Express 1.1a spec:
http://www.nvmexpress.org/wp-content/uploads/NVM-Express-1_1a.pdf
Signed-off-by: Dimitri John Ledkov <dimitri.ledkov@canonical.com>
Signed-off-by: Matthew Wilcox <matthew.r.wilcox@intel.com>
-rw-r--r-- | include/uapi/linux/nvme.h | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/include/uapi/linux/nvme.h b/include/uapi/linux/nvme.h index f090336d5bad..e74da782d69c 100644 --- a/include/uapi/linux/nvme.h +++ b/include/uapi/linux/nvme.h | |||
@@ -45,7 +45,8 @@ struct nvme_id_ctrl { | |||
45 | __u8 ieee[3]; | 45 | __u8 ieee[3]; |
46 | __u8 mic; | 46 | __u8 mic; |
47 | __u8 mdts; | 47 | __u8 mdts; |
48 | __u8 rsvd78[178]; | 48 | __u16 cntlid; |
49 | __u8 rsvd80[176]; | ||
49 | __le16 oacs; | 50 | __le16 oacs; |
50 | __u8 acl; | 51 | __u8 acl; |
51 | __u8 aerl; | 52 | __u8 aerl; |
@@ -53,7 +54,9 @@ struct nvme_id_ctrl { | |||
53 | __u8 lpa; | 54 | __u8 lpa; |
54 | __u8 elpe; | 55 | __u8 elpe; |
55 | __u8 npss; | 56 | __u8 npss; |
56 | __u8 rsvd264[248]; | 57 | __u8 avscc; |
58 | __u8 apsta; | ||
59 | __u8 rsvd266[246]; | ||
57 | __u8 sqes; | 60 | __u8 sqes; |
58 | __u8 cqes; | 61 | __u8 cqes; |
59 | __u8 rsvd514[2]; | 62 | __u8 rsvd514[2]; |
@@ -64,7 +67,12 @@ struct nvme_id_ctrl { | |||
64 | __u8 vwc; | 67 | __u8 vwc; |
65 | __le16 awun; | 68 | __le16 awun; |
66 | __le16 awupf; | 69 | __le16 awupf; |
67 | __u8 rsvd530[1518]; | 70 | __u8 nvscc; |
71 | __u8 rsvd531; | ||
72 | __le16 acwu; | ||
73 | __u8 rsvd534[2]; | ||
74 | __le32 sgls; | ||
75 | __u8 rsvd540[1508]; | ||
68 | struct nvme_id_power_state psd[32]; | 76 | struct nvme_id_power_state psd[32]; |
69 | __u8 vs[1024]; | 77 | __u8 vs[1024]; |
70 | }; | 78 | }; |
@@ -92,7 +100,10 @@ struct nvme_id_ns { | |||
92 | __u8 mc; | 100 | __u8 mc; |
93 | __u8 dpc; | 101 | __u8 dpc; |
94 | __u8 dps; | 102 | __u8 dps; |
95 | __u8 rsvd30[98]; | 103 | __u8 nmic; |
104 | __u8 rescap; | ||
105 | __u8 rsvd32[88]; | ||
106 | __u8 eui64[8]; | ||
96 | struct nvme_lbaf lbaf[16]; | 107 | struct nvme_lbaf lbaf[16]; |
97 | __u8 rsvd192[192]; | 108 | __u8 rsvd192[192]; |
98 | __u8 vs[3712]; | 109 | __u8 vs[3712]; |