2
0
mirror of https://git.missingno.dev/kolibrios-nvme-driver/ synced 2024-12-22 13:58:47 +01:00

change NVM_ASQS from 64 to 256

No reason for this change other than to see if the Virtualbox controller
command problem goes away, since my guess is that if the queues are
right next to each other in physical memory, then it could perhaps work.
But this doesn't seem to be the case ATM.
This commit is contained in:
Abdur-Rahman Mansoor 2024-08-06 11:50:34 -04:00
parent 4d3211604d
commit 4cbae17ecf

View File

@ -16,15 +16,17 @@ VS121 = 0x00010201 ; (v1.2.1)
VS130 = 0x00010300 ; (v1.3.0) VS130 = 0x00010300 ; (v1.3.0)
VS140 = 0x00010400 ; (v1.4.0) VS140 = 0x00010400 ; (v1.4.0)
NVM_CMDS = 64 ; Number of Commands
NVM_MPS = 0 ; Memory Page Size (2 ^ (12 + MPS)) NVM_MPS = 0 ; Memory Page Size (2 ^ (12 + MPS))
NVM_ASQS = 64 ; Admin Submission Queue Size NVM_ASQS = 256 ; Admin Submission Queue Size
NVM_ACQS = NVM_ASQS ; Admin Completion Queue Size NVM_ACQS = NVM_ASQS ; Admin Completion Queue Size
LAST_QUEUE_ID = 1 ; Index of the last queue LAST_QUEUE_ID = 1 ; Index of the last queue
SQ_ENTRIES = NVM_ASQS ; I/O and Admin Submission Queue Size SQ_ENTRIES = NVM_ASQS ; I/O and Admin Submission Queue Size
CQ_ENTRIES = NVM_ACQS ; I/O and Admin Completion Queue Size CQ_ENTRIES = NVM_ACQS ; I/O and Admin Completion Queue Size
PAGE_SIZE = 4096 shl NVM_MPS ; Use 4KiB pages PAGE_SIZE = 4096 shl NVM_MPS ; Use 4KiB pages
SUPPORTED_LBADS = 9 ; KolibriOS only supports LBADS of 512, later on we may remove this restriction SUPPORTED_LBADS = 9 ; KolibriOS only supports LBADS of 512, later on we may remove this restriction
SQ_ALLOC_SIZE = NVM_ASQS * sizeof.SQ_ENTRY
CQ_ALLOC_SIZE = NVM_ACQS * sizeof.CQ_ENTRY
QUEUE_ALLOC_SIZE = SQ_ALLOC_SIZE + CQ_ALLOC_SIZE
MSIXCAP_CID = 0x11 MSIXCAP_CID = 0x11
MSIXCAP_MXE = 1 shl 15 ; MSI-X Enable bit MSIXCAP_MXE = 1 shl 15 ; MSI-X Enable bit
@ -565,5 +567,7 @@ assert sizeof.CQ_ENTRY = 16
assert sizeof.IDENTC = 4096 assert sizeof.IDENTC = 4096
assert sizeof.IDENTN = 4096 assert sizeof.IDENTN = 4096
assert sizeof.NSGRANLS = 288 assert sizeof.NSGRANLS = 288
assert (SQ_ENTRIES * sizeof.SQ_ENTRY) mod PAGE_SIZE = 0
assert (CQ_ENTRIES * sizeof.CQ_ENTRY) mod PAGE_SIZE = 0
; vim: syntax=fasm ; vim: syntax=fasm