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
