--- sysinfo281.11.pl.orig 2008-07-07 21:20:17.000000000 +0200 +++ sysinfo281.11.pl 2008-07-10 19:21:23.000000000 +0200 @@ -180,6 +180,8 @@ my $parisc = 1 if $osm =~ /^parisc$/; my $parisc64 = 1 if $osm =~ /^parisc64$/; my $ppc = 1 if $osm =~ /^ppc$/; +my $sparc = 1 if $osm =~ /^sparc$/; +my $sparc64 = 1 if $osm =~ /^sparc64$/; my $x86_64 = 1 if $osm =~ /^x86_64$/; @@ -356,7 +358,11 @@ if($alpha) { $cpu = &cpuinfo("cpu\\s+: "); $model = &cpuinfo("cpu model\\s+: "); - $cpu = "$cpu $model"; + $model = "$model (" . &cpuinfo("system type") . ")"; + $mhz = &cpuinfo("cycle frequency \\[Hz\\]\\s+: "); + $mhz = ($mhz / 1000000); + $mhz = sprintf("%.2f", $mhz); + $cpu = "$cpu $model ($mhz MHz)"; $smp = &cpuinfo("cpus detected\\s+: "); } if($armv4l || $armv5l) { @@ -405,6 +411,15 @@ } $cpu = "$model $cpu ($mhz)"; } + if($sparc || $sparc64) { + $cpu = &cpuinfo("cpu\\s+: "); + $model = &cpuinfo("type\\s+: "); + $cpu = "$model $cpu"; + $mhz = &cpuinfo("Cpu0ClkTck\\s+: "); + $mhz = (hex($mhz) / 1000000); + $cpu = "$cpu ($mhz MHz)"; + $smp = &cpuinfo("ncpus active\\s+: "); + } } elsif($sun) { my $osp = `uname -p`; chomp($osp); if($osv =~ /^5\.11/ || ($osv =~ /^5\.10/ && $osp =~ "i386")) {