Subversion Repositories HelenOS

Rev

Rev 3707 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3707 Rev 4490
Line 63... Line 63...
63
#include <synch/spinlock.h>
63
#include <synch/spinlock.h>
64
#include <synch/mutex.h>
64
#include <synch/mutex.h>
65
#include <adt/list.h>
65
#include <adt/list.h>
66
#include <debug.h>
66
#include <debug.h>
67
 
67
 
68
static count_t asids_allocated = 0;
68
static size_t asids_allocated = 0;
69
 
69
 
70
/** Allocate free address space identifier.
70
/** Allocate free address space identifier.
71
 *
71
 *
72
 * Interrupts must be disabled and inactive_as_with_asid_lock must be held
72
 * Interrupts must be disabled and inactive_as_with_asid_lock must be held
73
 * prior to this call
73
 * prior to this call
Line 118... Line 118...
118
        /*
118
        /*
119
         * If the architecture uses some software cache
119
         * If the architecture uses some software cache
120
         * of TLB entries (e.g. TSB on sparc64), the
120
         * of TLB entries (e.g. TSB on sparc64), the
121
         * cache must be invalidated as well.
121
         * cache must be invalidated as well.
122
         */
122
         */
123
        as_invalidate_translation_cache(as, 0, (count_t) -1);
123
        as_invalidate_translation_cache(as, 0, (size_t) -1);
124
       
124
       
125
        /*
125
        /*
126
         * Get the system rid of the stolen ASID.
126
         * Get the system rid of the stolen ASID.
127
         */
127
         */
128
        tlb_shootdown_start(TLB_INVL_ASID, asid, 0, 0);
128
        tlb_shootdown_start(TLB_INVL_ASID, asid, 0, 0);