]> git.proxmox.com Git - mirror_edk2.git/blob - Tools/Source/TianoTools/Common/PeiLib/Ipf/PerformancePrimitives.s
5814bb71b7ca99ee492ec13631f5fa17991c40a7
[mirror_edk2.git] / Tools / Source / TianoTools / Common / PeiLib / Ipf / PerformancePrimitives.s
1 //++
2 // Copyright (c) 2004, Intel Corporation
3 // All rights reserved. This program and the accompanying materials
4 // are licensed and made available under the terms and conditions of the BSD License
5 // which accompanies this distribution. The full text of the license may be found at
6 // http://opensource.org/licenses/bsd-license.php
7 //
8 // THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
9 // WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
10 //
11 // Module Name:
12 //
13 // PerformancePrimitives.s
14 //
15 // Abstract:
16 //
17 //
18 // Revision History:
19 //
20 //--
21
22 .file "PerformancePrimitives.s"
23
24 #include "IpfMacro.i"
25
26 //-----------------------------------------------------------------------------
27 //++
28 // GetTimerValue
29 //
30 // Implementation of CPU-based time service
31 //
32 // On Entry :
33 // EFI_STATUS
34 // GetTimerValue (
35 // OUT UINT64 *TimerValue
36 // )
37 //
38 // Return Value:
39 // r8 = Status
40 // r9 = 0
41 // r10 = 0
42 // r11 = 0
43 //
44 // As per static calling conventions.
45 //
46 //--
47 //---------------------------------------------------------------------------
48 PROCEDURE_ENTRY (GetTimerValue)
49
50 NESTED_SETUP (1,8,0,0)
51 mov r8 = ar.itc;;
52 st8 [r32]= r8
53 mov r8 = r0
54 mov r9 = r0
55 mov r10 = r0
56 mov r11 = r0
57 NESTED_RETURN
58
59 PROCEDURE_EXIT (GetTimerValue)
60 //---------------------------------------------------------------------------
61