Changeset 106


Ignore:
Timestamp:
Dec 10, 2003, 12:25:10 AM (21 years ago)
Author:
Gary Byers
Message:

Don't reference tlb_pointer until we're sure it's big enough.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ccl/lisp-kernel/spentry.s

    r46 r106  
    1616*/
    1717
    18 
     18/*
     19  $Log$
     20  Revision 1.5  2003/12/10 08:25:10  gb
     21  Don't reference tlb_pointer until we're sure it's big enough.
     22
     23*/       
    1924       
    2025        include(lisp.s)
     
    41964201        __(ldr(imm3,svar.idx(temp0)))
    41974202        __(ldr(imm0,tcr.tlb_limit(rcontext)))
    4198         __(ldr(imm2,tcr.tlb_pointer(rcontext)))
    41994203        __(cmpri(imm3,0))
    42004204        __(trlle(imm0,imm3))           /* tlb too small */
     4205        __(ldr(imm2,tcr.tlb_pointer(rcontext)))
     4206        __(ldr(imm1,tcr.db_link(rcontext)))
    42014207        __(ldrx(temp1,imm2,imm3))
    4202         __(ldr(imm1,tcr.db_link(rcontext)))
    42034208        __(beq 9f)
    42044209        __(vpush(temp1))
     
    42184223        __(ldr(imm3,svar.idx(temp0)))
    42194224        __(ldr(imm0,tcr.tlb_limit(rcontext)))
    4220         __(ldr(imm2,tcr.tlb_pointer(rcontext)))
    42214225        __(cmpri(imm3,0))
    42224226        __(trlle(imm0,imm3))           /* tlb too small */
     4227        __(ldr(imm2,tcr.tlb_pointer(rcontext)))
     4228        __(ldr(imm1,tcr.db_link(rcontext)))
    42234229        __(ldrx(temp1,imm2,imm3))
    4224         __(ldr(imm1,tcr.db_link(rcontext)))
    42254230        __(cmpri(cr1,temp1,no_thread_local_binding_marker))
    42264231        __(ldr(arg_y,svar.symbol(temp0)))
     
    42464251        __(ldr(imm0,tcr.tlb_limit(rcontext)))
    42474252        __(cmpri(imm3,0))
    4248         __(ldr(imm2,tcr.tlb_pointer(rcontext)))
    42494253        __(beq- 9f)
    42504254        __(trlle(imm0,imm3))           /* tlb too small */
     4255        __(ldr(imm2,tcr.tlb_pointer(rcontext)))
    42514256        __(ldrx(temp1,imm2,imm3))
    42524257        __(ldr(imm1,tcr.db_link(rcontext)))
     
    42664271        __(ldr(imm3,svar.idx(temp0)))
    42674272        __(ldr(imm0,tcr.tlb_limit(rcontext)))
    4268         __(ldr(imm2,tcr.tlb_pointer(rcontext)))
    42694273        __(cmpri(imm3,0))
    42704274        __(trlle(imm0,imm3))           /* tlb too small */
     4275        __(ldr(imm2,tcr.tlb_pointer(rcontext)))
    42714276        __(ldrx(temp1,imm2,imm3))
    42724277        __(ldr(imm1,tcr.db_link(rcontext)))
     
    44034408        __(mr temp4,arg_y)
    44044409        __(ldr(imm1,tcr.db_link(rcontext)))
    4405         __(ldr(imm4,tcr.tlb_pointer(rcontext)))
    44064410        __(ldr(imm3,tcr.tlb_limit(rcontext)))
    440744113:
     
    44114415        __(_cdr(temp4,temp4))
    44124416        __(trlle(imm3,imm0))
     4417        __(ldr(imm4,tcr.tlb_pointer(rcontext))) /* Need to reload after trap */
    44134418        __(ldrx(temp3,imm4,imm0))
    44144419        __(cmpri(cr0,temp4,nil_value))
Note: See TracChangeset for help on using the changeset viewer.