Lines Matching +full:s390x +full:- +full:kvm
1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * s390x smp
19 #include <asm/asm-offsets.h>
44 if (THIS_CPU->idx == idx) in smp_get_lowcore()
103 return -1; in smp_cpu_stop_nolock()
106 return -1; in smp_cpu_stop_nolock()
128 * Used to see if KVM itself is serialized correctly.
136 return -1; in smp_cpu_stop_nowait()
143 return -1; in smp_cpu_stop_nowait()
168 cpus[idx].lowcore->restart_new_psw.mask = psw->mask; in smp_cpu_restart_nolock()
169 cpus[idx].lowcore->restart_new_psw.addr = psw->addr; in smp_cpu_restart_nolock()
203 * Used to see if KVM itself is serialized correctly.
214 return -1; in smp_cpu_restart_nowait()
243 cpus[idx].lowcore = (void *)-1UL; in smp_cpu_destroy()
244 cpus[idx].stack = (void *)-1UL; in smp_cpu_destroy()
255 return -1; in smp_cpu_setup_nolock()
265 lc->this_cpu = &cpus[idx]; in smp_cpu_setup_nolock()
271 lc->sw_int_psw.mask = psw.mask; in smp_cpu_setup_nolock()
272 lc->sw_int_psw.addr = psw.addr; in smp_cpu_setup_nolock()
273 lc->sw_int_grs[14] = psw.addr; in smp_cpu_setup_nolock()
274 lc->sw_int_grs[15] = (uint64_t)cpus[idx].stack + (PAGE_SIZE * 4); in smp_cpu_setup_nolock()
275 lc->restart_new_psw.mask = PSW_MASK_64; in smp_cpu_setup_nolock()
276 lc->restart_new_psw.addr = (uint64_t)smp_cpu_setup_state; in smp_cpu_setup_nolock()
277 lc->sw_int_crs[0] = BIT_ULL(CTL0_AFP); in smp_cpu_setup_nolock()
282 while (lc->restart_new_psw.addr != psw.addr) in smp_cpu_setup_nolock()
290 int rc = -1; in smp_cpu_setup()