Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 19 Nov 2016 19:00:57 -0800
From:      Mark Millard <markmi@dsl-only.net>
To:        Justin Hibbits <jhibbits@freebsd.org>
Cc:        svn-src-head@freebsd.org, FreeBSD Current <freebsd-current@freebsd.org>
Subject:   Re: svn commit: r308817 - head/sys/powerpc/include [Still have pmap_t and struct pmap ppowerpc64 problems as of -r308860]
Message-ID:  <E6398D77-9604-4DB8-8139-231D4A6118B0@dsl-only.net>
In-Reply-To: <20161119204715.79632a66@zhabar.knownspace>
References:  <39962D4C-29BA-4AA4-B77D-2344A68FDB54@dsl-only.net> <53258F35-C86E-4DE0-BDF0-5C139E68356D@dsl-only.net> <20161119204715.79632a66@zhabar.knownspace>

next in thread | previous in thread | raw e-mail | index | archive | help
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.

===
Mark Millard
markmi at dsl-only.net

On 2016-Nov-19, at 6:47 PM, Justin Hibbits <jhibbits at freebsd.org> wrote:

On Sat, 19 Nov 2016 18:36:39 -0800
Mark Millard <markmi at dsl-only.net> wrote:

> [Quick top post I'm afraid.]
> 
> I think that I figured out why there is a problem even earlier
> --that just did not stop the compiles.
> 
> 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).
> 
> So if it includes machine/pmap.h that binds to
> sys/powerpc/include/pmap.h which has the structure. . .
> 
> . . .
> #if defined(AIM)
> . . . (definitions here)
> #elif defined(BOOKE)
> . . . (definitions here)
> #endif
> . . .
> 
> it gets no definition now.
> 
> With the older:
> 
> . . .
> #if defined(AIM)
> . . . (definitions here)
> #else
> . . . (definitions here)
> #endif
> . . .
> 
> It got a definition, just not necessarily the right one.
> 
> 
> ===
> 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<fix_pmap.diff>




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E6398D77-9604-4DB8-8139-231D4A6118B0>