Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

libnvdimm: New ACPI 6.2 DSM functions

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

Signed-off-by: Jerry Hoemann <jerry.hoemann@hpe.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>

authored by

Jerry Hoemann and committed by
Dan Williams
759d6a96 41f95db7

+39 -1
+39 -1
include/uapi/linux/ndctl.h
··· 105 105 __u32 status; 106 106 __u32 max_ars_out; 107 107 __u32 clear_err_unit; 108 - __u32 reserved; 108 + __u16 flags; 109 + __u16 reserved; 109 110 } __packed; 110 111 111 112 struct nd_cmd_ars_start { ··· 143 142 __u32 status; 144 143 __u8 reserved[4]; 145 144 __u64 cleared; 145 + } __packed; 146 + 147 + struct nd_cmd_trans_spa { 148 + __u64 spa; 149 + __u32 status; 150 + __u8 flags; 151 + __u8 _reserved[3]; 152 + __u64 trans_length; 153 + __u32 num_nvdimms; 154 + struct nd_nvdimm_device { 155 + __u32 nfit_device_handle; 156 + __u32 _reserved; 157 + __u64 dpa; 158 + } __packed devices[0]; 159 + 160 + } __packed; 161 + 162 + struct nd_cmd_ars_err_inj { 163 + __u64 err_inj_spa_range_base; 164 + __u64 err_inj_spa_range_length; 165 + __u8 err_inj_options; 166 + __u32 status; 167 + } __packed; 168 + 169 + struct nd_cmd_ars_err_inj_clr { 170 + __u64 err_inj_clr_spa_range_base; 171 + __u64 err_inj_clr_spa_range_length; 172 + __u32 status; 173 + } __packed; 174 + 175 + struct nd_cmd_ars_err_inj_stat { 176 + __u32 status; 177 + __u32 inj_err_rec_count; 178 + struct nd_error_stat_query_record { 179 + __u64 err_inj_stat_spa_range_base; 180 + __u64 err_inj_stat_spa_range_length; 181 + } __packed record[0]; 146 182 } __packed; 147 183 148 184 enum {