NeKernel dev
Loading...
Searching...
No Matches
NVME.h File Reference

Non Volatile Memory. More...

#include <NeKit/Defines.h>

Go to the source code of this file.

Classes

struct  Kernel::HAL_NVME_BAR_0
struct  Kernel::HAL_NVME_QUEUE

Namespaces

namespace  Kernel
 USER_PROCESS inline definitions.

Macros

#define NE_ALIGN_NVME   ATTRIBUTE(aligned(sizeof(Kernel::UInt32)))

Enumerations

enum  {
  Kernel::kInvalidNVME = 0xFF , Kernel::kCreateCompletionQueueNVME = 0x05 , Kernel::kCreateSubmissionQueueNVME = 0x01 , Kernel::kIdentifyNVME = 0x06 ,
  Kernel::kReadNVME = 0x02 , Kernel::kWriteNVME = 0x01 , Kernel::kCountNVME = 5
}

Functions

template<Int32 Opcode>
Bool Kernel::nvme_create_admin_command (HAL_NVME_QUEUE *entry, UInt32 nsid, UInt32 prpTransfer[3], UInt32 startingLba[2], UInt32 lowTransferBlocks)
 Creates an admin command for a DMA operation.
template<Int32 Opcode>
Bool Kernel::nvme_create_io_command (HAL_NVME_QUEUE *entry, UInt64 baseAddress, UInt32 identLoAndQueueSizeHi, UInt32 flagsLoAndQueueComplIdHi, UInt32 identify, Bool provideIdentify=false, Bool namespaceIdentify=false)
 Creates an I/O command for a DMA operation.

Detailed Description

Non Volatile Memory.

Macro Definition Documentation

◆ NE_ALIGN_NVME

#define NE_ALIGN_NVME   ATTRIBUTE(aligned(sizeof(Kernel::UInt32)))