summaryrefslogtreecommitdiffstats
path: root/MdeModulePkg/Universal/DebugSupportDxe
diff options
context:
space:
mode:
authorxli24 <xli24@6f19259b-4bc3-4df7-8a09-765794883524>2008-11-13 08:02:26 +0000
committerxli24 <xli24@6f19259b-4bc3-4df7-8a09-765794883524>2008-11-13 08:02:26 +0000
commitf8c9de87bcca956887d68491515acdeeecf5a38d (patch)
tree106e80c0664dda40f1d8d6617235be980f4e523b /MdeModulePkg/Universal/DebugSupportDxe
parentc5085e11b85eb1d082bd93c1e01b1496731ad09c (diff)
downloadedk2-f8c9de87bcca956887d68491515acdeeecf5a38d.tar.gz
edk2-f8c9de87bcca956887d68491515acdeeecf5a38d.tar.bz2
edk2-f8c9de87bcca956887d68491515acdeeecf5a38d.zip
Update DebugSupportDxe module to pass IPF GCC build.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6492 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdeModulePkg/Universal/DebugSupportDxe')
-rw-r--r--MdeModulePkg/Universal/DebugSupportDxe/Ipf/AsmFuncs.s7
-rw-r--r--MdeModulePkg/Universal/DebugSupportDxe/Ipf/Ds64Macros.i6
2 files changed, 7 insertions, 6 deletions
diff --git a/MdeModulePkg/Universal/DebugSupportDxe/Ipf/AsmFuncs.s b/MdeModulePkg/Universal/DebugSupportDxe/Ipf/AsmFuncs.s
index 54b620c6ae..03603eafa1 100644
--- a/MdeModulePkg/Universal/DebugSupportDxe/Ipf/AsmFuncs.s
+++ b/MdeModulePkg/Universal/DebugSupportDxe/Ipf/AsmFuncs.s
@@ -1,7 +1,7 @@
/// @file
/// Low level IPF routines used by the debug support driver
///
-/// Copyright (c) 2006, Intel Corporation
+/// Copyright (c) 2006 - 2008, Intel Corporation
/// All rights reserved. This program and the accompanying materials
/// are licensed and made available under the terms and conditions of the BSD License
/// which accompanies this distribution. The full text of the license may be found at
@@ -182,7 +182,8 @@ ChainHandler:
// Next, copy the patch code into the IVT
movl out0=PatchCode // out0 = source buffer of patch code
addl out1=PATCH_OFFSET, r2 // out1 = destination buffer - in IVT
- mov out2=NUM_PATCH_BUNDLES;; // out2 = number of bundles to copy
+ mov out2=PATCH_CODE_SIZE;;
+ shr out2=out2, 4;; // out2 = number of bundles to copy
br.call.sptk.few b0 = CopyBundles
@@ -431,7 +432,7 @@ RelocateSlot:
cmp.gt p14, p15 = loc5, loc6;; // check to see we're not out of range for an ip-relative branch
(p14) br.sptk.few RelocateSlotError
cmp.lt p15, p14 = 0, loc4;; // store sign in p14 again
-(p14) dep in0=1,in0,36,1 // store sign bit in instruction
+(p14) dep in0=-1,in0,36,1 // store sign bit in instruction
(p15) dep in0=0,in0,36,1
shr loc4=loc4, 4;; // convert back to bundle offset
dep in0=loc4,in0,13,16;; // put first 16 bits of new offset into instruction
diff --git a/MdeModulePkg/Universal/DebugSupportDxe/Ipf/Ds64Macros.i b/MdeModulePkg/Universal/DebugSupportDxe/Ipf/Ds64Macros.i
index 7316e199b5..5855545f01 100644
--- a/MdeModulePkg/Universal/DebugSupportDxe/Ipf/Ds64Macros.i
+++ b/MdeModulePkg/Universal/DebugSupportDxe/Ipf/Ds64Macros.i
@@ -1,7 +1,7 @@
/// @file
/// This is set of macros used in calculating offsets in the IVT.
///
-/// Copyright (c) 2006, Intel Corporation
+/// Copyright (c) 2006 - 2008, Intel Corporation
/// All rights reserved. This program and the accompanying materials
/// are licensed and made available under the terms and conditions of the BSD License
/// which accompanies this distribution. The full text of the license may be found at
@@ -53,8 +53,8 @@
// unloaded.
#define PATCH_ENTRY_OFFSET 0x03400
-// PATCH_BUNDLES is the number of bundles actually in the patch
-#define NUM_PATCH_BUNDLES ((EndPatchCode - PatchCode) / 0x10)
+// PATCH_CODE_SIZE is the size of patch code
+#define PATCH_CODE_SIZE (EndPatchCode - PatchCode)
// A hard coded branch back into the external interrupt IVT entry's second bundle
// is put here, just in case the original bundle zero did not have a branch