From b1285cf528c4a2e926bf6557f6eb37e2267dda37 Mon Sep 17 00:00:00 2001 From: Henry Wang Date: Mon, 31 Aug 2020 11:41:59 +0800 Subject: [PATCH] arch: AArch64: move GIC implementations to a separate module This commit moves the GIC-related code to a separate module. Therefore the implementation of GIC registers can be introduced to the new module. Signed-off-by: Henry Wang --- arch/src/aarch64/{ => gic}/gicv2.rs | 0 arch/src/aarch64/{ => gic}/gicv3.rs | 0 arch/src/aarch64/{ => gic}/gicv3_its.rs | 2 +- arch/src/aarch64/{gic.rs => gic/mod.rs} | 10 +++++++--- arch/src/aarch64/mod.rs | 3 --- 5 files changed, 8 insertions(+), 7 deletions(-) rename arch/src/aarch64/{ => gic}/gicv2.rs (100%) rename arch/src/aarch64/{ => gic}/gicv3.rs (100%) rename arch/src/aarch64/{ => gic}/gicv3_its.rs (98%) rename arch/src/aarch64/{gic.rs => gic/mod.rs} (96%) diff --git a/arch/src/aarch64/gicv2.rs b/arch/src/aarch64/gic/gicv2.rs similarity index 100% rename from arch/src/aarch64/gicv2.rs rename to arch/src/aarch64/gic/gicv2.rs diff --git a/arch/src/aarch64/gicv3.rs b/arch/src/aarch64/gic/gicv3.rs similarity index 100% rename from arch/src/aarch64/gicv3.rs rename to arch/src/aarch64/gic/gicv3.rs diff --git a/arch/src/aarch64/gicv3_its.rs b/arch/src/aarch64/gic/gicv3_its.rs similarity index 98% rename from arch/src/aarch64/gicv3_its.rs rename to arch/src/aarch64/gic/gicv3_its.rs index 9b1a08a15..9220a7afd 100644 --- a/arch/src/aarch64/gicv3_its.rs +++ b/arch/src/aarch64/gic/gicv3_its.rs @@ -5,9 +5,9 @@ pub mod kvm { use std::sync::Arc; use std::{boxed::Box, result}; type Result = result::Result; + use crate::aarch64::gic::gicv3::kvm::KvmGICv3; use crate::aarch64::gic::kvm::KvmGICDevice; use crate::aarch64::gic::{Error, GICDevice}; - use crate::aarch64::gicv3::kvm::KvmGICv3; use hypervisor::kvm::kvm_bindings; pub struct KvmGICv3ITS { diff --git a/arch/src/aarch64/gic.rs b/arch/src/aarch64/gic/mod.rs similarity index 96% rename from arch/src/aarch64/gic.rs rename to arch/src/aarch64/gic/mod.rs index 1b1c2217a..fefb498e6 100644 --- a/arch/src/aarch64/gic.rs +++ b/arch/src/aarch64/gic/mod.rs @@ -1,6 +1,10 @@ // Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 +mod gicv2; +mod gicv3; +mod gicv3_its; + use std::result; use std::sync::Arc; @@ -49,9 +53,9 @@ pub trait GICDevice { pub mod kvm { use super::GICDevice; use super::Result; - use crate::aarch64::gicv2::kvm::KvmGICv2; - use crate::aarch64::gicv3::kvm::KvmGICv3; - use crate::aarch64::gicv3_its::kvm::KvmGICv3ITS; + use crate::aarch64::gic::gicv2::kvm::KvmGICv2; + use crate::aarch64::gic::gicv3::kvm::KvmGICv3; + use crate::aarch64::gic::gicv3_its::kvm::KvmGICv3ITS; use crate::layout; use hypervisor::kvm::kvm_bindings; use std::boxed::Box; diff --git a/arch/src/aarch64/mod.rs b/arch/src/aarch64/mod.rs index 07e209f57..30559d349 100644 --- a/arch/src/aarch64/mod.rs +++ b/arch/src/aarch64/mod.rs @@ -6,9 +6,6 @@ pub mod fdt; /// Module for the global interrupt controller configuration. pub mod gic; -mod gicv2; -mod gicv3; -mod gicv3_its; /// Layout for this aarch64 system. pub mod layout; /// Logic for configuring aarch64 registers.