X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=Vlv2TbltDevicePkg%2FLibrary%2FCpuIA32Lib%2FX64%2FCpu.S;fp=Vlv2TbltDevicePkg%2FLibrary%2FCpuIA32Lib%2FX64%2FCpu.S;h=0000000000000000000000000000000000000000;hb=5347c48016f27061475fdb053e867a06ce73492f;hp=3a8d6e6bc50b0cd30b094a3c0182f6f38199f3fb;hpb=96ef5a8e30a8da33eaab09f13cc8d752342717a5;p=mirror_edk2.git diff --git a/Vlv2TbltDevicePkg/Library/CpuIA32Lib/X64/Cpu.S b/Vlv2TbltDevicePkg/Library/CpuIA32Lib/X64/Cpu.S deleted file mode 100644 index 3a8d6e6bc5..0000000000 --- a/Vlv2TbltDevicePkg/Library/CpuIA32Lib/X64/Cpu.S +++ /dev/null @@ -1,207 +0,0 @@ -# -# -# Copyright (c) 1999 - 2014, Intel Corporation. All rights reserved -# -# SPDX-License-Identifier: BSD-2-Clause-Patent - -# -# -# -#* Module Name: -#* -#* Cpu.asm -#* -#* Abstract: -#* -#------------------------------------------------------------------------------ -##include - -.globl ASM_PFX(EfiHalt) -.globl ASM_PFX(EfiWbinvd) -.globl ASM_PFX(EfiInvd) -.globl ASM_PFX(EfiCpuid) -.globl ASM_PFX(EfiReadTsc) -.globl ASM_PFX(EfiDisableCache) -.globl ASM_PFX(EfiEnableCache) -.globl ASM_PFX(EfiReadMsr) -.globl ASM_PFX(EfiWriteMsr) -.globl ASM_PFX(EfiGetEflags) -.globl ASM_PFX(EfiDisableInterrupts) -.globl ASM_PFX(EfiEnableInterrupts) -.globl ASM_PFX(EfiCpuidExt) - -.text - - -#------------------------------------------------------------------------------ -# VOID -# EfiHalt ( -# VOID -# ) -#------------------------------------------------------------------------------ -ASM_PFX(EfiHalt): - hlt - retq - - -#------------------------------------------------------------------------------ -# VOID -# EfiWbinvd ( -# VOID -# ) -#------------------------------------------------------------------------------ -ASM_PFX(EfiWbinvd): - wbinvd - retq - - -#------------------------------------------------------------------------------ -# VOID -# EfiInvd ( -# VOID -# ) -#------------------------------------------------------------------------------ -ASM_PFX(EfiInvd): - invd - retq - -#------------------------------------------------------------------------------ -# VOID -# EfiCpuid ( -# IN UINT32 RegisterInEax, // rcx -# OUT EFI_CPUID_REGISTER *Reg OPTIONAL // rdx -# ) -#------------------------------------------------------------------------------ -ASM_PFX(EfiCpuid): - push %rbx - mov %rdx,%r8 - mov %rcx,%rax - cpuid - cmp $0x0,%r8 - je _Exit - mov %eax,(%r8) - mov %ebx,0x4(%r8) - mov %ecx,0x8(%r8) - mov %edx,0xc(%r8) -_Exit: - pop %rbx - retq - -#------------------------------------------------------------------------------ -# UINT64 -# EfiReadMsr ( -# IN UINT32 Index, // rcx -# ) -#------------------------------------------------------------------------------ -ASM_PFX(EfiReadMsr): - rdmsr - shl $0x20,%rdx - or %rdx,%rax - retq - -#------------------------------------------------------------------------------ -# VOID -# EfiWriteMsr ( -# IN UINT32 Index, // rcx -# IN UINT64 Value // rdx -# ) -#------------------------------------------------------------------------------ -ASM_PFX(EfiWriteMsr): - mov %rdx,%rax - sar $0x20,%rdx - wrmsr - retq - -#------------------------------------------------------------------------------ -# UINT64 -# EfiReadTsc ( -# VOID -# ); -#------------------------------------------------------------------------------ -ASM_PFX(EfiReadTsc): - rdtsc - shl $0x20,%rax - shrd $0x20,%rdx,%rax - retq - -#------------------------------------------------------------------------------ -# VOID -# EfiDisableCache ( -# VOID -# ); -#------------------------------------------------------------------------------ -ASM_PFX(EfiDisableCache): -# added a check to see if cache is already disabled. If it is, then skip. - mov %cr0,%rax - and $0x60000000,%rax - cmp $0x0,%rax - jne 1f - mov %cr0,%rax - or $0x60000000,%rax - mov %rax,%cr0 - wbinvd -1: - retq - -#------------------------------------------------------------------------------ -# VOID -# EfiEnableCache ( -# VOID -# ); -#------------------------------------------------------------------------------ -ASM_PFX(EfiEnableCache): - wbinvd - mov %cr0,%rax - and $0xffffffff9fffffff,%rax - mov %rax,%cr0 - retq - -#------------------------------------------------------------------------------ -# UINTN -# EfiGetEflags ( -# VOID -# ); -#------------------------------------------------------------------------------ -ASM_PFX(EfiGetEflags): - pushfq - pop %rax - retq - -#------------------------------------------------------------------------------ -# VOID -# EfiDisableInterrupts ( -# VOID -# ); -#------------------------------------------------------------------------------ -ASM_PFX(EfiDisableInterrupts): - cli - ret - -#------------------------------------------------------------------------------ -# VOID -# EfiEnableInterrupts ( -# VOID -# ); -#------------------------------------------------------------------------------ -ASM_PFX(EfiEnableInterrupts): - sti - ret -#------------------------------------------------------------------------------ -# VOID -# EfiCpuidExt ( -# IN UINT32 RegisterInEax, -# IN UINT32 CacheLevel, -# OUT EFI_CPUID_REGISTER *Regs -# ) -#------------------------------------------------------------------------------ -ASM_PFX(EfiCpuidExt): - push %rbx - mov %rcx,%rax - mov %rdx,%rcx - cpuid - mov %eax,(%r8) - mov %ebx,0x4(%r8) - mov %ecx,0x8(%r8) - mov %edx,0xc(%r8) - pop %rbx - retq