]> git.proxmox.com Git - mirror_edk2.git/blame - ArmPlatformPkg/PrePi/AArch64/ArchPrePi.c
MdeModulePkg: Update IP4 stack to support point-to-point link with 31-bit mask.
[mirror_edk2.git] / ArmPlatformPkg / PrePi / AArch64 / ArchPrePi.c
CommitLineData
1bc83266
HL
1/** @file\r
2*\r
0e077330 3* Copyright (c) 2011-2017, ARM Limited. All rights reserved.\r
1bc83266
HL
4*\r
5* This program and the accompanying materials\r
6* are licensed and made available under the terms and conditions of the BSD License\r
7* which accompanies this distribution. The full text of the license may be found at\r
8* http://opensource.org/licenses/bsd-license.php\r
9*\r
10* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
11* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
12*\r
13**/\r
14\r
15#include "PrePi.h"\r
16\r
17#include <Chipset/AArch64.h>\r
18\r
19VOID\r
20ArchInitialize (\r
21 VOID\r
22 )\r
23{\r
24 // Enable Floating Point\r
25 if (FixedPcdGet32 (PcdVFPEnabled)) {\r
26 ArmEnableVFP ();\r
27 }\r
28\r
29 if (ArmReadCurrentEL () == AARCH64_EL2) {\r
30 // Trap General Exceptions. All exceptions that would be routed to EL1 are routed to EL2\r
31 ArmWriteHcr (ARM_HCR_TGE);\r
0e077330
SM
32\r
33 /* Enable Timer access for non-secure EL1 and EL0\r
34 The cnthctl_el2 register bits are architecturally\r
35 UNKNOWN on reset.\r
36 Disable event stream as it is not in use at this stage\r
37 */\r
38 ArmWriteCntHctl (CNTHCTL_EL2_EL1PCTEN | CNTHCTL_EL2_EL1PCEN);\r
1bc83266
HL
39 }\r
40}\r