]>
git.proxmox.com Git - mirror_edk2.git/blob - EdkCompatibilityPkg/Foundation/Cpu/Pentium/CpuIA32Lib/IA32/CpuIA32.c
3 Copyright (c) 2006, Intel Corporation
4 All rights reserved. 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.
47 EfiCpuid (IN UINT32 RegisterInEax
,
48 OUT EFI_CPUID_REGISTER
*Reg OPTIONAL
)
53 mov eax
, RegisterInEax
57 mov edi
, DWORD PTR Reg
59 mov DWORD PTR
[edi
].RegEax
, eax
; Reg
->RegEax
60 mov DWORD PTR
[edi
].RegEbx
, ebx
; Reg
->RegEbx
61 mov DWORD PTR
[edi
].RegEcx
, ecx
; Reg
->RegEcx
62 mov DWORD PTR
[edi
].RegEdx
, edx
; Reg
->RegEdx
70 EfiReadMsr (IN UINT32 Index
)
86 mov eax
, DWORD PTR Value
[0]
87 mov edx
, DWORD PTR Value
[4]
101 EfiDisableCache (VOID
)
118 EfiEnableCache (VOID
)
140 EfiDisableInterrupts (VOID
)
148 EfiEnableInterrupts (
159 IN UINT32 RegisterInEax
,
160 IN UINT32 CacheLevel
,
161 OUT EFI_CPUID_REGISTER
*Regs
167 mov eax
, RegisterInEax
170 mov edi
, DWORD PTR Regs
172 mov DWORD PTR
[edi
].RegEax
, eax
; Reg
->RegEax
173 mov DWORD PTR
[edi
].RegEbx
, ebx
; Reg
->RegEbx
174 mov DWORD PTR
[edi
].RegEcx
, ecx
; Reg
->RegEcx
175 mov DWORD PTR
[edi
].RegEdx
, edx
; Reg
->RegEdx