diff options
author | xli24 <xli24@6f19259b-4bc3-4df7-8a09-765794883524> | 2008-11-13 08:02:26 +0000 |
---|---|---|
committer | xli24 <xli24@6f19259b-4bc3-4df7-8a09-765794883524> | 2008-11-13 08:02:26 +0000 |
commit | f8c9de87bcca956887d68491515acdeeecf5a38d (patch) | |
tree | 106e80c0664dda40f1d8d6617235be980f4e523b /MdeModulePkg | |
parent | c5085e11b85eb1d082bd93c1e01b1496731ad09c (diff) | |
download | edk2-platforms-f8c9de87bcca956887d68491515acdeeecf5a38d.tar.xz |
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')
-rw-r--r-- | MdeModulePkg/Universal/DebugSupportDxe/Ipf/AsmFuncs.s | 7 | ||||
-rw-r--r-- | MdeModulePkg/Universal/DebugSupportDxe/Ipf/Ds64Macros.i | 6 |
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
|