3 # Copyright (c) 1999 - 2014, Intel Corporation. All rights reserved
5 # This program and the accompanying materials are licensed and made available under
6 # the terms and conditions of the BSD License that accompanies this distribution.
7 # The full text of the license may be found at
8 # http://opensource.org/licenses/bsd-license.php.
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.
21 #------------------------------------------------------------------------------
24 .globl ASM_PFX(EfiHalt)
25 .globl ASM_PFX(EfiWbinvd)
26 .globl ASM_PFX(EfiInvd)
27 .globl ASM_PFX(EfiCpuid)
28 .globl ASM_PFX(EfiReadTsc)
29 .globl ASM_PFX(EfiDisableCache)
30 .globl ASM_PFX(EfiEnableCache)
31 .globl ASM_PFX(EfiReadMsr)
32 .globl ASM_PFX(EfiWriteMsr)
33 .globl ASM_PFX(EfiGetEflags)
34 .globl ASM_PFX(EfiDisableInterrupts)
35 .globl ASM_PFX(EfiEnableInterrupts)
36 .globl ASM_PFX(EfiCpuidExt)
41 #------------------------------------------------------------------------------
46 #------------------------------------------------------------------------------
52 #------------------------------------------------------------------------------
57 #------------------------------------------------------------------------------
63 #------------------------------------------------------------------------------
68 #------------------------------------------------------------------------------
73 #------------------------------------------------------------------------------
76 # IN UINT32 RegisterInEax, // rcx
77 # OUT EFI_CPUID_REGISTER *Reg OPTIONAL // rdx
79 #------------------------------------------------------------------------------
95 #------------------------------------------------------------------------------
98 # IN UINT32 Index, // rcx
100 #------------------------------------------------------------------------------
107 #------------------------------------------------------------------------------
110 # IN UINT32 Index, // rcx
111 # IN UINT64 Value // rdx
113 #------------------------------------------------------------------------------
114 ASM_PFX(EfiWriteMsr):
120 #------------------------------------------------------------------------------
125 #------------------------------------------------------------------------------
132 #------------------------------------------------------------------------------
137 #------------------------------------------------------------------------------
138 ASM_PFX(EfiDisableCache):
139 # added a check to see if cache is already disabled. If it is, then skip.
151 #------------------------------------------------------------------------------
156 #------------------------------------------------------------------------------
157 ASM_PFX(EfiEnableCache):
160 and $0xffffffff9fffffff,%rax
164 #------------------------------------------------------------------------------
169 #------------------------------------------------------------------------------
170 ASM_PFX(EfiGetEflags):
175 #------------------------------------------------------------------------------
177 # EfiDisableInterrupts (
180 #------------------------------------------------------------------------------
181 ASM_PFX(EfiDisableInterrupts):
185 #------------------------------------------------------------------------------
187 # EfiEnableInterrupts (
190 #------------------------------------------------------------------------------
191 ASM_PFX(EfiEnableInterrupts):
194 #------------------------------------------------------------------------------
197 # IN UINT32 RegisterInEax,
198 # IN UINT32 CacheLevel,
199 # OUT EFI_CPUID_REGISTER *Regs
201 #------------------------------------------------------------------------------
202 ASM_PFX(EfiCpuidExt):