diff options
Diffstat (limited to 'sys/arch/amd64')
-rw-r--r-- | sys/arch/amd64/amd64/intr.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/arch/amd64/amd64/intr.c b/sys/arch/amd64/amd64/intr.c index 3e3f309..c79195d 100644 --- a/sys/arch/amd64/amd64/intr.c +++ b/sys/arch/amd64/amd64/intr.c @@ -38,17 +38,20 @@ static struct intr_entry *intrs[256] = {0}; -void +int splraise(uint8_t s) { struct cpu_info *ci = this_cpu(); + int old_ipl; if (s < ci->ipl) { panic("splraise IPL less than current IPL\n"); } amd64_write_cr8(s); + old_ipl = ci->ipl; ci->ipl = s; + return old_ipl; } void |