Skip to content

Commit 0667dab

Browse files
update vring config data in backend.rs with packed layout
1 parent f140e57 commit 0667dab

File tree

1 file changed

+13
-3
lines changed

1 file changed

+13
-3
lines changed

vhost/src/backend.rs

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,16 @@ use super::{Error, Result};
2525
pub const VHOST_MAX_MEMORY_REGIONS: usize = 255;
2626

2727
/// Vring configuration data.
28+
///
29+
/// For split virtqueues (traditional layout):
30+
/// - `desc_table_addr`: Descriptor table address
31+
/// - `used_ring_addr`: Used ring buffer address
32+
/// - `avail_ring_addr`: Available ring buffer address
33+
///
34+
/// For packed virtqueues (when VHOST_VRING_F_PACKED flag is set):
35+
/// - `desc_table_addr`: Packed descriptor ring address
36+
/// - `used_ring_addr`: Driver event suppression structure address
37+
/// - `avail_ring_addr`: Device event suppression structure address
2838
#[derive(Default, Clone, Copy)]
2939
pub struct VringConfigData {
3040
/// Maximum queue size supported by the driver.
@@ -33,11 +43,11 @@ pub struct VringConfigData {
3343
pub queue_size: u16,
3444
/// Bitmask of vring flags.
3545
pub flags: u32,
36-
/// Descriptor table address.
46+
/// Descriptor table address (split) / Packed descriptor ring address (packed).
3747
pub desc_table_addr: u64,
38-
/// Used ring buffer address.
48+
/// Used ring buffer address (split) / Driver event suppression address (packed).
3949
pub used_ring_addr: u64,
40-
/// Available ring buffer address.
50+
/// Available ring buffer address (split) / Device event suppression address (packed).
4151
pub avail_ring_addr: u64,
4252
/// Optional address for logging.
4353
pub log_addr: Option<u64>,

0 commit comments

Comments
 (0)