]>
Commit | Line | Data |
---|---|---|
1ddb209e | 1 | /** @file |
2 | * | |
3 | * Copyright (c) 2011, 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 | #include <Library/IoLib.h> | |
16 | #include <Library/ArmTrustZoneLib.h> | |
17 | #include <Library/ArmPlatformLib.h> | |
18 | #include <Library/DebugLib.h> | |
19 | #include <Library/PcdLib.h> | |
20 | #include <Drivers/PL310L2Cache.h> | |
21 | ||
22 | /** | |
23 | Initialize the Secure peripherals and memory regions | |
24 | ||
25 | If Trustzone is supported by your platform then this function makes the required initialization | |
26 | of the secure peripherals and memory regions. | |
27 | ||
28 | **/ | |
29 | VOID | |
30 | ArmPlatformTrustzoneInit ( | |
31 | VOID | |
32 | ) | |
33 | { | |
34 | // No TZPC or TZASC on RTSM to initialize | |
35 | } | |
36 | ||
37 | /** | |
38 | Initialize controllers that must setup at the early stage | |
39 | ||
40 | Some peripherals must be initialized in Secure World. | |
41 | For example, some L2x0 requires to be initialized in Secure World | |
42 | ||
43 | **/ | |
44 | VOID | |
45 | ArmPlatformSecInitialize ( | |
46 | VOID | |
47 | ) | |
48 | { | |
49 | } | |
50 | ||
51 | /** | |
52 | Call before jumping to Normal World | |
53 | ||
54 | This function allows the firmware platform to do extra actions before | |
55 | jumping to the Normal World | |
56 | ||
57 | **/ | |
58 | VOID | |
59 | ArmPlatformSecExtraAction ( | |
60 | IN UINTN MpId, | |
61 | OUT UINTN* JumpAddress | |
62 | ) | |
63 | { | |
64 | *JumpAddress = PcdGet32(PcdFvBaseAddress); | |
65 | } |