s390x/kvm: Removed s390_store_status stub
The SIGP order STORE STATUS AT ADDRESS will be handled in kernel space, so we do not need the stub in QEMU anymore. Signed-off-by: Thomas Huth <thuth@linux.vnet.ibm.com> Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Jens Freimann <jfrei@linux.vnet.ibm.com> Signed-off-by: Alexander Graf <agraf@suse.de>
This commit is contained in:
parent
4f91e0b5d8
commit
cd7a0f4cf9
@ -597,13 +597,6 @@ int kvm_s390_cpu_restart(S390CPU *cpu)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int s390_store_status(CPUS390XState *env, uint32_t parameter)
|
|
||||||
{
|
|
||||||
/* XXX */
|
|
||||||
fprintf(stderr, "XXX SIGP store status\n");
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int s390_cpu_initial_reset(S390CPU *cpu)
|
static int s390_cpu_initial_reset(S390CPU *cpu)
|
||||||
{
|
{
|
||||||
CPUState *cs = CPU(cpu);
|
CPUState *cs = CPU(cpu);
|
||||||
@ -629,12 +622,9 @@ static int handle_sigp(S390CPU *cpu, struct kvm_run *run, uint8_t ipa1)
|
|||||||
{
|
{
|
||||||
CPUS390XState *env = &cpu->env;
|
CPUS390XState *env = &cpu->env;
|
||||||
uint8_t order_code;
|
uint8_t order_code;
|
||||||
uint32_t parameter;
|
|
||||||
uint16_t cpu_addr;
|
uint16_t cpu_addr;
|
||||||
uint8_t t;
|
|
||||||
int r = -1;
|
int r = -1;
|
||||||
S390CPU *target_cpu;
|
S390CPU *target_cpu;
|
||||||
CPUS390XState *target_env;
|
|
||||||
|
|
||||||
cpu_synchronize_state(CPU(cpu));
|
cpu_synchronize_state(CPU(cpu));
|
||||||
|
|
||||||
@ -645,28 +635,16 @@ static int handle_sigp(S390CPU *cpu, struct kvm_run *run, uint8_t ipa1)
|
|||||||
}
|
}
|
||||||
order_code += (run->s390_sieic.ipb & 0x0fff0000) >> 16;
|
order_code += (run->s390_sieic.ipb & 0x0fff0000) >> 16;
|
||||||
|
|
||||||
/* get parameters */
|
|
||||||
t = (ipa1 & 0xf0) >> 4;
|
|
||||||
if (!(t % 2)) {
|
|
||||||
t++;
|
|
||||||
}
|
|
||||||
|
|
||||||
parameter = env->regs[t] & 0x7ffffe00;
|
|
||||||
cpu_addr = env->regs[ipa1 & 0x0f];
|
cpu_addr = env->regs[ipa1 & 0x0f];
|
||||||
|
|
||||||
target_cpu = s390_cpu_addr2state(cpu_addr);
|
target_cpu = s390_cpu_addr2state(cpu_addr);
|
||||||
if (target_cpu == NULL) {
|
if (target_cpu == NULL) {
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
target_env = &target_cpu->env;
|
|
||||||
|
|
||||||
switch (order_code) {
|
switch (order_code) {
|
||||||
case SIGP_RESTART:
|
case SIGP_RESTART:
|
||||||
r = kvm_s390_cpu_restart(target_cpu);
|
r = kvm_s390_cpu_restart(target_cpu);
|
||||||
break;
|
break;
|
||||||
case SIGP_STORE_STATUS_ADDR:
|
|
||||||
r = s390_store_status(target_env, parameter);
|
|
||||||
break;
|
|
||||||
case SIGP_SET_ARCH:
|
case SIGP_SET_ARCH:
|
||||||
/* make the caller panic */
|
/* make the caller panic */
|
||||||
return -1;
|
return -1;
|
||||||
|
Loading…
Reference in New Issue
Block a user