• Z
    qemu: support Panic Crashloaded event handling · 26badd13
    zhenwei pi 提交于
    Pvpanic device supports bit 1 as crashloaded event, it means that
    guest actually panicked and run kexec to handle error by guest side.
    
    Handle crashloaded as a lifecyle event in libvirt.
    
    Test case:
    Guest side:
    before testing, we need make sure kdump is enabled,
    1, build new pvpanic driver (with commit from upstream
       e0b9a42735f2672ca2764cfbea6e55a81098d5ba
       191941692a3d1b6a9614502b279be062926b70f5)
    2, insmod new kmod
    3, enable crash_kexec_post_notifiers,
      # echo 1 > /sys/module/kernel/parameters/crash_kexec_post_notifiers
    4, trigger kernel panic
      # echo 1 > /proc/sys/kernel/sysrq
      # echo c > /proc/sysrq-trigger
    
    Host side:
    1, build new qemu with pvpanic patches (with commit from upstream
       600d7b47e8f5085919fd1d1157f25950ea8dbc11
       7dc58deea79a343ac3adc5cadb97215086054c86)
    2, build libvirt with this patch
    3, handle lifecycle event and trigger guest side panic
      # virsh event stretch --event lifecycle
      event 'lifecycle' for domain stretch: Crashed Crashloaded
      events received: 1
    Reviewed-by: NDaniel P. Berrangé <berrange@redhat.com>
    Signed-off-by: Nzhenwei pi <pizhenwei@bytedance.com>
    26badd13
qemu_monitor.h 58.2 KB