Lines Matching +full:- +full:- +full:cc
8 * See the COPYING file in the top-level directory.
13 #include "s390x-internal.h"
17 #include "system/address-spaces.h"
21 #include "qapi/qapi-types-machine.h"
27 int cc; member
33 *si->status_reg &= 0xffffffff00000000ULL; in set_sigp_status()
34 *si->status_reg |= status; in set_sigp_status()
35 si->cc = SIGP_CC_STATUS_STORED; in set_sigp_status()
41 bool ext_call = dst_cpu->env.pending_int & INTERRUPT_EXTERNAL_CALL; in sigp_sense()
52 si->cc = SIGP_CC_ORDER_CODE_ACCEPTED; in sigp_sense()
74 ret = cpu_inject_external_call(dst_cpu, src_cpu->env.core_id); in sigp_external_call()
76 si->cc = SIGP_CC_ORDER_CODE_ACCEPTED; in sigp_external_call()
90 cpu_inject_emergency_signal(dst_cpu, src_cpu->env.core_id); in sigp_emergency()
91 si->cc = SIGP_CC_ORDER_CODE_ACCEPTED; in sigp_emergency()
100 si->cc = SIGP_CC_ORDER_CODE_ACCEPTED; in sigp_start()
105 si->cc = SIGP_CC_ORDER_CODE_ACCEPTED; in sigp_start()
114 si->cc = SIGP_CC_ORDER_CODE_ACCEPTED; in sigp_stop()
118 /* disabled wait - sleeping in user space */ in sigp_stop()
119 if (cs->halted) { in sigp_stop()
123 cpu->env.sigp_order = SIGP_STOP; in sigp_stop()
126 si->cc = SIGP_CC_ORDER_CODE_ACCEPTED; in sigp_stop()
134 /* disabled wait - sleeping in user space */ in sigp_stop_and_store_status()
135 if (s390_cpu_get_state(cpu) == S390_CPU_STATE_OPERATING && cs->halted) { in sigp_stop_and_store_status()
141 cpu->env.sigp_order = SIGP_STOP_STORE_STATUS; in sigp_stop_and_store_status()
151 si->cc = SIGP_CC_ORDER_CODE_ACCEPTED; in sigp_stop_and_store_status()
158 uint32_t address = si->param & 0x7ffffe00u; in sigp_store_status_at_address()
172 si->cc = SIGP_CC_ORDER_CODE_ACCEPTED; in sigp_store_status_at_address()
180 uint8_t lc = si->param & ADTL_SAVE_LC_MASK; in sigp_store_adtl_status()
181 hwaddr addr = si->param & ~ADTL_SAVE_LC_MASK; in sigp_store_adtl_status()
197 if (addr & (len - 1)) { in sigp_store_adtl_status()
225 si->cc = SIGP_CC_ORDER_CODE_ACCEPTED; in sigp_store_adtl_status()
243 do_restart_interrupt(&cpu->env); in sigp_restart()
249 si->cc = SIGP_CC_ORDER_CODE_ACCEPTED; in sigp_restart()
259 si->cc = SIGP_CC_ORDER_CODE_ACCEPTED; in sigp_initial_cpu_reset()
269 si->cc = SIGP_CC_ORDER_CODE_ACCEPTED; in sigp_cpu_reset()
276 uint32_t addr = si->param & 0x7fffe000u; in sigp_set_prefix()
293 cpu->env.psa = addr; in sigp_set_prefix()
296 si->cc = SIGP_CC_ORDER_CODE_ACCEPTED; in sigp_set_prefix()
314 idle = CPU(dst_cpu)->halted; in sigp_cond_emergency()
315 psw_addr = dst_cpu->env.psw.addr; in sigp_cond_emergency()
316 psw_mask = dst_cpu->env.psw.mask; in sigp_cond_emergency()
317 asn = si->param; in sigp_cond_emergency()
318 p_asn = dst_cpu->env.cregs[4] & 0xffff; /* Primary ASN */ in sigp_cond_emergency()
319 s_asn = dst_cpu->env.cregs[3] & 0xffff; /* Secondary ASN */ in sigp_cond_emergency()
325 cpu_inject_emergency_signal(dst_cpu, src_cpu->env.core_id); in sigp_cond_emergency()
330 si->cc = SIGP_CC_ORDER_CODE_ACCEPTED; in sigp_cond_emergency()
348 if (CPU(dst_cpu)->halted) { in sigp_sense_running()
351 si->cc = SIGP_CC_ORDER_CODE_ACCEPTED; in sigp_sense_running()
369 if (dst_cpu->env.sigp_order != 0 && in handle_sigp_single_dst()
422 return si.cc; in handle_sigp_single_dst()
441 g_assert(ms->possible_cpus); in s390_cpu_addr2state()
445 if (cpu_addr >= ms->possible_cpus->len) { in s390_cpu_addr2state()
448 return S390_CPU(ms->possible_cpus->cpus[cpu_addr].cpu); in s390_cpu_addr2state()
453 uint64_t *status_reg = &env->regs[r1]; in handle_sigp()
454 uint64_t param = (r1 % 2) ? env->regs[r1] : env->regs[r1 + 1]; in handle_sigp()
470 dst_cpu = s390_cpu_addr2state(env->regs[r3]); in handle_sigp()
476 trace_sigp_finished(order, CPU(cpu)->cpu_index, in handle_sigp()
477 dst_cpu ? CPU(dst_cpu)->cpu_index : -1, ret); in handle_sigp()
499 if (cpu->env.sigp_order == SIGP_STOP_STORE_STATUS) { in do_stop_interrupt()
502 env->sigp_order = 0; in do_stop_interrupt()
506 env->pending_int &= ~INTERRUPT_STOP; in do_stop_interrupt()