]>
git.proxmox.com Git - mirror_edk2.git/blob - Vlv2TbltDevicePkg/Library/CpuIA32Lib/IA32/CpuIA32.c
3 Copyright (c) 2004 - 2014, Intel Corporation. All rights reserved.<BR>
5 SPDX-License-Identifier: BSD-2-Clause-Patent
18 #include <Library/CpuIA32.h>
45 EfiCpuid (IN UINT32 RegisterInEax
,
46 OUT EFI_CPUID_REGISTER
*Reg OPTIONAL
)
51 mov eax
, RegisterInEax
55 mov edi
, DWORD PTR Reg
57 mov DWORD PTR
[edi
].RegEax
, eax
; Reg
->RegEax
58 mov DWORD PTR
[edi
].RegEbx
, ebx
; Reg
->RegEbx
59 mov DWORD PTR
[edi
].RegEcx
, ecx
; Reg
->RegEcx
60 mov DWORD PTR
[edi
].RegEdx
, edx
; Reg
->RegEdx
68 EfiReadMsr (IN UINT32 Index
)
84 mov eax
, DWORD PTR Value
[0]
85 mov edx
, DWORD PTR Value
[4]
99 EfiDisableCache (VOID
)
116 EfiEnableCache (VOID
)
138 EfiDisableInterrupts (VOID
)
146 EfiEnableInterrupts (
157 IN UINT32 RegisterInEax
,
158 IN UINT32 CacheLevel
,
159 OUT EFI_CPUID_REGISTER
*Regs
165 mov eax
, RegisterInEax
168 mov edi
, DWORD PTR Regs
170 mov DWORD PTR
[edi
].RegEax
, eax
; Reg
->RegEax
171 mov DWORD PTR
[edi
].RegEbx
, ebx
; Reg
->RegEbx
172 mov DWORD PTR
[edi
].RegEcx
, ecx
; Reg
->RegEcx
173 mov DWORD PTR
[edi
].RegEdx
, edx
; Reg
->RegEdx