[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 73/77] i386: hvf: Fix smp boot hangs
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PULL 73/77] i386: hvf: Fix smp boot hangs |
Date: |
Mon, 4 Feb 2019 19:36:15 +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 64/77] hw/sparc64/Makefile.objs: Create CONFIG_* for sparc64, (continued)
- [Qemu-devel] [PULL 64/77] hw/sparc64/Makefile.objs: Create CONFIG_* for sparc64, Paolo Bonzini, 2019/02/04
- [Qemu-devel] [PULL 62/77] hw/nios2/Makefile.objs: Conditionally build nios2, Paolo Bonzini, 2019/02/04
- [Qemu-devel] [PULL 68/77] hw/moxie/Makefile.objs: Conditionally build moxie, Paolo Bonzini, 2019/02/04
- [Qemu-devel] [PULL 60/77] hw/lm32/Makefile.objs: Conditionally build lm32 and milkmyst, Paolo Bonzini, 2019/02/04
- [Qemu-devel] [PULL 74/77] pc: Use hotplug_handler_(plug|unplug|unplug_request), Paolo Bonzini, 2019/02/04
- [Qemu-devel] [PULL 63/77] hw/riscv/Makefile.objs: Create CONFIG_* for riscv boards, Paolo Bonzini, 2019/02/04
- [Qemu-devel] [PULL 58/77] hw/s390/Makefile.objs: Create new CONFIG_* variables for s390x boards and devices, Paolo Bonzini, 2019/02/04
- [Qemu-devel] [PULL 77/77] queue: fix QTAILQ_FOREACH_REVERSE_SAFE, Paolo Bonzini, 2019/02/04
- [Qemu-devel] [PULL 69/77] hw/openrisc/Makefile.objs: Create CONFIG_* for openrisc, Paolo Bonzini, 2019/02/04
- [Qemu-devel] [PULL 59/77] hw/sparc/Makefile.objs: CONFIG_* for sun4m and leon3 created, Paolo Bonzini, 2019/02/04
- [Qemu-devel] [PULL 73/77] i386: hvf: Fix smp boot hangs,
Paolo Bonzini <=
- [Qemu-devel] [PULL 65/77] hw/alpha/Makefile.objs: Create CONFIG_* for alpha, Paolo Bonzini, 2019/02/04
- [Qemu-devel] [PULL 61/77] hw/xtensa/Makefile.objs: Build xtensa_sim and xtensa_fpga conditionally, Paolo Bonzini, 2019/02/04
- [Qemu-devel] [PULL 71/77] hw/i2c/Makefile.objs: Create new CONFIG_* variables for EEPROM and ACPI controller, Paolo Bonzini, 2019/02/04
- [Qemu-devel] [PULL 66/77] hw/cris/Makefile.objs: Create CONFIG_* for cris, Paolo Bonzini, 2019/02/04
- [Qemu-devel] [PULL 55/77] hw/mips/Makefile.objs: Create CONFIG_* for r4k, malta, mipssim boards, Paolo Bonzini, 2019/02/04
- [Qemu-devel] [PULL 70/77] hw/tricore/Makefile.objs: Create CONFIG_* for tricore, Paolo Bonzini, 2019/02/04
- [Qemu-devel] [PULL 72/77] hw/vfio/Makefile.objs: Create new CONFIG_* variables for VFIO core and PCI, Paolo Bonzini, 2019/02/04
- [Qemu-devel] [PULL 75/77] scsi-disk: Convert from DPRINTF() macro to trace events, Paolo Bonzini, 2019/02/04
- Re: [Qemu-devel] [PULL 00/77] Misc patches for 2019-02-04, Peter Maydell, 2019/02/05