Home
last modified time | relevance | path

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

/linux/arch/s390/kernel/
H A Dguarded_storage.c18 kfree(tsk->thread.gs_cb); in guarded_storage_release()
24 struct gs_cb *gs_cb; in gs_enable() local
26 if (!current->thread.gs_cb) { in gs_enable()
27 gs_cb = kzalloc_obj(*gs_cb); in gs_enable()
28 if (!gs_cb) in gs_enable()
30 gs_cb->gsd = 25; in gs_enable()
33 load_gs_cb(gs_cb); in gs_enable()
34 current->thread.gs_cb = gs_cb; in gs_enable()
42 if (current->thread.gs_cb) { in gs_disable()
44 kfree(current->thread.gs_cb); in gs_disable()
[all …]
H A Dptrace.c78 if (task->thread.gs_cb) in update_cr_regs()
730 struct gs_cb *data = target->thread.gs_cb; in s390_gs_cb_get()
738 return membuf_write(&to, data, sizeof(struct gs_cb)); in s390_gs_cb_get()
746 struct gs_cb gs_cb = { }, *data = NULL; in s390_gs_cb_set() local
751 if (!target->thread.gs_cb) { in s390_gs_cb_set()
756 if (!target->thread.gs_cb) in s390_gs_cb_set()
757 gs_cb.gsd = 25; in s390_gs_cb_set()
759 save_gs_cb(&gs_cb); in s390_gs_cb_set()
761 gs_cb = *target->thread.gs_cb; in s390_gs_cb_set()
763 &gs_cb, 0, sizeof(gs_cb)); in s390_gs_cb_set()
[all …]
H A Dentry.h54 long sys_s390_guarded_storage(int command, struct gs_cb __user *);
/linux/arch/s390/include/uapi/asm/
H A 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/arch/s390/include/asm/
H A Dprocessor.h195 struct gs_cb *gs_cb; /* Current guarded storage cb */ member
196 struct gs_cb *gs_bc_cb; /* Broadcast guarded storage cb */
/linux/arch/s390/kvm/
H A Dkvm-s390.c4761 struct gs_cb *gscb; in sync_regs_fmt2()
4764 gscb = (struct gs_cb *) &kvm_run->s.regs.gscb; in sync_regs_fmt2()
4816 if (current->thread.gs_cb) { in sync_regs_fmt2()
4817 vcpu->arch.host_gscb = current->thread.gs_cb; in sync_regs_fmt2()
4821 current->thread.gs_cb = (struct gs_cb *) in sync_regs_fmt2()
4823 restore_gs_cb(current->thread.gs_cb); in sync_regs_fmt2()
4883 save_gs_cb(current->thread.gs_cb); in store_regs_fmt2()
4884 current->thread.gs_cb = vcpu->arch.host_gscb; in store_regs_fmt2()
H A Dinterrupt.c536 save_gs_cb(current->thread.gs_cb); in __write_machine_check()