Page MenuHomeFreeBSD

HWT: ARM CoreSight support
Needs ReviewPublic

Authored by br on Jun 9 2023, 3:06 PM.
Tags
None
Referenced Files
F144352154: D40477.id124864.diff
Sun, Feb 8, 12:14 AM
F144347423: D40477.id123010.diff
Sat, Feb 7, 11:34 PM
F144342682: D40477.id125527.diff
Sat, Feb 7, 11:04 PM
F144332112: D40477.id123892.diff
Sat, Feb 7, 9:38 PM
F144329767: D40477.id125697.diff
Sat, Feb 7, 9:24 PM
F144324679: D40477.id145558.diff
Sat, Feb 7, 8:42 PM
F144323976: D40477.id125347.diff
Sat, Feb 7, 8:37 PM
F144308226: D40477.id123109.diff
Sat, Feb 7, 6:38 PM

Details

Summary
  • Add ARM Coresight (SoC-400) support to HWT framework
  • Pipeline build code added
Test Plan

Tested on ARM Morello platform.

Diff Detail

Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

br requested review of this revision.Jun 9 2023, 3:06 PM

Add CORESIGHT_DEBUG macro.

Provide the name of backend needed for registration in HWT framework.

Interface to HWT changed

morello-dts included for test

Make coresight optional. Depends on hwt

coresight_setup() method added

hwt_backend interface changed

Kernel-mode tracing support added.

allow tracing multiple cpus in system mode

ability to build as a module

sys/arm64/coresight/coresight.c
75

Should we dynamically allocate this based on mp_ncpus instead, especially since MAXCPU is being bumped to 1024? I think it would make sense to do that in coresight_backend_init and then can free() at the end of coresight_backend_deinit.

This is what I'm doing for SPE at the moment.

br removed a reviewer: manu.

Pass ctx to backend_deinit().

This doesn't build when I add hwt and coresight to my kernel config

Due to pipeline design Coresight components could not be used for more than 1 concurrent tracing sessions.
Atomic counter of sessions added and limited to 1.

This doesn't build when I add hwt and coresight to my kernel config

Could you try again? A change in modules/Makefile was missing