+++ /dev/null
-/*++\r
-\r
-Copyright (c) 2004 - 2005, Intel Corporation \r
-All rights reserved. This program and the accompanying materials \r
-are licensed and made available under the terms and conditions of the BSD License \r
-which accompanies this distribution. The full text of the license may be found at \r
-http://opensource.org/licenses/bsd-license.php \r
- \r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
-\r
-Module Name:\r
-\r
- Processor.c\r
-\r
-Abstract:\r
-\r
---*/\r
-\r
-#include "Tiano.h"\r
-#include "EfiJump.h"\r
-#include EFI_GUID_DEFINITION (PeiFlushInstructionCache)\r
-#include EFI_GUID_DEFINITION (PeiTransferControl)\r
-\r
-//\r
-// Prototypes\r
-//\r
-EFI_STATUS\r
-EFIAPI\r
-TransferControlSetJump (\r
- IN EFI_PEI_TRANSFER_CONTROL_PROTOCOL *This,\r
- IN EFI_JUMP_BUFFER *Jump\r
- );\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-TransferControlLongJump (\r
- IN EFI_PEI_TRANSFER_CONTROL_PROTOCOL *This,\r
- IN EFI_JUMP_BUFFER *Jump\r
- );\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-FlushInstructionCacheFlush (\r
- IN EFI_PEI_FLUSH_INSTRUCTION_CACHE_PROTOCOL *This,\r
- IN EFI_PHYSICAL_ADDRESS Start,\r
- IN UINT64 Length\r
- );\r
-\r
-//\r
-// Table declarations\r
-//\r
-EFI_PEI_TRANSFER_CONTROL_PROTOCOL mTransferControl = {\r
- TransferControlSetJump,\r
- TransferControlLongJump,\r
- sizeof (EFI_JUMP_BUFFER)\r
-};\r
-\r
-EFI_PEI_FLUSH_INSTRUCTION_CACHE_PROTOCOL mFlushInstructionCache = {\r
- FlushInstructionCacheFlush\r
-};\r
-\r
-\r
-EFI_STATUS\r
-InstallEfiPeiTransferControl (\r
- IN OUT EFI_PEI_TRANSFER_CONTROL_PROTOCOL **This\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- Installs the pointer to the transfer control mechanism\r
-\r
-Arguments:\r
-\r
- This - Pointer to transfer control mechanism.\r
-\r
-Returns:\r
-\r
- EFI_SUCCESS - Successfully installed.\r
-\r
---*/\r
-{\r
- *This = &mTransferControl;\r
- return EFI_SUCCESS;\r
-}\r
-\r
-EFI_STATUS\r
-InstallEfiPeiFlushInstructionCache (\r
- IN OUT EFI_PEI_FLUSH_INSTRUCTION_CACHE_PROTOCOL **This\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- Installs the pointer to the flush instruction cache mechanism\r
-\r
-Arguments:\r
-\r
- This - Pointer to flush instruction cache mechanism.\r
-\r
-Returns:\r
-\r
- EFI_SUCCESS - Successfully installed\r
-\r
---*/\r
-{\r
- *This = &mFlushInstructionCache;\r
- return EFI_SUCCESS;\r
-}\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-FlushInstructionCacheFlush (\r
- IN EFI_PEI_FLUSH_INSTRUCTION_CACHE_PROTOCOL *This,\r
- IN EFI_PHYSICAL_ADDRESS Start,\r
- IN UINT64 Length\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- This routine would provide support for flushing the CPU instruction cache.\r
- In the case of IA32, this flushing is not necessary and is thus not implemented.\r
-\r
-Arguments:\r
-\r
- This - Pointer to CPU Architectural Protocol interface\r
- Start - Start adddress in memory to flush\r
- Length - Length of memory to flush\r
-\r
-Returns:\r
-\r
- Status\r
- EFI_SUCCESS\r
-\r
---*/\r
-{\r
- return EFI_SUCCESS;\r
-}\r