From: Alexander van Heukelum <heukelum@mailshack.com>
To: Ingo Molnar <mingo@elte.hu>
Cc: LKML <linux-kernel@vger.kernel.org>,
Andi Kleen <andi@firstfloor.org>,
"H. Peter Anvin" <hpa@zytor.com>,
Jan Beulich <jbeulich@novell.com>,
Glauber Costa <gcosta@redhat.com>, Matt Mackall <mpm@selenic.com>,
Thomas Gleixner <tglx@linutronix.de>,
Nick Piggin <nickpiggin@yahoo.com.au>,
Cyrill Gorcunov <gorcunov@gmail.com>
Subject: Re: [PATCH] x86: clean up after: move entry_64.S register saving out of the macros
Date: Thu, 20 Nov 2008 16:57:44 +0100 [thread overview]
Message-ID: <20081120155744.GA4130@mailshack.com> (raw)
In-Reply-To: <20081120153954.GA22511@elte.hu>
On Thu, Nov 20, 2008 at 04:39:54PM +0100, Ingo Molnar wrote:
>
> * Alexander van Heukelum <heukelum@mailshack.com> wrote:
>
> > On Thu, Nov 20, 2008 at 04:04:12PM +0100, Ingo Molnar wrote:
> > >
> > > * Alexander van Heukelum <heukelum@mailshack.com> wrote:
> > >
> > > > This add-on patch to x86: move entry_64.S register saving out of the
> > > > macros visually cleans up the appearance of the code by introducing
> > > > some basic helper macro's. It also adds some cfi annotations which
> > > > were missing.
> > > >
> > > > Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm>
> > > > ---
> > > > arch/x86/kernel/entry_64.S | 220 ++++++++++++++++++++++----------------------
> > > > 1 files changed, 112 insertions(+), 108 deletions(-)
> > > >
> > > > Hello Ingo,
> > > >
> > > > This patch improves the CFI-situation in entry_64.S, but restricted
> > > > mostly to the areas touched by "x86: move entry_64.S register saving
> > > > out of the macros". I'm sure there will be some small errors
> > > > somewhere, but it compiles and runs fine.
> > >
> > > very nice cleanup! This is exactly what should be done. Applied to
> > > tip/x86/irq.
> > >
> > > Note, i did a small rename:
> > >
> > > cfi_pushq => pushq_cfi
> > > cfi_popq => popq_cfi
> > > cfi_store => movq_cfi
Does not work... But if you are attached to the underscores, I
think we can force it to work by using CPP to convert it to
something the assembler does parse right:
#define pushq_cfi pushq.cfi
etc?
Or is that just too ugly?
Alexander
> > > as the goal is to have the actual source code read mostly as regular
> > > assembly code. The fact that the macro is equivalent to a
> > > default-annotated pushq/popq/movq instruction is much more important
> > > than the fact that it also does CFI annotations.
> > >
> > > Also, while cfi_store is correct as well, the usual x86 assembly term
> > > (and instruction used here) is movq.
> >
> > Now I have a little problem with my next patch... I wanted to
> > introduce cfi_load. Guess what assembly instruction that maps to ;).
>
> heh ;-)
>
> the restore direction could be named movq_cfi_restore, and have the same
> order of arguments as the regular movq that it replaces. I.e.:
>
> movq 8(%rsp),%r11
> CFI_RESTORE r11
>
> would map to:
>
> movq_cfi_restore 8, r11
>
> or so.
>
> cfi_store has really a bad name: it's confusing whether it's the CFI
> info we are storing/registering (which we are), or a 'store' instruction
> (which this is too).
>
> If then we should name it movq_cfi_store or movq_cfi_register - but
> that's too long.
>
> movq_cfi for the frame construction direction and movq_cfi_restore for
> the frame deconstruction phase sounds like a good naming compromise, hm?
>
> Ingo
--
Alexander van Heukelum
next prev parent reply other threads:[~2008-11-20 16:00 UTC|newest]
Thread overview: 75+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-11-16 14:29 [PATCH] trivial, entry_64: remove whitespace at end of lines Alexander van Heukelum
2008-11-16 14:29 ` [RFC] x86: save_args out of line Alexander van Heukelum
2008-11-17 12:14 ` Glauber Costa
2008-11-17 15:13 ` Alexander van Heukelum
2008-11-17 12:53 ` Andi Kleen
2008-11-17 15:37 ` Alexander van Heukelum
2008-11-17 18:23 ` Andi Kleen
2008-11-17 19:22 ` Cyrill Gorcunov
2008-11-17 19:29 ` Cyrill Gorcunov
2008-11-17 19:49 ` Alexander van Heukelum
2008-11-17 19:54 ` Cyrill Gorcunov
2008-11-17 19:43 ` Alexander van Heukelum
2008-11-17 19:49 ` Cyrill Gorcunov
2008-11-17 17:52 ` [RFC,v2] x86_64: " Alexander van Heukelum
2008-11-18 8:09 ` Jan Beulich
2008-11-18 11:16 ` Alexander van Heukelum
2008-11-18 12:51 ` Jan Beulich
2008-11-18 14:03 ` Ingo Molnar
2008-11-18 14:52 ` Jan Beulich
2008-11-18 15:00 ` Ingo Molnar
2008-11-18 22:53 ` Roland McGrath
2008-11-18 23:35 ` Andi Kleen
2008-11-18 23:36 ` Jeremy Fitzhardinge
2008-11-18 23:44 ` H. Peter Anvin
2008-11-19 0:08 ` Jeremy Fitzhardinge
2008-11-18 23:45 ` Roland McGrath
2008-11-19 0:06 ` Andi Kleen
2008-11-19 0:01 ` H. Peter Anvin
2008-11-19 10:34 ` Ingo Molnar
2008-11-19 20:09 ` Ingo Molnar
2008-11-19 0:18 ` [PATCH/RFC] Move entry_64.S register saving out of the macros Alexander van Heukelum
2008-11-19 17:54 ` H. Peter Anvin
2008-11-19 20:16 ` Ingo Molnar
2008-11-20 13:40 ` [PATCH] x86: clean up after: move " Alexander van Heukelum
2008-11-20 14:01 ` Andi Kleen
2008-11-20 15:04 ` Ingo Molnar
2008-11-20 15:26 ` Alexander van Heukelum
2008-11-20 15:39 ` Ingo Molnar
2008-11-20 15:50 ` [PATCH] x86: clean up after: move entry_64.S register savingout " Jan Beulich
2008-11-20 15:57 ` Alexander van Heukelum [this message]
2008-11-20 16:07 ` [PATCH] x86: clean up after: move entry_64.S register saving out " Cyrill Gorcunov
2008-11-20 16:29 ` Alexander van Heukelum
2008-11-20 17:24 ` Ingo Molnar
2008-11-21 15:41 ` [PATCH] x86: Introduce save_rest and restructure the PTREGSCALL macro in entry_64.S Alexander van Heukelum
2008-11-21 15:43 ` [PATCH] x86: entry_64.S: Factor out save_paranoid and paranoid_exit Alexander van Heukelum
2008-11-21 15:44 ` [PATCH] Split out some macro's and move common code to paranoid_exit Alexander van Heukelum
2008-11-21 16:06 ` Ingo Molnar
2008-11-23 9:08 ` [PATCH] x86: include ENTRY/END in entry handlers in entry_64.S Alexander van Heukelum
2008-11-23 9:15 ` [PATCH] x86: KPROBE_ENTRY should be paired wth KPROBE_END Alexander van Heukelum
2008-11-23 13:27 ` Ingo Molnar
2008-11-23 13:51 ` Cyrill Gorcunov
2008-11-23 14:12 ` Cyrill Gorcunov
2008-11-23 14:55 ` Ingo Molnar
2008-11-23 15:04 ` Cyrill Gorcunov
2008-11-23 15:04 ` Alexander van Heukelum
2008-11-23 15:12 ` Cyrill Gorcunov
2008-11-23 15:31 ` Ingo Molnar
2008-11-23 15:41 ` Cyrill Gorcunov
2008-11-23 15:37 ` Cyrill Gorcunov
2008-11-23 16:29 ` Ingo Molnar
2008-11-24 9:17 ` Jan Beulich
2008-11-24 10:26 ` Alexander van Heukelum
2008-11-24 10:35 ` Jan Beulich
2008-11-24 12:24 ` [PATCH] x86_64: get rid of the use of KPROBE_ENTRY / KPROBE_END Alexander van Heukelum
2008-11-24 13:33 ` Jan Beulich
2008-11-24 14:38 ` [PATCH] i386: " Alexander van Heukelum
2008-11-23 9:21 ` [PATCH] x86: include ENTRY/END in entry handlers in entry_64.S Cyrill Gorcunov
2008-11-23 11:23 ` Alexander van Heukelum
2008-11-23 11:35 ` Cyrill Gorcunov
2008-11-23 20:13 ` H. Peter Anvin
2008-11-24 10:06 ` Alexander van Heukelum
2008-11-24 18:07 ` H. Peter Anvin
2008-11-23 13:23 ` Ingo Molnar
2008-11-17 9:47 ` [PATCH] trivial, entry_64: remove whitespace at end of lines Ingo Molnar
2008-11-17 15:14 ` Alexander van Heukelum
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20081120155744.GA4130@mailshack.com \
--to=heukelum@mailshack.com \
--cc=andi@firstfloor.org \
--cc=gcosta@redhat.com \
--cc=gorcunov@gmail.com \
--cc=hpa@zytor.com \
--cc=jbeulich@novell.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=mpm@selenic.com \
--cc=nickpiggin@yahoo.com.au \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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®