]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Update DebugSupportDxe module to pass IPF GCC build.
authorxli24 <xli24@6f19259b-4bc3-4df7-8a09-765794883524>
Thu, 13 Nov 2008 08:02:26 +0000 (08:02 +0000)
committerxli24 <xli24@6f19259b-4bc3-4df7-8a09-765794883524>
Thu, 13 Nov 2008 08:02:26 +0000 (08:02 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6492 6f19259b-4bc3-4df7-8a09-765794883524

MdeModulePkg/Universal/DebugSupportDxe/Ipf/AsmFuncs.s
MdeModulePkg/Universal/DebugSupportDxe/Ipf/Ds64Macros.i

index 54b620c6aedbfbeca7f0e6d6c60e9ee5cc432734..03603eafa1c8b31a2eddfd9adf4a00c82211c26a 100644 (file)
@@ -1,7 +1,7 @@
 /// @file\r
 ///  Low level IPF routines used by the debug support driver\r
 ///\r
-/// Copyright (c) 2006, Intel Corporation\r
+/// Copyright (c) 2006 - 2008, Intel Corporation\r
 /// All rights reserved. This program and the accompanying materials\r
 /// are licensed and made available under the terms and conditions of the BSD License\r
 /// which accompanies this distribution.  The full text of the license may be found at\r
@@ -182,7 +182,8 @@ ChainHandler:
 // Next, copy the patch code into the IVT\r
         movl        out0=PatchCode                 // out0 = source buffer of patch code\r
         addl        out1=PATCH_OFFSET, r2          // out1 = destination buffer - in IVT\r
-        mov         out2=NUM_PATCH_BUNDLES;;       // out2 = number of bundles to copy\r
+        mov         out2=PATCH_CODE_SIZE;;       \r
+        shr         out2=out2, 4;;                 // out2 = number of bundles to copy\r
         br.call.sptk.few    b0 = CopyBundles\r
 \r
 \r
@@ -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\r
 (p14)   br.sptk.few RelocateSlotError\r
         cmp.lt      p15, p14 = 0, loc4;;        // store sign in p14 again\r
-(p14)   dep         in0=1,in0,36,1              // store sign bit in instruction\r
+(p14)   dep         in0=-1,in0,36,1              // store sign bit in instruction\r
 (p15)   dep         in0=0,in0,36,1\r
         shr         loc4=loc4, 4;;              // convert back to bundle offset\r
         dep         in0=loc4,in0,13,16;;        // put first 16 bits of new offset into instruction\r
index 7316e199b576d7ef03678a1f2720cb6a17041d0c..5855545f01faca8f74272c02efac7052e98371cd 100644 (file)
@@ -1,7 +1,7 @@
 /// @file\r
 ///  This is set of macros used in calculating offsets in the IVT.\r
 ///\r
-/// Copyright (c) 2006, Intel Corporation\r
+/// Copyright (c) 2006 - 2008, Intel Corporation\r
 /// All rights reserved. This program and the accompanying materials\r
 /// are licensed and made available under the terms and conditions of the BSD License\r
 /// which accompanies this distribution.  The full text of the license may be found at\r
@@ -53,8 +53,8 @@
 // unloaded.\r
 #define PATCH_ENTRY_OFFSET      0x03400\r
 \r
-// PATCH_BUNDLES is the number of bundles actually in the patch\r
-#define NUM_PATCH_BUNDLES       ((EndPatchCode - PatchCode) / 0x10)\r
+// PATCH_CODE_SIZE is the size of patch code\r
+#define PATCH_CODE_SIZE       (EndPatchCode - PatchCode)\r
 \r
 // A hard coded branch back into the external interrupt IVT entry's second bundle\r
 // is put here, just in case the original bundle zero did not have a branch\r