# File lib/facter/util/processor.rb, line 2 2: def self.enum_cpuinfo 3: processor_num = 1 4: processor_list = [] 5: cpuinfo = "/proc/cpuinfo" 6: 7: if File.exists?(cpuinfo) 8: model = Facter.value(:architecture) 9: case model 10: when "x86_64", "amd64", "i386", /parisc/, "hppa", "ia64" 11: Thread::exclusive do 12: File.readlines(cpuinfo).each do |l| 13: if l =~ /processor\s+:\s+(\d+)/ 14: processor_num = $1.to_i 15: elsif l =~ /model name\s+:\s+(.*)\s*$/ 16: processor_list[processor_num] = $1 unless processor_num == 1 17: processor_num = 1 18: elsif l =~ /processor\s+(\d+):\s+(.*)/ 19: processor_num = $1.to_i 20: processor_list[processor_num] = $2 unless processor_num == 1 21: end 22: end 23: end 24: 25: when "ppc64" 26: Thread::exclusive do 27: File.readlines(cpuinfo).each do |l| 28: if l =~ /processor\s+:\s+(\d+)/ 29: processor_num = $1.to_i 30: elsif l =~ /cpu\s+:\s+(.*)\s*$/ 31: processor_list[processor_num] = $1 unless processor_num == 1 32: processor_num = 1 33: end 34: end 35: end 36: 37: when /arm/ 38: Thread::exclusive do 39: File.readlines(cpuinfo).each do |l| 40: if l =~ /Processor\s+:\s+(.+)/ 41: processor_num += 1 42: processor_list[processor_num] = $1.chomp 43: elsif l =~ /processor\s+:\s+(\d+)\s*$/ 44: proc_num = $1.to_i 45: if proc_num != 0 46: processor_num += 1 47: processor_list[processor_num] = processor_list[processor_num-1] 48: end 49: end 50: end 51: end 52: 53: when /sparc/ 54: Thread::exclusive do 55: File.readlines(cpuinfo).each do |l| 56: if l =~ /cpu\s+:\s+(.*)\s*$/ 57: processor_num += 1 58: processor_list[processor_num] = $1 59: end 60: end 61: end 62: end 63: end 64: processor_list 65: end
# File lib/facter/util/processor.rb, line 89 89: def self.enum_kstat 90: processor_num = 1 91: processor_list = [] 92: Thread::exclusive do 93: kstat = Facter::Util::Resolution.exec('/usr/bin/kstat cpu_info') 94: if kstat 95: kstat.each_line do |l| 96: if l =~ /cpu_info(\d+)/ 97: processor_num = $1.to_i 98: elsif l =~ /brand\s+(.*)\s*$/ 99: processor_list[processor_num] = $1 unless processor_num == 1 100: processor_num = 1 101: end 102: end 103: end 104: end 105: processor_list 106: end
# File lib/facter/util/processor.rb, line 67 67: def self.enum_lsdev 68: processor_num = 1 69: processor_list = {} 70: Thread::exclusive do 71: procs = Facter::Util::Resolution.exec('lsdev -Cc processor') 72: if procs 73: procs.each_line do |proc| 74: if proc =~ /^proc(\d+)/ 75: processor_num = $1.to_i 76: # Not retrieving the frequency since AIX 4.3.3 doesn't support the 77: # attribute and some people still use the OS. 78: proctype = Facter::Util::Resolution.exec('lsattr -El proc0 -a type') 79: if proctype =~ /^type\s+(\S+)\s+/ 80: processor_list[processor_num] = $1 81: end 82: end 83: end 84: end 85: end 86: processor_list 87: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.