#!/usr/perl5/bin/perl -w
#
# use kstats to get some cpu info
#
# could use the command line
# kstat cpu_info:::brand cpu_info:::implementation
#
# this version simply cleans up the output
# and adds support for Solaris before 10
# which has lees information in the kstat structure
#
use Sun::Solaris::Kstat;
my $ks = Sun::Solaris::Kstat->new();
my ($module,$instance,$name,$field1,$field2);
$module = "cpu_info";
$field1 = "brand";
$field2 = "implementation";
$field2a = "cpu_type";
$field3 = "clock_MHz";
my $mh = $ks->{$module};
foreach $instance (sort keys(%$mh)) {
	print "CPU $instance:\n";
	$name=$module.$instance;
	if (defined $ks->{$module}{$instance}{$name}{$field1}) {
		print "$ks->{$module}{$instance}{$name}{$field1}\n";
	}
	if (defined $ks->{$module}{$instance}{$name}{$field2}) {
		print "$ks->{$module}{$instance}{$name}{$field2}\n";
	} else {
		if (defined $ks->{$module}{$instance}{$name}{$field2a}) {
			print "$ks->{$module}{$instance}{$name}{$field2a}\n";
		}
	}
	if (!defined $ks->{$module}{$instance}{$name}{$field1}) {
		if (defined $ks->{$module}{$instance}{$name}{$field3}) {
			print "$ks->{$module}{$instance}{$name}{$field3} MHz\n";
		}
	}
}
