• Jeremy Fitzhardinge's avatar
    x86/paravirt: split sysret and sysexit · d75cd22f
    Jeremy Fitzhardinge authored
    Don't conflate sysret and sysexit; they're different instructions with
    different semantics, and may be in use at the same time (at least
    within the same kernel, depending on whether its an Intel or AMD
    system).
    
    sysexit - just return to userspace, does no register restoration of
        any kind; must explicitly atomically enable interrupts.
    
    sysret - reloads flags from r11, so no need to explicitly enable
        interrupts on 64-bit, responsible for restoring usermode %gs
    Signed-off-by: default avatarJeremy Fitzhardinge <jeremy.fitzhardinge@citirx.com>
    Cc: xen-devel <xen-devel@lists.xensource.com>
    Cc: Stephen Tweedie <sct@redhat.com>
    Cc: Eduardo Habkost <ehabkost@redhat.com>
    Cc: Mark McLoughlin <markmc@redhat.com>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    d75cd22f
enlighten.c 32.2 KB