On 2/22/22 9:59 AM, Jessica Clarke wrote:
On 22 Feb 2022, at 17:27, Andrew Turner <[email protected]> wrote:

The branch main has been updated by andrew:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=6713be3159000783f7aacf3ea90d6c6878c44da0

commit 6713be3159000783f7aacf3ea90d6c6878c44da0
Author:     Andrew Turner <[email protected]>
AuthorDate: 2021-08-30 16:43:22 +0000
Commit:     Andrew Turner <[email protected]>
CommitDate: 2022-02-22 17:10:35 +0000

    Add NT_ARM_ADDR_MASK

    This can be used by debuggers to find which bits in a virtual address
    should be masked off to get a canonical address. This is currently used
    by the Pointer Authentication Code support to get its mask. It could also
    be used if we support Top Byte Ignore for the same purpose.

    Reviewed by:    kib
    Sponsored by:   The FreeBSD Foundation
    Differential Revision: https://reviews.freebsd.org/D34302

This definition seems backwards? In Linux it’s NT_ARM_PAC_MASK, i.e.
the mask for the PAC bits, but you’ve called it NT_ARM_ADDR_MASK here,
which sounds like the mask you apply to get the address bits, but it’s
not, you apply the negation of this mask to get the address bits.

In that sense, it's identical to NT_ARM_PAC_MASK on Linux (same actual
contents and layout).  Given that, using a different name seems gratuitous
vs reusing the existing name as we did for NT_X86_XSTATE, NT_ARM_VFP,
NT_PPC_VMX, NT_ARM_TLS, etc.  If the content of the note was different,
then a different name might be warranted, but if the content and purpose
of the note are the same, then it's not clear why we need a different name
for the constant.

--
John Baldwin

Reply via email to