Basic device abstraction library for AxVisor virtual device subsystem, designed for no_std
environments.
axdevice_base
provides core traits, structures, and type definitions for virtual device development, including:
BaseDeviceOps
trait: Common interface that all virtual devices must implement.EmulatedDeviceConfig
: Device initialization and configuration structure.- Device type enumeration
EmuDeviceType
(provided byaxvmconfig
crate). - Trait aliases for various device types (MMIO, port, system register, etc.).
use axdevice_base::{BaseDeviceOps, EmulatedDeviceConfig, EmuDeviceType};
// Implement a custom device
struct MyDevice { /* ... */ }
impl BaseDeviceOps<axaddrspace::GuestPhysAddrRange> for MyDevice {
// Implement trait methods ...
}
let config = EmulatedDeviceConfig::default();
Issues and PRs are welcome! Please follow the ArceOS-hypervisor project guidelines.
This project is licensed under multiple licenses. You may choose to use this project under any of the following licenses:
You may use this software under the terms of any of these licenses at your option.