Home
last modified time | relevance | path

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

/Linux-v6.6/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()
1067 struct gs_cb *data = target->thread.gs_cb; in s390_gs_cb_get()
1075 return membuf_write(&to, data, sizeof(struct gs_cb)); in s390_gs_cb_get()
1083 struct gs_cb gs_cb = { }, *data = NULL; in s390_gs_cb_set() local
1088 if (!target->thread.gs_cb) { in s390_gs_cb_set()
1093 if (!target->thread.gs_cb) in s390_gs_cb_set()
1094 gs_cb.gsd = 25; in s390_gs_cb_set()
1096 save_gs_cb(&gs_cb); in s390_gs_cb_set()
1098 gs_cb = *target->thread.gs_cb; in s390_gs_cb_set()
1100 &gs_cb, 0, sizeof(gs_cb)); in s390_gs_cb_set()
[all …]
Dentry.h54 long sys_s390_guarded_storage(int command, struct gs_cb __user *);
Dmachine_kexec.c101 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.c313 load_gs_cb((struct gs_cb *)mcesa->guarded_storage_save_area); in s390_validate_registers()
/Linux-v6.6/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-v6.6/arch/s390/include/asm/
Dswitch_to.h41 save_gs_cb(prev->thread.gs_cb); \
45 restore_gs_cb(next->thread.gs_cb); \
Dprocessor.h184 struct gs_cb *gs_cb; /* Current guarded storage cb */ member
185 struct gs_cb *gs_bc_cb; /* Broadcast guarded storage cb */
Dkvm_host.h745 struct gs_cb *host_gscb;
/Linux-v6.6/arch/s390/kvm/
Dpriv.c61 current->thread.gs_cb = (struct gs_cb *)&vcpu->run->s.regs.gscb; in handle_gs()
62 restore_gs_cb(current->thread.gs_cb); in handle_gs()
Dkvm-s390.c4867 struct gs_cb *gscb; in sync_regs_fmt2()
4870 gscb = (struct gs_cb *) &kvm_run->s.regs.gscb; in sync_regs_fmt2()
4922 if (current->thread.gs_cb) { in sync_regs_fmt2()
4923 vcpu->arch.host_gscb = current->thread.gs_cb; in sync_regs_fmt2()
4927 current->thread.gs_cb = (struct gs_cb *) in sync_regs_fmt2()
4929 restore_gs_cb(current->thread.gs_cb); in sync_regs_fmt2()
5000 save_gs_cb(current->thread.gs_cb); in store_regs_fmt2()
5001 current->thread.gs_cb = vcpu->arch.host_gscb; in store_regs_fmt2()
Dinterrupt.c590 save_gs_cb(current->thread.gs_cb); in __write_machine_check()