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:
BaseDeviceOpstrait: Common interface that all virtual devices must implement.EmulatedDeviceConfig: Device initialization and configuration structure.- Device type enumeration
EmuDeviceType(provided byaxvmconfigcrate). - 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.