Subversion Repositories HelenOS-historic

Rev

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

Rev 397 Rev 413
Line 39... Line 39...
39
 * @param vm VM structure.
39
 * @param vm VM structure.
40
 */
40
 */
41
void vm_install_arch(vm_t *vm)
41
void vm_install_arch(vm_t *vm)
42
{
42
{
43
    entry_hi_t hi;
43
    entry_hi_t hi;
44
    pri_t pri;
44
    ipl_t ipl;
45
   
45
   
46
    hi.value = cp0_entry_hi_read();
46
    hi.value = cp0_entry_hi_read();
47
 
47
 
48
    pri = cpu_priority_high();
48
    ipl = interrupts_disable();
49
    spinlock_lock(&vm->lock);
49
    spinlock_lock(&vm->lock);
50
    hi.asid = vm->asid;
50
    hi.asid = vm->asid;
51
    cp0_entry_hi_write(hi.value);  
51
    cp0_entry_hi_write(hi.value);  
52
    spinlock_lock(&vm->unlock);
52
    spinlock_lock(&vm->unlock);
53
    cpu_priority_restore(pri);
53
    interrupts_restore(ipl);
54
}
54
}