]> git.proxmox.com Git - mirror_edk2.git/blob - ArmPkg/Include/IndustryStandard/ArmSmc.h
ArmPkg/AArch64: Added ARM_HCR_TSC definition
[mirror_edk2.git] / ArmPkg / Include / IndustryStandard / ArmSmc.h
1 /** @file
2 *
3 * Copyright (c) 2012-2013, ARM Limited. All rights reserved.
4 *
5 * This program and the accompanying materials
6 * are licensed and made available under the terms and conditions of the BSD License
7 * which accompanies this distribution. The full text of the license may be found at
8 * http://opensource.org/licenses/bsd-license.php
9 *
10 * THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12 *
13 **/
14
15 #ifndef __ARM_SMC_H__
16 #define __ARM_SMC_H__
17
18 #include <IndustryStandard/ArmTrustZoneSmc.h>
19
20 #define ARM_SMC_ID_PRESENCE ARM_TRUSTZONE_ARM_FAST_SMC_ID_PRESENCE
21 #define ARM_SMC_ID_UID ARM_TRUSTZONE_ARM_FAST_SMC_ID_UID
22 #define ARM_SMC_ID_REVISION ARM_TRUSTZONE_ARM_FAST_SMC_ID_REVISION
23 #define ARM_SMC_ARM_CPU_SUSPEND 0x80100001
24 #define ARM_SMC_ARM_CPU_OFF 0x80100002
25 #define ARM_SMC_ARM_CPU_ON 0x80100003
26 #define ARM_SMC_ARM_MIGRATE 0x80100004
27
28 #define ARM_SMC_ARM_CPU_SUSPEND_STANDBY_STATE (0 << 16)
29 #define ARM_SMC_ARM_CPU_SUSPEND_POWER_DOWN_STATE (1 << 16)
30
31 #define ARM_SMC_ARM_CPU_SUSPEND_CURRENT_CPU (0 << 24)
32 #define ARM_SMC_ARM_CPU_SUSPEND_CLUSTER_AFFINITY_1 (1 << 24)
33 #define ARM_SMC_ARM_CPU_SUSPEND_CLUSTER_AFFINITY_2 (2 << 24)
34 #define ARM_SMC_ARM_CPU_SUSPEND_CLUSTER_AFFINITY_3 (3 << 24)
35
36 #define ARM_SMC_ARM_CPU_OFF_MASK_STATE (1 << 16)
37 #define ARM_SMC_ARM_CPU_OFF_STANDBY_STATE (0 << 16)
38 #define ARM_SMC_ARM_CPU_OFF_POWER_DOWN_STATE (1 << 16)
39
40 #define ARM_SMC_ARM_CPU_OFF_CURRENT_CPU (0 << 24)
41 #define ARM_SMC_ARM_CPU_OFF_CLUSTER_AFFINITY_1 (1 << 24)
42 #define ARM_SMC_ARM_CPU_OFF_CLUSTER_AFFINITY_2 (2 << 24)
43 #define ARM_SMC_ARM_CPU_OFF_CLUSTER_AFFINITY_3 (3 << 24)
44
45
46 #define ARM_SMC_ARM_RETURN_SUCCESS (UINTN)(0)
47 #define ARM_SMC_ARM_RETURN_NOT_IMPLEMENTED (UINTN)(-1)
48 #define ARM_SMC_ARM_RETURN_INVALID_PARAMETER (UINTN)(-2)
49 #define ARM_SMC_ARM_RETURN_DENIED (UINTN)(-3)
50 #define ARM_SMC_ARM_RETURN_CORE_NOT_AVAILABLE (UINTN)(-3)
51
52 #endif