Messages in this thread | | | Date | Mon, 11 Aug 2014 09:40:35 +0100 | From | "Jan Beulich" <> | Subject | Re: [PATCH 4/5] x86: entry_64.S: always allocate complete "struct pt_regs" |
| |
>>> On 11.08.14 at 02:46, <fweisbec@gmail.com> wrote: > On Mon, Aug 04, 2014 at 05:03:42AM +0200, Denys Vlasenko wrote: >> On Sat, Aug 2, 2014 at 1:19 AM, Frederic Weisbecker <fweisbec@gmail.com> > wrote: >> >> CFI_ESCAPE 0x0f /* DW_CFA_def_cfa_expression */, 6, \ >> >> 0x77 /* DW_OP_breg7 */, 0, \ >> >> 0x06 /* DW_OP_deref */, \ >> >> - 0x08 /* DW_OP_const1u */, SS+8-RBP, \ >> >> + 0x08 /* DW_OP_const1u */, SS+8, \ >> >> 0x22 /* DW_OP_plus */ >> >> /* We entered an interrupt context - irqs are off: */ >> >> TRACE_IRQS_OFF >> >> - >> >> call \func >> >> .endm >> >> >> >> @@ -749,10 +719,9 @@ ret_from_intr: >> >> >> >> /* Restore saved previous stack */ >> >> popq %rsi >> > >> > And then you pop to rsi. Ok that indeed works but perhaps we should keep it symetrical >> > just for clarity? Any reason why we can't reuse rdi here? >> >> I changed this entire area in v2: basically, I will not change the logic, >> but will add comments explaining what are we doing here, and why. >> (Some minor code changes will be done, not affecting the logic). >> >> While we are at it, what this CFI_ESCAPE thing does here? >> As usual, it has no comment :/
Each of its lines has a comment; with other CFI annotations not each having comments, I don't see what else is needed here.
> I don't know, only Jan Beulich understands those CFI black magic.
That would be very said if true.
In any case: This needs to be a CFI_ESCAPE because there's no other way I know of to emit the DW_CFA_def_cfa_expression. And the change to it looks correct to me.
Jan
| |