]> git.proxmox.com Git - mirror_edk2.git/blob - ArmPlatformPkg/PrePi/AArch64/ArchPrePi.c
EmulatorPkg: Support a second GOP window
[mirror_edk2.git] / ArmPlatformPkg / PrePi / AArch64 / ArchPrePi.c
1 /** @file
2 *
3 * Copyright (c) 2011-2017, ARM Limited. All rights reserved.
4 *
5 * SPDX-License-Identifier: BSD-2-Clause-Patent
6 *
7 **/
8
9 #include "PrePi.h"
10
11 #include <Chipset/AArch64.h>
12
13 VOID
14 ArchInitialize (
15 VOID
16 )
17 {
18 // Enable Floating Point
19 if (FixedPcdGet32 (PcdVFPEnabled)) {
20 ArmEnableVFP ();
21 }
22
23 if (ArmReadCurrentEL () == AARCH64_EL2) {
24 // Trap General Exceptions. All exceptions that would be routed to EL1 are routed to EL2
25 ArmWriteHcr (ARM_HCR_TGE);
26
27 /* Enable Timer access for non-secure EL1 and EL0
28 The cnthctl_el2 register bits are architecturally
29 UNKNOWN on reset.
30 Disable event stream as it is not in use at this stage
31 */
32 ArmWriteCntHctl (CNTHCTL_EL2_EL1PCTEN | CNTHCTL_EL2_EL1PCEN);
33 }
34 }