OpenCloudOS-Kernel/arch/powerpc
Michael Neuling 28e61cc466 powerpc/tm: Fix context switching TAR, PPR and DSCR SPRs
If a transaction is rolled back, the Target Address Register (TAR), Processor
Priority Register (PPR) and Data Stream Control Register (DSCR) should be
restored to the checkpointed values before the transaction began.  Any changes
to these SPRs inside the transaction should not be visible in the abort
handler.

Currently Linux doesn't save or restore the checkpointed TAR, PPR or DSCR.  If
we preempt a processes inside a transaction which has modified any of these, on
process restore, that same transaction may be aborted we but we won't see the
checkpointed versions of these SPRs.

This adds checkpointed versions of these SPRs to the thread_struct and adds the
save/restore of these three SPRs to the treclaim/trechkpt code.

Without this if any of these SPRs are modified during a transaction, users may
incorrectly see a speculated SPR value even if the transaction is aborted.

Signed-off-by: Michael Neuling <mikey@neuling.org>
Cc: <stable@vger.kernel.org> [v3.10]
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2013-08-09 18:07:12 +10:00
..
boot powerpc: Add T4 LAC device tree binding & defs 2013-06-24 19:52:36 -05:00
configs PCI: hotplug: Convert to be builtin only, not modular 2013-07-25 14:11:06 -06:00
crypto powerpc: Fix compile of sha1-powerpc-asm.S on 32-bit 2013-03-05 16:56:26 +11:00
include powerpc/tm: Fix context switching TAR, PPR and DSCR SPRs 2013-08-09 18:07:12 +10:00
kernel powerpc/tm: Fix context switching TAR, PPR and DSCR SPRs 2013-08-09 18:07:12 +10:00
kvm powerpc/kvm/book3s_pr: Return appropriate error when allocation fails 2013-08-09 18:06:54 +10:00
lib powerpc: Fix single step emulation of 32bit overflowed branches 2013-06-20 16:55:13 +10:00
math-emu powerpc/math-emu: Fix decoding of some instructions 2013-06-20 17:05:05 +10:00
mm powerpc: VPHN topology change updates all siblings 2013-08-01 13:11:47 +10:00
net ppc: bpf_jit: can call module_free() from any context 2013-05-20 14:03:50 -07:00
oprofile Merge branch 'merge' into next 2013-01-29 11:33:37 +11:00
perf powerpc/perf: Export PERF_EVENT_CONFIG_EBB_SHIFT to userspace 2013-08-01 13:11:46 +10:00
platforms powerpc/pseries: Add backward compatibilty to read old kernel oops-log 2013-08-09 18:06:44 +10:00
sysdev Merge remote-tracking branch 'scott/next' into next 2013-07-02 17:42:17 +10:00
xmon Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2013-05-02 10:16:16 -07:00
Kconfig powerpc: On POWERNV enable PPC_DENORMALISATION by default 2013-08-09 18:05:29 +10:00
Kconfig.debug Merge branch 'kconfig-diet' from Dave Hansen 2013-07-04 11:25:51 -07:00
Makefile powerpc: Avoid load of static chain register when calling nested functions through a pointer on 64bit 2013-01-10 17:01:27 +11:00
relocs_check.pl Fix warning typo "CONFIG_RELCOATABLE" 2013-05-29 15:11:30 +02:00