]> git.proxmox.com Git - mirror_edk2.git/blame - MdePkg/Library/BaseCacheMaintenanceLib/x86Cache.c
Initial import.
[mirror_edk2.git] / MdePkg / Library / BaseCacheMaintenanceLib / x86Cache.c
CommitLineData
878ddf1f 1/** @file\r
2 Cache Maintenance Functions.\r
3\r
4 Copyright (c) 2006, Intel Corporation<BR>\r
5 All rights reserved. This program and the accompanying materials\r
6 are licensed and made available under the terms and conditions of the BSD License\r
7 which accompanies this distribution. The full text of the license may be found at\r
8 http://opensource.org/licenses/bsd-license.php\r
9\r
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
12\r
13 Module Name: x86Cache.c\r
14\r
15**/\r
16\r
17VOID\r
18EFIAPI\r
19InvalidateInstructionCache (\r
20 VOID\r
21 )\r
22{\r
23 return;\r
24}\r
25\r
26VOID *\r
27EFIAPI\r
28InvalidateInstructionCacheRange (\r
29 IN VOID *Address,\r
30 IN UINTN Length\r
31 )\r
32{\r
33 return Address;\r
34}\r
35\r
36VOID\r
37EFIAPI\r
38WriteBackInvalidateDataCache (\r
39 VOID\r
40 )\r
41{\r
42 AsmWbinvd ();\r
43}\r
44\r
45VOID *\r
46EFIAPI\r
47WriteBackInvalidateDataCacheRange (\r
48 IN VOID *Address,\r
49 IN UINTN Length\r
50 )\r
51{\r
52 if (Length != 0) {\r
53 AsmWbinvd ();\r
54 }\r
55 return Address;\r
56}\r
57\r
58VOID\r
59EFIAPI\r
60WriteBackDataCache (\r
61 VOID\r
62 )\r
63{\r
64 AsmWbinvd ();\r
65}\r
66\r
67VOID *\r
68EFIAPI\r
69WriteBackDataCacheRange (\r
70 IN VOID *Address,\r
71 IN UINTN Length\r
72 )\r
73{\r
74 AsmWbinvd ();\r
75 return Address;\r
76}\r
77\r
78VOID\r
79EFIAPI\r
80InvalidateDataCache (\r
81 VOID\r
82 )\r
83{\r
84 AsmInvd ();\r
85}\r
86\r
87VOID *\r
88EFIAPI\r
89InvalidateDataCacheRange (\r
90 IN VOID *Address,\r
91 IN UINTN Length\r
92 )\r
93{\r
94 return Address;\r
95}\r