Skip to content

arceos-hypervisor/axdevice_base

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.

About

No description, website, or topics provided.

Resources

License

Apache-2.0 and 3 other licenses found

Licenses found

Apache-2.0
LICENSE.Apache2
GPL-3.0
LICENSE.GPLv3
MulanPSL-2.0
LICENSE.MulanPSL2
Unknown
LICENSE.MulanPubL2

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 7

Languages