aboutsummaryrefslogtreecommitdiff
path: root/sys/cddl/dev/dtrace/x86
Commit message (Collapse)AuthorAgeFilesLines
* zfs: fix build after openzfs/zfs@e63d026b9Martin Matuska2025-11-171-0/+3
| | | | | Fix Makefiles Update zfs_config.h and zfs_gitrev.h
* dtrace: Address KMSAN warnings in dtrace_disx86Mark Johnston2024-11-221-2/+4
| | | | | | | wbit was not being initialized in a couple of cases. Reported by: asomers MFC after: 2 weeks
* sys: Automated cleanup of cdefs and other formattingWarner Losh2023-11-271-4/+0
| | | | | | | | | | | | | | | | Apply the following automated changes to try to eliminate no-longer-needed sys/cdefs.h includes as well as now-empty blank lines in a row. Remove /^#if.*\n#endif.*\n#include\s+<sys/cdefs.h>.*\n/ Remove /\n+#include\s+<sys/cdefs.h>.*\n+#if.*\n#endif.*\n+/ Remove /\n+#if.*\n#endif.*\n+/ Remove /^#if.*\n#endif.*\n/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/types.h>/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/param.h>/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/capsicum.h>/ Sponsored by: Netflix
* sys: Remove ancient SCCS tags.Warner Losh2023-11-272-2/+0
| | | | | | | | Remove ancient SCCS tags from the tree, automated scripting, with two minor fixup to keep things compiling. All the common forms in the tree were removed with a perl script. Sponsored by: Netflix
* sys: Remove $FreeBSD$: one-line .h patternWarner Losh2023-08-163-3/+0
| | | | Remove /^\s*\*+\s*\$FreeBSD\$.*$\n/
* sys: Remove $FreeBSD$: two-line .h patternWarner Losh2023-08-161-2/+0
| | | | Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
* dtrace: export dtrace_dis_get_byte()Christos Margiolis2023-05-221-1/+2
| | | | | | | | | | | | kinst uses this function as well, but because it is not exported, it implements its own copy of it. The patch also exposes the function to userland, so programs that need to use dtrace_disx86() can use this function instead of rolling their own copies. Reviewed by: markj Approved by: markj (mentor) Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D39871
* dtrace: Sync dis_tables.c with illumosMark Johnston2023-04-251-120/+1256
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This brings in the following commits: commit 584b574a3b16c6772c8204ec1d1c957c56f22a87 12174 i86pc: variable may be used uninitialized Author: Toomas Soome <tsoome@me.com> Reviewed by: John Levon <john.levon@joyent.com> Reviewed by: Andrew Stormont <astormont@racktopsystems.com> Approved by: Dan McDonald <danmcd@joyent.com> commit a25e615d76804404e5fc63897a9196d4f92c3f5e 12371 dis x86 EVEX prefix mishandled 12372 dis EVEX encoding SIB mishandled 12373 dis support for EVEX vaes instructions 12374 dis support for EVEX vpclmulqdq instructions 12375 dis support for gfni instructions Author: Robert Mustacchi <rm@fingolfin.org> Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com> Approved by: Joshua M. Clulow <josh@sysmgr.org> commit c1e9bf00765d7ac9cf1986575e4489dd8710d9b1 12369 dis WBNOINVD support Author: Robert Mustacchi <rm@joyent.com> Reviewed by: Hans Rosenfeld <hans.rosenfeld@joyent.com> Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com> Reviewed by: Andy Fiddaman <andy@omniosce.org> Reviewed by: Toomas Soome <tsoome@me.com> Approved by: Dan McDonald <danmcd@joyent.com> commit e4f6ce7088a7dd335b9edf4774325f888692e5fb 10893 Need support for new Cascade Lake Instructions Author: Robert Mustacchi <rm@joyent.com> Reviewed by: Hans Rosenfeld <hans.rosenfeld@joyent.com> Reviewed by: Dan McDonald <danmcd@joyent.com> Reviewed by: Richard Lowe <richlowe@richlowe.net> Approved by: Gordon Ross <gwr@nexenta.com> commit cff040f3ef42d16ae655969398f5a5e6e700b85e 10226 Need support for new EPYC ISA extensions Author: Robert Mustacchi <rm@joyent.com> Reviewed by: Hans Rosenfeld <hans.rosenfeld@joyent.com> Reviewed by: Jason King <jason.king@joyent.com> Reviewed by: Richard Lowe <richlowe@richlowe.net> Approved by: Dan McDonald <danmcd@joyent.com> commit d242cdf5288b86d9070d88791c8ee696612becdc 8492 AVX512 dis - legacy logical instructions Author: Jerry Jelinek <jerry.jelinek@joyent.com> Reviewed by: Robert Mustacchi <rm@joyent.com> Reviewed by: Gordon Ross <gordon.w.ross@gmail.com> Approved by: Richard Lowe <richlowe@richlowe.net> commit 81b505b772ab015c588c56bb116239ee549b6eee 8384 AVX512 dis - EVEX prefix support 8385 32-bit avx dis test mishandles EVEX prefix 8386 32-bit bound dis is incorrect Author: Jerry Jelinek <jerry.jelinek@joyent.com> Reviewed by: Robert Mustacchi <rm@joyent.com> Reviewed by: Gordon Ross <gordon.w.ross@gmail.com> Approved by: Richard Lowe <richlowe@richlowe.net> commit 92381362ae635a3bea638d87b7119f1623b6212e 8319 dis support for new xsave instructions Author: Jerry Jelinek <jerry.jelinek@joyent.com> Reviewed by: Robert Mustacchi <rm@joyent.com> Reviewed by: Gordon Ross <gordon.w.ross@gmail.com> Approved by: Richard Lowe <richlowe@richlowe.net> commit a4e73d5d60e566669c550027fae2b1d87b4be2b4 8240 AVX512 dis - opmask instruction support Author: Jerry Jelinek <jerry.jelinek@joyent.com> Reviewed by: Robert Mustacchi <rm@joyent.com> Reviewed by: Toomas Soome <tsoome@me.com> Approved by: Gordon Ross <gordon.w.ross@gmail.com> 959b2dfd39979fe8a9a315a52741d009eb168822 7825 want avx dis tests 7826 PCLMULQDQ psuedo-ops aren't properly described in dis 7827 dis tests for f16c, movbe, cpuid, msr, tsc, fence instrs 7828 sysenter and sysexit dis should be allowed in 64-bit x86 Author: Robert Mustacchi <rm@joyent.com> Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com> Approved by: Richard Lowe <richlowe@richlowe.net> MFC after: 2 weeks
* dtrace: get rid of uchar_t typesChristos Margiolis2023-04-201-6/+6
| | | | | | | | | | 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
* dtrace: Drop illumos ifdefs for CPU register definitionsMark Johnston2022-10-121-52/+0
| | | | | | | | These are fixed, so having upstream's version is not especially useful, and the duplicated definitions make for confusing reading. No functional change intended. MFC after: 1 week
* Sync the x86 dis_tables.c with upstream.Mark Johnston2017-02-032-53/+639
| | | | | | | | | | | | | | | | | | | | This corresponds to the following illumos issues: 5755 want support for Intel FMA instrs 5756 want support for Intel BMI1 instrs 5757 want support for Intel BMI2 instrs 5758 want support for Intel AVX2 instrs 7204 Want broadwell rdseed and adx support 7208 Want stac/clac disasm support 7733 Need SHA Instruction dis support 7756 dis can't handle x86 SSE 3 instructions 7757 want avx2 disasm tests 7758 want SSE 4.1 disasm tests MFC after: 2 weeks Notes: svn path=/head/; revision=313133
* Merge {amd64,i386}/instr_size.c into x86_instr_size.c.Mark Johnston2016-07-201-0/+140
| | | | | | | | | | | | | Also reduce the diff between us and upstream: the input data model will always be DATAMODEL_NATIVE because of a bug (p_model is never set but is always initialized to 0), so we don't need to override the caller anyway. This change is also necessary to support the pid provider for 32-bit processes on amd64. MFC after: 2 weeks Notes: svn path=/head/; revision=303050
* add invpcid instruction to i386 dtrace disassembler tablesAndriy Gapon2016-04-291-1/+1
| | | | | | | MFC after: 2 weeks Notes: svn path=/head/; revision=298787
* lahf/sahf are supported on some amd64 processorsAndriy Gapon2016-04-221-1/+1
| | | | | | | | | | | | | | | | | While the instructions were not included into the original instruction set, their support can be indicated by a special feature bit. For example: CPU: AMD Phenom(tm) II X4 955 Processor (3214.71-MHz K8-class CPU) ... AMD Features2=0x37ff<LAHF, ...> Clang 3.8 uses lahf/sahf as a faster alternative to pushf/popf where possible. MFC after: 2 weeks Notes: svn path=/head/; revision=298473
* Mechanically convert cddl sun #ifdef's to illumosSteven Hartland2015-01-171-6/+6
| | | | | | | | | | | | | | | Since the upstream for cddl code is now illumos not sun, mechanically convert all sun #ifdef's to illumos #ifdef's which have been used in all newer code for some time. Also do a manual pass to correct the use if #ifdef comments as per style(9) as well as few uses of #if defined(__FreeBSD__) vs #ifndef illumos. MFC after: 1 month Sponsored by: Multiplay Notes: svn path=/head/; revision=277300
* Update dis_tables.c to the latest Illumos version.Peter Grehan2014-05-151-17/+188
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This includes decodes of recent Intel instructions, in particular VT-x and related instructions. This allows the FBT provider to locate the exit points of routines that include these new instructions. Illumos issues: 3414 Need a new word of AT_SUN_HWCAP bits 3415 Add isainfo support for f16c and rdrand 3416 Need disassembler support for rdrand and f16c 3413 isainfo -v overflows 80 columns 3417 mdb disassembler confuses rdtscp for invlpg 1518 dis should support AMD SVM/AMD-V/Pacifica instructions 1096 i386 disassembler should understand complex nops 1362 add kvmstat for monitoring of KVM statistics 1363 add vmregs[] variable to DTrace 1364 need disassembler support for VMX instructions 1365 mdb needs 16-bit disassembler support This corresponds to Illumos-gate (github) version eb23829ff08a873c612ac45d191d559394b4b408 Reviewed by: markj MFC after: 1 week Notes: svn path=/head/; revision=266103
* Fix the struct reg mappings for i386 and amd64, which differ between illumosMark Johnston2014-02-271-0/+51
| | | | | | | | | | and FreeBSD. Submitted by: Prashanth Kumar <pra_udupi@yahoo.co.in> MFC after: 2 weeks Notes: svn path=/head/; revision=262543
* Move some files that are identical on i386 and amd64 to an x86 subdirectoryMark Johnston2014-02-273-0/+5078
rather than keeping duplicate copies. Discussed with: avg MFC after: 1 week Notes: svn path=/head/; revision=262542