Subversion Repositories HelenOS-historic

Rev

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

Rev 341 Rev 413
Line 50... Line 50...
50
   
50
   
51
    printf("PC: %X(%s) RA: %X(%s)\n",pstate->epc,pcsymbol,
51
    printf("PC: %X(%s) RA: %X(%s)\n",pstate->epc,pcsymbol,
52
           pstate->ra,rasymbol);
52
           pstate->ra,rasymbol);
53
}
53
}
54
 
54
 
-
 
55
/** Disable interrupts.
-
 
56
 *
-
 
57
 * @return Old interrupt priority level.
-
 
58
 */
55
pri_t cpu_priority_high(void)
59
ipl_t interrupts_disable(void)
56
{
60
{
57
    pri_t pri = (pri_t) cp0_status_read();
61
    ipl_t ipl = (ipl_t) cp0_status_read();
58
    cp0_status_write(pri & ~cp0_status_ie_enabled_bit);
62
    cp0_status_write(ipl & ~cp0_status_ie_enabled_bit);
59
    return pri;
63
    return ipl;
60
}
64
}
61
 
65
 
-
 
66
/** Enable interrupts.
-
 
67
 *
-
 
68
 * @return Old interrupt priority level.
-
 
69
 */
62
pri_t cpu_priority_low(void)
70
ipl_t interrupts_enable(void)
63
{
71
{
64
    pri_t pri = (pri_t) cp0_status_read();
72
    ipl_t ipl = (ipl_t) cp0_status_read();
65
    cp0_status_write(pri | cp0_status_ie_enabled_bit);
73
    cp0_status_write(ipl | cp0_status_ie_enabled_bit);
66
    return pri;
74
    return ipl;
67
}
75
}
68
 
76
 
-
 
77
/** Restore interrupt priority level.
-
 
78
 *
-
 
79
 * @param ipl Saved interrupt priority level.
-
 
80
 */
69
void cpu_priority_restore(pri_t pri)
81
void interrupts_restore(ipl_t ipl)
70
{
82
{
71
    cp0_status_write(cp0_status_read() | (pri & cp0_status_ie_enabled_bit));
83
    cp0_status_write(cp0_status_read() | (ipl & cp0_status_ie_enabled_bit));
72
}
84
}
73
 
85
 
-
 
86
/** Read interrupt priority level.
-
 
87
 *
-
 
88
 * @return Current interrupt priority level.
-
 
89
 */
74
pri_t cpu_priority_read(void)
90
ipl_t interrupts_read(void)
75
{
91
{
76
    return cp0_status_read();
92
    return cp0_status_read();
77
}
93
}
78
 
94
 
79
void interrupt(struct exception_regdump *pstate)
95
void interrupt(struct exception_regdump *pstate)