FEMU  原版 master 7e238cc
FEMU: Accurate, Scalable and Extensible NVMe SSD Emulator (FAST'18)
oc12.h 文件参考
#include "../nvme.h"
oc12.h 的引用(Include)关系图:
此图展示该文件直接或间接的被哪些文件引用了:

浏览源代码.

结构体

struct  Oc12GetL2PTbl
 
struct  Oc12BbtGet
 
struct  Oc12BbtSet
 
struct  Oc12RwCmd
 
struct  Oc12DmCmd
 
struct  Oc12IdAddrFormat
 
struct  Oc12AddrF
 
struct  Oc12IdGroup
 
struct  Oc12IdCtrl
 
struct  Oc12Bbt
 
struct  Oc12Params
 
struct  Oc12Ctrl
 
struct  oc12_metadata_format
 
struct  oc12_tgt_meta
 
struct  AddrBucket
 

宏定义

#define OC12_MAX_GRPS_PR_IDENT   (20)
 
#define OC12_FEAT_EXT_START   64
 
#define OC12_FEAT_EXT_END   127
 
#define OC12_PBA_UNMAPPED   UINT64_MAX
 
#define OC12_LBA_UNMAPPED   UINT64_MAX
 

类型定义

typedef struct Oc12GetL2PTbl Oc12GetL2PTbl
 
typedef struct Oc12BbtGet Oc12BbtGet
 
typedef struct Oc12BbtSet Oc12BbtSet
 
typedef struct Oc12RwCmd Oc12RwCmd
 
typedef struct Oc12DmCmd Oc12DmCmd
 
typedef struct Oc12IdAddrFormat Oc12IdAddrFormat
 
typedef struct Oc12AddrF Oc12AddrF
 
typedef struct Oc12IdGroup Oc12IdGroup
 
typedef struct Oc12IdCtrl Oc12IdCtrl
 
typedef struct Oc12Bbt Oc12Bbt
 
typedef struct Oc12Params Oc12Params
 
typedef struct Oc12Ctrl Oc12Ctrl
 
typedef struct AddrBucket AddrBucket
 

枚举

enum  Oc12AdminCommands { OC12_ADM_CMD_IDENTITY = 0xe2, OC12_ADM_CMD_GET_L2P_TBL = 0xea, OC12_ADM_CMD_GET_BB_TBL = 0xf2, OC12_ADM_CMD_SET_BB_TBL = 0xf1 }
 
enum  Oc12DmCommands { OC12_CMD_WRITE = 0x91, OC12_CMD_READ = 0x92, OC12_CMD_ERASE = 0x90 }
 
enum  Oc12MetaState { OC12_SEC_UNKNOWN = 0x0, OC12_SEC_WRITTEN = 0xAC, OC12_SEC_ERASED = 0xDC }
 
enum  Oc12Pmode { Oc12PMODE_SNGL = 0x0, Oc12PMODE_DUAL = 0x1, Oc12PMODE_QUAD = 0x2 }
 
enum  Oc12Responsibility { Oc12RSP_L2P = 1 << 0, Oc12RSP_ECC = 1 << 1 }
 

函数

struct oc12_metadata_format __attribute__ ((__packed__))
 
static void oc12_check_size (void)
 

变量

uint32_t state
 
uint64_t rsv [2]
 
uint64_t lba
 
uint64_t rsvd
 

宏定义说明

◆ OC12_FEAT_EXT_END

#define OC12_FEAT_EXT_END   127

◆ OC12_FEAT_EXT_START

#define OC12_FEAT_EXT_START   64

◆ OC12_LBA_UNMAPPED

#define OC12_LBA_UNMAPPED   UINT64_MAX

◆ OC12_MAX_GRPS_PR_IDENT

#define OC12_MAX_GRPS_PR_IDENT   (20)

◆ OC12_PBA_UNMAPPED

#define OC12_PBA_UNMAPPED   UINT64_MAX

类型定义说明

◆ AddrBucket

typedef struct AddrBucket AddrBucket

◆ Oc12AddrF

typedef struct Oc12AddrF Oc12AddrF

◆ Oc12Bbt

typedef struct Oc12Bbt Oc12Bbt

◆ Oc12BbtGet

typedef struct Oc12BbtGet Oc12BbtGet

◆ Oc12BbtSet

typedef struct Oc12BbtSet Oc12BbtSet

◆ Oc12Ctrl

typedef struct Oc12Ctrl Oc12Ctrl

◆ Oc12DmCmd

typedef struct Oc12DmCmd Oc12DmCmd

◆ Oc12GetL2PTbl

typedef struct Oc12GetL2PTbl Oc12GetL2PTbl

◆ Oc12IdAddrFormat

◆ Oc12IdCtrl

typedef struct Oc12IdCtrl Oc12IdCtrl

◆ Oc12IdGroup

typedef struct Oc12IdGroup Oc12IdGroup

◆ Oc12Params

typedef struct Oc12Params Oc12Params

◆ Oc12RwCmd

typedef struct Oc12RwCmd Oc12RwCmd

枚举类型说明

◆ Oc12AdminCommands

枚举值
OC12_ADM_CMD_IDENTITY 
OC12_ADM_CMD_GET_L2P_TBL 
OC12_ADM_CMD_GET_BB_TBL 
OC12_ADM_CMD_SET_BB_TBL 

◆ Oc12DmCommands

枚举值
OC12_CMD_WRITE 
OC12_CMD_READ 
OC12_CMD_ERASE 

◆ Oc12MetaState

枚举值
OC12_SEC_UNKNOWN 
OC12_SEC_WRITTEN 
OC12_SEC_ERASED 

◆ Oc12Pmode

enum Oc12Pmode
枚举值
Oc12PMODE_SNGL 

Single-plane

Oc12PMODE_DUAL 

Dual-plane (NVM_IO_DUAL_ACCESS)

Oc12PMODE_QUAD 

Quad-plane (NVM_IO_QUAD_ACCESS)

◆ Oc12Responsibility

枚举值
Oc12RSP_L2P 
Oc12RSP_ECC 

函数说明

◆ __attribute__()

struct oc12_tgt_meta __attribute__ ( (__packed__)  )

◆ oc12_check_size()

static void oc12_check_size ( void  )
inlinestatic

变量说明

◆ lba

uint64_t lba

◆ rsv

uint64_t rsv[2]

◆ rsvd

uint64_t rsvd

◆ state

uint32_t state