Home
last modified time | relevance | path

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

/linux-6.1.9/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.c71 if (task->thread.gs_cb) in update_cr_regs()
1071 struct gs_cb *data = target->thread.gs_cb; in s390_gs_cb_get()
1079 return membuf_write(&to, data, sizeof(struct gs_cb)); in s390_gs_cb_get()
1087 struct gs_cb gs_cb = { }, *data = NULL; in s390_gs_cb_set() local
1092 if (!target->thread.gs_cb) { in s390_gs_cb_set()
1097 if (!target->thread.gs_cb) in s390_gs_cb_set()
1098 gs_cb.gsd = 25; in s390_gs_cb_set()
1100 save_gs_cb(&gs_cb); in s390_gs_cb_set()
1102 gs_cb = *target->thread.gs_cb; in s390_gs_cb_set()
1104 &gs_cb, 0, sizeof(gs_cb)); in s390_gs_cb_set()
[all …]
Dentry.h56 long sys_s390_guarded_storage(int command, struct gs_cb __user *);
Dmachine_kexec.c99 save_gs_cb((struct gs_cb *) mcesa->guarded_storage_save_area); in __machine_kdump()
Dprocess.c103 dst->thread.gs_cb = NULL; in arch_dup_task_struct()
Dnmi.c337 load_gs_cb((struct gs_cb *)mcesa->guarded_storage_save_area); in s390_validate_registers()
/linux-6.1.9/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-6.1.9/arch/s390/include/asm/
Dswitch_to.h41 save_gs_cb(prev->thread.gs_cb); \
45 restore_gs_cb(next->thread.gs_cb); \
Dprocessor.h133 struct gs_cb *gs_cb; /* Current guarded storage cb */ member
134 struct gs_cb *gs_bc_cb; /* Broadcast guarded storage cb */
Dkvm_host.h745 struct gs_cb *host_gscb;
/linux-6.1.9/arch/s390/kvm/
Dpriv.c62 current->thread.gs_cb = (struct gs_cb *)&vcpu->run->s.regs.gscb; in handle_gs()
63 restore_gs_cb(current->thread.gs_cb); in handle_gs()
Dkvm-s390.c4694 struct gs_cb *gscb; in sync_regs_fmt2()
4697 gscb = (struct gs_cb *) &kvm_run->s.regs.gscb; in sync_regs_fmt2()
4749 if (current->thread.gs_cb) { in sync_regs_fmt2()
4750 vcpu->arch.host_gscb = current->thread.gs_cb; in sync_regs_fmt2()
4754 current->thread.gs_cb = (struct gs_cb *) in sync_regs_fmt2()
4756 restore_gs_cb(current->thread.gs_cb); in sync_regs_fmt2()
4827 save_gs_cb(current->thread.gs_cb); in store_regs_fmt2()
4828 current->thread.gs_cb = vcpu->arch.host_gscb; in store_regs_fmt2()
Dinterrupt.c600 save_gs_cb(current->thread.gs_cb); in __write_machine_check()