git: 73a78b5efa73 - main - kinst: Clarify a comment in the trampoline allocator

From: Mark Johnston <markj_at_FreeBSD.org>
Date: Fri, 14 Oct 2022 15:33:41 UTC
The branch main has been updated by markj:

URL: https://cgit.FreeBSD.org/src/commit/?id=73a78b5efa737f53c81b37926476757b28888e54

commit 73a78b5efa737f53c81b37926476757b28888e54
Author:     Mark Johnston <markj@FreeBSD.org>
AuthorDate: 2022-10-14 15:17:12 +0000
Commit:     Mark Johnston <markj@FreeBSD.org>
CommitDate: 2022-10-14 15:32:47 +0000

    kinst: Clarify a comment in the trampoline allocator
    
    Fixes:  f0bc4ed144fc ("kinst: Initial revision")
---
 sys/cddl/dev/kinst/trampoline.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/sys/cddl/dev/kinst/trampoline.c b/sys/cddl/dev/kinst/trampoline.c
index 094b055f1b14..2749fe7144a2 100644
--- a/sys/cddl/dev/kinst/trampoline.c
+++ b/sys/cddl/dev/kinst/trampoline.c
@@ -58,10 +58,11 @@ kinst_trampchunk_alloc(void)
 
 	/*
 	 * Allocate virtual memory for the trampoline chunk. The returned
-	 * address is saved in "trampaddr".
-	 *
-	 * Setting "trampaddr" to KERNBASE causes vm_map_find() to return an
-	 * address above KERNBASE, so this satisfies both requirements.
+	 * address is saved in "trampaddr".  To simplify population of
+	 * trampolines, we follow the amd64 kernel's code model and allocate
+	 * them above KERNBASE, i.e., in the top 2GB of the kernel's virtual
+	 * address space.  Trampolines must be executable so max_prot must
+	 * include VM_PROT_EXECUTE.
 	 */
 	trampaddr = KERNBASE;
 	error = vm_map_find(kernel_map, NULL, 0, &trampaddr,