Re: git: e66390736613 - main - Define _NPCM and the last PC_FREEn constant in terms of _NPCPV.

From: John Baldwin <jhb_at_FreeBSD.org>
Date: Mon, 29 Aug 2022 16:31:23 UTC
On 8/26/22 2:27 PM, Warner Losh wrote:
> Hey John,
> 
> On Fri, Aug 26, 2022 at 12:10 PM John Baldwin <jhb@freebsd.org> wrote:
> 
>> On 8/23/22 1:31 PM, John Baldwin wrote:
>>> The branch main has been updated by jhb:
>>>
>>> URL:
>> https://cgit.FreeBSD.org/src/commit/?id=e66390736613a452238531f64bb9f674ebd4c3a6
>>>
>>> commit e66390736613a452238531f64bb9f674ebd4c3a6
>>> Author:     John Baldwin <jhb@FreeBSD.org>
>>> AuthorDate: 2022-08-23 20:31:02 +0000
>>> Commit:     John Baldwin <jhb@FreeBSD.org>
>>> CommitDate: 2022-08-23 20:31:02 +0000
>>>
>>>       Define _NPCM and the last PC_FREEn constant in terms of _NPCPV.
>>>
>>>       This applies one of the changes from
>>>       5567d6b4419b02a2099527228b1a51cc55a5b47d to other architectures
>>>       besides arm64.
>>>
>>>       Reviewed by:    kib
>>>       Sponsored by:   DARPA
>>>       Differential Revision:  https://reviews.freebsd.org/D36263
>>
>> So this actually broke emulators/qemu because <machine/pmap.h> now
>> requires <sys/param.h>.  I have a patch to fix the port available at
>> https://reviews.freebsd.org/D36362.  What I don't know is if there are
>> other ports broken by this that might change how to address this?  I
>> would mostly hope that <machine/pmap.h> wouldn't be a header that userland
>> would need to use and that adding <sys/param.h> in a few places would
>> be the end of it.  However, if there's wider-spread breakage then I
>> would hack on this to avoid the need for <sys/param.h>.
>>
> 
> This will break qemu building on FreeBSD in the 7.1 release. It's almost
> out (last
> rc is out and that's expected to be the actual release). Any chance we can
> fix
> this in our sources?

Humm, maybe.  I have a followup change I need to runtime test (it passes
tinderbox) to add a <sys/_pv_entry.h> that deduplicates much of this such
that the 'howmany' is now in a single place and could perhaps be worked
around more centrally.  The new patch file I have would also apply to 7.1
and could eventually be dropped in the future if 7.2 adds <sys/param.h>?

For now, I'm more trying to understand how many ports are affected.

-- 
John Baldwin