Lines Matching +full:shared +full:- +full:memory
1 // SPDX-License-Identifier: GPL-2.0-or-later
10 /* Tracee and tracer shared data */
11 struct shared { struct
18 struct shared *cptr, *pptr; argument
26 FAIL_IF(regs->tm_tfhar != tfhar); in validate_tm_spr()
27 FAIL_IF((regs->tm_texasr == TM_KVM_SCHED) && (regs->tm_tfiar != 0)); in validate_tm_spr()
37 cptr = (struct shared *)shmat(shm_id, NULL, 0); in tm_spr()
46 "bl 4f;" /* $ = TFHAR - 12 */ in tm_spr()
75 : "memory", "r0", "r8", "r31" in tm_spr()
82 if (!cptr->flag) in tm_spr()
85 ret = validate_tm_spr((struct tm_spr_regs *)&cptr->regs); in tm_spr()
100 FAIL_IF(show_tm_spr(child, (struct tm_spr_regs *)&pptr->regs)); in trace_tm_spr()
102 printf("TFHAR: %lx TEXASR: %lx TFIAR: %lx\n", pptr->regs.tm_tfhar, in trace_tm_spr()
103 pptr->regs.tm_texasr, pptr->regs.tm_tfiar); in trace_tm_spr()
105 pptr->flag = 1; in trace_tm_spr()
116 SKIP_IF_MSG(!have_htm(), "Don't have transactional memory"); in ptrace_tm_spr()
117 SKIP_IF_MSG(htm_is_synthetic(), "Transactional memory is synthetic"); in ptrace_tm_spr()
118 shm_id = shmget(IPC_PRIVATE, sizeof(struct shared), 0777|IPC_CREAT); in ptrace_tm_spr()
130 pptr = (struct shared *)shmat(shm_id, NULL, 0); in ptrace_tm_spr()
134 asm volatile("" : : : "memory"); in ptrace_tm_spr()