+++ /dev/null
-/** @file\r
- Execute 32-bit code in Long Mode\r
- Provide a thunk function to transition from long mode to compatibility mode to execute 32-bit code and then transit\r
- back to long mode.\r
- \r
- Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>\r
- 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
-**/\r
-#include "ScriptSave.h"\r
-/**\r
- Wrapper for a thunk to transition from long mode to compatibility mode to execute 32-bit code and then transit back to\r
- long mode.\r
- \r
- @param Function The 32bit code entry to be executed.\r
- @param Param1 The first parameter to pass to 32bit code\r
- @param Param2 The second parameter to pass to 32bit code\r
- @retval EFI_SUCCESS Execute 32bit code successfully.\r
- @retval other Something wrong when execute the 32bit code \r
- \r
-**/ \r
-EFI_STATUS\r
-Execute32BitCode (\r
- IN UINT64 Function,\r
- IN UINT64 Param1,\r
- IN UINT64 Param2\r
- )\r
-{\r
- DISPATCH_ENTRYPOINT_FUNC EntryFunc;\r
- EFI_STATUS Status;\r
-\r
- EntryFunc = (DISPATCH_ENTRYPOINT_FUNC) (UINTN) (Function);\r
- Status = EntryFunc ((VOID *)(UINTN)Param1, (VOID *)(UINTN)Param2);\r
-\r
- return Status;\r
-}\r
-\r