Linux PARISC architecture development
 help / color / mirror / Atom feed
From: "Michael S. Zick" <mszick@morethan.org>
To: parisc-linux@lists.parisc-linux.org
Subject: Re: [parisc-linux] Does it lakes some cloberred r1 in
Date: Thu, 20 Apr 2006 15:21:55 -0500	[thread overview]
Message-ID: <200604201521.55966.mszick@morethan.org> (raw)
In-Reply-To: <200604201932.k3KJWgKJ023738@hiauly1.hia.nrc.ca>

On Thu April 20 2006 14:32, John David Anglin wrote:
> > > > > (here) insn, an interruption occures which in turn launch the
> > > > > fixup_put_user_skip_1()
> > > > 
> > > > A couple more questions for research :)
> > > > 
> > > > Q: Does the process of interruption clobber registers?
> > > 
> > Joel,
> > 
> > The machine should switch a small sub-set of the general
> > registers to an alternate set, called the 'shadow registers'
> > for the interruption routine to use.
> 
> fixup_put_user_skip_1() runs after the interruption, so the
> shadow registers don't matter. 
>
I was unclear, I was answering the second question, my bad.

> Look at the registers used 
> by fixup_put_user_skip_1() and where it returns.  
>
Ah, the first question...

> Note that 
> GCC is only concerned about registers used in the current
> function (i.e., if an asm changes sections and generates code
> using registers in that section, this is all black magic to
> GCC and it doesn't need to know about it).
> 
Giving that a little though, and it should be obvious...

GCC only compiles a single flow of execution at a time,
the ::: information fields only apply to what the compiler
is doing at the moment.

If the author of the code writes instructions inside of the
current black box (__asm block) that are on a different path
of execution, then it is up to the author to ensure that 
the _other_ path (section in this case) observes proper
register usage.

It is the _other_ path of execution that needs its register
usage audited.

Mike
> It's clear that the __get* and __put* macros need brief comments
> about the register use of the fixup routines.  Also, the fixup
> routines need corresponding comments.
> 
> > I do not know if r1 is shadowed or not.
> 
> Yes.
> 
> Dave
_______________________________________________
parisc-linux mailing list
parisc-linux@lists.parisc-linux.org
http://lists.parisc-linux.org/mailman/listinfo/parisc-linux

  reply	other threads:[~2006-04-20 20:21 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <IY13E1$80C55BA8C044E2D421CA2D8B24C31D6A@scarlet.be>
2006-04-20 17:09 ` [parisc-linux] Does it lakes some cloberred r1 in __put_kernel_asm() 64bit? Carlos O'Donell
2006-04-20 17:28   ` [parisc-linux] Does it lakes some cloberred r1 in John David Anglin
2006-04-20 17:36     ` Michael S. Zick
2006-04-20 19:32       ` John David Anglin
2006-04-20 20:21         ` Michael S. Zick [this message]
2006-04-20 20:04     ` Carlos O'Donell
2006-04-20 21:29       ` John David Anglin
2006-04-21 18:52       ` Michael S. Zick
     [not found] <200604212013.k3LKDAbx003500@hiauly1.hia.nrc.ca>
2006-04-21 20:30 ` John David Anglin
     [not found] <20060422154641.GC10514@quicksilver.road.mcmartin.ca>
2006-04-22 16:48 ` John David Anglin
2006-04-23 16:18   ` Michael S. Zick
2006-04-23 17:06     ` Michael S. Zick
2006-04-24 15:35       ` John David Anglin
2006-04-24 16:25         ` Grant Grundler
2006-04-24 16:50           ` John David Anglin
2006-04-24 18:55             ` John David Anglin
2006-04-25  0:38             ` Grant Grundler
2006-04-26 16:42             ` Michael S. Zick
2006-04-24 16:35         ` Michael S. Zick
2006-04-24 18:00           ` Michael S. Zick
2006-04-24 19:15             ` John David Anglin
2006-04-24 21:57             ` Michael S. Zick
2006-04-24 22:40               ` John David Anglin
2006-04-24 18:46           ` John David Anglin
2006-04-24 19:12             ` Michael S. Zick
2006-04-24 21:07               ` John David Anglin
2006-04-25 15:17         ` Michael S. Zick
2006-04-25 18:52           ` Michael S. Zick
2006-04-25 21:42             ` John David Anglin

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=200604201521.55966.mszick@morethan.org \
    --to=mszick@morethan.org \
    --cc=parisc-linux@lists.parisc-linux.org \
    /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