You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Various devices implement a claim tag register which can be used by different agents (e.g. external and self-hosted debug) to negotiate access. Use of these bits relies on agents adopting a common convention. CSAL's registers.h defines CS_CLAIM_INTERNAL as 0x01 and CS_CLAIM_EXTERNAL as 0x02 based on the recommendations for debug APs in Arm Debug Interface 6.0 specification.
However, an alternative convention (0x01 external and 0x02 self-hosted) is in use, and is used by ArmDS and the Linux kernel, for devices such as CTI and ETM.
It is also unclear whether CSAL should be regarded as an internal or an external debugger. Potentially, CSAL could come into conflict both with an external (JTAG) debugger and with self-hosted (e.g. OS-resident) drivers, or even with another instance of CSAL - e.g. one instance running in management firmware and another running as a userspace device driver.
So the issue here is twofold:
clarify CS_CLAIM_INTERNAL and CS_CLAIM_EXTERNAL definitions in the headers, perhaps consider deprecating them
build some flexibility into CSAL so that there is more choice about which claim tags are used by a given CSAL instance
The text was updated successfully, but these errors were encountered:
Various devices implement a claim tag register which can be used by different agents (e.g. external and self-hosted debug) to negotiate access. Use of these bits relies on agents adopting a common convention. CSAL's registers.h defines CS_CLAIM_INTERNAL as 0x01 and CS_CLAIM_EXTERNAL as 0x02 based on the recommendations for debug APs in Arm Debug Interface 6.0 specification.
However, an alternative convention (0x01 external and 0x02 self-hosted) is in use, and is used by ArmDS and the Linux kernel, for devices such as CTI and ETM.
It is also unclear whether CSAL should be regarded as an internal or an external debugger. Potentially, CSAL could come into conflict both with an external (JTAG) debugger and with self-hosted (e.g. OS-resident) drivers, or even with another instance of CSAL - e.g. one instance running in management firmware and another running as a userspace device driver.
So the issue here is twofold:
clarify CS_CLAIM_INTERNAL and CS_CLAIM_EXTERNAL definitions in the headers, perhaps consider deprecating them
build some flexibility into CSAL so that there is more choice about which claim tags are used by a given CSAL instance
The text was updated successfully, but these errors were encountered: