diff options
author | Haren Myneni <haren@linux.vnet.ibm.com> | 2012-12-06 21:46:37 +0000 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2013-01-10 17:00:59 +1100 |
commit | 5d75b26443aff37a7bd356f9dbd6d6e11ec122aa (patch) | |
tree | b3d38bd338c9baec4700c5a48c737157edfcb5f5 /arch/powerpc/kernel/entry_64.S | |
parent | 15fab56ecae2cba7e9f6663979bb160c11a9c506 (diff) | |
download | talos-obmc-linux-5d75b26443aff37a7bd356f9dbd6d6e11ec122aa.tar.gz talos-obmc-linux-5d75b26443aff37a7bd356f9dbd6d6e11ec122aa.zip |
powerpc: Move branch instruction from ACCOUNT_CPU_USER_ENTRY to caller
[PATCH 1/6] powerpc: Move branch instruction from ACCOUNT_CPU_USER_ENTRY to caller
The first instruction in ACCOUNT_CPU_USER_ENTRY is 'beq' which checks for
exceptions coming from kernel mode. PPR value will be saved immediately after
ACCOUNT_CPU_USER_ENTRY and is also for user level exceptions. So moved this
branch instruction in the caller code.
Signed-off-by: Haren Myneni <haren@us.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/kernel/entry_64.S')
-rw-r--r-- | arch/powerpc/kernel/entry_64.S | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/powerpc/kernel/entry_64.S b/arch/powerpc/kernel/entry_64.S index 73c1f083ba21..7a70d0a6df3e 100644 --- a/arch/powerpc/kernel/entry_64.S +++ b/arch/powerpc/kernel/entry_64.S @@ -62,8 +62,9 @@ system_call_common: std r12,_MSR(r1) std r0,GPR0(r1) std r10,GPR1(r1) + beq 2f /* if from kernel mode */ ACCOUNT_CPU_USER_ENTRY(r10, r11) - std r2,GPR2(r1) +2: std r2,GPR2(r1) std r3,GPR3(r1) mfcr r2 std r4,GPR4(r1) |