<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/cddl/dev/dtrace/amd64, branch main</title>
<subtitle>FreeBSD source tree</subtitle>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/'/>
<entry>
<title>dtrace: Deduplicate dtrace_sync() and dtrace_xcall() implementations</title>
<updated>2025-09-18T22:09:49+00:00</updated>
<author>
<name>Mark Johnston</name>
<email>markj@FreeBSD.org</email>
</author>
<published>2025-09-17T15:29:48+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=bf115203bb8a61bd03ba23931ff0b5bf931b7d1b'/>
<id>bf115203bb8a61bd03ba23931ff0b5bf931b7d1b</id>
<content type='text'>
dtrace_xcall() is just a thin wrapper around smp_rendezvous_cpus().
There's no need for six identical implementations to live in MD layers.

No functional change intended.

MFC after:	2 weeks
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
dtrace_xcall() is just a thin wrapper around smp_rendezvous_cpus().
There's no need for six identical implementations to live in MD layers.

No functional change intended.

MFC after:	2 weeks
</pre>
</div>
</content>
</entry>
<entry>
<title>dtrace: Add some more annotations for KMSAN</title>
<updated>2024-11-23T02:36:08+00:00</updated>
<author>
<name>Mark Johnston</name>
<email>markj@FreeBSD.org</email>
</author>
<published>2024-11-23T02:32:36+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=fdeb273d49bf2fa2544d3c98114859db10385550'/>
<id>fdeb273d49bf2fa2544d3c98114859db10385550</id>
<content type='text'>
- Don't allow FBT and kinst to instrument the KMSAN runtime.
- When fetching data from the traced thread's stack, mark it as
  initialized.  It may well be uninitialized, but as dtrace permits
  arbitrary inspection of kernel memory, it isn't very useful to raise
  KMSAN reports.
- Mark data copied in from userspace as initialized, as we do for
  copyin() etc. using interceptors.

MFC after:	2 weeks
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Don't allow FBT and kinst to instrument the KMSAN runtime.
- When fetching data from the traced thread's stack, mark it as
  initialized.  It may well be uninitialized, but as dtrace permits
  arbitrary inspection of kernel memory, it isn't very useful to raise
  KMSAN reports.
- Mark data copied in from userspace as initialized, as we do for
  copyin() etc. using interceptors.

MFC after:	2 weeks
</pre>
</div>
</content>
</entry>
<entry>
<title>dtrace/amd64: Make invop providers usable with KMSAN enabled</title>
<updated>2024-11-22T14:03:40+00:00</updated>
<author>
<name>Mark Johnston</name>
<email>markj@FreeBSD.org</email>
</author>
<published>2024-11-22T13:51:37+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=cc3da1955c16df5eb0019e0fef810696b035b7cf'/>
<id>cc3da1955c16df5eb0019e0fef810696b035b7cf</id>
<content type='text'>
- Use a fresh context when entering dtrace_invop() via a breakpoint
  exception.
- Mark the #BP trapframe as initialized.

MFC after:	2 weeks
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Use a fresh context when entering dtrace_invop() via a breakpoint
  exception.
- Mark the #BP trapframe as initialized.

MFC after:	2 weeks
</pre>
</div>
</content>
</entry>
<entry>
<title>dtrace/amd64: Remove the dtrace_invop_callsite symbol</title>
<updated>2024-09-19T09:22:13+00:00</updated>
<author>
<name>Mark Johnston</name>
<email>markj@FreeBSD.org</email>
</author>
<published>2024-09-19T09:22:13+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=06e7bc83f6a49b99f87ad1a6034e2fad54ebe7f3'/>
<id>06e7bc83f6a49b99f87ad1a6034e2fad54ebe7f3</id>
<content type='text'>
It is not needed after commit 7e80fd5ef397.  No functional change
intended.

Reviewed by:	avg
MFC after:	2 weeks
Differential Revision:	https://reviews.freebsd.org/D46675
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It is not needed after commit 7e80fd5ef397.  No functional change
intended.

Reviewed by:	avg
MFC after:	2 weeks
Differential Revision:	https://reviews.freebsd.org/D46675
</pre>
</div>
</content>
</entry>
<entry>
<title>dtrace/amd64: Fix probe argument fetching</title>
<updated>2024-09-19T09:21:38+00:00</updated>
<author>
<name>Mark Johnston</name>
<email>markj@FreeBSD.org</email>
</author>
<published>2024-09-19T09:21:38+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=9aabab09c4e163fa8187b265d6836d822516b1c9'/>
<id>9aabab09c4e163fa8187b265d6836d822516b1c9</id>
<content type='text'>
dtrace_getarg() previously walked the call stack looking for a frame
matching the dtrace_invop_callsite symbol, in order to look for a
trapframe corresponding to an invop (i.e., FBT or kinst) probe.  Commit
3ba8e9dc4a0e broke this in some cases by breaking the expected alignment
of the dtrace_invop_callsite symbol.

Rather than groveling around the stack to find invop probe arguments,
simply use the trapframe reference saved by dtrace_invop().  This is
simpler and less fragile.

Reported by:	avg
Reviewed by:	avg
MFC after:	2 weeks
Fixes:	3ba8e9dc4a0e ("dtrace/amd64: Implement emulation of call instructions")
Differential Revision:	https://reviews.freebsd.org/D46672
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
dtrace_getarg() previously walked the call stack looking for a frame
matching the dtrace_invop_callsite symbol, in order to look for a
trapframe corresponding to an invop (i.e., FBT or kinst) probe.  Commit
3ba8e9dc4a0e broke this in some cases by breaking the expected alignment
of the dtrace_invop_callsite symbol.

Rather than groveling around the stack to find invop probe arguments,
simply use the trapframe reference saved by dtrace_invop().  This is
simpler and less fragile.

Reported by:	avg
Reviewed by:	avg
MFC after:	2 weeks
Fixes:	3ba8e9dc4a0e ("dtrace/amd64: Implement emulation of call instructions")
Differential Revision:	https://reviews.freebsd.org/D46672
</pre>
</div>
</content>
</entry>
<entry>
<title>dtrace: Avoid including dtrace_isa.c directly into dtrace.c</title>
<updated>2024-07-24T21:24:46+00:00</updated>
<author>
<name>Mark Johnston</name>
<email>markj@FreeBSD.org</email>
</author>
<published>2024-07-24T20:10:33+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=82283cad12a417abfb1469d899b2d7cfb1d38f77'/>
<id>82283cad12a417abfb1469d899b2d7cfb1d38f77</id>
<content type='text'>
This was done in the original DTrace import, presumably because that
made it a bit easier to handle includes.  However, this can cause
dtrace_getpcstack() to be inlined into dtrace_probe(), resulting in a
missing frame in stack traces since dtrace_getpcstack() takes care to
bump "aframes" to account for its own stack frame.

To avoid this, compile dtrace_isa.c separately on all platforms.  Add
requisite includes.

MFC after:	2 weeks
Sponsored by:	Innovate UK
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This was done in the original DTrace import, presumably because that
made it a bit easier to handle includes.  However, this can cause
dtrace_getpcstack() to be inlined into dtrace_probe(), resulting in a
missing frame in stack traces since dtrace_getpcstack() takes care to
bump "aframes" to account for its own stack frame.

To avoid this, compile dtrace_isa.c separately on all platforms.  Add
requisite includes.

MFC after:	2 weeks
Sponsored by:	Innovate UK
</pre>
</div>
</content>
</entry>
<entry>
<title>dtrace: remove x86 non-EARLY_AP_STARTUP support</title>
<updated>2023-10-10T15:03:27+00:00</updated>
<author>
<name>Ed Maste</name>
<email>emaste@FreeBSD.org</email>
</author>
<published>2023-10-09T20:13:50+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=e49c7cd677df0b8691c828b55919ef37d8aad219'/>
<id>e49c7cd677df0b8691c828b55919ef37d8aad219</id>
<content type='text'>
After 792655abd64c EARLY_AP_STARTUP is mandatory for x86.

Reviewed by:	markj
Sponsored by:	The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D42139
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
After 792655abd64c EARLY_AP_STARTUP is mandatory for x86.

Reviewed by:	markj
Sponsored by:	The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D42139
</pre>
</div>
</content>
</entry>
<entry>
<title>sys: Remove $FreeBSD$: two-line .h pattern</title>
<updated>2023-08-16T17:54:11+00:00</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2023-08-16T17:54:11+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=95ee2897e98f5d444f26ed2334cc7c439f9c16c6'/>
<id>95ee2897e98f5d444f26ed2334cc7c439f9c16c6</id>
<content type='text'>
Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
</pre>
</div>
</content>
</entry>
<entry>
<title>dtrace: rename rp to frame in dtrace_getreg()</title>
<updated>2023-05-23T14:44:47+00:00</updated>
<author>
<name>Christos Margiolis</name>
<email>christos@FreeBSD.org</email>
</author>
<published>2023-05-23T14:40:07+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=98ab9802affed1bf7c2009569eac468c86c159e8'/>
<id>98ab9802affed1bf7c2009569eac468c86c159e8</id>
<content type='text'>
Reviewed by:	mhorne, markj
Approved by:	markj (mentor)
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D40231
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reviewed by:	mhorne, markj
Approved by:	markj (mentor)
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D40231
</pre>
</div>
</content>
</entry>
<entry>
<title>dtrace: get rid of uchar_t types</title>
<updated>2023-04-20T17:35:56+00:00</updated>
<author>
<name>Christos Margiolis</name>
<email>christos@FreeBSD.org</email>
</author>
<published>2023-04-20T16:19:42+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=1a149d65baed31b90a0b8abe2d6c5a568122a5ec'/>
<id>1a149d65baed31b90a0b8abe2d6c5a568122a5ec</id>
<content type='text'>
Callers are specifying uint8_t anyway and this slightly reduces
dependencies on compatibility typedefs.  No functional change intended.

Reviewed by:	markj, mhorne
MFC after:	1 week
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D39490
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Callers are specifying uint8_t anyway and this slightly reduces
dependencies on compatibility typedefs.  No functional change intended.

Reviewed by:	markj, mhorne
MFC after:	1 week
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D39490
</pre>
</div>
</content>
</entry>
</feed>
