Changeset 9306 for branches/win64


Ignore:
Timestamp:
Apr 27, 2008, 11:02:56 AM (12 years ago)
Author:
gb
Message:

Provide pointers into restore_win64_context(), for the benefit of
suspend_tcr().

Zero out tcr.pending_exception_context in restore_win64_context.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/win64/lisp-kernel/x86-asmutils64.s

    r9291 r9306  
    214214   much has to be uninterruptible */       
    215215_exportfn(C(restore_win64_context))
     216Xrestore_win64_context_start:   
    216217        __(subq $0x38,%rsp)
     218        __(xorl %eax,%eax)
    217219        __(movq %r8,tcr.valence(%rdx))
     220        __(movq %rax,tcr.pending_exception_context(%rdx))
    218221        __(fxrstor win64_context.fpstate(%rcx))
    219222        __(movapd win64_context.Xmm0(%rcx),%xmm0)
     
    258261        __(movq win64_context.R14(%rcx),%r14)
    259262        __(movq win64_context.R15(%rcx),%r15)
     263Xrestore_win64_context_load_rcx:               
    260264        __(movq win64_context.Rcx(%rcx),%rcx)
     265Xrestore_win64_context_iret:           
    261266        __(iretq)
    262         .globl C(restore_win64_context_end)
    263 C(restore_win64_context_end):
     267Xrestore_win64_context_end:             
    264268        __(nop)
    265269_endfn
     
    270274        __(jmp *%rdx)
    271275_endfn       
    272        
     276
     277        .data
     278        .globl C(restore_win64_context_start)
     279        .globl C(restore_win64_context_end)
     280        .globl C(restore_win64_context_load_rcx)
     281        .globl C(restore_win64_context_iret)
     282C(restore_win64_context_start):  .quad Xrestore_win64_context_start
     283C(restore_win64_context_end): .quad Xrestore_win64_context_end
     284C(restore_win64_context_load_rcx):  .quad Xrestore_win64_context_load_rcx
     285C(restore_win64_context_iret): .quad Xrestore_win64_context_iret
     286
    273287        __endif
    274288               
Note: See TracChangeset for help on using the changeset viewer.