User Details
- User Since
- Nov 27 2014, 10:57 AM (470 w, 1 d)
Oct 12 2023
Sep 26 2023
Pass ctx to backend_deinit().
Pass ctx to backend_deinit().
Sep 25 2023
rebase for freebsd
Sep 6 2023
User provides cpusetsize together with *cpuset_t.
Replace most of spin locks to standard mtx. Use refcounting in some places
Sep 4 2023
change backend lock, ident set lock, ownerhash lock to standard mtx
Aug 21 2023
remove hwt_libxo.h as not needed
Aug 19 2023
obtain ETM IDR registers from sysctl. This is needed for Juno
Aug 16 2023
Allow attaching to an existed proc;
Add support for libxo
Aug 15 2023
Allow attaching to an existed proc
Aug 8 2023
Add description for CPU mode of operation into hwt.c
Fix context ID allocation, do not allocate twice and check the status of allocation
Aug 3 2023
decode multiple cpus at the same time
Jul 31 2023
Fix tracing cpu_id > 0
Jul 30 2023
hwt kernel module added
ability to build as a module
Jul 26 2023
Code cleanup. Implement some TODOs
Jul 24 2023
Allow tracing multiple cpus in CPU(system) mode
allow tracing multiple cpus in system mode
allow tracing multiple cpus in system mode
Remove cheribsd-specific "size" member from hwt_record as not needed
Jul 19 2023
Kernel-mode tracing support added.
Kernel-mode tracing support added.
Add kernel-mode tracing support.
Jul 12 2023
Initial work on cpu/system mode of operation
hwt_backend interface changed
Jul 10 2023
Jul 5 2023
suspend specific thread on mmap, not entire proc
suspend a single thread on mmap, not entire proc
ip range filtering (draft) added
coresight_setup() method added
Jun 28 2023
I added this functionality. I am not sure if epoch is needed. PMC have several macroses for hook invocation, only some of them require epoch.
Make coresight optional. Depends on hwt
Move changes related to coresight to another review
Move hwt files to conf/files.
Add '-t' argument allowing to specify thread index we want to read trace for.
Jun 27 2023
Add short overview and context lifecycle.
Add hwt_hook variable and HWT_CALL_HOOK macro
Add hwt_hook variable and HWT_CALL_HOOK macro
Remove mtx_threads and mtx_records. Use mtx of entire context
Jun 26 2023
Split out ownerhash/contexthash code to a separate files.
Split out ioctl code to a separate file.
Return ctx locked in hwt_ctx_lookup_contexthash().
Jun 24 2023
Split out thread/backend/owner/context code to separate files.
Jun 23 2023
morello-dts included for test
Move user-visible headers to sys
Interface to HWT changed
Multi-thread tracing works
Jun 20 2023
o Fix M_HWT declaration
o Remove mtx lock around backend ops as not needed
o Change mtx_records lock type to default
Rename hwt_event_*() to hwt_backend_*()
Jun 19 2023
Split out ioc_alloc func
remove cpu_id field from ioctl interface
trace buffers per each thread implemented
Jun 13 2023
Add hwt_priv_check() to ensure a user has permissions to trace target process
Jun 12 2023
Provide the name of backend needed for registration in HWT framework.
o Allow registration of multiple CPU trace backends. Could be useful on ARM64 to have both Coresight and SPE. One per each context, so multiple backends could be used simultaneously.
o Remove hwt_softc as there is no plan to use multiple instances of HWT.
Jun 9 2023
Include changes to sys/proc.h
Add CORESIGHT_DEBUG macro.
o Remove remove unneeded headers, cdef.h and FBSDID
o Allow user to pass trace buffer size he wants per each HWT context
o Remove 'All rights reserved'
o Expand HWT acronym in conf/options
Jun 7 2023
remove debug printfs