Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 23 Sep 2014 20:38:02 -0700
From:      Mark Millard <markmi@dsl-only.net>
To:        Nathan Whitehorn <nwhitehorn@freebsd.org>
Cc:        FreeBSD PowerPC ML <freebsd-ppc@freebsd.org>
Subject:   Re: powerpc64/GENERIC64: a mtmsrd without a "context synchronizing instruction" (immediately?) following...
Message-ID:  <92E42AE0-264B-4729-996B-15182E0A3BE3@dsl-only.net>
In-Reply-To: <54221F6F.3080100@freebsd.org>
References:  <5A754BA9-544A-408F-B45C-691627DCA4ED@dsl-only.net> <AFA742B2-20E9-4ABF-95E9-4F3BC5173B44@dsl-only.net> <54221F6F.3080100@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Thanks for the reference! Better than what I'd found for sure. Agreed =
for what the PowerMac's processor supports.



Just FYI since I was curious and looked it up: The page labeled 1352 of =
the Power ISA 2.07 document says in section A.23 about the Move To =
Machine State Register Instruction...

> Also, mtmsr is optional in Power ISA but required in POWER.=20
=46rom 1.3.5 "Categories"...

B: "Base" is required for all implementations
S: required for Server implementations
E: required for Embedded implementations
64: Required for 64-bit implementations; not defined for 32-bit =
implementations
(I'm omitting lots of categories, including dependent subcategories.)


Appendix I lists both S and E for mtmsr and lists S for mtsrd. B and 64 =
are not mentioned for either.

So it would take wanting to span a non-server/non-embedded processor =
before there would be a problem for mtmsr. It only takes spanning a =
non-server for there to possibly be a problem for mtmsrd. mtmsrd shares =
"S" status with rvwindkle, described in the table as the "Rip Van =
Winkle" instruction. Lots of instructions have S categorization. A non-B =
"S and E" double categorization is fairly rare. E by itself has some TLB =
variants, wrtee, wrteei  but little else. I'm not counting E.??'s or =
S.??'s here. Interesting.

Thanks again.



=3D=3D=3D
Mark Millard
markmi@dsl-only.net

On Sep 23, 2014, at 6:33 PM, Nathan Whitehorn <nwhitehorn@freebsd.org> =
wrote:


On 09/23/14 18:25, Mark Millard wrote:
> Nathan Whitehorn wrote of the use of the document that I was =
referencing:
>=20
>> I think you are looking at very old documentation. The 32-bit mtmsr =
is=20
>> implemented on all POWER ISA compliant CPUs (see e.g. page 886 of the=20=

>> 2.07 document).
>> -Nathan
>=20
> I think we may be using different documents rather than different =
versions of the same document. I may need to find what Nathan is using =
and its time frame (PowerPC Architecture 2.07?). But he may want to =
check what I've been referencing. So...
>=20
> pem_64bit_v3.0.2005jul15.pdf is Version 3.0 and directly from the IBM =
site and has 657 pages...
>=20
> =
https://www-01.ibm.com/chips/techlib/techlib.nsf/techdocs/F7E732FF811F7831=
87256FDD004D3797
>=20
> It is the current document of its type as far as I can tell. The title =
is:
>> PowerPC=AE Microprocessor Family:
>>=20
>> The Programming Environments Manual for 64-bit Microprocessors
>>=20
>> Version 3.0
>>=20
>> July 15, 2005.
>=20

Right, this is massively obsolete. Apparently they were planning to =
deprecate mtmsr and changed their minds. You want the current one from =
https://www.power.org/documentation/power-isa-version-2-07/.

> It is described on its web page as:
>=20
>> This manual is to help programmers provide software that is =
compatible across the family of PowerPC processors. This book provides a =
general description of features common to PPC processors and indicates =
those features that are optional or that may be implemented differently =
in the design of each processor. This book is for only 64-bit =
processors.
>=20
>=20
> It is different from other architecture documents in that it also =
documents the Operating Environment Architecture (supervisor =
level/privileged-state resources for operating systems), not just the =
UISA and VEA. The document warns that while the UISA is always adhered =
to there can be VEA and OEA variations that the document does not cover. =
But it also says that the "general-purpose" PowerPC microprocessors =
comply with the document. In its own words...
>=20

Right, this is the same with the current version of ISA. Book-3S =
describes what was called the OEA at one point. In any event, your =
machine (a PowerPC 970) certainly supports the instruction.
-Nathan




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?92E42AE0-264B-4729-996B-15182E0A3BE3>