forked from AbleOS/ableos
experimental avx stuff (enable it yourself, coward) update hblang & fiddle with stuff
38 lines
970 B
Rust
38 lines
970 B
Rust
use {
|
|
core::ptr::NonNull,
|
|
virtio_drivers::{BufferDirection, Hal, PhysAddr},
|
|
};
|
|
|
|
pub fn test() {
|
|
let _ps = virtio_drivers::PAGE_SIZE;
|
|
}
|
|
|
|
pub struct AbleosHal;
|
|
|
|
unsafe impl Hal for AbleosHal {
|
|
fn dma_alloc(_pages: usize, _direction: BufferDirection) -> (PhysAddr, NonNull<u8>) {
|
|
todo!();
|
|
}
|
|
|
|
unsafe fn dma_dealloc(_paddr: PhysAddr, _vaddr: NonNull<u8>, _pages: usize) -> i32 {
|
|
todo!()
|
|
}
|
|
|
|
unsafe fn mmio_phys_to_virt(paddr: PhysAddr, _size: usize) -> NonNull<u8> {
|
|
NonNull::new(paddr as _).unwrap()
|
|
}
|
|
|
|
unsafe fn share(_buffer: NonNull<[u8]>, _direction: BufferDirection) -> PhysAddr {
|
|
todo!()
|
|
}
|
|
|
|
unsafe fn unshare(_paddr: PhysAddr, _buffer: NonNull<[u8]>, _direction: BufferDirection) {
|
|
// Nothing to do, as the host already has access to all memory and we didn't copy the buffer
|
|
// anywhere else.
|
|
todo!()
|
|
}
|
|
}
|
|
fn virt_to_phys(vaddr: usize) -> PhysAddr {
|
|
vaddr
|
|
}
|