Re: d950c5898a2d8733cd6e75e7ef82b08acac79b34 breaks sys/arm64/iommu/iommu_pmap.c

From: Konstantin Belousov <kostikbel_at_gmail.com>
Date: Thu, 03 Feb 2022 10:59:42 UTC
On Thu, Feb 03, 2022 at 11:52:48AM +0100, Jesper Schmitz Mouridsen wrote:
> Hi
> d950c5898a2d8733cd6e75e7ef82b08acac79b34 breaks arm64 with options IOMMU.
Which kernel config is it?  Or is it your custom config?
If the later, please provide it to me.

> 
> grep -nir vm_page.h sys/arm64/iommu/iommu_pmap.c
> sys/arm64/iommu/iommu_pmap.c:50:#include <vm/vm_page.h>
> 
> 
> /usr/src/sys/arm64/iommu/iommu_pmap.c:539:52: error: implicit declaration of
> function 'UINT64_C' is invalid in C99
> [-Werror,-Wimplicit-function-declaration]
> ./machine/pte.h:53:21: note: expanded from macro 'ATTR_MASK'
> #define ATTR_MASK               (ATTR_MASK_H | ATTR_MASK_L)
>                                  ^
> ./machine/pte.h:51:22: note: expanded from macro 'ATTR_MASK_H'
> #define ATTR_MASK_H             UINT64_C(0xfffc000000000000)
> 
> 
> How best to fix this? #include <sys/systm.h> in iommu_pmap.c?

If the issue is with UINT64_C() only, perhaps something like sys/stdint.h
inclusion is enough.