mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-04-30 12:44:39 +00:00
agent: Use cfg-if for s390x CCW
Uses fewer lines in upcoming VFIO-AP support. Signed-off-by: Jakob Naucke <jakob.naucke@ibm.com>
This commit is contained in:
parent
68a586e52c
commit
db89c88f4f
1
src/agent/Cargo.lock
generated
1
src/agent/Cargo.lock
generated
@ -801,6 +801,7 @@ dependencies = [
|
|||||||
"async-recursion",
|
"async-recursion",
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"capctl",
|
"capctl",
|
||||||
|
"cfg-if 1.0.0",
|
||||||
"cgroups-rs",
|
"cgroups-rs",
|
||||||
"clap",
|
"clap",
|
||||||
"futures",
|
"futures",
|
||||||
|
@ -48,6 +48,7 @@ slog-scope = "4.1.2"
|
|||||||
slog-stdlog = "4.0.0"
|
slog-stdlog = "4.0.0"
|
||||||
log = "0.4.11"
|
log = "0.4.11"
|
||||||
|
|
||||||
|
cfg-if = "1.0.0"
|
||||||
prometheus = { version = "0.13.0", features = ["process"] }
|
prometheus = { version = "0.13.0", features = ["process"] }
|
||||||
procfs = "0.12.0"
|
procfs = "0.12.0"
|
||||||
anyhow = "1.0.32"
|
anyhow = "1.0.32"
|
||||||
|
@ -16,13 +16,12 @@ use std::str::FromStr;
|
|||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
use tokio::sync::Mutex;
|
use tokio::sync::Mutex;
|
||||||
|
|
||||||
#[cfg(target_arch = "s390x")]
|
|
||||||
use crate::ccw;
|
|
||||||
use crate::linux_abi::*;
|
use crate::linux_abi::*;
|
||||||
use crate::pci;
|
use crate::pci;
|
||||||
use crate::sandbox::Sandbox;
|
use crate::sandbox::Sandbox;
|
||||||
use crate::uevent::{wait_for_uevent, Uevent, UeventMatcher};
|
use crate::uevent::{wait_for_uevent, Uevent, UeventMatcher};
|
||||||
use anyhow::{anyhow, Context, Result};
|
use anyhow::{anyhow, Context, Result};
|
||||||
|
use cfg_if::cfg_if;
|
||||||
use oci::{LinuxDeviceCgroup, LinuxResources, Spec};
|
use oci::{LinuxDeviceCgroup, LinuxResources, Spec};
|
||||||
use protocols::agent::Device;
|
use protocols::agent::Device;
|
||||||
use tracing::instrument;
|
use tracing::instrument;
|
||||||
@ -54,6 +53,12 @@ pub const DRIVER_VFIO_TYPE: &str = "vfio";
|
|||||||
pub const DRIVER_OVERLAYFS_TYPE: &str = "overlayfs";
|
pub const DRIVER_OVERLAYFS_TYPE: &str = "overlayfs";
|
||||||
pub const FS_TYPE_HUGETLB: &str = "hugetlbfs";
|
pub const FS_TYPE_HUGETLB: &str = "hugetlbfs";
|
||||||
|
|
||||||
|
cfg_if! {
|
||||||
|
if #[cfg(target_arch = "s390x")] {
|
||||||
|
use crate::ccw;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#[instrument]
|
#[instrument]
|
||||||
pub fn online_device(path: &str) -> Result<()> {
|
pub fn online_device(path: &str) -> Result<()> {
|
||||||
fs::write(path, "1")?;
|
fs::write(path, "1")?;
|
||||||
|
@ -3,6 +3,8 @@
|
|||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
//
|
//
|
||||||
|
|
||||||
|
use cfg_if::cfg_if;
|
||||||
|
|
||||||
/// Linux ABI related constants.
|
/// Linux ABI related constants.
|
||||||
|
|
||||||
#[cfg(target_arch = "aarch64")]
|
#[cfg(target_arch = "aarch64")]
|
||||||
@ -64,8 +66,11 @@ pub fn create_pci_root_bus_path() -> String {
|
|||||||
ret
|
ret
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(target_arch = "s390x")]
|
cfg_if! {
|
||||||
|
if #[cfg(target_arch = "s390x")] {
|
||||||
pub const CCW_ROOT_BUS_PATH: &str = "/devices/css0";
|
pub const CCW_ROOT_BUS_PATH: &str = "/devices/css0";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// From https://www.kernel.org/doc/Documentation/acpi/namespace.txt
|
// From https://www.kernel.org/doc/Documentation/acpi/namespace.txt
|
||||||
// The Linux kernel's core ACPI subsystem creates struct acpi_device
|
// The Linux kernel's core ACPI subsystem creates struct acpi_device
|
||||||
|
@ -20,6 +20,7 @@ extern crate scopeguard;
|
|||||||
extern crate slog;
|
extern crate slog;
|
||||||
|
|
||||||
use anyhow::{anyhow, Context, Result};
|
use anyhow::{anyhow, Context, Result};
|
||||||
|
use cfg_if::cfg_if;
|
||||||
use clap::{AppSettings, Parser};
|
use clap::{AppSettings, Parser};
|
||||||
use nix::fcntl::OFlag;
|
use nix::fcntl::OFlag;
|
||||||
use nix::sys::socket::{self, AddressFamily, SockFlag, SockType, VsockAddr};
|
use nix::sys::socket::{self, AddressFamily, SockFlag, SockType, VsockAddr};
|
||||||
@ -34,8 +35,6 @@ use std::process::exit;
|
|||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
use tracing::{instrument, span};
|
use tracing::{instrument, span};
|
||||||
|
|
||||||
#[cfg(target_arch = "s390x")]
|
|
||||||
mod ccw;
|
|
||||||
mod config;
|
mod config;
|
||||||
mod console;
|
mod console;
|
||||||
mod device;
|
mod device;
|
||||||
@ -74,6 +73,12 @@ use tokio::{
|
|||||||
mod rpc;
|
mod rpc;
|
||||||
mod tracer;
|
mod tracer;
|
||||||
|
|
||||||
|
cfg_if! {
|
||||||
|
if #[cfg(target_arch = "s390x")] {
|
||||||
|
mod ccw;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const NAME: &str = "kata-agent";
|
const NAME: &str = "kata-agent";
|
||||||
|
|
||||||
lazy_static! {
|
lazy_static! {
|
||||||
|
Loading…
Reference in New Issue
Block a user