From 71fd27cbee1468395c0c2be58130bb7642817d25 Mon Sep 17 00:00:00 2001 From: Olivier Martin Date: Thu, 28 Nov 2013 21:38:56 +0000 Subject: ArmPkg/CpuDxe: Removed LR adjustement for SVC call The Link Register (LR) does not need adjustement when receiving a Supervisor Call (SVC). Note: SVC might be generated by debuggers. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14911 6f19259b-4bc3-4df7-8a09-765794883524 --- ArmPkg/Drivers/CpuDxe/ArmV6/ExceptionSupport.S | 1 - ArmPkg/Drivers/CpuDxe/ArmV6/ExceptionSupport.asm | 1 - 2 files changed, 2 deletions(-) (limited to 'ArmPkg/Drivers') diff --git a/ArmPkg/Drivers/CpuDxe/ArmV6/ExceptionSupport.S b/ArmPkg/Drivers/CpuDxe/ArmV6/ExceptionSupport.S index 612ca02c7b..430bc5202d 100644 --- a/ArmPkg/Drivers/CpuDxe/ArmV6/ExceptionSupport.S +++ b/ArmPkg/Drivers/CpuDxe/ArmV6/ExceptionSupport.S @@ -120,7 +120,6 @@ ASM_PFX(UndefinedInstructionEntry): bx R1 ASM_PFX(SoftwareInterruptEntry): - sub LR, LR, #4 @ Only -2 for Thumb, adjust in CommonExceptionEntry srsdb #0x13! @ Store return state on SVC stack @ We are already in SVC mode stmfd SP!,{LR} @ Store the link register for the current mode diff --git a/ArmPkg/Drivers/CpuDxe/ArmV6/ExceptionSupport.asm b/ArmPkg/Drivers/CpuDxe/ArmV6/ExceptionSupport.asm index 780e1f7cd3..f9672e4b64 100644 --- a/ArmPkg/Drivers/CpuDxe/ArmV6/ExceptionSupport.asm +++ b/ArmPkg/Drivers/CpuDxe/ArmV6/ExceptionSupport.asm @@ -115,7 +115,6 @@ UndefinedInstructionEntry bx R1 SoftwareInterruptEntry - sub LR, LR, #4 ; Only -2 for Thumb, adjust in CommonExceptionEntry srsfd #0x13! ; Store return state on SVC stack ; We are already in SVC mode stmfd SP!,{LR} ; Store the link register for the current mode -- cgit v1.2.3