/openbmc/linux/drivers/nvdimm/ |
H A D | security.c | 50 static struct key *nvdimm_request_key(struct nvdimm *nvdimm) in nvdimm_request_key() argument 55 struct device *dev = &nvdimm->dev; in nvdimm_request_key() 57 sprintf(desc, "%s%s", NVDIMM_PREFIX, nvdimm->dimm_id); in nvdimm_request_key() 80 static const void *nvdimm_get_key_payload(struct nvdimm *nvdimm, in nvdimm_get_key_payload() argument 83 *key = nvdimm_request_key(nvdimm); in nvdimm_get_key_payload() 90 static struct key *nvdimm_lookup_user_key(struct nvdimm *nvdimm, in nvdimm_lookup_user_key() argument 96 struct device *dev = &nvdimm->dev; in nvdimm_lookup_user_key() 120 static const void *nvdimm_get_user_key_payload(struct nvdimm *nvdimm, in nvdimm_get_user_key_payload() argument 131 *key = nvdimm_lookup_user_key(nvdimm, id, subclass); in nvdimm_get_user_key_payload() 139 static int nvdimm_key_revalidate(struct nvdimm *nvdimm) in nvdimm_key_revalidate() argument [all …]
|
H A D | dimm_devs.c | 27 struct nvdimm *nvdimm = to_nvdimm(dev); in nvdimm_check_config_data() local 29 if (!nvdimm->cmd_mask || in nvdimm_check_config_data() 30 !test_bit(ND_CMD_GET_CONFIG_DATA, &nvdimm->cmd_mask)) { in nvdimm_check_config_data() 31 if (test_bit(NDD_LABELING, &nvdimm->flags)) in nvdimm_check_config_data() 174 struct nvdimm *nvdimm = to_nvdimm(dev); in nvdimm_set_labeling() local 176 set_bit(NDD_LABELING, &nvdimm->flags); in nvdimm_set_labeling() 181 struct nvdimm *nvdimm = to_nvdimm(dev); in nvdimm_set_locked() local 183 set_bit(NDD_LOCKED, &nvdimm->flags); in nvdimm_set_locked() 188 struct nvdimm *nvdimm = to_nvdimm(dev); in nvdimm_clear_locked() local 190 clear_bit(NDD_LOCKED, &nvdimm->flags); in nvdimm_clear_locked() [all …]
|
H A D | region_devs.c | 26 static int nvdimm_map_flush(struct device *dev, struct nvdimm *nvdimm, int dimm, in nvdimm_map_flush() argument 31 dev_dbg(dev, "%s: map %d flush address%s\n", nvdimm_name(nvdimm), in nvdimm_map_flush() 32 nvdimm->num_flush, nvdimm->num_flush == 1 ? "" : "es"); in nvdimm_map_flush() 34 struct resource *res = &nvdimm->flush_wpq[i]; in nvdimm_map_flush() 40 struct resource *res_j = &nvdimm->flush_wpq[j]; in nvdimm_map_flush() 69 struct nvdimm *nvdimm = nd_mapping->nvdimm; in nd_region_invalidate_memregion() local 71 if (test_bit(NDD_INCOHERENT, &nvdimm->flags)) { in nd_region_invalidate_memregion() 97 struct nvdimm *nvdimm = nd_mapping->nvdimm; in nd_region_invalidate_memregion() local 99 clear_bit(NDD_INCOHERENT, &nvdimm->flags); in nd_region_invalidate_memregion() 115 struct nvdimm *nvdimm = nd_mapping->nvdimm; in nd_region_activate() local [all …]
|
H A D | nd-core.h | 31 struct nvdimm { struct 52 struct nvdimm *nvdimm, enum nvdimm_passphrase_type ptype) in nvdimm_security_flags() argument 60 if (!nvdimm->sec.ops) in nvdimm_security_flags() 63 flags = nvdimm->sec.ops->get_flags(nvdimm, ptype); in nvdimm_security_flags() 65 dev_WARN_ONCE(&nvdimm->dev, hweight64(flags & state_flags) > 1, in nvdimm_security_flags() 70 int nvdimm_security_freeze(struct nvdimm *nvdimm);
|
H A D | bus.c | 325 struct nvdimm_bus *nvdimm_to_bus(struct nvdimm *nvdimm) in nvdimm_to_bus() argument 327 return to_nvdimm_bus(nvdimm->dev.parent); in nvdimm_to_bus() 863 u32 nd_cmd_in_size(struct nvdimm *nvdimm, int cmd, in nd_cmd_in_size() argument 872 if (nvdimm && cmd == ND_CMD_SET_CONFIG_DATA && idx == 2) { in nd_cmd_in_size() 876 } else if (nvdimm && cmd == ND_CMD_VENDOR && idx == 2) { in nd_cmd_in_size() 890 u32 nd_cmd_out_size(struct nvdimm *nvdimm, int cmd, in nd_cmd_out_size() argument 900 if (nvdimm && cmd == ND_CMD_GET_CONFIG_DATA && idx == 1) in nd_cmd_out_size() 902 else if (nvdimm && cmd == ND_CMD_VENDOR && idx == 2) in nd_cmd_out_size() 904 else if (!nvdimm && cmd == ND_CMD_ARS_STATUS && idx == 2) { in nd_cmd_out_size() 996 struct nvdimm *nvdimm, unsigned int cmd, void *data) in nd_cmd_clear_to_send() argument [all …]
|
H A D | namespace_devs.c | 607 struct nvdimm *nvdimm = data; in __reserve_free_pmem() local 625 if (nd_mapping->nvdimm != nvdimm) in __reserve_free_pmem() 907 struct nvdimm *nvdimm = nd_mapping->nvdimm; in nvdimm_namespace_locked() local 909 if (test_bit(NDD_LOCKED, &nvdimm->flags)) { in nvdimm_namespace_locked() 910 dev_dbg(dev, "%s locked\n", nvdimm_name(nvdimm)); in nvdimm_namespace_locked() 1717 struct nvdimm *nvdimm = nd_region->mapping[i].nvdimm; in create_namespace_pmem() local 1725 nvdimm_name(nvdimm), nsl_uuid_raw(ndd, nd_label)); in create_namespace_pmem() 2072 struct nvdimm *nvdimm = nd_mapping->nvdimm; in deactivate_labels() local 2081 atomic_dec(&nvdimm->busy); in deactivate_labels() 2092 struct nvdimm *nvdimm = nd_mapping->nvdimm; in init_active_labels() local [all …]
|
/openbmc/linux/include/linux/ |
H A D | libnvdimm.h | 77 struct nvdimm; 80 struct nvdimm *nvdimm, unsigned int cmd, void *buf, 95 struct nvdimm *nvdimm, unsigned int cmd, void *data); 118 struct nvdimm *nvdimm; member 177 unsigned long (*get_flags)(struct nvdimm *nvdimm, 179 int (*freeze)(struct nvdimm *nvdimm); 180 int (*change_key)(struct nvdimm *nvdimm, 184 int (*unlock)(struct nvdimm *nvdimm, 186 int (*disable)(struct nvdimm *nvdimm, 188 int (*erase)(struct nvdimm *nvdimm, [all …]
|
/openbmc/qemu/hw/mem/ |
H A D | nvdimm.c | 38 NVDIMMDevice *nvdimm = NVDIMM(obj); in nvdimm_get_label_size() local 39 uint64_t value = nvdimm->label_size; in nvdimm_get_label_size() 47 NVDIMMDevice *nvdimm = NVDIMM(obj); in nvdimm_set_label_size() local 50 if (nvdimm->nvdimm_mr) { in nvdimm_set_label_size() 65 nvdimm->label_size = value; in nvdimm_set_label_size() 71 NVDIMMDevice *nvdimm = NVDIMM(obj); in nvdimm_get_uuid() local 74 value = qemu_uuid_unparse_strdup(&nvdimm->uuid); in nvdimm_get_uuid() 84 NVDIMMDevice *nvdimm = NVDIMM(obj); in nvdimm_set_uuid() local 91 if (qemu_uuid_parse(value, &nvdimm->uuid) != 0) { in nvdimm_set_uuid() 112 NVDIMMDevice *nvdimm = NVDIMM(obj); in nvdimm_finalize() local [all …]
|
/openbmc/linux/drivers/cxl/ |
H A D | security.c | 12 static unsigned long cxl_pmem_get_security_flags(struct nvdimm *nvdimm, in cxl_pmem_get_security_flags() argument 15 struct cxl_nvdimm *cxl_nvd = nvdimm_provider_data(nvdimm); in cxl_pmem_get_security_flags() 66 static int cxl_pmem_security_change_key(struct nvdimm *nvdimm, in cxl_pmem_security_change_key() argument 71 struct cxl_nvdimm *cxl_nvd = nvdimm_provider_data(nvdimm); in cxl_pmem_security_change_key() 93 static int __cxl_pmem_security_disable(struct nvdimm *nvdimm, in __cxl_pmem_security_disable() argument 97 struct cxl_nvdimm *cxl_nvd = nvdimm_provider_data(nvdimm); in __cxl_pmem_security_disable() 118 static int cxl_pmem_security_disable(struct nvdimm *nvdimm, in cxl_pmem_security_disable() argument 121 return __cxl_pmem_security_disable(nvdimm, key_data, NVDIMM_USER); in cxl_pmem_security_disable() 124 static int cxl_pmem_security_disable_master(struct nvdimm *nvdimm, in cxl_pmem_security_disable_master() argument 127 return __cxl_pmem_security_disable(nvdimm, key_data, NVDIMM_MASTER); in cxl_pmem_security_disable_master() [all …]
|
H A D | pmem.c | 23 static void unregister_nvdimm(void *nvdimm) in unregister_nvdimm() argument 25 nvdimm_delete(nvdimm); in unregister_nvdimm() 30 struct nvdimm *nvdimm = to_nvdimm(dev); in provider_show() local 31 struct cxl_nvdimm *cxl_nvd = nvdimm_provider_data(nvdimm); in provider_show() 39 struct nvdimm *nvdimm = to_nvdimm(dev); in id_show() local 40 struct cxl_nvdimm *cxl_nvd = nvdimm_provider_data(nvdimm); in id_show() 70 struct nvdimm *nvdimm; in cxl_nvdimm_probe() local 83 nvdimm = __nvdimm_create(cxl_nvb->nvdimm_bus, cxl_nvd, in cxl_nvdimm_probe() 87 if (!nvdimm) in cxl_nvdimm_probe() 90 dev_set_drvdata(dev, nvdimm); in cxl_nvdimm_probe() [all …]
|
/openbmc/linux/drivers/acpi/nfit/ |
H A D | intel.c | 53 static unsigned long intel_security_flags(struct nvdimm *nvdimm, in intel_security_flags() argument 56 struct nfit_mem *nfit_mem = nvdimm_provider_data(nvdimm); in intel_security_flags() 81 if (nvdimm_in_overwrite(nvdimm) && ptype == NVDIMM_USER) in intel_security_flags() 84 rc = nvdimm_ctl(nvdimm, ND_CMD_CALL, &nd_cmd, sizeof(nd_cmd), NULL); in intel_security_flags() 87 nvdimm_name(nvdimm), rc, nd_cmd.cmd.status); in intel_security_flags() 120 static int intel_security_freeze(struct nvdimm *nvdimm) in intel_security_freeze() argument 122 struct nfit_mem *nfit_mem = nvdimm_provider_data(nvdimm); in intel_security_freeze() 139 rc = nvdimm_ctl(nvdimm, ND_CMD_CALL, &nd_cmd, sizeof(nd_cmd), NULL); in intel_security_freeze() 147 static int intel_security_change_key(struct nvdimm *nvdimm, in intel_security_change_key() argument 152 struct nfit_mem *nfit_mem = nvdimm_provider_data(nvdimm); in intel_security_change_key() [all …]
|
H A D | core.c | 187 static int xlat_nvdimm_status(struct nvdimm *nvdimm, void *buf, unsigned int cmd, in xlat_nvdimm_status() argument 190 struct nfit_mem *nfit_mem = nvdimm_provider_data(nvdimm); in xlat_nvdimm_status() 224 static int xlat_status(struct nvdimm *nvdimm, void *buf, unsigned int cmd, in xlat_status() argument 227 if (!nvdimm) in xlat_status() 229 return xlat_nvdimm_status(nvdimm, buf, cmd, status); in xlat_status() 395 static bool payload_dumpable(struct nvdimm *nvdimm, unsigned int func) in payload_dumpable() argument 397 struct nfit_mem *nfit_mem = nvdimm_provider_data(nvdimm); in payload_dumpable() 437 int acpi_nfit_ctl(struct nvdimm_bus_descriptor *nd_desc, struct nvdimm *nvdimm, in acpi_nfit_ctl() argument 441 struct nfit_mem *nfit_mem = nvdimm_provider_data(nvdimm); in acpi_nfit_ctl() 468 if (nvdimm) { in acpi_nfit_ctl() [all …]
|
H A D | nfit.h | 208 struct nvdimm *nvdimm; member 345 int acpi_nfit_ctl(struct nvdimm_bus_descriptor *nd_desc, struct nvdimm *nvdimm,
|
/openbmc/qemu/hw/ppc/ |
H A D | spapr_nvdimm.c | 67 bool spapr_nvdimm_validate(HotplugHandler *hotplug_dev, NVDIMMDevice *nvdimm, in spapr_nvdimm_validate() argument 72 PCDIMMDevice *dimm = PC_DIMM(nvdimm); in spapr_nvdimm_validate() 88 if (object_property_get_int(OBJECT(nvdimm), NVDIMM_LABEL_SIZE_PROP, in spapr_nvdimm_validate() 101 uuidstr = object_property_get_str(OBJECT(nvdimm), NVDIMM_UUID_PROP, in spapr_nvdimm_validate() 111 if (object_dynamic_cast(OBJECT(nvdimm), TYPE_SPAPR_NVDIMM) && in spapr_nvdimm_validate() 143 int parent_offset, NVDIMMDevice *nvdimm) in spapr_dt_nvdimm() argument 149 uint32_t node = object_property_get_uint(OBJECT(nvdimm), PC_DIMM_NODE_PROP, in spapr_dt_nvdimm() 151 uint64_t slot = object_property_get_uint(OBJECT(nvdimm), PC_DIMM_SLOT_PROP, in spapr_dt_nvdimm() 153 uint64_t lsize = nvdimm->label_size; in spapr_dt_nvdimm() 154 uint64_t size = object_property_get_int(OBJECT(nvdimm), PC_DIMM_SIZE_PROP, in spapr_dt_nvdimm() [all …]
|
/openbmc/linux/Documentation/ABI/testing/ |
H A D | sysfs-bus-nfit | 8 Contact: nvdimm@lists.linux.dev 17 Contact: nvdimm@lists.linux.dev 26 Contact: nvdimm@lists.linux.dev 34 Contact: nvdimm@lists.linux.dev 42 Contact: nvdimm@lists.linux.dev 52 Contact: nvdimm@lists.linux.dev 55 the state of the data on the nvdimm relative to its energy 71 Contact: nvdimm@lists.linux.dev 87 Contact: nvdimm@lists.linux.dev 95 Contact: nvdimm@lists.linux.dev [all …]
|
H A D | sysfs-bus-nvdimm | 1 What: nvdimm 8 platform nvdimm resources. See Documentation/driver-api/nvdimm/. 33 for the nvdimm memory device. Each attribute in this group 35 this nvdimm pmu. The name of the file is the name of the event. 37 listing of the events supported by a given nvdimm provider type 38 can be found in Documentation/driver-api/nvdimm/$provider. 45 to retrieve nvdimm pmu event counter data.
|
H A D | sysfs-bus-papr-pmem | 4 Contact: linuxppc-dev <linuxppc-dev@lists.ozlabs.org>, nvdimm@lists.linux.dev, 39 Contact: linuxppc-dev <linuxppc-dev@lists.ozlabs.org>, nvdimm@lists.linux.dev, 68 Contact: linuxppc-dev <linuxppc-dev@lists.ozlabs.org>, nvdimm@lists.linux.dev, 73 used to simulate various health or shutdown states for an nvdimm
|
/openbmc/linux/tools/testing/nvdimm/test/ |
H A D | ndtest.c | 239 struct nvdimm *nvdimm, unsigned int cmd, void *buf, in ndtest_ctl() argument 250 if (!nvdimm) in ndtest_ctl() 253 dimm = nvdimm_provider_data(nvdimm); in ndtest_ctl() 448 mappings[i].nvdimm = p->config->dimms[ndimm].nvdimm; in ndtest_create_region() 565 struct nvdimm *nvdimm = to_nvdimm(dev); in phys_id_show() local 566 struct ndtest_dimm *dimm = nvdimm_provider_data(nvdimm); in phys_id_show() 582 struct nvdimm *nvdimm = to_nvdimm(dev); in id_show() local 583 struct ndtest_dimm *dimm = nvdimm_provider_data(nvdimm); in id_show() 593 struct nvdimm *nvdimm = to_nvdimm(dev); in nvdimm_handle_show() local 594 struct ndtest_dimm *dimm = nvdimm_provider_data(nvdimm); in nvdimm_handle_show() [all …]
|
/openbmc/qemu/hw/acpi/ |
H A D | nvdimm.c | 189 NVDIMMDevice *nvdimm = NULL; in nvdimm_get_device_by_handle() local 198 nvdimm = nvd; in nvdimm_get_device_by_handle() 204 return nvdimm; in nvdimm_get_device_by_handle() 260 NVDIMMDevice *nvdimm = NVDIMM(OBJECT(dev)); in nvdimm_build_structure_memdev() local 290 if (nvdimm->unarmed) { in nvdimm_build_structure_memdev() 652 static void nvdimm_dsm_label_size(NVDIMMDevice *nvdimm, hwaddr dsm_mem_addr) in nvdimm_dsm_label_size() argument 659 label_size = nvdimm->label_size; in nvdimm_dsm_label_size() 672 static uint32_t nvdimm_rw_label_data_check(NVDIMMDevice *nvdimm, in nvdimm_rw_label_data_check() argument 683 if (nvdimm->label_size < offset + length) { in nvdimm_rw_label_data_check() 684 trace_acpi_nvdimm_label_oversize(offset + length, nvdimm->label_size); in nvdimm_rw_label_data_check() [all …]
|
/openbmc/qemu/include/hw/mem/ |
H A D | nvdimm.h | 99 void (*read_label_data)(NVDIMMDevice *nvdimm, void *buf, 102 void (*write_label_data)(NVDIMMDevice *nvdimm, const void *buf, 104 void (*realize)(NVDIMMDevice *nvdimm, Error **errp); 105 void (*unrealize)(NVDIMMDevice *nvdimm);
|
/openbmc/linux/arch/powerpc/platforms/pseries/ |
H A D | papr_scm.c | 104 struct nvdimm *nvdimm; member 498 nd_pmu->pmu.name = nvdimm_name(p->nvdimm); in papr_scm_pmu_register() 704 static int is_cmd_valid(struct nvdimm *nvdimm, unsigned int cmd, void *buf, in is_cmd_valid() argument 713 if (!nvdimm) in is_cmd_valid() 717 p = nvdimm_provider_data(nvdimm); in is_cmd_valid() 1043 struct nvdimm *nvdimm, unsigned int cmd, void *buf, in papr_scm_ndctl() argument 1051 rc = is_cmd_valid(nvdimm, cmd, buf, buf_len); in papr_scm_ndctl() 1061 p = nvdimm_provider_data(nvdimm); in papr_scm_ndctl() 1100 struct nvdimm *dimm = to_nvdimm(dev); in health_bitmap_inject_show() 1117 struct nvdimm *dimm = to_nvdimm(dev); in perf_stats_show() [all …]
|
/openbmc/openbmc/meta-openembedded/meta-oe/recipes-core/ndctl/ |
H A D | ndctl_v79.bb | 7 …GE = "https://git.kernel.org/cgit/linux/kernel/git/nvdimm/nvdimm.git/tree/Documentation/nvdimm/nvd…
|
/openbmc/linux/Documentation/driver-api/nvdimm/ |
H A D | security.rst | 17 The "security" sysfs attribute is provided in the nvdimm sysfs directory. For 32 overwrite <keyid> - wipe the entire nvdimm. 48 kernel API call during nvdimm unlock. It is up to the user to make sure that 51 A nvdimm encrypted-key of format enc32 has the description format of: 52 nvdimm:<bus-provider-specific-unique-id> 93 An key with the current passphrase payload that is tied to the nvdimm should be 101 An key with the current passphrase payload that is tied to the nvdimm should be 113 Overwrite can last tens of minutes or more depending on nvdimm size. 115 An encrypted-key with the current user passphrase that is tied to the nvdimm
|
/openbmc/openbmc/meta-openembedded/meta-oe/recipes-extended/libblockdev/ |
H A D | libblockdev_3.2.1.bb | 23 PACKAGECONFIG ??= "python3 lvm lvm-dbus dm parted fs escrow btrfs crypto mdraid mpath nvdimm tools … 31 PACKAGECONFIG[nvdimm] = "--with-nvdimm, --without-nvdimm, ndctl util-linux"
|
/openbmc/qemu/docs/ |
H A D | nvdimm.txt | 18 -machine pc,nvdimm=on 21 -device nvdimm,id=nvdimm1,memdev=mem1,unarmed=off 25 - the "nvdimm" machine option enables vNVDIMM feature. 49 - "device nvdimm,id=nvdimm1,memdev=mem1,unarmed=off" creates a read/write 93 "label-size=$SZ" option to "-device nvdimm", e.g. 95 -device nvdimm,id=nvdimm1,memdev=mem1,label-size=128K 121 (qemu) device_add nvdimm,id=nvdimm2,memdev=mem2 161 -device nvdimm,id=nvdimm1,memdev=mem1 188 option of '-device nvdimm' to 'on', which sets the unarmed flag of the 229 the optional "nvdimm-persistence" machine command line option: [all …]
|