From ad97b9bbfccdb36f17788033903b1dbf508fcb96 Mon Sep 17 00:00:00 2001 From: Konstantin Belousov Date: Wed, 4 Jan 2023 12:31:16 +0200 Subject: [PATCH] amd64 pmap.h: make it easier to use the header for other consumers Guard pmap_invlpg() definition with checks that only provide it when both sys/pcpu.h and machine/cpufunc.h were already included. Requested by: Elliott Mitchell Sponsored by: The FreeBSD Foundation MFC after: 1 week --- sys/amd64/include/pmap.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/amd64/include/pmap.h b/sys/amd64/include/pmap.h index e7497c2f8b4..a7e456d80fc 100644 --- a/sys/amd64/include/pmap.h +++ b/sys/amd64/include/pmap.h @@ -516,6 +516,7 @@ pmap_invalidate_cpu_mask(pmap_t pmap) return (&pmap->pm_active); } +#if defined(_SYS_PCPU_H_) && defined(_MACHINE_CPUFUNC_H_) /* * It seems that AlderLake+ small cores have some microarchitectural * bug, which results in the INVLPG instruction failing to flush all @@ -533,6 +534,7 @@ pmap_invlpg(pmap_t pmap, vm_offset_t va) invlpg(va); } } +#endif /* sys/pcpu.h && machine/cpufunc.h */ #endif /* _KERNEL */ -- 2.45.0