refactor: ByteOffset newtype for window/register/ring offsets; named virtio-gpu cmd fields
This commit is contained in:
@@ -5,7 +5,7 @@ use hw_virtio::block::{self, DmaAddrs};
|
||||
use hw_virtio::mmio::{MmioAccess, Registers};
|
||||
use hw_virtio::queue::VirtioQueue;
|
||||
use port_block_device::{BlockDevice, SectorId};
|
||||
use types::address::{PhysicalAddress, VirtualAddress};
|
||||
use types::address::{ByteOffset, PhysicalAddress, VirtualAddress};
|
||||
use types::bounded::PageCount;
|
||||
|
||||
const MMIO_VA: VirtualAddress = VirtualAddress::from_raw(0x20000);
|
||||
@@ -38,11 +38,11 @@ impl VirtioBlockDevice {
|
||||
let at = |offset: usize| PhysicalAddress::from_raw(req.physical.raw() + offset);
|
||||
let dma = DmaAddrs {
|
||||
header_pa: at(0),
|
||||
header: req.window.sub(0, 16),
|
||||
header: req.window.sub(ByteOffset::new(0), 16),
|
||||
status_pa: at(16),
|
||||
status: req.window.sub(16, 1),
|
||||
status: req.window.sub(ByteOffset::new(16), 1),
|
||||
data_pa: at(32),
|
||||
data: req.window.sub(32, SECTOR_SIZE),
|
||||
data: req.window.sub(ByteOffset::new(32), SECTOR_SIZE),
|
||||
};
|
||||
let capacity = regs.read(block::CONFIG_CAPACITY) as u64
|
||||
| (regs.read(block::CONFIG_CAPACITY + 4) as u64) << 32;
|
||||
|
||||
Reference in New Issue
Block a user