Subversion Repositories HelenOS

Rev

Rev 1851 | Rev 1891 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1851 Rev 1889
Line 120... Line 120...
120
        /*
120
        /*
121
         * Notify the address space from wich the ASID
121
         * Notify the address space from wich the ASID
122
         * was stolen by invalidating its asid member.
122
         * was stolen by invalidating its asid member.
123
         */
123
         */
124
        as->asid = ASID_INVALID;
124
        as->asid = ASID_INVALID;
-
 
125
       
-
 
126
        /*
-
 
127
         * If the architecture uses some software cache
-
 
128
         * of TLB entries (e.g. TSB on sparc64), the
-
 
129
         * cache must be invalidated as well.
-
 
130
         */
-
 
131
        as_invalidate_translation_cache(as, 0, 0);
-
 
132
       
125
        mutex_unlock(&as->lock);
133
        mutex_unlock(&as->lock);
126
 
134
 
127
        /*
135
        /*
128
         * Get the system rid of the stolen ASID.
136
         * Get the system rid of the stolen ASID.
129
         */
137
         */
Line 139... Line 147...
139
 
147
 
140
        asid = asid_find_free();
148
        asid = asid_find_free();
141
        asids_allocated++;
149
        asids_allocated++;
142
 
150
 
143
        /*
151
        /*
144
         * Purge the allocated rid from TLBs.
152
         * Purge the allocated ASID from TLBs.
145
         */
153
         */
146
        tlb_shootdown_start(TLB_INVL_ASID, asid, 0, 0);
154
        tlb_shootdown_start(TLB_INVL_ASID, asid, 0, 0);
147
        tlb_invalidate_asid(asid);
155
        tlb_invalidate_asid(asid);
148
        tlb_shootdown_finalize();
156
        tlb_shootdown_finalize();
149
    }
157
    }