axhvc
AxVisor HyperCall definitions for guest-hypervisor communication.
Overview
This crate provides the hypercall interface for AxVisor, a type-1 hypervisor based on ArceOS. It defines the hypercall codes and result types used for communication between guest VMs and the hypervisor.
Features
no_stdcompatible - suitable for bare-metal and embedded environments- Defines all supported hypercall operations
- Provides type-safe hypercall codes with numeric enum conversion
- Cross-platform support (x86_64, RISC-V, AArch64)
Supported Hypercalls
| Code | Name | Description |
|---|---|---|
| 0 | HypervisorDisable |
Disable the hypervisor |
| 1 | HyperVisorPrepareDisable |
Prepare to disable the hypervisor |
| 2 | HyperVisorDebug |
Debug hypercall (development only) |
| 3 | HIVCPublishChannel |
Publish an IVC shared memory channel |
| 4 | HIVCSubscribChannel |
Subscribe to an IVC shared memory channel |
| 5 | HIVCUnPublishChannel |
Unpublish an IVC shared memory channel |
| 6 | HIVCUnSubscribChannel |
Unsubscribe from an IVC shared memory channel |
Usage
Add this to your Cargo.toml:
[]
= "0.1"
Example
use ;
License
Licensed under one of the following licenses:
- GNU General Public License, Version 3.0 or later (LICENSE-GPL or https://www.gnu.org/licenses/gpl-3.0.html)
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- Mulan PSL v2 (LICENSE-MULAN or https://license.coscl.org.cn/MulanPSL2)