From 9736c2972157e9c1c4f3cd4bac83f2256a2c9688 Mon Sep 17 00:00:00 2001 From: oliviermartin Date: Wed, 4 Jul 2012 20:02:49 +0000 Subject: [PATCH] ArmPkg/PL390Gic: Added support for ArmGicDisableInterruptInterface() git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13489 6f19259b-4bc3-4df7-8a09-765794883524 --- ArmPkg/Drivers/PL390Gic/PL390GicSec.c | 13 +++++++++++++ ArmPkg/Include/Library/ArmGicLib.h | 6 ++++++ 2 files changed, 19 insertions(+) diff --git a/ArmPkg/Drivers/PL390Gic/PL390GicSec.c b/ArmPkg/Drivers/PL390Gic/PL390GicSec.c index c137c95f20..25038bd63f 100644 --- a/ArmPkg/Drivers/PL390Gic/PL390GicSec.c +++ b/ArmPkg/Drivers/PL390Gic/PL390GicSec.c @@ -107,6 +107,19 @@ ArmGicEnableInterruptInterface ( ARM_GIC_ICCICR_SIGNAL_SECURE_TO_FIQ); } +VOID +EFIAPI +ArmGicDisableInterruptInterface ( + IN INTN GicInterruptInterfaceBase + ) +{ + UINT32 ControlValue; + + // Disable CPU interface in Secure world and Non-secure World + ControlValue = MmioRead32 (GicInterruptInterfaceBase + ARM_GIC_ICCICR); + MmioWrite32 (GicInterruptInterfaceBase + ARM_GIC_ICCICR, ControlValue & ~(ARM_GIC_ICCICR_ENABLE_SECURE | ARM_GIC_ICCICR_ENABLE_NS)); +} + VOID EFIAPI ArmGicEnableDistributor ( diff --git a/ArmPkg/Include/Library/ArmGicLib.h b/ArmPkg/Include/Library/ArmGicLib.h index c115767bbf..6da072807b 100644 --- a/ArmPkg/Include/Library/ArmGicLib.h +++ b/ArmPkg/Include/Library/ArmGicLib.h @@ -96,6 +96,12 @@ ArmGicEnableInterruptInterface ( IN INTN GicInterruptInterfaceBase ); +VOID +EFIAPI +ArmGicDisableInterruptInterface ( + IN INTN GicInterruptInterfaceBase + ); + VOID EFIAPI ArmGicEnableDistributor (