[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] SeaBios: Fix reset procedure reentrancy problem
From: |
Gonglei |
Subject: |
Re: [Qemu-devel] [PATCH] SeaBios: Fix reset procedure reentrancy problem on qemu-kvm platform |
Date: |
Wed, 4 Nov 2015 08:48:20 +0800 |
User-agent: |
Mozilla/5.0 (Windows NT 6.1; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 |
Ccing Seabios community.
On 2015/11/3 14:58, Xulei (Stone, Euler) wrote:
> On qemu-kvm platform, when I reset a VM through "virsh reset", and
> coincidently
> the VM is in process of internal rebooting at the same time. Then the VM will
> not be successfully reseted any more due to the reset reentrancy. I found:
> (1)SeaBios try to shutdown the VM after reseting it failed by apm_shutdown().
> However, apm_shutdown() does not work on qemu-kvm platform;
> (2)I add 1s sleep in qemu_prep_reset(), then continuously reset the VM twice,
> aforementioned case must happen.
> This patch fixes this issue by letting the VM always execute the reboot
> routing while a reenrancy happenes instead of attempting apm_shutdown on
> qemu-kvm platform.
>
> Signed-off-by: Lei Xu <address@hidden>
> ---
> roms/seabios/src/resume.c | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/roms/seabios/src/resume.c b/roms/seabios/src/resume.c
> index 1903174..96ff79e 100644
> --- a/roms/seabios/src/resume.c
> +++ b/roms/seabios/src/resume.c
> @@ -16,6 +16,7 @@
> #include "std/bda.h" // struct bios_data_area_s
> #include "string.h" // memset
> #include "util.h" // dma_setup
> +#include "fw/paravirt.h" //runningOnKVM
>
> // Handler for post calls that look like a resume.
> void VISIBLE16
> @@ -122,7 +123,11 @@ tryReboot(void)
> dprintf(1, "Unable to hard-reboot machine - attempting
> shutdown.\n");
> apm_shutdown();
> }
> - HaveAttemptedReboot = 1;
> + if (!runningOnKVM()) {
> + // Hard reboot has failed - try to shutdown machine.
> + HaveAttemptedReboot = 1;
> + }
> +
>
> dprintf(1, "Attempting a hard reboot\n");
>
> --
> 1.7.12.4
>
- [Qemu-devel] [PATCH] SeaBios: Fix reset procedure reentrancy problem on qemu-kvm platform, Xulei (Stone, Euler), 2015/11/03
- Re: [Qemu-devel] [PATCH] SeaBios: Fix reset procedure reentrancy problem on qemu-kvm platform,
Gonglei <=
- Re: [Qemu-devel] [PATCH] SeaBios: Fix reset procedure reentrancy problem on qemu-kvm platform, Kevin O'Connor, 2015/11/04
- Re: [Qemu-devel] [PATCH] SeaBios: Fix reset procedure reentrancy problem on qemu-kvm platform, Xulei (Stone), 2015/11/06
- Re: [Qemu-devel] [PATCH] SeaBios: Fix reset procedure reentrancy problem on qemu-kvm platform, Kevin O'Connor, 2015/11/09
- Re: [Qemu-devel] [PATCH] SeaBios: Fix reset procedure reentrancy problem on qemu-kvm platform, Kevin O'Connor, 2015/11/09
- Re: [Qemu-devel] [PATCH] SeaBios: Fix reset procedure reentrancy problem on qemu-kvm platform, Kevin O'Connor, 2015/11/09
- Re: [Qemu-devel] [PATCH] SeaBios: Fix reset procedure reentrancy problem on qemu-kvm platform, Xulei (Stone), 2015/11/18
- Re: [Qemu-devel] [PATCH] SeaBios: Fix reset procedure reentrancy problem on qemu-kvm platform, Xulei (Stone), 2015/11/19
- Re: [Qemu-devel] [PATCH] SeaBios: Fix reset procedure reentrancy problem on qemu-kvm platform, Kevin O'Connor, 2015/11/19
- Re: [Qemu-devel] [PATCH] SeaBios: Fix reset procedure reentrancy problem on qemu-kvm platform, Xulei (Stone), 2015/11/19