Home
last modified time | relevance | path

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

/linux-6.15/arch/s390/kernel/
H A Dguarded_storage.c24 struct gs_cb *gs_cb; in gs_enable() local
27 gs_cb = kzalloc(sizeof(*gs_cb), GFP_KERNEL); in gs_enable()
28 if (!gs_cb) in gs_enable()
34 current->thread.gs_cb = gs_cb; in gs_enable()
54 struct gs_cb *gs_cb; in gs_set_bc_cb() local
58 gs_cb = kzalloc(sizeof(*gs_cb), GFP_KERNEL); in gs_set_bc_cb()
63 if (copy_from_user(gs_cb, u_gs_cb, sizeof(*gs_cb))) in gs_set_bc_cb()
70 struct gs_cb *gs_cb; in gs_clear_bc_cb() local
80 struct gs_cb *gs_cb; in gs_load_bc_cb() local
90 current->thread.gs_cb = gs_cb; in gs_load_bc_cb()
[all …]
H A Dptrace.c83 if (task->thread.gs_cb) in update_cr_regs()
1037 struct gs_cb *data = target->thread.gs_cb; in s390_gs_cb_get()
1053 struct gs_cb gs_cb = { }, *data = NULL; in s390_gs_cb_set() local
1058 if (!target->thread.gs_cb) { in s390_gs_cb_set()
1063 if (!target->thread.gs_cb) in s390_gs_cb_set()
1064 gs_cb.gsd = 25; in s390_gs_cb_set()
1066 save_gs_cb(&gs_cb); in s390_gs_cb_set()
1068 gs_cb = *target->thread.gs_cb; in s390_gs_cb_set()
1070 &gs_cb, 0, sizeof(gs_cb)); in s390_gs_cb_set()
1076 if (!target->thread.gs_cb) in s390_gs_cb_set()
[all …]
H A Dprocess.c102 dst->thread.gs_cb = NULL; in arch_dup_task_struct()
198 save_gs_cb(prev->thread.gs_cb); in __switch_to()
203 restore_gs_cb(next->thread.gs_cb); in __switch_to()
H A Dentry.h54 long sys_s390_guarded_storage(int command, struct gs_cb __user *);
H A Dmachine_kexec.c104 save_gs_cb((struct gs_cb *) mcesa->guarded_storage_save_area); in __machine_kdump()
/linux-6.15/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-6.15/arch/s390/include/asm/
H A Dprocessor.h201 struct gs_cb *gs_cb; /* Current guarded storage cb */ member
202 struct gs_cb *gs_bc_cb; /* Broadcast guarded storage cb */
H A Dkvm_host.h419 struct gs_cb *host_gscb;
/linux-6.15/arch/s390/kvm/
H A 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()
H A Dkvm-s390.c5129 struct gs_cb *gscb; in sync_regs_fmt2()
5132 gscb = (struct gs_cb *) &kvm_run->s.regs.gscb; in sync_regs_fmt2()
5184 if (current->thread.gs_cb) { in sync_regs_fmt2()
5185 vcpu->arch.host_gscb = current->thread.gs_cb; in sync_regs_fmt2()
5189 current->thread.gs_cb = (struct gs_cb *) in sync_regs_fmt2()
5191 restore_gs_cb(current->thread.gs_cb); in sync_regs_fmt2()
5251 save_gs_cb(current->thread.gs_cb); in store_regs_fmt2()
5252 current->thread.gs_cb = vcpu->arch.host_gscb; in store_regs_fmt2()
H A Dinterrupt.c582 save_gs_cb(current->thread.gs_cb); in __write_machine_check()