|
12 | 12 | #include <asm/mmu.h>
|
13 | 13 | #include <asm/ppc_asm.h>
|
14 | 14 | #include <asm/ptrace.h>
|
15 |
| -#include <asm/tm.h> |
16 | 15 |
|
17 | 16 | .section ".toc","aw"
|
18 | 17 | SYS_CALL_TABLE:
|
@@ -55,12 +54,6 @@ COMPAT_SYS_CALL_TABLE:
|
55 | 54 | .globl system_call_vectored_\name
|
56 | 55 | system_call_vectored_\name:
|
57 | 56 | _ASM_NOKPROBE_SYMBOL(system_call_vectored_\name)
|
58 |
| -#ifdef CONFIG_PPC_TRANSACTIONAL_MEM |
59 |
| -BEGIN_FTR_SECTION |
60 |
| - extrdi. r10, r12, 1, (63-MSR_TS_T_LG) /* transaction active? */ |
61 |
| - bne tabort_syscall |
62 |
| -END_FTR_SECTION_IFSET(CPU_FTR_TM) |
63 |
| -#endif |
64 | 57 | SCV_INTERRUPT_TO_KERNEL
|
65 | 58 | mr r10,r1
|
66 | 59 | ld r1,PACAKSAVE(r13)
|
@@ -247,12 +240,6 @@ _ASM_NOKPROBE_SYMBOL(system_call_common_real)
|
247 | 240 | .globl system_call_common
|
248 | 241 | system_call_common:
|
249 | 242 | _ASM_NOKPROBE_SYMBOL(system_call_common)
|
250 |
| -#ifdef CONFIG_PPC_TRANSACTIONAL_MEM |
251 |
| -BEGIN_FTR_SECTION |
252 |
| - extrdi. r10, r12, 1, (63-MSR_TS_T_LG) /* transaction active? */ |
253 |
| - bne tabort_syscall |
254 |
| -END_FTR_SECTION_IFSET(CPU_FTR_TM) |
255 |
| -#endif |
256 | 243 | mr r10,r1
|
257 | 244 | ld r1,PACAKSAVE(r13)
|
258 | 245 | std r10,0(r1)
|
@@ -425,34 +412,6 @@ SOFT_MASK_TABLE(.Lsyscall_rst_start, 1b)
|
425 | 412 | RESTART_TABLE(.Lsyscall_rst_start, .Lsyscall_rst_end, syscall_restart)
|
426 | 413 | #endif
|
427 | 414 |
|
428 |
| -#ifdef CONFIG_PPC_TRANSACTIONAL_MEM |
429 |
| -tabort_syscall: |
430 |
| -_ASM_NOKPROBE_SYMBOL(tabort_syscall) |
431 |
| - /* Firstly we need to enable TM in the kernel */ |
432 |
| - mfmsr r10 |
433 |
| - li r9, 1 |
434 |
| - rldimi r10, r9, MSR_TM_LG, 63-MSR_TM_LG |
435 |
| - mtmsrd r10, 0 |
436 |
| - |
437 |
| - /* tabort, this dooms the transaction, nothing else */ |
438 |
| - li r9, (TM_CAUSE_SYSCALL|TM_CAUSE_PERSISTENT) |
439 |
| - TABORT(R9) |
440 |
| - |
441 |
| - /* |
442 |
| - * Return directly to userspace. We have corrupted user register state, |
443 |
| - * but userspace will never see that register state. Execution will |
444 |
| - * resume after the tbegin of the aborted transaction with the |
445 |
| - * checkpointed register state. |
446 |
| - */ |
447 |
| - li r9, MSR_RI |
448 |
| - andc r10, r10, r9 |
449 |
| - mtmsrd r10, 1 |
450 |
| - mtspr SPRN_SRR0, r11 |
451 |
| - mtspr SPRN_SRR1, r12 |
452 |
| - RFI_TO_USER |
453 |
| - b . /* prevent speculative execution */ |
454 |
| -#endif |
455 |
| - |
456 | 415 | /*
|
457 | 416 | * If MSR EE/RI was never enabled, IRQs not reconciled, NVGPRs not
|
458 | 417 | * touched, no exit work created, then this can be used.
|
|
0 commit comments