I was tracking down what I thought was a bug in sys-cpu. When I would try to get the cpu state information for cpu 0 (on a 2 cpu machine), it would choke. I went to straight C code and, sure enough, process_info(0,&pi_struct) was returning -1, which was odd.
Then I tried replacing "0" with "1" and it worked (and so did "2"). It turns out that on some Solaris systems, the cpu number starts at 0, and on others it starts on 1 - how daft. This may be a 5.6 thing, but I'm not sure. Good to know at least.