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)
Sep 30 2024, 3:56 PM
Unknown Object (File)
Sep 30 2024, 7:14 AM
Unknown Object (File)
Sep 29 2024, 11:42 PM
Unknown Object (File)
Sep 29 2024, 10:40 PM
Unknown Object (File)
Sep 29 2024, 10:40 PM
Unknown Object (File)
Sep 29 2024, 10:40 PM
Unknown Object (File)
Sep 29 2024, 10:40 PM
Unknown Object (File)
Sep 27 2024, 5:01 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 58251
Build 55139: 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