MCPcopy Create free account
hub / github.com/LemonOSProject/LemonOS / ControllerIdentity

Class ControllerIdentity

Kernel/include/nvme.h:231–274  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

229 };
230
231 struct ControllerIdentity{
232 uint16_t vendorID; // PCI Vendor ID
233 uint16_t subsystemVendorID; // PCI Subsystem Vendor ID
234 int8_t serialNumber[20]; // ASCII encoded serial number
235 int8_t modelNumber[40]; // ASCII encoded model number
236 int8_t firmwareRevision[8]; // ASCII encoded firmware revision
237 uint8_t recommendedArbitrationBurst;
238 uint8_t ieee[3]; // IEEE Organization Unique Identifier
239 uint8_t cmic; // Controller Multi-Path I/O and Namespace Sharing Capabilities
240 uint8_t maximumDataTransferSize; // Maximum Data Transfer Size (2 ^ (CAP.MPSMIN * n))
241 uint16_t controllerID; // NVM unique controller ID
242 uint32_t version;
243 uint32_t rtd3ResumeLatency;
244 uint32_t rtd3EntryLatency;
245 uint32_t oaes;
246 uint32_t controllerAttributes;
247 uint16_t rrls;
248 uint8_t reserved[9];
249 uint8_t controllerType;
250 uint8_t fGUID[16];
251 uint16_t crdt[3];
252 uint8_t reserved2[122];
253 uint16_t oacs;
254 uint8_t acl;
255 uint8_t aerl;
256 uint8_t firmwareUpdates;
257 uint8_t logPageAttributes;
258 uint8_t errorLogPageEntries;
259 uint8_t numberOfPowerStates;
260 uint8_t apsta;
261 uint16_t wcTemp; // Minimum temperature to report overheat
262 uint16_t ccTemp; // Critical temperature threshold
263 uint16_t mtfa;
264 uint32_t hostMemoryBufferPreferredSize; // In 4KB Units
265 uint32_t hostMemoryBufferMinimumSize; // In 4KB Units
266 uint8_t unused[232]; // Our driver does not care
267 uint8_t sqEntrySize; // Submission Queue Entry Size (Bits 3:0) (2 ^ n)
268 uint8_t cqEntrySize; // Completion Queue Entry Size (Bits 3:0) (2 ^ n)
269 uint16_t maxCmd;
270 uint32_t numNamespaces; // Number of namespaces;
271 uint8_t unused2[248];
272 int8_t name[256]; // UTF-8 encoded NVMe Name (null-terminated)
273 uint8_t unused3[3072];
274 };
275 static_assert(sizeof(ControllerIdentity) == 4096);
276
277 struct NamespaceIdentity{

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected