mirror of https://gitee.com/openkylin/qemu.git
target-i386: Pass X86CPU to kvm_handle_halt()
Needed for moving interrupt_request and halted fields to CPUState. Signed-off-by: Andreas Färber <afaerber@suse.de>
This commit is contained in:
parent
23d02d9b4b
commit
839b5630cd
|
@ -1786,8 +1786,10 @@ int kvm_arch_process_async_events(CPUX86State *env)
|
||||||
return env->halted;
|
return env->halted;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int kvm_handle_halt(CPUX86State *env)
|
static int kvm_handle_halt(X86CPU *cpu)
|
||||||
{
|
{
|
||||||
|
CPUX86State *env = &cpu->env;
|
||||||
|
|
||||||
if (!((env->interrupt_request & CPU_INTERRUPT_HARD) &&
|
if (!((env->interrupt_request & CPU_INTERRUPT_HARD) &&
|
||||||
(env->eflags & IF_MASK)) &&
|
(env->eflags & IF_MASK)) &&
|
||||||
!(env->interrupt_request & CPU_INTERRUPT_NMI)) {
|
!(env->interrupt_request & CPU_INTERRUPT_NMI)) {
|
||||||
|
@ -2001,13 +2003,14 @@ static bool host_supports_vmx(void)
|
||||||
|
|
||||||
int kvm_arch_handle_exit(CPUX86State *env, struct kvm_run *run)
|
int kvm_arch_handle_exit(CPUX86State *env, struct kvm_run *run)
|
||||||
{
|
{
|
||||||
|
X86CPU *cpu = x86_env_get_cpu(env);
|
||||||
uint64_t code;
|
uint64_t code;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
switch (run->exit_reason) {
|
switch (run->exit_reason) {
|
||||||
case KVM_EXIT_HLT:
|
case KVM_EXIT_HLT:
|
||||||
DPRINTF("handle_hlt\n");
|
DPRINTF("handle_hlt\n");
|
||||||
ret = kvm_handle_halt(env);
|
ret = kvm_handle_halt(cpu);
|
||||||
break;
|
break;
|
||||||
case KVM_EXIT_SET_TPR:
|
case KVM_EXIT_SET_TPR:
|
||||||
ret = 0;
|
ret = 0;
|
||||||
|
|
Loading…
Reference in New Issue