Page MenuHomeFreeBSD

dtrace: Add a partial implementation of dtrace_getarg() on arm64
ClosedPublic

Authored by markj on Jun 19 2024, 9:49 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, May 18, 11:39 AM
Unknown Object (File)
May 4 2025, 3:41 AM
Unknown Object (File)
Apr 29 2025, 7:36 AM
Unknown Object (File)
Apr 26 2025, 3:59 AM
Unknown Object (File)
Apr 24 2025, 1:06 AM
Unknown Object (File)
Apr 13 2025, 7:59 PM
Unknown Object (File)
Feb 27 2025, 7:03 AM
Unknown Object (File)
Feb 26 2025, 11:05 PM

Details

Summary

For invop providers (i.e., fbt and kinst) we can simply reach into the
invop trapframe to fetch argument registers for arguments 0-7; for
argument 8 and beyond we have to read the value off of the stack.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 58265
Build 55153: arc lint + arc unit

Event Timeline

markj requested review of this revision.Jun 19 2024, 9:49 PM
This revision is now accepted and ready to land.Jun 20 2024, 4:58 AM
domagoj.stolfa_gmail.com added inline comments.
sys/cddl/dev/dtrace/aarch64/dtrace_isa.c
257

Is it maybe worth KASSERTing alignment of tf_sp here?

sys/cddl/dev/dtrace/aarch64/dtrace_isa.c
257

A KASSERT is probably too strong, but we should set a dtrace error flag if the alignment isn't right.

sys/cddl/dev/dtrace/aarch64/dtrace_isa.c
257

Yeah, that sounds like a better idea :).

markj marked 2 inline comments as done.

Check alignment. Reduce the amount of casting we do.

This revision now requires review to proceed.Jun 20 2024, 1:36 PM
This revision is now accepted and ready to land.Jun 20 2024, 1:38 PM