History

libnvdimm: New ACPI 6.2 DSM functions

ACPI 6.2 added new NVDIMM root DSM functions. Define their data structures.

Jerry Hoemann committed 9 years ago

Commit 759d6a91 parent 41f95db1 file · +39 −1Browse files

Showing the changes to include/uapi/linux (1 of 1 file). Show all

Unified · Split

include/uapi/linux/ndctl.h+39−1
@@ -105,7 +105,8 @@ struct nd_cmd_ars_cap { · 104 unmodified lines
105105 __u32 status;
106106 __u32 max_ars_out;
107107 __u32 clear_err_unit;
108− __u32 reserved;
108+ __u16 flags;
109+ __u16 reserved;
109110 } __packed;
110111
111112 struct nd_cmd_ars_start {
@@ -144,6 +145,43 @@ struct nd_cmd_clear_error { · 32 unmodified lines
144145 __u64 cleared;
145146 } __packed;
146147
148+struct nd_cmd_trans_spa {
149+ __u64 spa;
150+ __u32 status;
151+ __u8 flags;
152+ __u8 _reserved[3];
153+ __u64 trans_length;
154+ __u32 num_nvdimms;
155+ struct nd_nvdimm_device {
156+ __u32 nfit_device_handle;
157+ __u32 _reserved;
158+ __u64 dpa;
159+ } __packed devices[0];
160+
161+} __packed;
162+
163+struct nd_cmd_ars_err_inj {
164+ __u64 err_inj_spa_range_base;
165+ __u64 err_inj_spa_range_length;
166+ __u8 err_inj_options;
167+ __u32 status;
168+} __packed;
169+
170+struct nd_cmd_ars_err_inj_clr {
171+ __u64 err_inj_clr_spa_range_base;
172+ __u64 err_inj_clr_spa_range_length;
173+ __u32 status;
174+} __packed;
175+
176+struct nd_cmd_ars_err_inj_stat {
177+ __u32 status;
178+ __u32 inj_err_rec_count;
179+ struct nd_error_stat_query_record {
180+ __u64 err_inj_stat_spa_range_base;
181+ __u64 err_inj_stat_spa_range_length;
182+ } __packed record[0];
183+} __packed;
184+
147185 enum {
148186 ND_CMD_IMPLEMENTED = 0,
149187