Page MenuHomeFreeBSD

HWT: ARM CoreSight support
Needs ReviewPublic

Authored by br on Jun 9 2023, 3:06 PM.
Tags
None
Referenced Files
F82312021: D40477.id123892.diff
Sat, Apr 27, 1:39 PM
F82302824: D40477.id123515.diff
Sat, Apr 27, 11:35 AM
F82268624: D40477.id124428.diff
Sat, Apr 27, 3:42 AM
F82263501: D40477.id.diff
Sat, Apr 27, 2:34 AM
Unknown Object (File)
Fri, Apr 26, 2:53 PM
Unknown Object (File)
Fri, Apr 26, 8:57 AM
Unknown Object (File)
Fri, Apr 26, 8:57 AM
Unknown Object (File)
Fri, Apr 26, 8:56 AM

Details

Summary
  • Add ARM Coresight (SoC-400) support to HWT framework
  • Fix bugs

some clean up is still needed

Test Plan

Tested on CheriBSD (ARM Morello).

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
72

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