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 <Henry.Wang@arm.com>
This commit is contained in:
Henry Wang 2020-08-31 11:41:59 +08:00 committed by Rob Bradford
parent 9dd188a8e8
commit b1285cf528
5 changed files with 8 additions and 7 deletions

View File

@ -5,9 +5,9 @@ pub mod kvm {
use std::sync::Arc;
use std::{boxed::Box, result};
type Result<T> = result::Result<T, Error>;
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 {

View File

@ -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;

View File

@ -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.