From owner-svn-src-head@freebsd.org Sun Nov 20 03:27:08 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A2374C47F5E for ; Sun, 20 Nov 2016 03:27:08 +0000 (UTC) (envelope-from markmi@dsl-only.net) Received: from asp.reflexion.net (outbound-mail-210-34.reflexion.net [208.70.210.34]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6270A15FC for ; Sun, 20 Nov 2016 03:27:08 +0000 (UTC) (envelope-from markmi@dsl-only.net) Received: (qmail 12615 invoked from network); 20 Nov 2016 03:27:39 -0000 Received: from unknown (HELO mail-cs-02.app.dca.reflexion.local) (10.81.19.2) by 0 (rfx-qmail) with SMTP; 20 Nov 2016 03:27:39 -0000 Received: by mail-cs-02.app.dca.reflexion.local (Reflexion email security v8.20.0) with SMTP; Sat, 19 Nov 2016 22:27:12 -0500 (EST) Received: (qmail 1819 invoked from network); 20 Nov 2016 03:27:12 -0000 Received: from unknown (HELO iron2.pdx.net) (69.64.224.71) by 0 (rfx-qmail) with (AES256-SHA encrypted) SMTP; 20 Nov 2016 03:27:12 -0000 Received: from [192.168.1.106] (c-76-115-7-162.hsd1.or.comcast.net [76.115.7.162]) by iron2.pdx.net (Postfix) with ESMTPSA id 59815EC901D; Sat, 19 Nov 2016 19:27:05 -0800 (PST) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 10.1 \(3251\)) Subject: Re: svn commit: r308817 - head/sys/powerpc/include [Still have pmap_t and struct pmap ppowerpc64 problems as of -r308860] From: Mark Millard In-Reply-To: Date: Sat, 19 Nov 2016 19:27:04 -0800 Cc: svn-src-head@freebsd.org, FreeBSD Current Content-Transfer-Encoding: quoted-printable Message-Id: <3D338DB4-9FAF-46A8-96FF-4F77B01871E2@dsl-only.net> References: <39962D4C-29BA-4AA4-B77D-2344A68FDB54@dsl-only.net> <53258F35-C86E-4DE0-BDF0-5C139E68356D@dsl-only.net> <20161119204715.79632a66@zhabar.knownspace> To: Justin Hibbits X-Mailer: Apple Mail (2.3251) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 20 Nov 2016 03:27:08 -0000 [Top post about patch issues.] Looking at the patch it seems to be designed for when #else was in use: > -#else > +#elif defined(BOOKE) but -r308817 already has the 2nd line (BOOKE). Your patch shows: > Index: sys/powerpc/include/pmap.h > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- sys/powerpc/include/pmap.h (revision 308718) > +++ sys/powerpc/include/pmap.h (working copy) So it looks like you started from before -r308817 . Trying it (I'm at -r308860): > Patching file sys/powerpc/include/pmap.h using Plan A... > Hunk #1 succeeded at 74. > Hunk #2 succeeded at 84. > Hunk #3 succeeded at 132. > Hunk #4 succeeded at 145. > Hunk #5 failed at 180. > Hunk #6 succeeded at 194. > Hunk #7 succeeded at 210. > 1 out of 7 hunks failed--saving rejects to = sys/powerpc/include/pmap.h.rej > # more sys/powerpc/include/pmap.h.rej > @@ -179,13 +180,13 @@ > struct slb **slb_alloc_user_cache(void); > void slb_free_user_cache(struct slb **); > =20 > -#else > +#elif defined(BOOKE) > =20 > struct pmap { > + struct pmap_statistics pm_stats; /* pmap statistics */ > struct mtx pm_mtx; /* pmap mutex */ > tlbtid_t pm_tid[MAXCPU]; /* TID to identify = this pmap entries in TLB */ > cpuset_t pm_active; /* active on cpus */ > - struct pmap_statistics pm_stats; /* pmap statistics */ > =20 > /* Page table directory, array of pointers to page tables. */ > pte_t *pm_pdir[PDIR_NENTRIES]; =3D=3D=3D Mark Millard markmi at dsl-only.net On 2016-Nov-19, at 7:00 PM, Mark Millard wrote: It may take a little bit but I'll try the patch. It looks like sys/powerpc/include/pmap.h from -r176700 from 2088-Mar-3 is when the BOOKE/E500 split started with the preprocessor use of AIM and #else . This predates PowerMac G5 support. This is definitely not new for the general structure on the powerpc side of things. Any place that did not have the AIM vs. not status available was subject to problems of possibly mismatched definitions. =3D=3D=3D Mark Millard markmi at dsl-only.net On 2016-Nov-19, at 6:47 PM, Justin Hibbits = wrote: On Sat, 19 Nov 2016 18:36:39 -0800 Mark Millard wrote: > [Quick top post I'm afraid.] >=20 > I think that I figured out why there is a problem even earlier > --that just did not stop the compiles. >=20 > lib/libutil/kinfo_getallproc.c is built here as part of buildworld > (stage 4.2 "building libraries" instead of buildkernel. It does not > have the KERNCONF's AIM vs. BOOKE vs. . . . definitions vs. lack of > them). >=20 > So if it includes machine/pmap.h that binds to > sys/powerpc/include/pmap.h which has the structure. . . >=20 > . . . > #if defined(AIM) > . . . (definitions here) > #elif defined(BOOKE) > . . . (definitions here) > #endif > . . . >=20 > it gets no definition now. >=20 > With the older: >=20 > . . . > #if defined(AIM) > . . . (definitions here) > #else > . . . (definitions here) > #endif > . . . >=20 > It got a definition, just not necessarily the right one. >=20 >=20 > =3D=3D=3D > Mark Millard > markmi at dsl-only.net Can you try the attached patch? There was a subtle ABI issue that r308817 exposed, which is that the pmap structs aren't identical such that the pm_stats are at different locations, and libkvm ends up reading with the Book-E pmap, getting different stats than expected for AIM. This patch fixes that, bumping version to account for this ABI change. - Justin