diff options
author | vanjeff <vanjeff@6f19259b-4bc3-4df7-8a09-765794883524> | 2006-07-19 17:37:07 +0000 |
---|---|---|
committer | vanjeff <vanjeff@6f19259b-4bc3-4df7-8a09-765794883524> | 2006-07-19 17:37:07 +0000 |
commit | 1ea5ca46c7eefe66a01cb4db3b72fc0e5a04e2cb (patch) | |
tree | 11db61e6d73e5a6b0bca974e7e4a8e29f1344a49 /MdePkg/Library/BaseLib/Ia32 | |
parent | ebfe209ec07c4105baba33576457a4bd6c798a2b (diff) | |
download | edk2-platforms-1ea5ca46c7eefe66a01cb4db3b72fc0e5a04e2cb.tar.xz |
1. added functions header for BaseUefiDecompressLi
2. added some internal functions header for BaseLib
3. added EFIAPI for some internal assembly files declare
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1050 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdePkg/Library/BaseLib/Ia32')
-rw-r--r-- | MdePkg/Library/BaseLib/Ia32/DivS64x64Remainder.c | 20 | ||||
-rw-r--r-- | MdePkg/Library/BaseLib/Ia32/InternalSwitchStack.c | 1 | ||||
-rw-r--r-- | MdePkg/Library/BaseLib/Ia32/Non-existing.c | 30 |
3 files changed, 48 insertions, 3 deletions
diff --git a/MdePkg/Library/BaseLib/Ia32/DivS64x64Remainder.c b/MdePkg/Library/BaseLib/Ia32/DivS64x64Remainder.c index 219f48f321..a5183429c1 100644 --- a/MdePkg/Library/BaseLib/Ia32/DivS64x64Remainder.c +++ b/MdePkg/Library/BaseLib/Ia32/DivS64x64Remainder.c @@ -16,12 +16,28 @@ #include "../BaseLibInternals.h"
+/**
+ Worker function that Divides a 64-bit signed integer by a 64-bit signed integer and
+ generates a 64-bit signed result and a optional 64-bit signed remainder.
+
+ This function divides the 64-bit unsigned value Dividend by the 64-bit
+ unsigned value Divisor and generates a 64-bit unsigned quotient. If Remainder
+ is not NULL, then the 64-bit unsigned remainder is returned in Remainder.
+ This function returns the 64-bit unsigned quotient.
+
+ @param Dividend A 64-bit signed value.
+ @param Divisor A 64-bit signed value.
+ @param Remainder A pointer to a 64-bit signed value. This parameter is
+ optional and may be NULL.
+
+ @return Dividend / Divisor
+
+**/
INT64
-EFIAPI
InternalMathDivRemS64x64 (
IN INT64 Dividend,
IN INT64 Divisor,
- OUT INT64 *Remainder
+ OUT INT64 *Remainder OPTIONAL
)
{
INT64 Quot;
diff --git a/MdePkg/Library/BaseLib/Ia32/InternalSwitchStack.c b/MdePkg/Library/BaseLib/Ia32/InternalSwitchStack.c index ab8116b4b5..484313ea67 100644 --- a/MdePkg/Library/BaseLib/Ia32/InternalSwitchStack.c +++ b/MdePkg/Library/BaseLib/Ia32/InternalSwitchStack.c @@ -32,7 +32,6 @@ **/
VOID
-EFIAPI
InternalSwitchStack (
IN SWITCH_STACK_ENTRY_POINT EntryPoint,
IN VOID *Context1,
diff --git a/MdePkg/Library/BaseLib/Ia32/Non-existing.c b/MdePkg/Library/BaseLib/Ia32/Non-existing.c index b4e50e9d7b..89ba2f2ced 100644 --- a/MdePkg/Library/BaseLib/Ia32/Non-existing.c +++ b/MdePkg/Library/BaseLib/Ia32/Non-existing.c @@ -16,6 +16,33 @@ #include "../BaseLibInternals.h"
+
+/**
+ Disables the 64-bit paging mode on the CPU.
+
+ Disables the 64-bit paging mode on the CPU and returns to 32-bit protected
+ mode. This function assumes the current execution mode is 64-paging mode.
+ This function is only available on X64. After the 64-bit paging mode is
+ disabled, control is transferred to the function specified by EntryPoint
+ using the new stack specified by NewStack and passing in the parameters
+ specified by Context1 and Context2. Context1 and Context2 are optional and
+ may be 0. The function EntryPoint must never return.
+
+ @param Cs The 16-bit selector to load in the CS before EntryPoint
+ is called. The descriptor in the GDT that this selector
+ references must be setup for 32-bit protected mode.
+ @param EntryPoint The 64-bit virtual address of the function to call with
+ the new stack after paging is disabled.
+ @param Context1 The 64-bit virtual address of the context to pass into
+ the EntryPoint function as the first parameter after
+ paging is disabled.
+ @param Context2 The 64-bit virtual address of the context to pass into
+ the EntryPoint function as the second parameter after
+ paging is disabled.
+ @param NewStack The 64-bit virtual address of the new stack to use for
+ the EntryPoint function after paging is disabled.
+
+**/
VOID
EFIAPI
InternalX86DisablePaging64 (
@@ -26,5 +53,8 @@ InternalX86DisablePaging64 ( IN UINT32 NewStack
)
{
+ //
+ // This function cannot work on IA32 platform
+ //
ASSERT (FALSE);
}
|