Home
last modified time | relevance | path

Searched refs:gs_cb (Results 1 – 13 of 13) sorted by relevance

/Linux-v4.19/arch/s390/kernel/
Dguarded_storage.c17 kfree(tsk->thread.gs_cb); in guarded_storage_release()
23 struct gs_cb *gs_cb; in gs_enable() local
25 if (!current->thread.gs_cb) { in gs_enable()
26 gs_cb = kzalloc(sizeof(*gs_cb), GFP_KERNEL); in gs_enable()
27 if (!gs_cb) in gs_enable()
29 gs_cb->gsd = 25; in gs_enable()
32 load_gs_cb(gs_cb); in gs_enable()
33 current->thread.gs_cb = gs_cb; in gs_enable()
41 if (current->thread.gs_cb) { in gs_disable()
43 kfree(current->thread.gs_cb); in gs_disable()
[all …]
Dptrace.c77 if (task->thread.gs_cb) in update_cr_regs()
1161 struct gs_cb *data = target->thread.gs_cb; in s390_gs_cb_get()
1170 data, 0, sizeof(struct gs_cb)); in s390_gs_cb_get()
1178 struct gs_cb gs_cb = { }, *data = NULL; in s390_gs_cb_set() local
1183 if (!target->thread.gs_cb) { in s390_gs_cb_set()
1188 if (!target->thread.gs_cb) in s390_gs_cb_set()
1189 gs_cb.gsd = 25; in s390_gs_cb_set()
1191 save_gs_cb(&gs_cb); in s390_gs_cb_set()
1193 gs_cb = *target->thread.gs_cb; in s390_gs_cb_set()
1195 &gs_cb, 0, sizeof(gs_cb)); in s390_gs_cb_set()
[all …]
Dentry.h79 long sys_s390_guarded_storage(int command, struct gs_cb __user *);
Dmachine_kexec.c129 save_gs_cb((struct gs_cb *) mcesa->guarded_storage_save_area); in __machine_kdump()
Dprocess.c139 p->thread.gs_cb = NULL; in copy_thread_tls()
Dcompat_wrapper.c182 COMPAT_SYSCALL_WRAP2(s390_guarded_storage, int, command, struct gs_cb *, gs_cb);
/Linux-v4.19/arch/s390/include/uapi/asm/
Dguarded_storage.h7 struct gs_cb { struct
56 static inline void load_gs_cb(struct gs_cb *gs_cb) in load_gs_cb() argument
58 asm volatile(".insn rxy,0xe3000000004d,0,%0" : : "Q" (*gs_cb)); in load_gs_cb()
61 static inline void store_gs_cb(struct gs_cb *gs_cb) in store_gs_cb() argument
63 asm volatile(".insn rxy,0xe30000000049,0,%0" : : "Q" (*gs_cb)); in store_gs_cb()
66 static inline void save_gs_cb(struct gs_cb *gs_cb) in save_gs_cb() argument
68 if (gs_cb) in save_gs_cb()
69 store_gs_cb(gs_cb); in save_gs_cb()
72 static inline void restore_gs_cb(struct gs_cb *gs_cb) in restore_gs_cb() argument
74 if (gs_cb) in restore_gs_cb()
[all …]
/Linux-v4.19/arch/s390/include/asm/
Dswitch_to.h41 save_gs_cb(prev->thread.gs_cb); \
45 restore_gs_cb(next->thread.gs_cb); \
Dprocessor.h143 struct gs_cb *gs_cb; /* Current guarded storage cb */ member
144 struct gs_cb *gs_bc_cb; /* Broadcast guarded storage cb */
Dkvm_host.h637 struct gs_cb *host_gscb;
/Linux-v4.19/arch/s390/kvm/
Dkvm-s390.c3499 struct gs_cb *gscb; in sync_regs()
3502 gscb = (struct gs_cb *) &kvm_run->s.regs.gscb; in sync_regs()
3572 if (current->thread.gs_cb) { in sync_regs()
3573 vcpu->arch.host_gscb = current->thread.gs_cb; in sync_regs()
3577 current->thread.gs_cb = (struct gs_cb *) in sync_regs()
3579 restore_gs_cb(current->thread.gs_cb); in sync_regs()
3614 save_gs_cb(current->thread.gs_cb); in store_regs()
3616 current->thread.gs_cb = vcpu->arch.host_gscb; in store_regs()
Dpriv.c63 current->thread.gs_cb = (struct gs_cb *)&vcpu->run->s.regs.gscb; in handle_gs()
64 restore_gs_cb(current->thread.gs_cb); in handle_gs()
Dinterrupt.c471 save_gs_cb(current->thread.gs_cb); in __write_machine_check()