axdevice_base

Crates.ioaxdevice_base
lib.rsaxdevice_base
version0.1.0
created_at2025-08-15 14:43:40.700464+00
updated_at2025-08-15 14:43:40.700464+00
descriptionBasic traits and structures for emulated devices in ArceOS hypervisor.
homepagehttps://github.com/arceos-hypervisor/axvisor
repository
max_upload_size
id1796919
size95,111
hypervisor (github:arceos-hypervisor:hypervisor)

documentation

README

axdevice_base

CI 🚧 Work in Progress

Basic device abstraction library for AxVisor virtual device subsystem, designed for no_std environments.

Overview

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 by axvmconfig crate).
  • Trait aliases for various device types (MMIO, port, system register, etc.).

Usage Example

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();

Contributing

Issues and PRs are welcome! Please follow the ArceOS-hypervisor project guidelines.

License

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.

Commit count: 0

cargo fmt