tools/testing/nvdimm/test/ndtest.h
Source file repositories/reference/linux-study-clean/tools/testing/nvdimm/test/ndtest.h
File Facts
- System
- Linux kernel
- Corpus path
tools/testing/nvdimm/test/ndtest.h- Extension
.h- Size
- 1375 bytes
- Lines
- 79
- Domain
- Support Tooling And Documentation
- Bucket
- tools
- Inferred role
- Support Tooling And Documentation: implementation source
- Status
- source implementation candidate
Why This File Exists
Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.
- Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/platform_device.hlinux/libnvdimm.h
Detected Declarations
struct ndtest_configstruct ndtest_privstruct ndtest_blk_mmiostruct ndtest_dimmstruct ndtest_mappingstruct ndtest_regionstruct ndtest_config
Annotated Snippet
struct ndtest_priv {
struct platform_device pdev;
struct device_node *dn;
struct list_head resources;
struct nvdimm_bus_descriptor bus_desc;
struct nvdimm_bus *bus;
struct ndtest_config *config;
dma_addr_t *dcr_dma;
dma_addr_t *label_dma;
dma_addr_t *dimm_dma;
};
struct ndtest_blk_mmio {
void __iomem *base;
u64 size;
u64 base_offset;
u32 line_size;
u32 num_lines;
u32 table_size;
};
struct ndtest_dimm {
struct device *dev;
struct nvdimm *nvdimm;
struct ndtest_blk_mmio *mmio;
struct nd_region *blk_region;
dma_addr_t address;
unsigned long long flags;
unsigned long config_size;
void *label_area;
char *uuid_str;
unsigned int size;
unsigned int handle;
unsigned int fail_cmd;
unsigned int physical_id;
unsigned int num_formats;
int id;
int fail_cmd_code;
u8 no_alias;
};
struct ndtest_mapping {
u64 start;
u64 size;
u8 position;
u8 dimm;
};
struct ndtest_region {
struct nd_region *region;
struct ndtest_mapping *mapping;
u64 size;
u8 type;
u8 num_mappings;
u8 range_index;
};
struct ndtest_config {
struct ndtest_dimm *dimms;
struct ndtest_region *regions;
unsigned int dimm_count;
unsigned int dimm_start;
u8 num_regions;
};
#endif /* NDTEST_H */
Annotation
- Immediate include surface: `linux/platform_device.h`, `linux/libnvdimm.h`.
- Detected declarations: `struct ndtest_config`, `struct ndtest_priv`, `struct ndtest_blk_mmio`, `struct ndtest_dimm`, `struct ndtest_mapping`, `struct ndtest_region`, `struct ndtest_config`.
- Atlas domain: Support Tooling And Documentation / tools.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.