All of lore.kernel.org
 help / color / mirror / Atom feed
From: Richard Hirst <rhirst@linuxcare.com>
To: frowand@mvista.com
Cc: John Marvin <jsm@udlkern.fc.hp.com>, parisc-linux@puffin.external.hp.com
Subject: Re: Single-stepping
Date: Thu, 16 Nov 2000 20:28:42 +0000	[thread overview]
Message-ID: <20001116202842.Y32715@linuxcare.com> (raw)
In-Reply-To: <3A142EE0.5A7E5039@mvista.com>; from frank_rowand@mvista.com on Thu, Nov 16, 2000 at 11:00:48AM -0800

On Thu, Nov 16, 2000 at 11:00:48AM -0800, Frank Rowand wrote:
> John Marvin wrote:
> > > > Does this code properly handle branches in the delay slot of another
> > > > branch? (you need to make sure you are not advancing the queues by just
> > > > adding 4 to each element).  One concern I have about this method is that
> > >
> > > Current code does
> > >
> > >     /* Nullified, just crank over the queue. */
> > >     task_regs(child)->iaoq[0] = task_regs(child)->iaoq[1];
> > >     task_regs(child)->iasq[0] = task_regs(child)->iasq[1];
> > >     task_regs(child)->iaoq[1] = task_regs(child)->iaoq[0] + 4;
> > >
> > > Does that look right to you?
> > >
> > 
> > Yes, that is the correct way to do it (I'll assume the duplicated line
> > is just a cut/paste error).
> 
> If iaoq[0] contains a branch, iaoq[1] is in the delay slot.  The instruction
> executed after iaoq[1] would then typically _not_ be iaoq[0] + 4 (the next
> instruction would be the target of the branch at iaoq[0]).

But the above code is only executed if the current instruction is
nullified.  In your example, the branch in iaoq[0] would be
nullified and therefore never taken.

Richard

  reply	other threads:[~2000-11-16 20:29 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-11-16 12:44 Single-stepping John Marvin
2000-11-16 13:20 ` Single-stepping Richard Hirst
2000-11-16 19:00 ` Single-stepping Frank Rowand
2000-11-16 20:28   ` Richard Hirst [this message]
  -- strict thread matches above, loose matches on Subject: below --
2000-11-20  5:43 Single-stepping John Marvin
2000-11-20  6:53 ` Single-stepping Alan Modra
2000-11-20  7:24   ` Single-stepping Stan Sieler
2000-11-20  9:05     ` Single-stepping Alan Modra
2000-11-20 18:47       ` Single-stepping Stan Sieler
2000-11-16  9:01 Single-stepping John Marvin
2000-11-16 12:00 ` Single-stepping Richard Hirst
2000-11-20  3:03 ` Single-stepping Alan Modra

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=20001116202842.Y32715@linuxcare.com \
    --to=rhirst@linuxcare.com \
    --cc=frowand@mvista.com \
    --cc=jsm@udlkern.fc.hp.com \
    --cc=parisc-linux@puffin.external.hp.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.