<issue_start><issue_comment>Title: All trigger registers are optional
username_0: See #422. This might break software that's not ready for the
possibility, but I believe the privilege spec is already clear that the
Debug CSRs are optional.
<issue_comment>username_1: I wonder if it would be useful to remind readers in the trigger intro section that if the optional trigger registers don't exist, then accessing them will cause an illegal instruction exception.  The current sequence described in the intro would fail after step 1 (write 0 to tselect) with an exception.

A related question would be how a debugger is supposed to determine if triggers exist.  Is the only way to attempt to write tselect and see if it generates an exception?
<issue_comment>username_0: That's right. If a debugger only cares about the number of registers, then a binary search should find that relatively quickly.