From owner-freebsd-ppc@FreeBSD.ORG Wed Sep 24 03:38:10 2014 Return-Path: Delivered-To: freebsd-ppc@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 9F1FBF9D for ; Wed, 24 Sep 2014 03:38:10 +0000 (UTC) Received: from asp.reflexion.net (outbound-240.asp.reflexion.net [69.84.129.240]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3AC1E38F for ; Wed, 24 Sep 2014 03:38:09 +0000 (UTC) Received: (qmail 13994 invoked from network); 24 Sep 2014 03:38:08 -0000 Received: from unknown (HELO mail-cs-02.app.dca.reflexion.local) (10.81.19.2) by 0 (rfx-qmail) with SMTP; 24 Sep 2014 03:38:08 -0000 Received: by mail-cs-02.app.dca.reflexion.local (Reflexion email security v7.30.7) with SMTP; Tue, 23 Sep 2014 23:38:08 -0400 (EDT) Received: (qmail 13164 invoked from network); 24 Sep 2014 03:38:07 -0000 Received: from unknown (HELO iron2.pdx.net) (69.64.224.71) by 0 (rfx-qmail) with (DHE-RSA-AES256-SHA encrypted) SMTP; 24 Sep 2014 03:38:07 -0000 X-No-Relay: not in my network X-No-Relay: not in my network Received: from [192.168.1.8] (c-98-246-178-138.hsd1.or.comcast.net [98.246.178.138]) by iron2.pdx.net (Postfix) with ESMTPSA id 430D91C4053; Tue, 23 Sep 2014 20:38:01 -0700 (PDT) Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\)) Subject: Re: powerpc64/GENERIC64: a mtmsrd without a "context synchronizing instruction" (immediately?) following... From: Mark Millard In-Reply-To: <54221F6F.3080100@freebsd.org> Date: Tue, 23 Sep 2014 20:38:02 -0700 Message-Id: <92E42AE0-264B-4729-996B-15182E0A3BE3@dsl-only.net> References: <5A754BA9-544A-408F-B45C-691627DCA4ED@dsl-only.net> <54221F6F.3080100@freebsd.org> To: Nathan Whitehorn X-Mailer: Apple Mail (2.1878.6) Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.18-1 Cc: FreeBSD PowerPC ML X-BeenThere: freebsd-ppc@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Porting FreeBSD to the PowerPC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 Sep 2014 03:38:10 -0000 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 = 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