summaryrefslogtreecommitdiffstats
path: root/ArmPkg/Library/ArmSmcPsciResetSystemLib/Arm/Reset.asm
blob: ab7519a5a92698cb291bd6a3e0b41063615ded3b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
;/** @file
;  ResetSystemLib implementation using PSCI calls
;
;  Copyright (c) 2018, Linaro Ltd. All rights reserved.<BR>
;
;  SPDX-License-Identifier: BSD-2-Clause-Patent
;
;**/

  INCLUDE AsmMacroExport.inc
  PRESERVE8

  IMPORT ArmDisableMmu

RVCT_ASM_EXPORT DisableMmuAndReenterPei
  push  {lr}

  bl    ArmDisableMmu

  ; no memory accesses after MMU and caches have been disabled

  mov32 r0, FixedPcdGet64 (PcdFvBaseAddress)
  blx   r0

  ; never returns
  nop

  END