Path: blob/main/hypervisor/src/geniezone/geniezone_sys/mod.rs
5394 views
// Copyright 2023 The ChromiumOS Authors1// Use of this source code is governed by a BSD-style license that can be2// found in the LICENSE file.34//! Bindings for the GZVM (Geniezone Hypervisor) API.56#![cfg(any(target_os = "android", target_os = "linux"))]7#![allow(non_upper_case_globals)]8#![allow(non_camel_case_types)]9#![allow(non_snake_case)]1011#[cfg(target_arch = "aarch64")]12pub mod aarch64 {13pub mod bindings;14use base::ioctl_io_nr;15use base::ioctl_iow_nr;16use base::ioctl_iowr_nr;17pub use bindings::*;1819ioctl_io_nr!(GZVM_CREATE_VM, GZVM_IOC_MAGIC, 0x01);20ioctl_io_nr!(GZVM_CHECK_EXTENSION, GZVM_IOC_MAGIC, 0x03);21ioctl_io_nr!(GZVM_CREATE_VCPU, GZVM_IOC_MAGIC, 0x41);22ioctl_io_nr!(GZVM_CREATE_IRQCHIP, GZVM_IOC_MAGIC, 0x60);23ioctl_io_nr!(GZVM_RUN, GZVM_IOC_MAGIC, 0x80);2425ioctl_iow_nr!(26GZVM_SET_MEMORY_REGION,27GZVM_IOC_MAGIC,280x40,29gzvm_memory_region30);3132ioctl_iow_nr!(33GZVM_SET_USER_MEMORY_REGION,34GZVM_IOC_MAGIC,350x46,36gzvm_userspace_memory_region37);3839ioctl_iow_nr!(GZVM_IRQ_LINE, GZVM_IOC_MAGIC, 0x61, gzvm_irq_level);40ioctl_iow_nr!(GZVM_IRQFD, GZVM_IOC_MAGIC, 0x76, gzvm_irqfd);41ioctl_iow_nr!(GZVM_IOEVENTFD, GZVM_IOC_MAGIC, 0x79, gzvm_ioeventfd);42ioctl_iow_nr!(GZVM_ENABLE_CAP, GZVM_IOC_MAGIC, 0xa3, gzvm_enable_cap);43ioctl_iow_nr!(GZVM_GET_ONE_REG, GZVM_IOC_MAGIC, 0xab, gzvm_one_reg);44ioctl_iow_nr!(GZVM_SET_ONE_REG, GZVM_IOC_MAGIC, 0xac, gzvm_one_reg);45ioctl_iowr_nr!(GZVM_CREATE_DEVICE, GZVM_IOC_MAGIC, 0xe0, gzvm_create_device);46ioctl_iow_nr!(GZVM_SET_DTB_CONFIG, GZVM_IOC_MAGIC, 0xff, gzvm_dtb_config);47}4849#[cfg(target_arch = "aarch64")]50pub use aarch64::*;515253