[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 72/76] i386: hvf: Fix smp boot hangs
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PULL 72/76] i386: hvf: Fix smp boot hangs |
Date: |
Tue, 5 Feb 2019 19:15:22 +0100 |
From: Heiher <address@hidden>
The machine that with hvf accelerator and smp sometimes boot hangs
because all processors are executing instructions at startup,
including early I/O emulations. We should just allow the bootstrap
processor to initialize the machine and then to wake up slave
processors by interrupt.
Signed-off-by: Heiher <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
---
target/i386/hvf/hvf.c | 5 -----
1 file changed, 5 deletions(-)
diff --git a/target/i386/hvf/hvf.c b/target/i386/hvf/hvf.c
index 689b585..42f9447 100644
--- a/target/i386/hvf/hvf.c
+++ b/target/i386/hvf/hvf.c
@@ -499,7 +499,6 @@ void hvf_reset_vcpu(CPUState *cpu) {
}
hv_vm_sync_tsc(0);
- cpu->halted = 0;
hv_vcpu_invalidate_tlb(cpu->hvf_fd);
hv_vcpu_flush(cpu->hvf_fd);
}
@@ -582,8 +581,6 @@ int hvf_init_vcpu(CPUState *cpu)
wvmcs(cpu->hvf_fd, VMCS_TPR_THRESHOLD, 0);
- hvf_reset_vcpu(cpu);
-
x86cpu = X86_CPU(cpu);
x86cpu->env.xsave_buf = qemu_memalign(4096, 4096);
@@ -659,8 +656,6 @@ int hvf_vcpu_exec(CPUState *cpu)
int ret = 0;
uint64_t rip = 0;
- cpu->halted = 0;
-
if (hvf_process_events(cpu)) {
return EXCP_HLT;
}
--
1.8.3.1
- [Qemu-devel] [PULL 55/76] hw/ppc/Makefile.objs: Build all boards conditinally with CONFIG_*, (continued)
- [Qemu-devel] [PULL 55/76] hw/ppc/Makefile.objs: Build all boards conditinally with CONFIG_*, Paolo Bonzini, 2019/02/05
- [Qemu-devel] [PULL 52/76] hw/m68k/Makefile.objs: Conditionally build boards, Paolo Bonzini, 2019/02/05
- [Qemu-devel] [PULL 41/76] gdbstub: Fix i386/x86_64 machine description and add control registers, Paolo Bonzini, 2019/02/05
- [Qemu-devel] [PULL 33/76] crypto: finish removing TABs, Paolo Bonzini, 2019/02/05
- [Qemu-devel] [PULL 56/76] hw/sh4/Makefile.objs: New CONFIG_* varibales created for sh4 boards and device, Paolo Bonzini, 2019/02/05
- [Qemu-devel] [PULL 57/76] hw/s390/Makefile.objs: Create new CONFIG_* variables for s390x boards and devices, Paolo Bonzini, 2019/02/05
- [Qemu-devel] [PULL 58/76] hw/sparc/Makefile.objs: CONFIG_* for sun4m and leon3 created, Paolo Bonzini, 2019/02/05
- [Qemu-devel] [PULL 59/76] hw/lm32/Makefile.objs: Conditionally build lm32 and milkmyst, Paolo Bonzini, 2019/02/05
- [Qemu-devel] [PULL 63/76] hw/sparc64/Makefile.objs: Create CONFIG_* for sparc64, Paolo Bonzini, 2019/02/05
- [Qemu-devel] [PULL 60/76] hw/xtensa/Makefile.objs: Build xtensa_sim and xtensa_fpga conditionally, Paolo Bonzini, 2019/02/05
- [Qemu-devel] [PULL 72/76] i386: hvf: Fix smp boot hangs,
Paolo Bonzini <=
- [Qemu-devel] [PULL 67/76] hw/moxie/Makefile.objs: Conditionally build moxie, Paolo Bonzini, 2019/02/05
- [Qemu-devel] [PULL 73/76] pc: Use hotplug_handler_(plug|unplug|unplug_request), Paolo Bonzini, 2019/02/05
- [Qemu-devel] [PULL 76/76] queue: fix QTAILQ_FOREACH_REVERSE_SAFE, Paolo Bonzini, 2019/02/05
- [Qemu-devel] [PULL 65/76] hw/cris/Makefile.objs: Create CONFIG_* for cris, Paolo Bonzini, 2019/02/05
- [Qemu-devel] [PULL 68/76] hw/openrisc/Makefile.objs: Create CONFIG_* for openrisc, Paolo Bonzini, 2019/02/05
- [Qemu-devel] [PULL 64/76] hw/alpha/Makefile.objs: Create CONFIG_* for alpha, Paolo Bonzini, 2019/02/05
- [Qemu-devel] [PULL 61/76] hw/nios2/Makefile.objs: Conditionally build nios2, Paolo Bonzini, 2019/02/05
- [Qemu-devel] [PULL 69/76] hw/tricore/Makefile.objs: Create CONFIG_* for tricore, Paolo Bonzini, 2019/02/05
- [Qemu-devel] [PULL 66/76] hw/hppa/Makefile.objs: Create CONFIG_* for hppa, Paolo Bonzini, 2019/02/05
- [Qemu-devel] [PULL 71/76] hw/vfio/Makefile.objs: Create new CONFIG_* variables for VFIO core and PCI, Paolo Bonzini, 2019/02/05