/** @file * * Copyright (c) 2011-2012, ARM Limited. All rights reserved. * * This program and the accompanying materials * are licensed and made available under the terms and conditions of the BSD License * which accompanies this distribution. The full text of the license may be found at * http://opensource.org/licenses/bsd-license.php * * THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, * WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. * **/ #ifndef __ARM_TRUSTZONE_H__ #define __ARM_TRUSTZONE_H__ #include // Setup TZ Protection Controller #define TZPC_DECPROT_0 0 #define TZPC_DECPROT_1 1 #define TZPC_DECPROT_2 2 #define TZPC_DECPROT_MAX 2 /** FIXME: Need documentation **/ EFI_STATUS TZPCSetDecProtBits ( IN UINTN TzpcBase, IN UINTN TzpcId, IN UINTN Bits ); /** FIXME: Need documentation **/ EFI_STATUS TZPCClearDecProtBits ( IN UINTN TzpcBase, IN UINTN TzpcId, IN UINTN Bits ); // Setup TZ Address Space Controller #define TZASC_REGION_ENABLED 1 #define TZASC_REGION_DISABLED 0 #define TZASC_REGION_SIZE_32KB 0xE #define TZASC_REGION_SIZE_64KB 0xF #define TZASC_REGION_SIZE_128KB 0x10 #define TZASC_REGION_SIZE_256KB 0x11 #define TZASC_REGION_SIZE_512KB 0x12 #define TZASC_REGION_SIZE_1MB 0x13 #define TZASC_REGION_SIZE_2MB 0x14 #define TZASC_REGION_SIZE_4MB 0x15 #define TZASC_REGION_SIZE_8MB 0x16 #define TZASC_REGION_SIZE_16MB 0x17 #define TZASC_REGION_SIZE_32MB 0x18 #define TZASC_REGION_SIZE_64MB 0x19 #define TZASC_REGION_SIZE_128MB 0x1A #define TZASC_REGION_SIZE_256MB 0x1B #define TZASC_REGION_SIZE_512MB 0x1C #define TZASC_REGION_SIZE_1GB 0x1D #define TZASC_REGION_SIZE_2GB 0x1E #define TZASC_REGION_SIZE_4GB 0x1F #define TZASC_REGION_SECURITY_SR (1 << 3) #define TZASC_REGION_SECURITY_SW (1 << 2) #define TZASC_REGION_SECURITY_SRW (TZASC_REGION_SECURITY_SR|TZASC_REGION_SECURITY_SW) #define TZASC_REGION_SECURITY_NSR (1 << 1) #define TZASC_REGION_SECURITY_NSW 1 #define TZASC_REGION_SECURITY_NSRW (TZASC_REGION_SECURITY_NSR|TZASC_REGION_SECURITY_NSW) /** FIXME: Need documentation **/ EFI_STATUS TZASCSetRegion ( IN INTN TzascBase, IN UINTN RegionId, IN UINTN Enabled, IN UINTN LowAddress, IN UINTN HighAddress, IN UINTN Size, IN UINTN Security ); #endif