mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-23 23:32:14 +00:00
libnvdimm: Add DSM support for Address Range Scrub commands
Add support for the three ARS DSM commands: - Query ARS Capabilities - Queries the firmware to check if a given range supports scrub, and if so, which type (persistent vs. volatile) - Start ARS - Starts a scrub for a given range/type - Query ARS Status - Checks status of a previously started scrub, and provides the error logs if any. The commands are described by the example DSM spec at: http://pmem.io/documents/NVDIMM_DSM_Interface_Example.pdf Also add these commands to the nfit_test test framework, and return canned data. Signed-off-by: Vishal Verma <vishal.l.verma@intel.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
This commit is contained in:
parent
ec92777f2b
commit
39c686b862
4 changed files with 152 additions and 59 deletions
|
@ -111,6 +111,11 @@ enum {
|
|||
ND_CMD_VENDOR = 9,
|
||||
};
|
||||
|
||||
enum {
|
||||
ND_ARS_VOLATILE = 1,
|
||||
ND_ARS_PERSISTENT = 2,
|
||||
};
|
||||
|
||||
static inline const char *nvdimm_bus_cmd_name(unsigned cmd)
|
||||
{
|
||||
static const char * const names[] = {
|
||||
|
@ -194,4 +199,9 @@ enum nd_driver_flags {
|
|||
enum {
|
||||
ND_MIN_NAMESPACE_SIZE = 0x00400000,
|
||||
};
|
||||
|
||||
enum ars_masks {
|
||||
ARS_STATUS_MASK = 0x0000FFFF,
|
||||
ARS_EXT_STATUS_SHIFT = 16,
|
||||
};
|
||||
#endif /* __NDCTL_H__ */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue