X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=EdkCompatibilityPkg%2FFoundation%2FCpu%2FPentium%2FCpuIA32Lib%2FIA32%2FCpuIA32.c;fp=EdkCompatibilityPkg%2FFoundation%2FCpu%2FPentium%2FCpuIA32Lib%2FIA32%2FCpuIA32.c;h=0000000000000000000000000000000000000000;hp=b4dc7e0b226881dfa3f319133894d531a3e66d1b;hb=c455bc8c8d78ad51c24426a500914ea32504bf06;hpb=5bca07268acabe7f31407358e875ccf89cb5e386 diff --git a/EdkCompatibilityPkg/Foundation/Cpu/Pentium/CpuIA32Lib/IA32/CpuIA32.c b/EdkCompatibilityPkg/Foundation/Cpu/Pentium/CpuIA32Lib/IA32/CpuIA32.c deleted file mode 100644 index b4dc7e0b22..0000000000 --- a/EdkCompatibilityPkg/Foundation/Cpu/Pentium/CpuIA32Lib/IA32/CpuIA32.c +++ /dev/null @@ -1,179 +0,0 @@ -/*++ - -Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.
-This program and the accompanying materials -are licensed and made available under the terms and conditions of the BSD License -which accompanies this distribution. The full text of the license may be found at -http://opensource.org/licenses/bsd-license.php - -THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - -Module Name: - - CpuIA32.c - -Abstract: - ---*/ - -#include "CpuIA32.h" - -VOID -EfiHalt (VOID) -{ - __asm { - hlt - } -} - -VOID -EfiWbinvd (VOID) -{ - __asm { - wbinvd - } -} - -VOID -EfiInvd (VOID) -{ - __asm { - invd - } -} - -VOID -EfiCpuid (IN UINT32 RegisterInEax, - OUT EFI_CPUID_REGISTER *Reg OPTIONAL) -{ - __asm { - pushad - - mov eax, RegisterInEax - cpuid - cmp Reg, 0 - je _Exit - mov edi, DWORD PTR Reg - - mov DWORD PTR [edi].RegEax, eax ; Reg->RegEax - mov DWORD PTR [edi].RegEbx, ebx ; Reg->RegEbx - mov DWORD PTR [edi].RegEcx, ecx ; Reg->RegEcx - mov DWORD PTR [edi].RegEdx, edx ; Reg->RegEdx - -_Exit: - popad - } -} - -UINT64 -EfiReadMsr (IN UINT32 Index) -{ - __asm { - mov ecx, Index - rdmsr - } -} - -VOID -EfiWriteMsr ( - IN UINT32 Index, - IN UINT64 Value - ) -{ - __asm { - mov ecx, Index - mov eax, DWORD PTR Value[0] - mov edx, DWORD PTR Value[4] - wrmsr - } -} - -UINT64 -EfiReadTsc (VOID) -{ - __asm { - rdtsc - } -} - -VOID -EfiDisableCache (VOID) -{ - __asm { - mov eax, cr0 - bswap eax - and al, 60h - cmp al, 60h - je Exit - mov eax, cr0 - or eax, 060000000h - mov cr0, eax - wbinvd -Exit: - } -} - -VOID -EfiEnableCache (VOID) -{ - __asm { - wbinvd - mov eax, cr0 - and eax, 09fffffffh - mov cr0, eax - } -} - -UINT32 -EfiGetEflags ( - VOID - ) -{ - __asm { - pushfd - pop eax - } -} - -VOID -EfiDisableInterrupts (VOID) -{ - __asm { - cli - } -} - -VOID -EfiEnableInterrupts ( - VOID - ) -{ - __asm { - sti - } -} - -VOID -EfiCpuidExt ( - IN UINT32 RegisterInEax, - IN UINT32 CacheLevel, - OUT EFI_CPUID_REGISTER *Regs - ) -{ - __asm { - pushad - - mov eax, RegisterInEax - mov ecx, CacheLevel - cpuid - mov edi, DWORD PTR Regs - - mov DWORD PTR [edi].RegEax, eax ; Reg->RegEax - mov DWORD PTR [edi].RegEbx, ebx ; Reg->RegEbx - mov DWORD PTR [edi].RegEcx, ecx ; Reg->RegEcx - mov DWORD PTR [edi].RegEdx, edx ; Reg->RegEdx - - popad - } -}