Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/bootreer/vroom
/ functions
Functions
77 in github.com/bootreer/vroom
⨍
Functions
77
◇
Types & classes
16
↓ 10 callers
Method
submit_and_complete_admin
( &mut self, cmd_init: F, )
src/nvme.rs:712
↓ 10 callers
Method
write
TODO: currently namespace 1 is hardcoded
src/nvme.rs:468
↓ 9 callers
Method
read
(&mut self, dest: &impl DmaSlice, mut lba: u64)
src/nvme.rs:478
↓ 7 callers
Method
complete_io
TODO: maybe return result
src/nvme.rs:153
↓ 6 callers
Method
get_addr
(&self)
src/queues.rs:75
↓ 6 callers
Method
slice
(&self, index: Range<usize>)
src/memory.rs:108
↓ 6 callers
Method
write_reg_idx
Sets Queue `qid` Tail Doorbell to `val`
src/nvme.rs:746
↓ 5 callers
Method
chunks
(&self, bytes: usize)
src/memory.rs:100
↓ 5 callers
Method
get_reg32
Returns the register at `self.addr` + `reg`. # Panics Panics if `self.addr` + `reg` does not belong to the mapped memory of the pci device.
src/nvme.rs:783
↓ 5 callers
Method
next
(&mut self)
src/memory.rs:74
↓ 4 callers
Method
namespace_io
( &mut self, ns_id: u32, blocks: u64, lba: u64, addr: u64, wri
src/nvme.rs:661
↓ 4 callers
Method
set_reg32
Sets the register at `self.addr` + `reg` to `value`. # Panics Panics if `self.addr` + `reg` does not belong to the mapped memory of the pci device.
src/nvme.rs:770
↓ 4 callers
Method
submit_io
returns amount of requests pushed into submission queue
src/nvme.rs:103
↓ 3 callers
Function
pci_open_resource_ro
Opens a pci resource file at the given address in read-only mode.
src/pci.rs:90
↓ 3 callers
Method
submit
(&mut self, entry: NvmeCommand)
src/queues.rs:67
↓ 2 callers
Method
complete
(&mut self)
src/queues.rs:102
↓ 2 callers
Method
complete_n
(&mut self, commands: usize)
src/queues.rs:119
↓ 2 callers
Method
complete_spin
(&mut self)
src/queues.rs:132
↓ 2 callers
Method
delete_io_queue_pair
(&mut self, qpair: NvmeQueuePair)
src/nvme.rs:408
↓ 2 callers
Function
init
(pci_addr: &str)
src/lib.rs:19
↓ 2 callers
Function
qd_n
( nvme: NvmeDevice, n_threads: u64, n: u64, write: bool, batch_size: usize, time: Opti
examples/io_test.rs:107
↓ 2 callers
Method
quick_poll
(&mut self)
src/nvme.rs:174
↓ 2 callers
Function
read_hex
Reads a hex string from `file` and returns it as `u64`.
src/pci.rs:144
↓ 2 callers
Function
read_io16
Reads and returns an u16 at `offset` in `file`.
src/pci.rs:102
↓ 2 callers
Method
set_reg64
Sets the register at `self.addr` + `reg` to `value`. # Panics Panics if `self.addr` + `reg` does not belong to the mapped memory of the pci device.
src/nvme.rs:794
↓ 2 callers
Method
submit_checked
(&mut self, entry: NvmeCommand)
src/queues.rs:58
↓ 2 callers
Function
write_io16
Writes an u16 at `offset` in `file`.
src/pci.rs:126
↓ 1 callers
Method
create_io_queue_pair
1 to 1 Submission/Completion Queue Mapping
src/nvme.rs:369
↓ 1 callers
Function
disable_interrupts
Disable INTx interrupts for the device at `pci_addr`.
src/pci.rs:43
↓ 1 callers
Function
enable_dma
Enables direct memory access for the device at `pci_addr`.
src/pci.rs:31
↓ 1 callers
Method
identify_controller
(c_id: u16, ptr: usize)
src/cmd.rs:114
↓ 1 callers
Method
identify_namespace
(c_id: u16, ptr: usize, ns_id: u32)
src/cmd.rs:96
↓ 1 callers
Method
identify_namespace_list
(c_id: u16, ptr: usize, base: u32)
src/cmd.rs:132
↓ 1 callers
Method
is_full
(&self)
src/queues.rs:54
↓ 1 callers
Function
pci_map_resource
Mmaps a pci resource and returns a pointer to the mapped memory.
src/pci.rs:55
↓ 1 callers
Method
read_copied
( &mut self, dest: &mut [u8], mut lba: u64, )
src/nvme.rs:500
↓ 1 callers
Function
read_io32
Reads and returns an u32 at `offset` in `file`.
src/pci.rs:108
↓ 1 callers
Function
unbind_driver
Unbinds the driver from the device at `pci_addr`.
src/pci.rs:17
↓ 1 callers
Function
virt_to_phys
Translates a virtual address to its physical counterpart
src/memory.rs:231
↓ 1 callers
Method
write_copied
(&mut self, data: &[u8], mut lba: u64)
src/nvme.rs:488
Method
allocate
Allocates DMA Memory on a huge page TODO: vfio support?
src/memory.rs:176
Method
async_event_req
(c_id: u16)
src/cmd.rs:214
Method
batched_read
( &mut self, ns_id: u32, data: &mut [u8], mut lba: u64, batch_len: u64
src/nvme.rs:621
Method
batched_write
( &mut self, ns_id: u32, data: &[u8], mut lba: u64, batch_len: u64,
src/nvme.rs:581
Method
clear_namespace
(&mut self, ns_id: Option<u32>)
src/nvme.rs:735
Method
create_io_completion_queue
(c_id: u16, qid: u16, ptr: usize, size: u16)
src/cmd.rs:35
Method
create_io_submission_queue
( c_id: u16, q_id: u16, ptr: usize, size: u16, cq_id: u16, )
src/cmd.rs:53
Method
delete_io_completion_queue
(c_id: u16, q_id: u16)
src/cmd.rs:87
Method
delete_io_submission_queue
(c_id: u16, q_id: u16)
src/cmd.rs:78
Method
deref
(&self)
src/memory.rs:41
Method
deref_mut
(&mut self)
src/memory.rs:49
Function
fill_ns
(nvme: &mut NvmeDevice)
examples/io_test.rs:238
Method
format_nvm
(c_id: u16, ns_id: u32)
src/cmd.rs:195
Method
get_features
(c_id: u16, ptr: usize, fid: u8)
src/cmd.rs:150
Method
get_log_page
( c_id: u16, numd: u32, ptr0: u64, ptr1: u64, lid: u8, lpid: u
src/cmd.rs:232
Method
get_reg64
Returns the register at `self.addr` + `reg`. # Panics Panics if `self.addr` + `reg` does not belong to the mapped memory of the pci device.
src/nvme.rs:807
Method
identify_controller
(&mut self)
src/nvme.rs:327
Method
identify_namespace
(&mut self, id: u32)
src/nvme.rs:434
Method
identify_namespace_list
(&mut self, base: u32)
src/nvme.rs:419
Method
index
(&self, index: Range<usize>)
src/memory.rs:125
Method
index_mut
(&mut self, index: Range<usize>)
src/memory.rs:135
Method
init
(pci_addr: &str)
src/nvme.rs:220
Method
io_read
(c_id: u16, ns_id: u32, lba: u64, blocks_1: u16, ptr0: u64, ptr1: u64)
src/cmd.rs:159
Method
io_write
(c_id: u16, ns_id: u32, lba: u64, blocks_1: u16, ptr0: u64, ptr1: u64)
src/cmd.rs:177
Method
is_empty
(&self)
src/queues.rs:50
Function
main
()
examples/hello_world.rs:4
Function
main
()
examples/io_test.rs:10
Method
new
(len: usize, doorbell: usize)
src/queues.rs:40
Function
pci_open_resource
Opens a pci resource file at the given address.
src/pci.rs:84
Function
qd1
( mut nvme: NvmeDevice, n: u64, write: bool, random: bool, time: Option<Duration>, )
examples/io_test.rs:39
Function
read_io64
Writes an u64 at `offset` in `file`.
src/pci.rs:114
Function
read_io8
Reads and returns an u8 at `offset` in `file`.
src/pci.rs:96
Function
vfio_enabled
()
src/memory.rs:250
Function
write_io32
Writes an u32 at `offset` in `file`.
src/pci.rs:132
Function
write_io64
Writes an u64 at `offset` in `file`.
src/pci.rs:138
Function
write_io8
Writes an u8 at `offset` in `file`.
src/pci.rs:120
Method
write_zeroes
not supported by samsung
src/cmd.rs:250