linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: Eugene Surovegin <ebs@ebshome.net>
To: Paul Mackerras <paulus@samba.org>
Cc: linuxppc64-dev@ozlabs.org, Kumar Gala <galak@gate.crashing.org>,
	sjmunroe@us.ibm.com, linuxppc-dev@ozlabs.org
Subject: Re: [PATCH] implement AT_PLATFORM for powerpc
Date: Wed, 11 Jan 2006 01:19:39 -0800	[thread overview]
Message-ID: <20060111091939.GD28843@gate.ebshome.net> (raw)
In-Reply-To: <17348.50913.414568.263736@cargo.ozlabs.ibm.com>

On Wed, Jan 11, 2006 at 07:50:41PM +1100, Paul Mackerras wrote:
> Eugene Surovegin writes:
> 
> > I checked 44x user manuals I have:
> > 
> > 440GP doesn't have isel
> > 440GX, 440EP, 440SP, 440SPe, 440GR have it.
> 
> Thanks, that's helpful.  Do you know if 440{GX,EP,SP,SPe,GR} implement
> all of the 32-bit user-mode instructions in Book E?

Manuals claim that the following processors implement "... the full, 
32-bit fixed-point subset of the Book-E Enhanced PowerPC Architecture":

440GP, 440GX, 440EP, 440GR, 440SP.

I failed to find similar claim in 440SPe manual, though.

> How do mbar and msync work on those processors?  As mbar and msync (as
> defined in Book E) or as eieio and sync?

Here is an excerpt from user manual (I checked 440GP, 440GX, 440SP, 
440SPe, 440EP, 440GR manuals and they all contain the same text):

	Programming Notes

The msync instruction is execution synchronizing, and guarantees that 
all storage accesses initiated by instructions executed prior to  the 
msync have completed before any instructions after the msync begin 
execution. On the other hand, architecturally the mbar instruction 
merely orders storage accesses, and does not perform execution 
synchronization. Therefore, non-storage access instructions after mbar 
could complete before the storage access instructions which were 
executed prior to mbar have actually completed their storage accesses. 
However, the PPC440xx implements the mbar instruction identically to 
the msync instruction, and thus both are execution synchronizing.

	Architecture Note

mbar replaces the PowerPC eieio instruction. mbar uses the same opcode 
as eieio; PowerPC applications which used eieio will get the function 
of mbar when executed on a PowerPC Book-E implementation. mbar is 
architecturally "stronger" than eieio, in that eieio forced separate 
ordering amongst different categories of storage accesses, while mbar 
forces such ordering amongst all storage accesses as a single category.

msync replaces the PowerPC sync instruction. msync uses the same  
opcode as sync; PowerPC applications which used sync get the function 
of msync when executed on a PowerPC Book-E implementation. msync is 
architecturally identical to the version of sync specified by an  
earlier version of the PowerPC architecture.

> Do the 440* processors in fact claim Book E compliance?

Hmm, cannot tell :).

-- 
Eugene

  reply	other threads:[~2006-01-11  9:19 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-01-11  4:27 [PATCH] implement AT_PLATFORM for powerpc Paul Mackerras
2006-01-11  4:48 ` Kumar Gala
2006-01-11  5:08   ` Paul Mackerras
2006-01-11  6:10     ` Kumar Gala
2006-01-11  7:10     ` Eugene Surovegin
2006-01-11  8:50       ` Paul Mackerras
2006-01-11  9:19         ` Eugene Surovegin [this message]
2006-01-11 14:43         ` Kumar Gala

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=20060111091939.GD28843@gate.ebshome.net \
    --to=ebs@ebshome.net \
    --cc=galak@gate.crashing.org \
    --cc=linuxppc-dev@ozlabs.org \
    --cc=linuxppc64-dev@ozlabs.org \
    --cc=paulus@samba.org \
    --cc=sjmunroe@us.ibm.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).