From 52fa075c38bf9b0ef171458f156575fe62acf3a4 Mon Sep 17 00:00:00 2001 From: klu2 Date: Wed, 29 Apr 2009 06:23:35 +0000 Subject: [PATCH] Add limitation clarification for usage of AsmPrepareThunk16(), AsmThunk16(), AsmPrepareAndThunk16() interfaces that they are could only be used in physical mode but can not be used in virtual mode with paging. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8202 6f19259b-4bc3-4df7-8a09-765794883524 --- MdePkg/Include/Library/BaseLib.h | 11 ++++++++++- MdePkg/Library/BaseLib/X86Thunk.c | 9 +++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/MdePkg/Include/Library/BaseLib.h b/MdePkg/Include/Library/BaseLib.h index c79b7a9a2f..d704e98f5f 100644 --- a/MdePkg/Include/Library/BaseLib.h +++ b/MdePkg/Include/Library/BaseLib.h @@ -7006,7 +7006,7 @@ AsmDisablePaging64 ( in ExtraStackSize. If parameters are passed to the 16-bit real mode code, then the actual minimum stack size is ExtraStackSize plus the maximum number of bytes that need to be passed to the 16-bit real mode code. - + If RealModeBufferSize is NULL, then ASSERT(). If ExtraStackSize is NULL, then ASSERT(). @@ -7030,6 +7030,9 @@ AsmGetThunk16Properties ( Prepares all structures a code required to use AsmThunk16(). Prepares all structures and code required to use AsmThunk16(). + + This interface is limited to be used in physical mode but can not be used in + virtual mode with paging. If ThunkContext is NULL, then ASSERT(). @@ -7090,6 +7093,9 @@ AsmPrepareThunk16 ( If both THUNK_ATTRIBUTE_DISABLE_A20_MASK_INT_15 and THUNK_ATTRIBUTE_DISABLE_A20_MASK_KBD_CTRL are set in ThunkAttributes, then ASSERT(). + This interface is limited to be used in physical mode but can not be used in + virtual mode with paging. + @param ThunkContext A pointer to the context structure that describes the 16-bit real mode code to call. @@ -7112,6 +7118,9 @@ AsmThunk16 ( real mode thunk, then it is more efficient if AsmPrepareThunk16() is called once and AsmThunk16() can be called for each 16-bit real mode thunk. + This interface is limited to be used in physical mode but can not be used in + virtual mode with paging. + See AsmPrepareThunk16() and AsmThunk16() for the detailed description and ASSERT() conditions. @param ThunkContext A pointer to the context structure that describes the diff --git a/MdePkg/Library/BaseLib/X86Thunk.c b/MdePkg/Library/BaseLib/X86Thunk.c index fbd198984d..72c918756d 100644 --- a/MdePkg/Library/BaseLib/X86Thunk.c +++ b/MdePkg/Library/BaseLib/X86Thunk.c @@ -109,6 +109,9 @@ AsmGetThunk16Properties ( Prepares all structures a code required to use AsmThunk16(). Prepares all structures and code required to use AsmThunk16(). + + This interface is limited to be used in physical mode but can not be used in + virtual mode with paging. If ThunkContext is NULL, then ASSERT(). @@ -227,6 +230,9 @@ AsmPrepareThunk16 ( If both THUNK_ATTRIBUTE_DISABLE_A20_MASK_INT_15 and THUNK_ATTRIBUTE_DISABLE_A20_MASK_KBD_CTRL are set in ThunkAttributes, then ASSERT(). + This interface is limited to be used in physical mode but can not be used in + virtual mode with paging. + @param ThunkContext A pointer to the context structure that describes the 16-bit real mode code to call. @@ -263,6 +269,9 @@ AsmThunk16 ( real mode thunk, then it is more efficient if AsmPrepareThunk16() is called once and AsmThunk16() can be called for each 16-bit real mode thunk. + This interface is limited to be used in physical mode but can not be used in + virtual mode with paging. + See AsmPrepareThunk16() and AsmThunk16() for the detailed description and ASSERT() conditions. @param ThunkContext A pointer to the context structure that describes the