History log of /fuchsia/zircon/kernel/lib/mtrace/mtrace-ipt.cpp
Revision Date Author Comments
# bebc3afe 04-Sep-2018 Doug Evans <dje@google.com>

[dev][cpu-trace] Rename several functions for thread support

This patch consists of pure function/symbol renamings, to break
these changes out of a larger patch.

x86_ipt_cpu_mode_start -> x86_ipt_start
x86_ipt_cpu_mode_stop -> x86_ipt_stop
x86_ipt_stage_cpu_data -> x86_ipt_stage_trace_data
x86_ipt_get_cpu_data -> x86_ipt_get_trace_data
MTRACE_IPT_STAGE_CPU_DATA -> MTRACE_IPT_STAGE_TRACE_DATA
MTRACE_IPT_GET_CPU_DATA -> MTRACE_IPT_GET_TRACE_DATA
MTRACE_IPT_CPU_MODE_START -> MTRACE_IPT_START
MTRACE_IPT_CPU_MODE_STOP -> MTRACE_IPT_STOP
IOCTL_IPT_ASSIGN_BUFFER_THREAD -> IOCTL_IPT_ASSIGN_THREAD_BUFFER
IOCTL_IPT_RELEASE_BUFFER_THREAD -> IOCTL_IPT_RELEASE_THREAD_BUFFER
ioctl_ipt_assign_buffer_thread_t -> ioctl_ipt_assign_thread_buffer_t

Tested: insntrace /system/bin/insntrace --help
Change-Id: I724f2730b2c8cd65c3493bbc65f01b4402076a9d


# 95390b7c 04-Sep-2018 Doug Evans <dje@google.com>

[dev][cpu-trace] Add type zx_itrace_buffer_descriptor_t

... instead of using a uint32_t.

Tested: insntrace /system/bin/insntrace --help
Change-Id: I0e0d9de881435e10eee226597e1c29c290d4f237


# 2e498284 28-Aug-2018 Doug Evans <dje@google.com>

[kernel][lib][mtrace] Remove duplicate comments.

Tested: Builds

Change-Id: I49e8d3eb9e7051eb22ed09c2c18ab5d00f123834


# 20c9044a 03-Sep-2018 Doug Evans <dje@google.com>

[dev][cpu-trace] Move private zircon/garnet headers to zircon-internal

Tested: Builds. Further testing in garnet.
Change-Id: I61513d56d19cea40198959118ddbae7fdc6c88e4


# af07ad38 08-Sep-2018 Doug Evans <dje@google.com>

Revert "[dev][cpu-trace] Move private zircon/garnet headers to zircon-internal"

This reverts commit 937a00818b643d6222d873b6afd64f3382800f00.

Reason for revert: Finishing the hard transition in garnet would require bringing in an unrelated patch.

Original change's description:
> [dev][cpu-trace] Move private zircon/garnet headers to zircon-internal
>
> Tested: Builds. Further testing in garnet.
> Change-Id: Iad7692bf590978afbc15240c1710faeb525db691

TBR=dje@google.com,teisenbe@google.com

Change-Id: I69f893ff7a4f53802bf93e75fd2a2466452c9106
No-Presubmit: true
No-Tree-Checks: true
No-Try: true


# 937a0081 03-Sep-2018 Doug Evans <dje@google.com>

[dev][cpu-trace] Move private zircon/garnet headers to zircon-internal

Tested: Builds. Further testing in garnet.
Change-Id: Iad7692bf590978afbc15240c1710faeb525db691


# 0af3f7c6 03-Sep-2018 Doug Evans <dje@google.com>

[dev][cpu-trace] Renamings in preparation for arm port

ipm -> cpuperf
ipt -> insntrace

Tested: Compiles. Further testing on garnet side.
Change-Id: I09990ab54379ba76fe8b51e1c8cd2f4154fdf723


# 9dd5b5f5 24-May-2018 Adam Barth <abarth@chromium.org>

[syscalls] Update parameter types and names

This CL updates the parameter types and names for a number of syscalls
to match the Zircon System API rubric. There's more work to do to make
all the syscalls conform to the rubric, but this change is a start.

Change-Id: I218ac5e7e0cbd80a8c69fef7891ad40b78b6b407


# b533dd78 22-Nov-2017 Mark Seaborn <mseaborn@google.com>

[kernel] Change most callers of copy_to_user() to propagate its error code

Change most call sites of copy_to_user() to propagate whatever error
code it returned, instead of returning ZX_ERR_INVALID_ARGS. Currently
copy_to_user() returns ZX_ERR_INVALID_ARGS on error, so this does not
change the kernel's behaviour at all. However, it does mean that this
error code is specified in fewer places.

This change was automated, with some manual fixups. There are some
remaining uses of copy_to_user() which I'll fix in a follow-on change.

Change-Id: I75691e50bc3e499b2d40f0e55a69343cbb8285dd


# c88b358d 21-Nov-2017 Mark Seaborn <mseaborn@google.com>

[kernel] Change callers of copy_from_user() to propagate its error code

Change the call sites of copy_from_user() to propagate whatever error
code it returned, instead of returning ZX_ERR_INVALID_ARGS.

Currently copy_from_user() returns ZX_ERR_INVALID_ARGS on error, so
this does not change the kernel's behaviour at all. However, it does
mean that this error code is specified in fewer places.

Change-Id: I9ba701461a8b53da00a202d20bebbdd569526fbb


# 4f23215c 22-Oct-2017 Doug Evans <dje@google.com>

[dev][intel-pt] Simplify API

... and take a baby step to allowing multiple clients.

Change-Id: I7b72c9334be225abadf09c8e5eb223db4d483fab


# 709f0e57 04-Oct-2017 George Kulakowski <kulakowski@google.com>

[user_ptr] Enforce IN/OUT/INOUT semantics

Change-Id: I54e92ed999c1965114aa80aeffe8d0fc16184b40


# f3e2126c 12-Sep-2017 Roland McGrath <mcgrathr@google.com>

[zx] Magenta -> Zircon

The Great Renaming is here!

Change-Id: I3229bdeb2a3d0e40fb4db6fec8ca7d971fbffb94


# 22256063 21-Aug-2017 George Kulakowski <kulakowski@google.com>

[kernel][status] Convert the rest of kernel/lib to mx_status_t

Change-Id: Iba1bb7024bcefa7c5e3ee58b02d0be758c6545ae


# e03397ac 08-Aug-2017 George Kulakowski <kulakowski@google.com>

[sysgen][user_ptr] Always wrap user pointer types

Change-Id: I976cf17766474943cfda381931531cd7752d8db9


# afa9d2b6 15-Jun-2017 George Kulakowski <kulakowski@google.com>

[kernel][lib] Use the new MX_OK and MX_ERR_* names

Change-Id: I436bb0728838729bef6e20a6db0e8ce6a96b5534


# 3f9ec741 30-Jan-2017 Doug Evans <dje@google.com>

[kernel][x86] First pass as Intel PT support

Intel PT (Processor Trace) is a h/w based instruction tracing
feature. See Intel Vol. 3 chapter 36.

This is the low level kernel support:
- support for reading/writing the PT MSRs
- support for starting/stopping full system traces
(tracing all cpus, regardless of thread running)
- logging of cr3->pid values for later post-processing of the trace

Support for tracing specific threads to follow.

The rest is in user-space driver "intel-pt".

Change-Id: Ib69a17e501a08dd6b0a661524cac9467d2d7f62e