On 09/01/2017 09:55, Peter Xu wrote:
> Split irqchip works based on the fact that we kept the first 24 gsi
> routing entries inside KVM for userspace ioapic's use. When system
> boot, we'll reserve these MSI routing entries before hand. However,
> after migration, we forgot to re-configure it up in the destination
> side. The result is, we'll get invalid gsi routing entries after
> migration (all empty), and we get interrupts with vector=0, then
> strange things happen, like keyboard hang.
> 
> The solution is simple - we update them after migration, which is a
> one line fix in patch 3.
> 
> The first two patches are things I used for debugging this issue.
> Though it might not be directly related, I still think it's something
> good to have in case we encounter similar interrupt issues in the
> future.
> 
> Please review, thanks,
> 
> Peter Xu (3):
>   x86: ioapic: add traces for ioapic
>   x86: ioapic: dump version for "info ioapic"
>   x86: ioapic: fix fail migration when irqchip=split
> 
>  hw/intc/ioapic.c        | 22 ++++++++++++++++++++--
>  hw/intc/ioapic_common.c |  3 ++-
>  hw/intc/trace-events    |  7 +++++++
>  3 files changed, 29 insertions(+), 3 deletions(-)
> 

Thanks, queued.

Paolo

Reply via email to