Skip to content
  • Paolo Bonzini's avatar
    x86: eventinj: fix inline assembly and make it more robust to new compilers · a1e7de32
    Paolo Bonzini authored
    
    
    Using assembler trampolines instead of && fixes NMI IRET test.
    
    There is another bug, however.  Returns to the same privilege level do
    not pop SS:RSP on 32-bit, so the nested NMI underflowed the stack at "s".
    This is fixed in the new code.  The new code doesn't set up SS:RSP and
    instead leaves some space for the nested NMI handler on the alternate
    stack.  The old stack pointer is kept and restored when the nested
    handler returns.
    
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    a1e7de32