git: 7a3d7aec415e - stable/14 - pmap: move the smp_targeted_tlb_shutdown pointer stuff to amd64 pmap.h

From: Wei Hu <whu_at_FreeBSD.org>
Date: Mon, 01 Jul 2024 13:17:46 UTC
The branch stable/14 has been updated by whu:

URL: https://cgit.FreeBSD.org/src/commit/?id=7a3d7aec415e1850b1d459e86d381051cdb1315e

commit 7a3d7aec415e1850b1d459e86d381051cdb1315e
Author:     Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2024-06-06 05:03:14 +0000
Commit:     Wei Hu <whu@FreeBSD.org>
CommitDate: 2024-07-01 13:07:38 +0000

    pmap: move the smp_targeted_tlb_shutdown pointer stuff to amd64 pmap.h
    
    Fixes:  bec000c9c1ef409989685bb03ff0532907befb4aESC
    Sponsored by:   The FreeBSD Foundation
    
    (cherry picked from commit 9c5d7e4a0c02bc45b61f565586da2abcc65d70fa)
---
 sys/amd64/include/pmap.h | 27 +++++++++++++++++++++++++++
 sys/vm/pmap.h            | 27 ---------------------------
 2 files changed, 27 insertions(+), 27 deletions(-)

diff --git a/sys/amd64/include/pmap.h b/sys/amd64/include/pmap.h
index bf531ab6ae56..506b28562bcc 100644
--- a/sys/amd64/include/pmap.h
+++ b/sys/amd64/include/pmap.h
@@ -545,6 +545,33 @@ pmap_get_pcid(pmap_t pmap)
 }
 #endif /* sys/pcpu.h */
 
+/*
+ * Invalidation request.  PCPU pc_smp_tlb_op uses u_int instead of the
+ * enum to avoid both namespace and ABI issues (with enums).
+ */
+enum invl_op_codes {
+	INVL_OP_TLB               = 1,
+	INVL_OP_TLB_INVPCID       = 2,
+	INVL_OP_TLB_INVPCID_PTI   = 3,
+	INVL_OP_TLB_PCID          = 4,
+	INVL_OP_PGRNG             = 5,
+	INVL_OP_PGRNG_INVPCID     = 6,
+	INVL_OP_PGRNG_PCID        = 7,
+	INVL_OP_PG                = 8,
+	INVL_OP_PG_INVPCID        = 9,
+	INVL_OP_PG_PCID           = 10,
+	INVL_OP_CACHE             = 11,
+};
+
+typedef void (*smp_invl_local_cb_t)(struct pmap *, vm_offset_t addr1,
+    vm_offset_t addr2);
+typedef void (*smp_targeted_tlb_shootdown_t)(pmap_t, vm_offset_t, vm_offset_t,
+    smp_invl_local_cb_t, enum invl_op_codes);
+
+void smp_targeted_tlb_shootdown_native(pmap_t, vm_offset_t, vm_offset_t,
+    smp_invl_local_cb_t, enum invl_op_codes);
+extern smp_targeted_tlb_shootdown_t smp_targeted_tlb_shootdown;
+
 #endif /* _KERNEL */
 
 /* Return various clipped indexes for a given VA */
diff --git a/sys/vm/pmap.h b/sys/vm/pmap.h
index f438a1bd0883..65e909df9b8f 100644
--- a/sys/vm/pmap.h
+++ b/sys/vm/pmap.h
@@ -169,33 +169,6 @@ void		 pmap_unwire(pmap_t pmap, vm_offset_t start, vm_offset_t end);
 void		 pmap_zero_page(vm_page_t);
 void		 pmap_zero_page_area(vm_page_t, int off, int size);
 
-/*
- * Invalidation request.  PCPU pc_smp_tlb_op uses u_int instead of the
- * enum to avoid both namespace and ABI issues (with enums).
- */
-enum invl_op_codes {
-	INVL_OP_TLB               = 1,
-	INVL_OP_TLB_INVPCID       = 2,
-	INVL_OP_TLB_INVPCID_PTI   = 3,
-	INVL_OP_TLB_PCID          = 4,
-	INVL_OP_PGRNG             = 5,
-	INVL_OP_PGRNG_INVPCID     = 6,
-	INVL_OP_PGRNG_PCID        = 7,
-	INVL_OP_PG                = 8,
-	INVL_OP_PG_INVPCID        = 9,
-	INVL_OP_PG_PCID           = 10,
-	INVL_OP_CACHE             = 11,
-};
-typedef void (*smp_invl_local_cb_t)(struct pmap *, vm_offset_t addr1,
-    vm_offset_t addr2);
-typedef void (*smp_targeted_tlb_shootdown_t)(pmap_t, vm_offset_t, vm_offset_t,
-    smp_invl_local_cb_t, enum invl_op_codes);
-
-extern void
-smp_targeted_tlb_shootdown_native(pmap_t, vm_offset_t, vm_offset_t,
-    smp_invl_local_cb_t, enum invl_op_codes);
-extern smp_targeted_tlb_shootdown_t smp_targeted_tlb_shootdown;
-
 #define	pmap_resident_count(pm)	((pm)->pm_stats.resident_count)
 #define	pmap_wired_count(pm)	((pm)->pm_stats.wired_count)