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]; |
