$ gmake build
-
initialization
Initialization steps are defined at Section 7.6.1 in NVMe specification. Controller emulator must has below functions.-
PCI configuraion registers
-
MSI/MSI-X registers
-
NVMe controller register
- AQA (admin queue attirubte)
- ASQ (admin submission queue)
- ACQ (admin completion queue)
-
doorbell registers
- Admin sumbmission queue doorbell register
- Admin completion queue doorbell register
-
Admin Commands
-
Set Feature
- Number of Queues
- Asynchronous Event Configuration
- Interrupt Coalecing
-
Get Feature
- Temparture Threshold
-
Create I/O Completeion Queue
-
Create I/O Submission Queue
-
Identify
- Identify Controller data structure
-
-
-
read and write data via this nvme controller emulator
- Read WIP
- Flush
//TODO list up