+++ /dev/null
-/** @file\r
- IA-32/x64 AsmDisablePaging64()\r
-\r
- Copyright (c) 2006 - 2008, 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
-\r
-\r
-\r
-\r
-#include "BaseLibInternals.h"\r
-\r
-/**\r
- Disables the 64-bit paging mode on the CPU.\r
-\r
- Disables the 64-bit paging mode on the CPU and returns to 32-bit protected\r
- mode. This function assumes the current execution mode is 64-paging mode.\r
- This function is only available on x64. After the 64-bit paging mode is\r
- disabled, control is transferred to the function specified by EntryPoint\r
- using the new stack specified by NewStack and passing in the parameters\r
- specified by Context1 and Context2. Context1 and Context2 are optional and\r
- may be 0. The function EntryPoint must never return.\r
-\r
- If the current execution mode is not 64-bit paged mode, then ASSERT().\r
- If EntryPoint is 0, then ASSERT().\r
- If NewStack is 0, then ASSERT().\r
-\r
- @param Cs The 16-bit selector to load in the CS before EntryPoint\r
- is called. The descriptor in the GDT that this selector\r
- references must be setup for 32-bit protected mode.\r
- @param EntryPoint The 64-bit virtual address of the function to call with\r
- the new stack after paging is disabled.\r
- @param Context1 The 64-bit virtual address of the context to pass into\r
- the EntryPoint function as the first parameter after\r
- paging is disabled.\r
- @param Context2 The 64-bit virtual address of the context to pass into\r
- the EntryPoint function as the second parameter after\r
- paging is disabled.\r
- @param NewStack The 64-bit virtual address of the new stack to use for\r
- the EntryPoint function after paging is disabled.\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-AsmDisablePaging64 (\r
- IN UINT16 Cs,\r
- IN UINT32 EntryPoint,\r
- IN UINT32 Context1, OPTIONAL\r
- IN UINT32 Context2, OPTIONAL\r
- IN UINT32 NewStack\r
- )\r
-{\r
- ASSERT (EntryPoint != 0);\r
- ASSERT (NewStack != 0);\r
- InternalX86DisablePaging64 (Cs, EntryPoint, Context1, Context2, NewStack);\r
-}\r