Rename some misleading method names

This commit is contained in:
Ruihan Li 2024-09-15 21:25:56 +08:00 committed by Tate, Hongliang Tian
parent cefeea7b50
commit 2bda8d17c4
3 changed files with 15 additions and 15 deletions

View File

@ -46,7 +46,7 @@ impl MmioDevice for VirtioMmioDevice {
impl MmioDevice for VirtioMmioTransport {
fn device_id(&self) -> u32 {
self.common_device.device_id()
self.device.device_id()
}
}
@ -58,7 +58,7 @@ impl VirtioMmioTransport {
pub(super) fn new(device: MmioCommonDevice) -> Self {
let irq = device.irq().clone();
let layout = SafePtr::new(device.io_mem().clone(), 0);
let device_id = device.device_id();
let device_id = device.read_device_id().unwrap();
let (interrupt_ack, interrupt_status) = {
let interrupt_ack_offset = offset_of!(VirtioMmioLayout, interrupt_ack);
let interrupt_status_offset = offset_of!(VirtioMmioLayout, interrupt_status);
@ -77,7 +77,7 @@ impl VirtioMmioTransport {
multiplex: MultiplexIrq::new(irq, interrupt_ack, interrupt_status),
device: Arc::new(VirtioMmioDevice { device_id }),
};
if device.common_device.version() == VirtioMmioVersion::Legacy {
if device.common_device.read_version().unwrap() == VirtioMmioVersion::Legacy {
field_ptr!(&device.layout, VirtioMmioLayout, legacy_guest_page_size)
.write_once(&(PAGE_SIZE as u32))
.unwrap();
@ -88,7 +88,7 @@ impl VirtioMmioTransport {
impl VirtioTransport for VirtioMmioTransport {
fn device_type(&self) -> VirtioDeviceType {
VirtioDeviceType::try_from(self.common_device.device_id() as u8).unwrap()
VirtioDeviceType::try_from(self.device.device_id() as u8).unwrap()
}
fn set_queue(
@ -120,7 +120,7 @@ impl VirtioTransport for VirtioMmioTransport {
.write_once(&(queue_size as u32))
.unwrap();
match self.common_device.version() {
match self.common_device.read_version().unwrap() {
VirtioMmioVersion::Legacy => {
// The area should be continuous
assert_eq!(
@ -254,7 +254,7 @@ impl VirtioTransport for VirtioMmioTransport {
}
fn is_legacy_version(&self) -> bool {
self.common_device.version() == VirtioMmioVersion::Legacy
self.common_device.read_version().unwrap() == VirtioMmioVersion::Legacy
}
fn max_queue_size(&self, idx: u16) -> Result<u16, VirtioTransportError> {

View File

@ -47,7 +47,7 @@ impl MmioBus {
let length = self.common_devices.len();
for i in (0..length).rev() {
let common_device = self.common_devices.pop_front().unwrap();
let device_id = common_device.device_id();
let device_id = common_device.read_device_id().unwrap();
let device = match driver.probe(common_device) {
Ok(device) => {
debug_assert!(device_id == device.device_id());
@ -58,7 +58,6 @@ impl MmioBus {
if err != BusProbeError::DeviceNotMatch {
error!("MMIO device construction failed, reason: {:?}", err);
}
debug_assert!(device_id == device.device_id());
device
}
};
@ -68,7 +67,7 @@ impl MmioBus {
}
pub(super) fn register_mmio_device(&mut self, mut mmio_device: MmioCommonDevice) {
let device_id = mmio_device.device_id();
let device_id = mmio_device.read_device_id().unwrap();
for driver in self.drivers.iter() {
mmio_device = match driver.probe(mmio_device) {
Ok(device) => {
@ -80,7 +79,6 @@ impl MmioBus {
if err != BusProbeError::DeviceNotMatch {
error!("MMIO device construction failed, reason: {:?}", err);
}
debug_assert!(device_id == common_device.device_id());
common_device
}
};

View File

@ -10,6 +10,7 @@ use crate::{
io_mem::IoMem,
mm::{paddr_to_vaddr, Paddr, VmIoOnce},
trap::IrqLine,
Error, Result,
};
/// MMIO Common device.
@ -37,7 +38,7 @@ impl MmioCommonDevice {
};
info!(
"[Virtio]: Found Virtio mmio device, device id:{:?}, irq number:{:?}",
res.device_id(),
res.read_device_id().unwrap(),
res.irq.num()
);
res
@ -54,13 +55,14 @@ impl MmioCommonDevice {
}
/// Device ID
pub fn device_id(&self) -> u32 {
self.io_mem.read_once::<u32>(8).unwrap()
pub fn read_device_id(&self) -> Result<u32> {
self.io_mem.read_once::<u32>(8)
}
/// Version of the MMIO device.
pub fn version(&self) -> VirtioMmioVersion {
VirtioMmioVersion::try_from(self.io_mem.read_once::<u32>(4).unwrap()).unwrap()
pub fn read_version(&self) -> Result<VirtioMmioVersion> {
VirtioMmioVersion::try_from(self.io_mem.read_once::<u32>(4)?)
.map_err(|_| Error::InvalidArgs)
}
/// Interrupt line