Skip to content

kern-crates/axdevice_crates

 
 

Repository files navigation

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

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 100.0%