summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/arch/amd64/amd64/vector.S2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/arch/amd64/amd64/vector.S b/sys/arch/amd64/amd64/vector.S
index d2a3d89..e348ff4 100644
--- a/sys/arch/amd64/amd64/vector.S
+++ b/sys/arch/amd64/amd64/vector.S
@@ -52,7 +52,9 @@ ioapic_common_func:
mov (%rdx), %rbx // intr_hand.func
xor %rdi, %rdi // No data
+ push %rcx // Save our counter
call *%rbx // Call the handler
+ pop %rcx // Restore our counter
or %rax, %rax // Was it theirs? (RET >= 1)
jnz done // Yes, we are done.
1: inc %rcx // Next