* [PATCH] x86-64: add unwind annotations to early_idt_handler
@ 2009-03-12 10:36 Jan Beulich
2009-03-12 10:53 ` Ingo Molnar
0 siblings, 1 reply; 3+ messages in thread
From: Jan Beulich @ 2009-03-12 10:36 UTC (permalink / raw)
To: mingo, tglx, hpa; +Cc: Andi Kleen, linux-kernel
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Cc: Andi Kleen <andi@firstfloor.org>
---
arch/x86/kernel/head_64.S | 13 +++++++++++++
1 file changed, 13 insertions(+)
--- linux-2.6.29-rc7/arch/x86/kernel/head_64.S 2009-03-11 17:52:10.000000000 +0100
+++ 2.6.29-rc7-x86_64-unwind-early_idt_handler/arch/x86/kernel/head_64.S 2009-02-18 13:38:09.000000000 +0100
@@ -280,6 +280,8 @@ early_idt_handlers:
ENTRY(early_idt_handler)
#ifdef CONFIG_EARLY_PRINTK
+#include <asm/calling.h>
+#include <asm/dwarf2.h>
cmpl $2,early_recursion_flag(%rip)
jz 1f
incl early_recursion_flag(%rip)
@@ -295,6 +297,16 @@ ENTRY(early_idt_handler)
testl $0x27d00,%eax
je 0f
popq %r8 # get error code
+
+ CFI_STARTPROC simple
+ CFI_SIGNAL_FRAME
+ CFI_DEF_CFA rsp, SS+8-RIP
+# CFI_REL_OFFSET ss, SS-RIP
+ CFI_REL_OFFSET rsp, RSP-RIP
+# CFI_REL_OFFSET rflags, EFLAGS-RIP
+# CFI_REL_OFFSET cs, CS-RIP
+ CFI_REL_OFFSET rip, RIP-RIP
+
0: movq 0(%rsp),%rcx # get ip
movq 8(%rsp),%rdx # get cs
xorl %eax,%eax
@@ -308,6 +320,7 @@ ENTRY(early_idt_handler)
movq 0(%rsp),%rsi # get rip again
call __print_symbol
#endif
+ CFI_ENDPROC
#endif /* EARLY_PRINTK */
1: hlt
jmp 1b
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] x86-64: add unwind annotations to early_idt_handler
2009-03-12 10:36 [PATCH] x86-64: add unwind annotations to early_idt_handler Jan Beulich
@ 2009-03-12 10:53 ` Ingo Molnar
2009-03-12 11:36 ` Jan Beulich
0 siblings, 1 reply; 3+ messages in thread
From: Ingo Molnar @ 2009-03-12 10:53 UTC (permalink / raw)
To: Jan Beulich
Cc: tglx, hpa, Andi Kleen, linux-kernel, Cyrill Gorcunov,
Alexander van Heukelum
* Jan Beulich <jbeulich@novell.com> wrote:
> Signed-off-by: Jan Beulich <jbeulich@novell.com>
> Cc: Andi Kleen <andi@firstfloor.org>
>
> ---
> arch/x86/kernel/head_64.S | 13 +++++++++++++
> 1 file changed, 13 insertions(+)
>
> --- linux-2.6.29-rc7/arch/x86/kernel/head_64.S 2009-03-11 17:52:10.000000000 +0100
> +++ 2.6.29-rc7-x86_64-unwind-early_idt_handler/arch/x86/kernel/head_64.S 2009-02-18 13:38:09.000000000 +0100
> @@ -280,6 +280,8 @@ early_idt_handlers:
>
> ENTRY(early_idt_handler)
> #ifdef CONFIG_EARLY_PRINTK
> +#include <asm/calling.h>
> +#include <asm/dwarf2.h>
> cmpl $2,early_recursion_flag(%rip)
> jz 1f
> incl early_recursion_flag(%rip)
> @@ -295,6 +297,16 @@ ENTRY(early_idt_handler)
> testl $0x27d00,%eax
> je 0f
> popq %r8 # get error code
> +
> + CFI_STARTPROC simple
> + CFI_SIGNAL_FRAME
> + CFI_DEF_CFA rsp, SS+8-RIP
> +# CFI_REL_OFFSET ss, SS-RIP
> + CFI_REL_OFFSET rsp, RSP-RIP
> +# CFI_REL_OFFSET rflags, EFLAGS-RIP
> +# CFI_REL_OFFSET cs, CS-RIP
> + CFI_REL_OFFSET rip, RIP-RIP
> +
This too is too ugly - there should be a structured macro that
expresses this - instead of open-coded CFI details. This is a
regular x86 entry layout with a lot of commonalities with other
entry points.
Ingo
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] x86-64: add unwind annotations to early_idt_handler
2009-03-12 10:53 ` Ingo Molnar
@ 2009-03-12 11:36 ` Jan Beulich
0 siblings, 0 replies; 3+ messages in thread
From: Jan Beulich @ 2009-03-12 11:36 UTC (permalink / raw)
To: Ingo Molnar
Cc: Alexander van Heukelum, Andi Kleen, Cyrill Gorcunov, tglx,
linux-kernel, hpa
>>> Ingo Molnar <mingo@elte.hu> 12.03.09 11:53 >>>
>* Jan Beulich <jbeulich@novell.com> wrote:
>> @@ -295,6 +297,16 @@ ENTRY(early_idt_handler)
>> testl $0x27d00,%eax
>> je 0f
>> popq %r8 # get error code
>> +
>> + CFI_STARTPROC simple
>> + CFI_SIGNAL_FRAME
>> + CFI_DEF_CFA rsp, SS+8-RIP
>> +# CFI_REL_OFFSET ss, SS-RIP
>> + CFI_REL_OFFSET rsp, RSP-RIP
>> +# CFI_REL_OFFSET rflags, EFLAGS-RIP
>> +# CFI_REL_OFFSET cs, CS-RIP
>> + CFI_REL_OFFSET rip, RIP-RIP
>> +
>
>This too is too ugly - there should be a structured macro that
>expresses this - instead of open-coded CFI details. This is a
>regular x86 entry layout with a lot of commonalities with other
>entry points.
I can certainly do that, but it'll introduce yet another patch
dependency (with the patch fixing the entry_64.S annotations), as it
would mean moving out some of the macros from entry_64.S to one
of the headers. That means I'll first have to get clarification on where
you want to go with these annotations altogether.
Jan
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2009-03-12 11:35 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-03-12 10:36 [PATCH] x86-64: add unwind annotations to early_idt_handler Jan Beulich
2009-03-12 10:53 ` Ingo Molnar
2009-03-12 11:36 ` Jan Beulich
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®