mirror of
https://github.com/cloud-hypervisor/cloud-hypervisor.git
synced 2026-08-05 02:19:16 +00:00
virtio-devices: Use new VirtioCommon::access_platform() accessor
Use the new virtio feature gated accessor when creating the handlers for the virtio devices. This now means that the translations via the accessor will only be applied if the feature is acked in accordance with the spec. Signed-off-by: Rob Bradford <rbradford@meta.com>
This commit is contained in:
@@ -1140,7 +1140,7 @@ impl VirtioDevice for Block {
|
||||
.map(|r| r.new_handle())
|
||||
.transpose()
|
||||
.unwrap(),
|
||||
access_platform: self.common.access_platform.clone(),
|
||||
access_platform: self.common.access_platform(),
|
||||
host_cpus: self.queue_affinity.get(&queue_idx).cloned(),
|
||||
acked_features: self.common.acked_features,
|
||||
disable_sector0_writes: self.disable_sector0_writes,
|
||||
|
||||
@@ -751,7 +751,7 @@ impl VirtioDevice for Console {
|
||||
self.resize_pipe.as_ref().map(|p| p.try_clone().unwrap()),
|
||||
kill_evt,
|
||||
pause_evt,
|
||||
self.common.access_platform.clone(),
|
||||
self.common.access_platform(),
|
||||
);
|
||||
|
||||
let paused = self.common.paused.clone();
|
||||
|
||||
@@ -765,7 +765,7 @@ impl VirtioDevice for Net {
|
||||
ctrl_q: CtrlQueue::new(self.taps.clone()),
|
||||
queue: ctrl_queue,
|
||||
queue_evt: ctrl_queue_evt,
|
||||
access_platform: self.common.access_platform.clone(),
|
||||
access_platform: self.common.access_platform(),
|
||||
queue_index: ctrl_queue_index as u16,
|
||||
interrupt_cb: interrupt_cb.clone(),
|
||||
};
|
||||
@@ -837,7 +837,7 @@ impl VirtioDevice for Net {
|
||||
rx_desc_avail: false,
|
||||
rx_rate_limiter,
|
||||
tx_rate_limiter,
|
||||
access_platform: self.common.access_platform.clone(),
|
||||
access_platform: self.common.access_platform(),
|
||||
},
|
||||
mem: mem.clone(),
|
||||
queue_index_base: (i * 2) as u16,
|
||||
|
||||
@@ -404,7 +404,7 @@ impl VirtioDevice for Pmem {
|
||||
queue_evt,
|
||||
kill_evt,
|
||||
pause_evt,
|
||||
access_platform: self.common.access_platform.clone(),
|
||||
access_platform: self.common.access_platform(),
|
||||
};
|
||||
|
||||
let paused = self.common.paused.clone();
|
||||
|
||||
@@ -273,7 +273,7 @@ impl VirtioDevice for Rng {
|
||||
queue_evt,
|
||||
kill_evt,
|
||||
pause_evt,
|
||||
access_platform: self.common.access_platform.clone(),
|
||||
access_platform: self.common.access_platform(),
|
||||
};
|
||||
|
||||
let paused = self.common.paused.clone();
|
||||
|
||||
@@ -251,21 +251,21 @@ impl Vdpa {
|
||||
desc_table_addr: queue
|
||||
.desc_table()
|
||||
.translate_gpa(
|
||||
self.common.access_platform.as_deref(),
|
||||
self.common.access_platform().as_deref(),
|
||||
queue_size as usize * std::mem::size_of::<RawDescriptor>(),
|
||||
)
|
||||
.map_err(Error::TranslateAddress)?,
|
||||
used_ring_addr: queue
|
||||
.used_ring()
|
||||
.translate_gpa(
|
||||
self.common.access_platform.as_deref(),
|
||||
self.common.access_platform().as_deref(),
|
||||
4 + queue_size as usize * 8,
|
||||
)
|
||||
.map_err(Error::TranslateAddress)?,
|
||||
avail_ring_addr: queue
|
||||
.avail_ring()
|
||||
.translate_gpa(
|
||||
self.common.access_platform.as_deref(),
|
||||
self.common.access_platform().as_deref(),
|
||||
4 + queue_size as usize * 2,
|
||||
)
|
||||
.map_err(Error::TranslateAddress)?,
|
||||
|
||||
@@ -466,7 +466,7 @@ where
|
||||
pause_evt,
|
||||
interrupt_cb,
|
||||
backend: self.backend.clone(),
|
||||
access_platform: self.common.access_platform.clone(),
|
||||
access_platform: self.common.access_platform(),
|
||||
};
|
||||
|
||||
let paused = self.common.paused.clone();
|
||||
|
||||
Reference in New Issue
Block a user