mirror of
https://github.com/asterinas/asterinas.git
synced 2025-06-22 00:43:24 +00:00
Add write_vals for VmIo
This commit is contained in:
committed by
Tate, Hongliang Tian
parent
abb377b695
commit
345ab8f838
@ -6,7 +6,7 @@ use alloc::{
|
||||
sync::Arc,
|
||||
vec::Vec,
|
||||
};
|
||||
use core::{fmt::Debug, mem};
|
||||
use core::{fmt::Debug, iter, mem};
|
||||
|
||||
use aster_frame::{
|
||||
io_mem::IoMem,
|
||||
@ -244,10 +244,9 @@ impl EventTable {
|
||||
let vm_segment = VmAllocOptions::new(1).alloc_contiguous().unwrap();
|
||||
|
||||
let default_event = VirtioInputEvent::default();
|
||||
for idx in 0..num_events {
|
||||
let offset = idx * EVENT_SIZE;
|
||||
vm_segment.write_val(offset, &default_event).unwrap();
|
||||
}
|
||||
let iter = iter::repeat(&default_event);
|
||||
let nr_written = vm_segment.write_vals(0, iter, 0).unwrap();
|
||||
assert_eq!(nr_written, EVENT_SIZE);
|
||||
|
||||
let stream = DmaStream::map(vm_segment, DmaDirection::FromDevice, false).unwrap();
|
||||
Self { stream, num_events }
|
||||
|
Reference in New Issue
Block a user