1 #------------------------------------------------------------------------------
3 #* Copyright (c) 2008, Intel Corporation. All rights reserved.<BR>
4 #* This program and the accompanying materials
5 #* are licensed and made available under the terms and conditions of the BSD License
6 #* which accompanies this distribution. The full text of the license may be found at
7 #* http://opensource.org/licenses/bsd-license.php
9 #* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 #* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
18 #------------------------------------------------------------------------------
21 .globl ASM_PFX(EfiHalt)
22 .globl ASM_PFX(EfiWbinvd)
23 .globl ASM_PFX(EfiInvd)
24 .globl ASM_PFX(EfiCpuid)
25 .globl ASM_PFX(EfiReadTsc)
26 .globl ASM_PFX(EfiDisableCache)
27 .globl ASM_PFX(EfiEnableCache)
28 .globl ASM_PFX(EfiReadMsr)
29 .globl ASM_PFX(EfiGetEflags)
30 .globl ASM_PFX(EfiDisableInterrupts)
31 .globl ASM_PFX(EfiEnableInterrupts)
32 .globl ASM_PFX(EfiCpuidExt)
37 #------------------------------------------------------------------------------
42 #------------------------------------------------------------------------------
48 #------------------------------------------------------------------------------
53 #------------------------------------------------------------------------------
59 #------------------------------------------------------------------------------
64 #------------------------------------------------------------------------------
69 #------------------------------------------------------------------------------
72 # IN UINT32 RegisterInEax, // rcx
73 # OUT EFI_CPUID_REGISTER *Reg OPTIONAL // rdx
75 #------------------------------------------------------------------------------
91 #------------------------------------------------------------------------------
94 # IN UINT32 Index, // rcx
96 #------------------------------------------------------------------------------
103 #------------------------------------------------------------------------------
106 # IN UINT32 Index, // rcx
107 # IN UINT64 Value // rdx
109 #------------------------------------------------------------------------------
110 ASM_PFX(EfiWriteMsr):
116 #------------------------------------------------------------------------------
121 #------------------------------------------------------------------------------
128 #------------------------------------------------------------------------------
133 #------------------------------------------------------------------------------
134 ASM_PFX(EfiDisableCache):
135 # added a check to see if cache is already disabled. If it is, then skip.
147 #------------------------------------------------------------------------------
152 #------------------------------------------------------------------------------
153 ASM_PFX(EfiEnableCache):
156 and $0xffffffff9fffffff,%rax
160 #------------------------------------------------------------------------------
165 #------------------------------------------------------------------------------
166 ASM_PFX(EfiGetEflags):
171 #------------------------------------------------------------------------------
173 # EfiDisableInterrupts (
176 #------------------------------------------------------------------------------
177 ASM_PFX(EfiDisableInterrupts):
181 #------------------------------------------------------------------------------
183 # EfiEnableInterrupts (
186 #------------------------------------------------------------------------------
187 ASM_PFX(EfiEnableInterrupts):
190 #------------------------------------------------------------------------------
193 # IN UINT32 RegisterInEax,
194 # IN UINT32 CacheLevel,
195 # OUT EFI_CPUID_REGISTER *Regs
197 #------------------------------------------------------------------------------
198 ASM_PFX(EfiCpuidExt):