summaryrefslogtreecommitdiff
path: root/MdePkg/Library/BaseLib/X86Thunk.c
diff options
context:
space:
mode:
authorklu2 <klu2@6f19259b-4bc3-4df7-8a09-765794883524>2009-05-04 03:00:08 +0000
committerklu2 <klu2@6f19259b-4bc3-4df7-8a09-765794883524>2009-05-04 03:00:08 +0000
commitd1be17ab87c51fd53381491610ede29b6dbd10fa (patch)
tree7e3aecfa093384d70d1b4b07f8d86ca6e6723194 /MdePkg/Library/BaseLib/X86Thunk.c
parent15543340da6cf1cb3f6047c8bf6c5426a93e52f1 (diff)
downloadedk2-platforms-d1be17ab87c51fd53381491610ede29b6dbd10fa.tar.xz
Add checking for ThunkAttribute to avoid THUNK_ATTRIBUTE_DISABLE_A20_MASK_KBD_CTRL and THUNK_ATTRIBUTE_DISABLE_A20_MASK_INT_15 are set at same time.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8230 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdePkg/Library/BaseLib/X86Thunk.c')
-rw-r--r--MdePkg/Library/BaseLib/X86Thunk.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/MdePkg/Library/BaseLib/X86Thunk.c b/MdePkg/Library/BaseLib/X86Thunk.c
index 72c918756d..6b6e9f0f12 100644
--- a/MdePkg/Library/BaseLib/X86Thunk.c
+++ b/MdePkg/Library/BaseLib/X86Thunk.c
@@ -249,7 +249,9 @@ AsmThunk16 (
ASSERT ((UINTN)ThunkContext->RealModeBuffer < 0x100000);
ASSERT (ThunkContext->RealModeBufferSize >= m16Size);
ASSERT ((UINTN)ThunkContext->RealModeBuffer + m16Size <= 0x100000);
-
+ ASSERT (((ThunkContext->ThunkAttributes & (THUNK_ATTRIBUTE_DISABLE_A20_MASK_INT_15 | THUNK_ATTRIBUTE_DISABLE_A20_MASK_KBD_CTRL)) != \
+ (THUNK_ATTRIBUTE_DISABLE_A20_MASK_INT_15 | THUNK_ATTRIBUTE_DISABLE_A20_MASK_KBD_CTRL)));
+
UpdatedRegs = InternalAsmThunk16 (
ThunkContext->RealModeState,
ThunkContext->RealModeBuffer