|
XenevaOS
|


Go to the source code of this file.
Classes | |
| struct | _nvme_identify_cmd_ |
| struct | _nvme_create_io_comp_queue_cmd_ |
| struct | _nvme_create_io_sub_queue_ |
| struct | _nvme_delete_io_queue_cmd_ |
| struct | _nvme_set_features_cmd_ |
| struct | _NVMeReadCommand_ |
| struct | _NVMeWriteCommand_ |
| struct | _nvme_cmd_ |
| struct | _nvme_completion_ |
| struct | _controller_identity_ |
| union | NVMeLBAFormat |
| struct | _namespace_id_ |
| struct | _nvme_queue_ |
| struct | _nvme_dev_ |
Typedefs | |
| typedef struct _nvme_identify_cmd_ | NVMeIdentifyCommand |
| typedef struct _nvme_create_io_comp_queue_cmd_ | NVMeCreateIOCompletionQueueCommand |
| typedef struct _nvme_create_io_sub_queue_ | NVMeCreateIOSubmissionQueueCommand |
| typedef struct _nvme_delete_io_queue_cmd_ | NVMeDeleteIOQueueCommand |
| typedef struct _nvme_set_features_cmd_ | NVMeSetFeatureCommand |
| typedef struct _NVMeReadCommand_ | NVMeReadCommand |
| typedef struct _NVMeWriteCommand_ | NVMeWriteCommand |
| typedef struct _nvme_cmd_ | NVMeCommand |
| typedef struct _nvme_completion_ | NVMeCompletion |
| typedef volatile struct _controller_identity_ | NVMeControllerIdentity |
| typedef struct _namespace_id_ | NamespaceIdentity |
| typedef struct _nvme_queue_ | NVMeQueue |
| typedef struct _nvme_dev_ | NVMeDev |
Enumerations | |
| enum | AdminCommands { AdminCmdDeleteIOSubmissionQueue = 0x0 , AdminCmdCreateIOSubmissionQueue = 0x1 , AdminCmdGetLogPage = 0x2 , AdminCmdDeleteIOCompletionQueue = 0x4 , AdminCmdCreateIOCompletionQueue = 0x5 , AdminCmdIdentify = 0x6 , AdminCmdSetFeatures = 0x9 } |
Functions | |
| NVMeQueue * | NVMeGetQueue (uint16_t queueid) |
| void | NVMeSubmitCommand (NVMeQueue *queue, NVMeCommand *cmd, NVMeCompletion *comp) |
| #define NVME_AQA_ACQS | ( | x | ) | (((x) & NVME_AQA_AQS_MASK) << 16) |
| #define NVME_AQA_AQS_MASK 0xfffU |
| #define NVME_AQA_ASQS | ( | x | ) | (((x) & NVME_AQA_AQS_MASK) << 0) |
| #define NVME_CAP_DSTRD | ( | x | ) | (((x) >> 32) & NVME_CAP_DSTRD_MASK) |
| #define NVME_CAP_DSTRD_MASK 0xfU |
| #define NVME_CAP_MPS_MASK 0xfU |
| #define NVME_CAP_MPSMAX | ( | x | ) | ((x >> 52) & NVME_CAP_MPS_MASK) |
| #define NVME_CAP_MPSMIN | ( | x | ) | ((x >> 48) & NVME_CAP_MPS_MASK) |
| #define NVME_CAP_MQES | ( | x | ) | ((x) & NVME_CAP_MQES_MASK) |
| #define NVME_CAP_MQES_MASK 0xffffU |
| #define NVME_CC_AMS_MASK (0x7 << 11) |
| #define NVME_CC_AMS_ROUNDROBIN 0 |
| #define NVME_CC_AMS_WIGHTED (1<<11) |
| #define NVME_CC_CSNVME 0x0 |
| #define NVME_CC_CSS_MASK 0x70 |
| #define NVME_CC_DISABLE 0 |
| #define NVME_CC_EN 0x1 |
| #define NVME_CC_EN_MASK 0x1 |
| #define NVME_CC_MPS_MASK 0x780 |
| #define NVME_CC_MPS_SHIFT 7 |
| #define NVME_CFG_CSS | ( | x | ) | (((x) & NVME_CFG_CSS_MASK) << 4) |
| #define NVME_CFG_CSS_MASK 0x7 |
| #define NVME_CFG_DEFAULT_IOCQES (4<<20) |
| #define NVME_CFG_DEFAULT_IOSQES (6<<16) |
| #define NVME_CFG_ENABLE (1<<0) |
| #define NVME_CFG_MPS | ( | x | ) | (((x) & NVME_CFG_MPS_MASK) << 7) |
| #define NVME_CFG_MPS_MASK 0xfUL |
| #define NVME_CONFIG_COMMAND_ALL_SUPPORTED_IO 0x6 |
| #define NVME_CONFIG_COMMAND_SET_ADMIN_ONLY 0x7 |
| #define NVME_CONFIG_COMMAND_SET_NVM 0x0 |
| #define NVME_NSSR_RESET_VALUE 0x4e564d65 |
| #define NVME_REGISTER_ACQ 0x30 |
| #define NVME_REGISTER_AQA 0x24 |
| #define NVME_REGISTER_ASQ 0x28 |
| #define NVME_REGISTER_CAP 0x00 |
| #define NVME_REGISTER_CC 0x14 |
| #define NVME_REGISTER_CSTS 0x1C |
| #define NVME_REGISTER_INTMC 0x10 |
| #define NVME_REGISTER_INTMS 0x0C |
| #define NVME_REGISTER_VS 0x08 |
| typedef struct _namespace_id_ NamespaceIdentity |
| typedef struct _nvme_cmd_ NVMeCommand |
| typedef struct _nvme_completion_ NVMeCompletion |
| typedef volatile struct _controller_identity_ NVMeControllerIdentity |
| typedef struct _nvme_create_io_sub_queue_ NVMeCreateIOSubmissionQueueCommand |
| typedef struct _nvme_delete_io_queue_cmd_ NVMeDeleteIOQueueCommand |
| typedef struct _nvme_dev_ NVMeDev |
| typedef struct _nvme_identify_cmd_ NVMeIdentifyCommand |
BSD 2-Clause License
Copyright (c) 2022-2024, Manas Kamal Choudhury All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
| typedef struct _nvme_queue_ NVMeQueue |
| typedef struct _NVMeReadCommand_ NVMeReadCommand |
| typedef struct _nvme_set_features_cmd_ NVMeSetFeatureCommand |
| typedef struct _NVMeWriteCommand_ NVMeWriteCommand |
| enum AdminCommands |
|
extern |