]> git.proxmox.com Git - mirror_edk2.git/blob - EdkCompatibilityPkg/Foundation/Library/RuntimeDxe/EfiRuntimeLib/ia32/CpuFlushCache.S
45270476173089cb02e7a78fb9d46cfe5be21ba2
[mirror_edk2.git] / EdkCompatibilityPkg / Foundation / Library / RuntimeDxe / EfiRuntimeLib / ia32 / CpuFlushCache.S
1 #/*++
2 #
3 #Copyright (c) 2008, 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
8 #
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.
11 #
12 #Module Name:
13 #
14 #CpuFlushCache.c
15 #
16 #Abstract:
17 #
18 #Cpu Flush Cache Function.
19 #
20 #--*/
21 #---------------------------------------------------------------------------
22 .586p:
23 #.MODEL flat,C
24 .code:
25
26 #---------------------------------------------------------------------------
27 .globl ASM_PFX(EfiCpuFlushCache)
28
29 #
30 #//
31 #// Cache Flush Routine.
32 #//
33 #EFI_STATUS
34 #EfiCpuFlushCache (
35 #IN EFI_PHYSICAL_ADDRESS Start,
36 # IN UINT64 Length
37 #)
38 #/*++
39 #
40 #Routine Description:
41 #
42 #Flush cache with specified range.
43 #
44 #Arguments:
45 #
46 #Start - Start address
47 # Length - Length in bytes
48 #
49 #Returns:
50 #
51 #Status code
52 #
53 #EFI_SUCCESS - success
54 #
55 #--*/
56 ASM_PFX(EfiCpuFlushCache):
57 wbinvd
58 xorl %eax, %eax
59 ret
60
61
62