<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/cddl/dev/dtrace/amd64/dtrace_asm.S, branch main</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=main</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2024-11-22T14:03:40Z</updated>
<entry>
<title>dtrace/amd64: Make invop providers usable with KMSAN enabled</title>
<updated>2024-11-22T14:03:40Z</updated>
<author>
<name>Mark Johnston</name>
<email>markj@FreeBSD.org</email>
</author>
<published>2024-11-22T13:51:37Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=cc3da1955c16df5eb0019e0fef810696b035b7cf'/>
<id>urn:sha1: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>
</entry>
<entry>
<title>dtrace/amd64: Remove the dtrace_invop_callsite symbol</title>
<updated>2024-09-19T09:22:13Z</updated>
<author>
<name>Mark Johnston</name>
<email>markj@FreeBSD.org</email>
</author>
<published>2024-09-19T09:22:13Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=06e7bc83f6a49b99f87ad1a6034e2fad54ebe7f3'/>
<id>urn:sha1: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>
</entry>
<entry>
<title>sys: Remove $FreeBSD$: two-line .h pattern</title>
<updated>2023-08-16T17:54:11Z</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2023-08-16T17:54:11Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=95ee2897e98f5d444f26ed2334cc7c439f9c16c6'/>
<id>urn:sha1:95ee2897e98f5d444f26ed2334cc7c439f9c16c6</id>
<content type='text'>
Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
</content>
</entry>
<entry>
<title>dtrace/amd64: Implement emulation of call instructions</title>
<updated>2022-08-09T22:34:01Z</updated>
<author>
<name>Mark Johnston</name>
<email>markj@FreeBSD.org</email>
</author>
<published>2022-08-09T20:08:13Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=3ba8e9dc4a0e0e9c35cfadfe25379871ce581697'/>
<id>urn:sha1:3ba8e9dc4a0e0e9c35cfadfe25379871ce581697</id>
<content type='text'>
Here, the provider is responsible for updating the trapframe to redirect
control flow and for computing the return address.  Once software-saved
registers are restored, the emulation shifts the remaining context down
on the stack to make space for the return address, then copies the
address provided by the invop handler.  dtrace_invop() is modified to
allocate temporary storage space on the stack for use by the provider to
return the return address.

This is to support a new provider for amd64 which can instrument
arbitrary instructions, not just function entry and exit instructions as
FBT does.

In collaboration with:	christos
Sponsored by:	Google, Inc. (GSoC 2022)
Sponsored by:	The FreeBSD Foundation
MFC after:	2 weeks
</content>
</entry>
<entry>
<title>x86: remove gcov kernel support</title>
<updated>2021-04-02T12:41:51Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2021-03-31T21:04:55Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=aa3ea612be3659881392251e91912682b038ce78'/>
<id>urn:sha1:aa3ea612be3659881392251e91912682b038ce78</id>
<content type='text'>
Reviewed by:	jhb
Sponsored by:	The FreeBSD Foundation
Differential revision:	https://reviews.freebsd.org/D29529
</content>
</entry>
<entry>
<title>Implement x86 dtrace_invop_(un)init() in C.</title>
<updated>2019-09-23T15:08:17Z</updated>
<author>
<name>Mark Johnston</name>
<email>markj@FreeBSD.org</email>
</author>
<published>2019-09-23T15:08:17Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=9093dd9a66113e7ab2abf2557319a4acc40651f0'/>
<id>urn:sha1:9093dd9a66113e7ab2abf2557319a4acc40651f0</id>
<content type='text'>
There is no reason for these routines to be written in assembly.  In
the ports of DTrace to other platforms, they are already written in C.
No functional change intended.

MFC after:	1 week
Sponsored by:	Netflix
</content>
</entry>
<entry>
<title>dtrace: fix userspace access on boxes with SMAP</title>
<updated>2018-12-13T20:09:38Z</updated>
<author>
<name>Mateusz Guzik</name>
<email>mjg@FreeBSD.org</email>
</author>
<published>2018-12-13T20:09:38Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=8ca79fbd4af2570968a92f08fb714d8c1bcb378d'/>
<id>urn:sha1:8ca79fbd4af2570968a92f08fb714d8c1bcb378d</id>
<content type='text'>
dtrace has its own routines which were not updated after SMAP support got
implemented. Use ifunc just like for other routines.

This in particular fixes ustack().

Reviewed by:	markj
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D18542
</content>
</entry>
<entry>
<title>Rename assym.s to assym.inc</title>
<updated>2018-03-20T17:58:51Z</updated>
<author>
<name>Ed Maste</name>
<email>emaste@FreeBSD.org</email>
</author>
<published>2018-03-20T17:58:51Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=fc2a8776a2f9945f22301cd92ec6d3ac1f817028'/>
<id>urn:sha1:fc2a8776a2f9945f22301cd92ec6d3ac1f817028</id>
<content type='text'>
assym is only to be included by other .s files, and should never
actually be assembled by itself.

Reviewed by:	imp, bdrewery (earlier)
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D14180
</content>
</entry>
<entry>
<title>Make the second argument of dtrace_invop() a trapframe pointer.</title>
<updated>2016-04-17T23:08:47Z</updated>
<author>
<name>Mark Johnston</name>
<email>markj@FreeBSD.org</email>
</author>
<published>2016-04-17T23:08:47Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=6c2806594b351ec39cca31bf386bdee79571fa36'/>
<id>urn:sha1:6c2806594b351ec39cca31bf386bdee79571fa36</id>
<content type='text'>
Currently this argument is a pointer into the stack which is used by FBT
to fetch the first five probe arguments. On all non-x86 architectures it's
simply the trapframe address, so this change has no functional impact. On
amd64 it's a pointer into the trapframe such that stack[1 .. 5] gives the
first five argument registers, which are deliberately grouped together in
the amd64 trapframe definition.

A trapframe argument simplifies the invop handlers on !x86 and makes the
x86 FBT invop handler easier to understand. Moreover, it allows for invop
handlers that may want to modify the register set of the interrupted thread.
</content>
</entry>
<entry>
<title>Remove unused references to calltrap.</title>
<updated>2015-05-25T01:22:56Z</updated>
<author>
<name>Mark Johnston</name>
<email>markj@FreeBSD.org</email>
</author>
<published>2015-05-25T01:22:56Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=11027ebcbba5f1bd1bc5587e1bb6bbafc4d5921b'/>
<id>urn:sha1:11027ebcbba5f1bd1bc5587e1bb6bbafc4d5921b</id>
<content type='text'>
MFC after:	3 days
</content>
</entry>
</feed>
