diff options
author | Alexander van Heukelum <heukelum@fastmail.fm> | 2008-09-26 08:03:03 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-10-13 04:21:55 -0400 |
commit | 7e61a7932495e37685e95ec9a59ad08810dec959 (patch) | |
tree | 302cb73a88bd903aceffe473a34c8a66965d91ca /arch/x86/kernel/entry_64.S | |
parent | 6b11d4ef3e4d6ce83fb177aa50fdf385abb17d1a (diff) |
traps: x86_64: add TRACE_IRQS_OFF in paranoidentry macro
Add TRACE_IRQS_OFF just before entering the C code.
All exceptions are taken via interrupt gates. If irq tracing is
enabled, it should be notified as soon as possible. Interrupts
are only (conditionally) re-enabled in C code.
Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel/entry_64.S')
-rw-r--r-- | arch/x86/kernel/entry_64.S | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/x86/kernel/entry_64.S b/arch/x86/kernel/entry_64.S index 963b35b81bcc..977c8ea66028 100644 --- a/arch/x86/kernel/entry_64.S +++ b/arch/x86/kernel/entry_64.S | |||
@@ -939,6 +939,9 @@ END(spurious_interrupt) | |||
939 | .if \ist | 939 | .if \ist |
940 | movq %gs:pda_data_offset, %rbp | 940 | movq %gs:pda_data_offset, %rbp |
941 | .endif | 941 | .endif |
942 | .if \irqtrace | ||
943 | TRACE_IRQS_OFF | ||
944 | .endif | ||
942 | movq %rsp,%rdi | 945 | movq %rsp,%rdi |
943 | movq ORIG_RAX(%rsp),%rsi | 946 | movq ORIG_RAX(%rsp),%rsi |
944 | movq $-1,ORIG_RAX(%rsp) | 947 | movq $-1,ORIG_RAX(%rsp) |