Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
google
GitHub Repository: google/crosvm
Path: blob/main/hypervisor/src/halla/halla_sys/mod.rs
5394 views
1
// Copyright 2025 The ChromiumOS Authors
2
// Use of this source code is governed by a BSD-style license that can be
3
// found in the LICENSE file.
4
5
//! Bindings for the HVM (Halla Hypervisor) API.
6
7
#![cfg(any(target_os = "android", target_os = "linux"))]
8
#![allow(non_upper_case_globals)]
9
#![allow(non_camel_case_types)]
10
#![allow(non_snake_case)]
11
12
#[cfg(target_arch = "aarch64")]
13
pub mod aarch64 {
14
pub mod bindings;
15
use base::ioctl_io_nr;
16
use base::ioctl_iow_nr;
17
use base::ioctl_iowr_nr;
18
pub use bindings::*;
19
20
ioctl_io_nr!(HVM_CREATE_VM, HVM_IOC_MAGIC, 0x01);
21
ioctl_io_nr!(HVM_CHECK_EXTENSION, HVM_IOC_MAGIC, 0x02);
22
ioctl_iow_nr!(HVM_ENABLE_CAP, HVM_IOC_MAGIC, 0x03, hvm_enable_cap);
23
ioctl_iow_nr!(HVM_SET_DTB_CONFIG, HVM_IOC_MAGIC, 0x04, hvm_dtb_config);
24
25
ioctl_io_nr!(HVM_CREATE_VCPU, HVM_IOC_MAGIC, 0x20);
26
ioctl_io_nr!(HVM_RUN, HVM_IOC_MAGIC, 0x21);
27
ioctl_iow_nr!(HVM_GET_ONE_REG, HVM_IOC_MAGIC, 0x28, hvm_one_reg);
28
ioctl_iow_nr!(HVM_SET_ONE_REG, HVM_IOC_MAGIC, 0x29, hvm_one_reg);
29
30
ioctl_iow_nr!(
31
HVM_SET_USER_MEMORY_REGION,
32
HVM_IOC_MAGIC,
33
0x41,
34
hvm_userspace_memory_region
35
);
36
37
ioctl_iow_nr!(HVM_IRQFD, HVM_IOC_MAGIC, 0x61, hvm_irqfd);
38
ioctl_iow_nr!(HVM_IRQ_LINE, HVM_IOC_MAGIC, 0x62, hvm_irq_level);
39
40
ioctl_iowr_nr!(HVM_CREATE_DEVICE, HVM_IOC_MAGIC, 0x80, hvm_create_device);
41
42
ioctl_iow_nr!(HVM_IOEVENTFD, HVM_IOC_MAGIC, 0xa0, hvm_ioeventfd);
43
}
44
45
#[cfg(target_arch = "aarch64")]
46
pub use aarch64::*;
47
48