]> git.proxmox.com Git - mirror_edk2.git/blob - ArmPkg/Library/ArmLib/AArch64/AArch64Lib.h
ArmPkg: Added Aarch64 support
[mirror_edk2.git] / ArmPkg / Library / ArmLib / AArch64 / AArch64Lib.h
1 /** @file
2
3 Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
4 Portions Copyright (c) 2011 - 2013, ARM Ltd. All rights reserved.<BR>
5
6 This program and the accompanying materials
7 are licensed and made available under the terms and conditions of the BSD License
8 which accompanies this distribution. The full text of the license may be found at
9 http://opensource.org/licenses/bsd-license.php
10
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13
14 **/
15
16 #ifndef __AARCH64_LIB_H__
17 #define __AARCH64_LIB_H__
18
19 typedef VOID (*AARCH64_CACHE_OPERATION)(UINTN);
20
21 VOID
22 EFIAPI
23 ArmDrainWriteBuffer (
24 VOID
25 );
26
27 VOID
28 EFIAPI
29 ArmInvalidateDataCacheEntryBySetWay (
30 IN UINTN SetWayFormat
31 );
32
33 VOID
34 EFIAPI
35 ArmCleanDataCacheEntryBySetWay (
36 IN UINTN SetWayFormat
37 );
38
39 VOID
40 EFIAPI
41 ArmCleanDataCacheToPoUEntryBySetWay (
42 IN UINTN SetWayFormat
43 );
44
45 VOID
46 EFIAPI
47 ArmCleanInvalidateDataCacheEntryBySetWay (
48 IN UINTN SetWayFormat
49 );
50
51 VOID
52 EFIAPI
53 ArmEnableAsynchronousAbort (
54 VOID
55 );
56
57 UINTN
58 EFIAPI
59 ArmDisableAsynchronousAbort (
60 VOID
61 );
62
63 VOID
64 EFIAPI
65 ArmEnableIrq (
66 VOID
67 );
68
69 UINTN
70 EFIAPI
71 ArmDisableIrq (
72 VOID
73 );
74
75 VOID
76 EFIAPI
77 ArmEnableFiq (
78 VOID
79 );
80
81 UINTN
82 EFIAPI
83 ArmDisableFiq (
84 VOID
85 );
86
87 VOID
88 AArch64PerformPoUDataCacheOperation (
89 IN AARCH64_CACHE_OPERATION DataCacheOperation
90 );
91
92 VOID
93 AArch64AllDataCachesOperation (
94 IN AARCH64_CACHE_OPERATION DataCacheOperation
95 );
96
97 #endif // __AARCH64_LIB_H__
98