Skip to content
  • Rusty Russell's avatar
    lguest: handle traps on the "interrupt suppressed" iret instruction. · 3eebd233
    Rusty Russell authored
    
    
    Lguest's "iret" is non-atomic, as it needs to restore the interrupt
    state before the real iret (the guest can't actually suppress
    interrupts).  For this reason, the host discards an interrupt if it
    occurs in this (1-instruction) window.
    
    We can do better, by emulating the iret execution, then immediately
    setting up the interrupt handler.  In fact, we don't need to do much,
    as emulating the iret and setting up th stack for the interrupt handler
    basically cancel each other out.
    
    Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
    3eebd233