git: 9c5d7e4a0c02 - main - pmap: move the smp_targeted_tlb_shutdown pointer stuff to amd64 pmap.h

From: Konstantin Belousov <kib_at_FreeBSD.org>
Date: Thu, 06 Jun 2024 05:15:13 UTC
The branch main has been updated by kib:

URL: https://cgit.FreeBSD.org/src/commit/?id=9c5d7e4a0c02bc45b61f565586da2abcc65d70fa

commit 9c5d7e4a0c02bc45b61f565586da2abcc65d70fa
Author:     Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2024-06-06 05:03:14 +0000
Commit:     Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2024-06-06 05:15:08 +0000

    pmap: move the smp_targeted_tlb_shutdown pointer stuff to amd64 pmap.h
    
    Fixes:  bec000c9c1ef409989685bb03ff0532907befb4aESC
    Sponsored by:   The FreeBSD Foundation
---
 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 591244e19b7c..273693e1f782 100644
--- a/sys/amd64/include/pmap.h
+++ b/sys/amd64/include/pmap.h
@@ -542,6 +542,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 c8ca6279031c..9101201287b2 100644
--- a/sys/vm/pmap.h
+++ b/sys/vm/pmap.h
@@ -167,33 +167,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)