Rev 397 | Rev 501 | 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 | } |