+ counter_info[20] = Type (0 = HARDWARE and 1 = SOFTWARE) + counter_info[XLEN-1:21] = Reserved for future use +---- + +If `counter_info.type == 0x1` then `counter_info.csr` should be ignored +and `counter_info.width` is assumed to be XLEN.
Perhaps we should store the type in bit 31 to allow for easier branching?
That wouldn’t help 64-bit targets much. Did you mean bit XLEN-1?