git: 36a9ce874b59 - main - dtrace: correct the aframes value for fbt provider

From: Mitchell Horne <mhorne_at_FreeBSD.org>
Date: Thu, 12 Jan 2023 15:06:56 UTC
The branch main has been updated by mhorne:

URL: https://cgit.FreeBSD.org/src/commit/?id=36a9ce874b5988dc8615a4b1b3fb41eb9e06051d

commit 36a9ce874b5988dc8615a4b1b3fb41eb9e06051d
Author:     Mitchell Horne <mhorne@FreeBSD.org>
AuthorDate: 2023-01-11 18:06:24 +0000
Commit:     Mitchell Horne <mhorne@FreeBSD.org>
CommitDate: 2023-01-12 15:06:07 +0000

    dtrace: correct the aframes value for fbt provider
    
    Set the number of artificial frames to 5:
     1. cpu_exception_handler_supervisor()
     2. do_trap_supervisor()
     3. dtrace_invop_start()
     4. dtrace_invop()
     5. fbt_invop()
    
    Reviewed by:    markj
    MFC after:      1 week
    Sponsored by:   The FreeBSD Foundation
    Differential Revision:  https://reviews.freebsd.org/D37663
---
 sys/cddl/dev/fbt/riscv/fbt_isa.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/sys/cddl/dev/fbt/riscv/fbt_isa.c b/sys/cddl/dev/fbt/riscv/fbt_isa.c
index a67e83811d9e..baf268028988 100644
--- a/sys/cddl/dev/fbt/riscv/fbt_isa.c
+++ b/sys/cddl/dev/fbt/riscv/fbt_isa.c
@@ -45,6 +45,7 @@
 #define	FBT_PATCHVAL		MATCH_EBREAK
 #define	FBT_ENTRY		"entry"
 #define	FBT_RETURN		"return"
+#define	FBT_AFRAMES		5
 
 int
 fbt_invop(uintptr_t addr, struct trapframe *frame, uintptr_t rval)
@@ -196,7 +197,7 @@ fbt_provide_module_function(linker_file_t lf, int symindx,
 	fbt = malloc(sizeof (fbt_probe_t), M_FBT, M_WAITOK | M_ZERO);
 	fbt->fbtp_name = name;
 	fbt->fbtp_id = dtrace_probe_create(fbt_id, modname,
-	    name, FBT_ENTRY, 3, fbt);
+	    name, FBT_ENTRY, FBT_AFRAMES, fbt);
 	fbt->fbtp_patchpoint = instr;
 	fbt->fbtp_ctl = lf;
 	fbt->fbtp_loadcnt = lf->loadcnt;
@@ -239,7 +240,7 @@ again:
 	fbt->fbtp_name = name;
 	if (retfbt == NULL) {
 		fbt->fbtp_id = dtrace_probe_create(fbt_id, modname,
-		    name, FBT_RETURN, 3, fbt);
+		    name, FBT_RETURN, FBT_AFRAMES, fbt);
 	} else {
 		retfbt->fbtp_probenext = fbt;
 		fbt->fbtp_id = retfbt->fbtp_id;