3 Copyright (c) 2004 - 2008, Intel Corporation. All rights reserved.<BR>
4 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.
22 #include EFI_GUID_DEFINITION (PeiFlushInstructionCache)
23 #include EFI_GUID_DEFINITION (PeiTransferControl)
30 TransferControlSetJump (
31 IN EFI_PEI_TRANSFER_CONTROL_PROTOCOL
*This
,
37 TransferControlLongJump (
38 IN EFI_PEI_TRANSFER_CONTROL_PROTOCOL
*This
,
44 FlushInstructionCacheFlush (
45 IN EFI_PEI_FLUSH_INSTRUCTION_CACHE_PROTOCOL
*This
,
46 IN EFI_PHYSICAL_ADDRESS Start
,
53 EFI_PEI_TRANSFER_CONTROL_PROTOCOL mTransferControl
= {
54 TransferControlSetJump
,
55 TransferControlLongJump
,
56 sizeof (EFI_JUMP_BUFFER
)
59 EFI_PEI_FLUSH_INSTRUCTION_CACHE_PROTOCOL mFlushInstructionCache
= {
60 FlushInstructionCacheFlush
65 InstallEfiPeiTransferControl (
66 IN OUT EFI_PEI_TRANSFER_CONTROL_PROTOCOL
**This
72 Installs the pointer to the transfer control mechanism
76 This - Pointer to transfer control mechanism.
80 EFI_SUCCESS - Successfully installed.
84 *This
= &mTransferControl
;
89 InstallEfiPeiFlushInstructionCache (
90 IN OUT EFI_PEI_FLUSH_INSTRUCTION_CACHE_PROTOCOL
**This
96 Installs the pointer to the flush instruction cache mechanism
100 This - Pointer to flush instruction cache mechanism.
104 EFI_SUCCESS - Successfully installed
108 *This
= &mFlushInstructionCache
;
114 FlushInstructionCacheFlush (
115 IN EFI_PEI_FLUSH_INSTRUCTION_CACHE_PROTOCOL
*This
,
116 IN EFI_PHYSICAL_ADDRESS Start
,
123 This routine would provide support for flushing the CPU instruction cache.
124 In the case of IA32, this flushing is not necessary and is thus not implemented.
128 This - Pointer to CPU Architectural Protocol interface
129 Start - Start adddress in memory to flush
130 Length - Length of memory to flush