aboutsummaryrefslogtreecommitdiff
path: root/sys/arch/amd64
diff options
context:
space:
mode:
Diffstat (limited to 'sys/arch/amd64')
-rw-r--r--sys/arch/amd64/amd64/intr.c5
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