facter 1.6.18 → 1.7.0.rc1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of facter might be problematic. Click here for more details.

Files changed (126) hide show
  1. data/Gemfile +23 -8
  2. data/bin/facter +4 -1
  3. data/ext/build_defaults.yaml +1 -1
  4. data/ext/debian/changelog.erb +4 -22
  5. data/ext/debian/control +2 -2
  6. data/ext/project_data.yaml +1 -1
  7. data/ext/redhat/facter.spec.erb +10 -9
  8. data/install.rb +27 -53
  9. data/lib/facter.rb +23 -5
  10. data/lib/facter/application.rb +21 -0
  11. data/lib/facter/blockdevices.rb +105 -0
  12. data/lib/facter/domain.rb +19 -7
  13. data/lib/facter/filesystems.rb +38 -0
  14. data/lib/facter/hardwaremodel.rb +3 -2
  15. data/lib/facter/ipaddress6.rb +1 -2
  16. data/lib/facter/kernelrelease.rb +10 -2
  17. data/lib/facter/ldom.rb +47 -0
  18. data/lib/facter/macaddress.rb +1 -1
  19. data/lib/facter/manufacturer.rb +7 -1
  20. data/lib/facter/memory.rb +58 -160
  21. data/lib/facter/operatingsystem.rb +17 -2
  22. data/lib/facter/operatingsystemmajrelease.rb +33 -0
  23. data/lib/facter/operatingsystemrelease.rb +88 -37
  24. data/lib/facter/osfamily.rb +6 -2
  25. data/lib/facter/processor.rb +2 -2
  26. data/lib/facter/ps.rb +5 -0
  27. data/lib/facter/ssh.rb +50 -12
  28. data/lib/facter/util/cfpropertylist.rb +6 -0
  29. data/lib/facter/util/cfpropertylist/LICENSE +19 -0
  30. data/lib/facter/util/cfpropertylist/README +44 -0
  31. data/lib/facter/util/cfpropertylist/Rakefile +44 -0
  32. data/lib/facter/util/cfpropertylist/THANKS +7 -0
  33. data/lib/facter/util/cfpropertylist/lib/cfpropertylist.rb +6 -0
  34. data/lib/facter/util/cfpropertylist/lib/rbBinaryCFPropertyList.rb +562 -0
  35. data/lib/facter/util/cfpropertylist/lib/rbCFPlistError.rb +26 -0
  36. data/lib/facter/util/cfpropertylist/lib/rbCFPropertyList.rb +402 -0
  37. data/lib/facter/util/cfpropertylist/lib/rbCFTypes.rb +244 -0
  38. data/lib/facter/util/cfpropertylist/lib/rbLibXMLParser.rb +135 -0
  39. data/lib/facter/util/cfpropertylist/lib/rbNokogiriParser.rb +140 -0
  40. data/lib/facter/util/cfpropertylist/lib/rbREXMLParser.rb +136 -0
  41. data/lib/facter/util/collection.rb +36 -14
  42. data/lib/facter/util/composite_loader.rb +12 -0
  43. data/lib/facter/util/config.rb +36 -0
  44. data/lib/facter/util/confine.rb +1 -6
  45. data/lib/facter/util/directory_loader.rb +83 -0
  46. data/lib/facter/util/fact.rb +49 -42
  47. data/lib/facter/util/file_read.rb +32 -0
  48. data/lib/facter/util/ip.rb +2 -9
  49. data/lib/facter/util/loader.rb +16 -2
  50. data/lib/facter/util/macosx.rb +15 -2
  51. data/lib/facter/util/memory.rb +154 -27
  52. data/lib/facter/util/nothing_loader.rb +15 -0
  53. data/lib/facter/util/parser.rb +141 -0
  54. data/lib/facter/util/processor.rb +27 -35
  55. data/lib/facter/util/resolution.rb +97 -26
  56. data/lib/facter/util/solaris_zones.rb +153 -0
  57. data/lib/facter/util/virtual.rb +32 -3
  58. data/lib/facter/version.rb +72 -2
  59. data/lib/facter/virtual.rb +56 -3
  60. data/lib/facter/zfs_version.rb +10 -0
  61. data/lib/facter/zonename.rb +6 -0
  62. data/lib/facter/zones.rb +17 -0
  63. data/lib/facter/zpool_version.rb +10 -0
  64. data/spec/fixtures/ifconfig/ifconfig_net_tools_1.60.txt +19 -0
  65. data/spec/fixtures/ifconfig/ifconfig_ubuntu_1204.txt +16 -0
  66. data/spec/fixtures/ldom/ldom_v1 +6 -0
  67. data/spec/fixtures/unit/filesystems/linux +28 -0
  68. data/spec/fixtures/unit/util/manufacturer/intel_linux_dmidecode +549 -0
  69. data/spec/fixtures/unit/virtual/sysfs_dmi_entries_raw.txt +0 -0
  70. data/spec/fixtures/unit/zfs_version/freebsd_8.2 +14 -0
  71. data/spec/fixtures/unit/zfs_version/freebsd_9.0 +13 -0
  72. data/spec/fixtures/unit/zfs_version/linux-fuse_0.6.9 +14 -0
  73. data/spec/fixtures/unit/zfs_version/solaris_10 +10 -0
  74. data/spec/fixtures/unit/zfs_version/solaris_11 +12 -0
  75. data/spec/fixtures/unit/zpool_version/freebsd_8.2 +26 -0
  76. data/spec/fixtures/unit/zpool_version/freebsd_9.0 +38 -0
  77. data/spec/fixtures/unit/zpool_version/linux-fuse_0.6.9 +35 -0
  78. data/spec/fixtures/unit/zpool_version/solaris_10 +31 -0
  79. data/spec/fixtures/unit/zpool_version/solaris_11 +43 -0
  80. data/spec/integration/facter_spec.rb +12 -0
  81. data/spec/spec_helper.rb +9 -0
  82. data/spec/unit/architecture_spec.rb +1 -1
  83. data/spec/unit/blockdevices_spec.rb +109 -0
  84. data/spec/unit/domain_spec.rb +189 -81
  85. data/spec/unit/ec2_spec.rb +15 -8
  86. data/spec/unit/filesystems_spec.rb +50 -0
  87. data/spec/unit/hardwaremodel_spec.rb +8 -1
  88. data/spec/unit/id_spec.rb +6 -5
  89. data/spec/unit/ipaddress6_spec.rb +14 -2
  90. data/spec/unit/ipaddress_spec.rb +1 -1
  91. data/spec/unit/kernel_spec.rb +24 -0
  92. data/spec/unit/kernelmajversion_spec.rb +17 -0
  93. data/spec/unit/kernelrelease_spec.rb +53 -0
  94. data/spec/unit/kernelversion_spec.rb +32 -0
  95. data/spec/unit/ldom_spec.rb +74 -0
  96. data/spec/unit/macaddress_spec.rb +3 -1
  97. data/spec/unit/manufacturer_spec.rb +115 -0
  98. data/spec/unit/memory_spec.rb +442 -75
  99. data/spec/unit/operatingsystem_spec.rb +16 -2
  100. data/spec/unit/operatingsystemmajrelease_spec.rb +16 -0
  101. data/spec/unit/operatingsystemrelease_spec.rb +110 -1
  102. data/spec/unit/processor_spec.rb +22 -7
  103. data/spec/unit/ps_spec.rb +42 -0
  104. data/spec/unit/ssh_spec.rb +76 -0
  105. data/spec/unit/util/collection_spec.rb +94 -118
  106. data/spec/unit/util/config_spec.rb +36 -5
  107. data/spec/unit/util/confine_spec.rb +31 -43
  108. data/spec/unit/util/directory_loader_spec.rb +87 -0
  109. data/spec/unit/util/fact_spec.rb +37 -25
  110. data/spec/unit/util/file_read_spec.rb +29 -0
  111. data/spec/unit/util/ip_spec.rb +4 -2
  112. data/spec/unit/util/loader_spec.rb +102 -45
  113. data/spec/unit/util/macosx_spec.rb +40 -9
  114. data/spec/unit/util/manufacturer_spec.rb +12 -1
  115. data/spec/unit/util/parser_spec.rb +135 -0
  116. data/spec/unit/util/resolution_spec.rb +136 -4
  117. data/spec/unit/util/solaris_zones_spec.rb +127 -0
  118. data/spec/unit/util/virtual_spec.rb +54 -0
  119. data/spec/unit/version_spec.rb +42 -0
  120. data/spec/unit/virtual_spec.rb +102 -27
  121. data/spec/unit/zfs_version_spec.rb +76 -0
  122. data/spec/unit/zonename_spec.rb +14 -0
  123. data/spec/unit/zones_spec.rb +55 -0
  124. data/spec/unit/zpool_version_spec.rb +76 -0
  125. metadata +113 -11
  126. data/lib/facter/arp.rb +0 -28
@@ -76,11 +76,25 @@ module Facter::Util::Virtual
76
76
  (txt =~ /QEMU Virtual CPU/) ? true : false
77
77
  end
78
78
 
79
+ def self.virtualbox?
80
+ File.read("/sys/devices/virtual/dmi/id/product_name") =~ /VirtualBox/ rescue false
81
+ end
82
+
79
83
  def self.kvm_type
80
84
  # TODO Tell the difference between kvm and qemu
81
85
  # Can't work out a way to do this at the moment that doesn't
82
86
  # require a special binary
83
- "kvm"
87
+ if self.kvm?
88
+ "kvm"
89
+ end
90
+ end
91
+
92
+ def self.rhev?
93
+ File.read("/sys/devices/virtual/dmi/id/product_name") =~ /RHEV Hypervisor/ rescue false
94
+ end
95
+
96
+ def self.ovirt?
97
+ File.read("/sys/devices/virtual/dmi/id/product_name") =~ /oVirt Node/ rescue false
84
98
  end
85
99
 
86
100
  def self.jail?
@@ -95,7 +109,22 @@ module Facter::Util::Virtual
95
109
  Facter::Util::Resolution.exec("/usr/bin/getconf MACHINE_MODEL").chomp =~ /Virtual Machine/
96
110
  end
97
111
 
98
- def self.zlinux?
112
+ def self.zlinux?
99
113
  "zlinux"
100
- end
114
+ end
115
+
116
+ ##
117
+ # read_sysfs Reads the raw data as per the documentation at [Detecting if You
118
+ # Are Running in Google Compute
119
+ # Engine](https://developers.google.com/compute/docs/instances#dmi) This
120
+ # method is intended to provide an easy seam to mock.
121
+ #
122
+ # @api public
123
+ #
124
+ # @return [String] or nil if the path does not exist
125
+ def self.read_sysfs_dmi_entries(path="/sys/firmware/dmi/entries/1-0/raw")
126
+ if File.exists?(path)
127
+ File.read(path)
128
+ end
129
+ end
101
130
  end
@@ -1,13 +1,83 @@
1
1
  module Facter
2
2
  if not defined? FACTERVERSION then
3
- FACTERVERSION = '1.6.18'
3
+ FACTERVERSION = '1.7.0-rc1'
4
4
  end
5
5
 
6
+ ##
7
+ # version is a public API method intended to always provide a fast and
8
+ # lightweight way to determine the version of Facter.
9
+ #
10
+ # The intent is that software external to Facter be able to determine the
11
+ # Facter version with no side-effects. The expected use is:
12
+ #
13
+ # require 'facter/version'
14
+ # version = Facter.version
15
+ #
16
+ # This function has the following ordering precedence. This precedence list
17
+ # is designed to facilitate automated packaging tasks by simply writing to
18
+ # the VERSION file in the same directory as this source file.
19
+ #
20
+ # 1. If a version has been explicitly assigned using the Facter.version=
21
+ # method, return that version.
22
+ # 2. If there is a VERSION file, read the contents, trim any
23
+ # trailing whitespace, and return that version string.
24
+ # 3. Return the value of the Facter::FACTERVERSION constant hard-coded into
25
+ # the source code.
26
+ #
27
+ # If there is no VERSION file, the method must return the version string of
28
+ # the nearest parent version that is an officially released version. That is
29
+ # to say, if a branch named 3.1.x contains 25 patches on top of the most
30
+ # recent official release of 3.1.1, then the version method must return the
31
+ # string "3.1.1" if no "VERSION" file is present.
32
+ #
33
+ # By design the version identifier is _not_ intended to vary during the life
34
+ # a process. There is no guarantee provided that writing to the VERSION file
35
+ # while a Puppet process is running will cause the version string to be
36
+ # updated. On the contrary, the contents of the VERSION are cached to reduce
37
+ # filesystem accesses.
38
+ #
39
+ # The VERSION file is intended to be used by package maintainers who may be
40
+ # applying patches or otherwise changing the software version in a manner
41
+ # that warrants a different software version identifier. The VERSION file is
42
+ # intended to be managed and owned by the release process and packaging
43
+ # related tasks, and as such should not reside in version control. The
44
+ # FACTERVERSION constant is intended to be version controlled in history.
45
+ #
46
+ # Ideally, this behavior will allow package maintainers to precisely specify
47
+ # the version of the software they're packaging as in the following example:
48
+ #
49
+ # $ git describe > lib/facter/VERSION
50
+ # $ ruby -r facter -e 'puts Facter.version'
51
+ # 1.6.14-6-g66f2c99
52
+ #
53
+ # @api public
54
+ #
55
+ # @return [String] containing the facter version, e.g. "1.6.14"
6
56
  def self.version
7
- @facter_version || FACTERVERSION
57
+ version_file = File.join(File.dirname(__FILE__), 'VERSION')
58
+ return @facter_version if @facter_version
59
+ if version = read_version_file(version_file)
60
+ @facter_version = version
61
+ end
62
+ @facter_version ||= FACTERVERSION
8
63
  end
9
64
 
10
65
  def self.version=(version)
11
66
  @facter_version = version
12
67
  end
68
+
69
+ ##
70
+ # read_version_file reads the content of the "VERSION" file that lives in the
71
+ # same directory as this source code file.
72
+ #
73
+ # @api private
74
+ #
75
+ # @return [String] for example: "1.6.14-6-gea42046" or nil if the VERSION
76
+ # file does not exist.
77
+ def self.read_version_file(path)
78
+ if File.exists?(path)
79
+ File.read(path).chomp
80
+ end
81
+ end
82
+ private_class_method :read_version_file
13
83
  end
@@ -73,13 +73,17 @@ Facter.add("virtual") do
73
73
  end
74
74
 
75
75
  if Facter::Util::Virtual.xen?
76
- if FileTest.exists?("/proc/xen/xsd_kva")
76
+ if FileTest.exists?("/dev/xen/evtchn")
77
77
  result = "xen0"
78
- elsif FileTest.exists?("/proc/xen/capabilities")
78
+ elsif FileTest.exists?("/proc/xen")
79
79
  result = "xenu"
80
80
  end
81
81
  end
82
82
 
83
+ if Facter::Util::Virtual.virtualbox?
84
+ result = "virtualbox"
85
+ end
86
+
83
87
  if Facter::Util::Virtual.kvm?
84
88
  result = Facter::Util::Virtual.kvm_type()
85
89
  end
@@ -88,6 +92,14 @@ Facter.add("virtual") do
88
92
  result = "jail" if Facter::Util::Virtual.jail?
89
93
  end
90
94
 
95
+ if Facter::Util::Virtual.rhev?
96
+ result = "rhev"
97
+ end
98
+
99
+ if Facter::Util::Virtual.ovirt?
100
+ result = "ovirt"
101
+ end
102
+
91
103
  if result == "physical"
92
104
  output = Facter::Util::Virtual.lspci
93
105
  if not output.nil?
@@ -107,6 +119,9 @@ Facter.add("virtual") do
107
119
  # --- look for Hyper-V video card
108
120
  # --- 00:08.0 VGA compatible controller: Microsoft Corporation Hyper-V virtual VGA
109
121
  result = "hyperv" if p =~ /Microsoft Corporation Hyper-V/
122
+ # --- look for gmetrics for GCE
123
+ # --- 00:05.0 Class 8007: Google, Inc. Device 6442
124
+ result = "gce" if p =~ /Class 8007: Google, Inc/
110
125
  end
111
126
  else
112
127
  output = Facter::Util::Resolution.exec('dmidecode')
@@ -117,6 +132,8 @@ Facter.add("virtual") do
117
132
  result = "virtualbox" if pd =~ /VirtualBox/
118
133
  result = "xenhvm" if pd =~ /HVM domU/
119
134
  result = "hyperv" if pd =~ /Product Name: Virtual Machine/
135
+ result = "rhev" if pd =~ /Product Name: RHEV Hypervisor/
136
+ result = "ovirt" if pd =~ /Product Name: oVirt Node/
120
137
  end
121
138
  elsif Facter.value(:kernel) == 'SunOS'
122
139
  res = Facter::Util::Resolution.new('prtdiag')
@@ -153,6 +170,27 @@ Facter.add("virtual") do
153
170
  end
154
171
  end
155
172
 
173
+ Facter.add("virtual") do
174
+ confine :kernel => "windows"
175
+ setcode do
176
+ require 'facter/util/wmi'
177
+ result = nil
178
+ Facter::Util::WMI.execquery("SELECT manufacturer, model FROM Win32_ComputerSystem").each do |computersystem|
179
+ result =
180
+ case computersystem.model
181
+ when /VirtualBox/ then "virtualbox"
182
+ when /Virtual Machine/
183
+ computersystem.manufacturer =~ /Microsoft/ ? "hyperv" : nil
184
+ when /VMware/ then "vmware"
185
+ when /KVM/ then "kvm"
186
+ else "physical"
187
+ end
188
+ break
189
+ end
190
+ result
191
+ end
192
+ end
193
+
156
194
  ##
157
195
  # virtual fact based on virt-what command.
158
196
  #
@@ -186,6 +224,21 @@ Facter.add("virtual") do
186
224
  end
187
225
  end
188
226
 
227
+ ##
228
+ # virtual fact specific to Google Compute Engine's Linux sysfs entry.
229
+ Facter.add("virtual") do
230
+ has_weight 600
231
+ confine :kernel => "Linux"
232
+
233
+ setcode do
234
+ if dmi_data = Facter::Util::Virtual.read_sysfs_dmi_entries
235
+ case dmi_data
236
+ when /Google/
237
+ "gce"
238
+ end
239
+ end
240
+ end
241
+ end
189
242
  # Fact: is_virtual
190
243
  #
191
244
  # Purpose: returning true or false for if a machine is virtualised or not.
@@ -198,7 +251,7 @@ end
198
251
  #
199
252
 
200
253
  Facter.add("is_virtual") do
201
- confine :kernel => %w{Linux FreeBSD OpenBSD SunOS HP-UX Darwin GNU/kFreeBSD}
254
+ confine :kernel => %w{Linux FreeBSD OpenBSD SunOS HP-UX Darwin GNU/kFreeBSD windows}
202
255
 
203
256
  setcode do
204
257
  physical_types = %w{physical xen0 vmware_server vmware_workstation openvzhn}
@@ -0,0 +1,10 @@
1
+ require 'facter'
2
+
3
+ Facter.add('zfs_version') do
4
+ setcode do
5
+ if Facter::Util::Resolution.which('zfs')
6
+ zfs_v = Facter::Util::Resolution.exec('zfs upgrade -v')
7
+ zfs_version = zfs_v.scan(/^\s+(\d+)\s+/m).flatten.last unless zfs_v.nil?
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,6 @@
1
+ require 'facter'
2
+
3
+ Facter.add('zonename') do
4
+ confine :kernel => :sunos
5
+ setcode('zonename')
6
+ end
@@ -0,0 +1,17 @@
1
+ # Fact: zones#
2
+ #
3
+ # Purpose:
4
+ # Return the list of zones on the system and add one zones_ fact
5
+ # for each zone with its state e.g. running, incomplete or installed.
6
+ #
7
+ # Resolution:
8
+ # Uses 'usr/sbin/zoneadm list -cp' to get the list of zones in separate parsable
9
+ # lines with delimeter being ':' which is used to split the line string and get
10
+ # the zone details.
11
+ #
12
+ # Caveats:
13
+ # We dont support below s10 where zones are not available.
14
+ require 'facter/util/solaris_zones'
15
+ if Facter.value(:kernel) == 'SunOS'
16
+ Facter::Util::SolarisZones.add_facts
17
+ end
@@ -0,0 +1,10 @@
1
+ require 'facter'
2
+
3
+ Facter.add('zpool_version') do
4
+ setcode do
5
+ if Facter::Util::Resolution.which('zpool')
6
+ zpool_v = Facter::Util::Resolution.exec('zpool upgrade -v')
7
+ zpool_version = zpool_v.match(/ZFS pool version (\d+)./).captures.first unless zpool_v.nil?
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,19 @@
1
+ em1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
2
+ inet 131.252.209.153 netmask 255.255.255.0 broadcast 192.168.76.255
3
+ inet6 2610:10:20:209:212:3fff:febe:2201 prefixlen 128 scopeid 0x0<global>
4
+ inet6 fe80::221:ccff:fe4b:297d prefixlen 64 scopeid 0x20<link>
5
+ ether 00:21:cc:4b:29:7d txqueuelen 1000 (Ethernet)
6
+ RX packets 27222144 bytes 31247414760 (29.1 GiB)
7
+ RX errors 0 dropped 0 overruns 0 frame 0
8
+ TX packets 10259038 bytes 7784519352 (7.2 GiB)
9
+ TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
10
+ device interrupt 20 memory 0xd2600000-d2620000
11
+
12
+ lo: flags=73<UP,LOOPBACK,RUNNING> mtu 16436
13
+ inet 127.0.0.1 netmask 255.0.0.0
14
+ inet6 ::1 prefixlen 128 scopeid 0x10<host>
15
+ loop txqueuelen 0 (Local Loopback)
16
+ RX packets 257371 bytes 37104110 (35.3 MiB)
17
+ RX errors 0 dropped 0 overruns 0 frame 0
18
+ TX packets 257371 bytes 37104110 (35.3 MiB)
19
+ TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
@@ -0,0 +1,16 @@
1
+ eth0 Link encap:Ethernet HWaddr 42:01:0a:57:50:6e
2
+ inet addr:10.87.80.110 Bcast:10.87.80.110 Mask:255.255.255.255
3
+ UP BROADCAST RUNNING MULTICAST MTU:1460 Metric:1
4
+ RX packets:1609444 errors:0 dropped:0 overruns:0 frame:0
5
+ TX packets:1479569 errors:0 dropped:0 overruns:0 carrier:0
6
+ collisions:0 txqueuelen:1000
7
+ RX bytes:673812693 (673.8 MB) TX bytes:221186872 (221.1 MB)
8
+
9
+ lo Link encap:Local Loopback
10
+ inet addr:127.0.0.1 Mask:255.0.0.0
11
+ UP LOOPBACK RUNNING MTU:16436 Metric:1
12
+ RX packets:5435415 errors:0 dropped:0 overruns:0 frame:0
13
+ TX packets:5435415 errors:0 dropped:0 overruns:0 carrier:0
14
+ collisions:0 txqueuelen:0
15
+ RX bytes:734540224 (734.5 MB) TX bytes:734540224 (734.5 MB)
16
+
@@ -0,0 +1,6 @@
1
+ VERSION 1.0
2
+ DOMAINROLE|impl=LDoms|control=false|io=true|service=true|root=true
3
+ DOMAINNAME|name=primary
4
+ DOMAINUUID|uuid=8e0d6ec5-cd55-e57f-ae9f-b4cc050999a4
5
+ DOMAINCONTROL|name=san-t2k-6
6
+ DOMAINCHASSIS|serialno=0704RB0280
@@ -0,0 +1,28 @@
1
+ nodev sysfs
2
+ nodev rootfs
3
+ nodev bdev
4
+ nodev proc
5
+ nodev cgroup
6
+ nodev cpuset
7
+ nodev debugfs
8
+ nodev securityfs
9
+ nodev sockfs
10
+ nodev pipefs
11
+ nodev anon_inodefs
12
+ nodev tmpfs
13
+ nodev inotifyfs
14
+ nodev devpts
15
+ ext3
16
+ ext2
17
+ ext4
18
+ nodev ramfs
19
+ nodev hugetlbfs
20
+ nodev ecryptfs
21
+ nodev fuse
22
+ fuseblk
23
+ nodev fusectl
24
+ nodev mqueue
25
+ xfs
26
+ nodev binfmt_misc
27
+ vfat
28
+ iso9660
@@ -0,0 +1,549 @@
1
+ # dmidecode 2.11
2
+ SMBIOS 2.7 present.
3
+ 52 structures occupying 2192 bytes.
4
+ Table at 0x000EB270.
5
+
6
+ Handle 0x0000, DMI type 0, 24 bytes
7
+ BIOS Information
8
+ Vendor: Intel Corp.
9
+ Version: AGH6110H.86A.0039.2012.0410.1054
10
+ Release Date: 04/10/2012
11
+ Address: 0xF0000
12
+ Runtime Size: 64 kB
13
+ ROM Size: 1024 kB
14
+ Characteristics:
15
+ PCI is supported
16
+ BIOS is upgradeable
17
+ BIOS shadowing is allowed
18
+ Boot from CD is supported
19
+ Selectable boot is supported
20
+ BIOS ROM is socketed
21
+ EDD is supported
22
+ 5.25"/1.2 MB floppy services are supported (int 13h)
23
+ 3.5"/720 kB floppy services are supported (int 13h)
24
+ 3.5"/2.88 MB floppy services are supported (int 13h)
25
+ Print screen service is supported (int 5h)
26
+ 8042 keyboard services are supported (int 9h)
27
+ Serial services are supported (int 14h)
28
+ Printer services are supported (int 17h)
29
+ ACPI is supported
30
+ USB legacy is supported
31
+ BIOS boot specification is supported
32
+ Targeted content distribution is supported
33
+ UEFI is supported
34
+
35
+ Handle 0x0001, DMI type 1, 27 bytes
36
+ System Information
37
+ Manufacturer:
38
+ Product Name:
39
+ Version:
40
+ Serial Number:
41
+ UUID: 60A98BB3-95B6-E111-AF74-4C72B9247D28
42
+ Wake-up Type: Power Switch
43
+ SKU Number: Not Specified
44
+ Family: Not Specified
45
+
46
+ Handle 0x0002, DMI type 2, 15 bytes
47
+ Base Board Information
48
+ Manufacturer: Intel Corporation
49
+ Product Name: DH61AG
50
+ Version: AAG23736-503
51
+ Serial Number: BTAG2240143N
52
+ Asset Tag: To be filled by O.E.M.
53
+ Features:
54
+ Board is a hosting board
55
+ Board is replaceable
56
+ Location In Chassis: To be filled by O.E.M.
57
+ Chassis Handle: 0x0003
58
+ Type: Motherboard
59
+ Contained Object Handles: 0
60
+
61
+ Handle 0x0003, DMI type 3, 22 bytes
62
+ Chassis Information
63
+ Manufacturer:
64
+ Type: Desktop
65
+ Lock: Not Present
66
+ Version:
67
+ Serial Number:
68
+ Asset Tag:
69
+ Boot-up State: Safe
70
+ Power Supply State: Safe
71
+ Thermal State: Safe
72
+ Security Status: None
73
+ OEM Information: 0x00000000
74
+ Height: Unspecified
75
+ Number Of Power Cords: 1
76
+ Contained Elements: 0
77
+ SKU Number: To be filled by O.E.M.
78
+
79
+ Handle 0x0004, DMI type 4, 42 bytes
80
+ Processor Information
81
+ Socket Designation: LGA1155 CPU 1
82
+ Type: Central Processor
83
+ Family: Core i3
84
+ Manufacturer: Intel(R) Corp.
85
+ ID: A7 06 02 00 FF FB EB BF
86
+ Signature: Type 0, Family 6, Model 42, Stepping 7
87
+ Flags:
88
+ FPU (Floating-point unit on-chip)
89
+ VME (Virtual mode extension)
90
+ DE (Debugging extension)
91
+ PSE (Page size extension)
92
+ TSC (Time stamp counter)
93
+ MSR (Model specific registers)
94
+ PAE (Physical address extension)
95
+ MCE (Machine check exception)
96
+ CX8 (CMPXCHG8 instruction supported)
97
+ APIC (On-chip APIC hardware supported)
98
+ SEP (Fast system call)
99
+ MTRR (Memory type range registers)
100
+ PGE (Page global enable)
101
+ MCA (Machine check architecture)
102
+ CMOV (Conditional move instruction supported)
103
+ PAT (Page attribute table)
104
+ PSE-36 (36-bit page size extension)
105
+ CLFSH (CLFLUSH instruction supported)
106
+ DS (Debug store)
107
+ ACPI (ACPI supported)
108
+ MMX (MMX technology supported)
109
+ FXSR (FXSAVE and FXSTOR instructions supported)
110
+ SSE (Streaming SIMD extensions)
111
+ SSE2 (Streaming SIMD extensions 2)
112
+ SS (Self-snoop)
113
+ HTT (Multi-threading)
114
+ TM (Thermal monitor supported)
115
+ PBE (Pending break enabled)
116
+ Version: Intel(R) Core(TM) i3-2130 CPU @ 3.40GHz
117
+ Voltage: 1.7 V
118
+ External Clock: 25 MHz
119
+ Max Speed: 4000 MHz
120
+ Current Speed: 3400 MHz
121
+ Status: Populated, Enabled
122
+ Upgrade: Socket BGA1155
123
+ L1 Cache Handle: 0x0005
124
+ L2 Cache Handle: 0x0006
125
+ L3 Cache Handle: 0x0007
126
+ Serial Number: To Be Filled By O.E.M.
127
+ Asset Tag: To Be Filled By O.E.M.
128
+ Part Number: To Be Filled By O.E.M.
129
+ Core Count: 2
130
+ Core Enabled: 1
131
+ Thread Count: 2
132
+ Characteristics:
133
+ 64-bit capable
134
+
135
+ Handle 0x0005, DMI type 7, 19 bytes
136
+ Cache Information
137
+ Socket Designation: L1-Cache
138
+ Configuration: Enabled, Not Socketed, Level 1
139
+ Operational Mode: Write Back
140
+ Location: Internal
141
+ Installed Size: 32 kB
142
+ Maximum Size: 32 kB
143
+ Supported SRAM Types:
144
+ Other
145
+ Installed SRAM Type: Other
146
+ Speed: Unknown
147
+ Error Correction Type: None
148
+ System Type: Unified
149
+ Associativity: 8-way Set-associative
150
+
151
+ Handle 0x0006, DMI type 7, 19 bytes
152
+ Cache Information
153
+ Socket Designation: L2-Cache
154
+ Configuration: Enabled, Not Socketed, Level 2
155
+ Operational Mode: Varies With Memory Address
156
+ Location: Internal
157
+ Installed Size: 512 kB
158
+ Maximum Size: 512 kB
159
+ Supported SRAM Types:
160
+ Other
161
+ Installed SRAM Type: Other
162
+ Speed: Unknown
163
+ Error Correction Type: None
164
+ System Type: Unified
165
+ Associativity: 8-way Set-associative
166
+
167
+ Handle 0x0007, DMI type 7, 19 bytes
168
+ Cache Information
169
+ Socket Designation: L3-Cache
170
+ Configuration: Enabled, Not Socketed, Level 3
171
+ Operational Mode: Unknown
172
+ Location: Internal
173
+ Installed Size: 3072 kB
174
+ Maximum Size: 3072 kB
175
+ Supported SRAM Types:
176
+ Other
177
+ Installed SRAM Type: Other
178
+ Speed: Unknown
179
+ Error Correction Type: None
180
+ System Type: Unified
181
+ Associativity: Other
182
+
183
+ Handle 0x0008, DMI type 8, 9 bytes
184
+ Port Connector Information
185
+ Internal Reference Designator: J1A1
186
+ Internal Connector Type: None
187
+ External Reference Designator: PS2Mouse
188
+ External Connector Type: PS/2
189
+ Port Type: Mouse Port
190
+
191
+ Handle 0x0009, DMI type 8, 9 bytes
192
+ Port Connector Information
193
+ Internal Reference Designator: J1A1
194
+ Internal Connector Type: None
195
+ External Reference Designator: Keyboard
196
+ External Connector Type: PS/2
197
+ Port Type: Keyboard Port
198
+
199
+ Handle 0x000A, DMI type 8, 9 bytes
200
+ Port Connector Information
201
+ Internal Reference Designator: J2A1
202
+ Internal Connector Type: None
203
+ External Reference Designator: TV Out
204
+ External Connector Type: Mini Centronics Type-14
205
+ Port Type: Other
206
+
207
+ Handle 0x000B, DMI type 8, 9 bytes
208
+ Port Connector Information
209
+ Internal Reference Designator: J2A2A
210
+ Internal Connector Type: None
211
+ External Reference Designator: COM A
212
+ External Connector Type: DB-9 male
213
+ Port Type: Serial Port 16550A Compatible
214
+
215
+ Handle 0x000C, DMI type 8, 9 bytes
216
+ Port Connector Information
217
+ Internal Reference Designator: J2A2B
218
+ Internal Connector Type: None
219
+ External Reference Designator: Video
220
+ External Connector Type: DB-15 female
221
+ Port Type: Video Port
222
+
223
+ Handle 0x000D, DMI type 8, 9 bytes
224
+ Port Connector Information
225
+ Internal Reference Designator: J3A1
226
+ Internal Connector Type: None
227
+ External Reference Designator: USB1
228
+ External Connector Type: Access Bus (USB)
229
+ Port Type: USB
230
+
231
+ Handle 0x000E, DMI type 8, 9 bytes
232
+ Port Connector Information
233
+ Internal Reference Designator: J3A1
234
+ Internal Connector Type: None
235
+ External Reference Designator: USB2
236
+ External Connector Type: Access Bus (USB)
237
+ Port Type: USB
238
+
239
+ Handle 0x000F, DMI type 8, 9 bytes
240
+ Port Connector Information
241
+ Internal Reference Designator: J3A1
242
+ Internal Connector Type: None
243
+ External Reference Designator: USB3
244
+ External Connector Type: Access Bus (USB)
245
+ Port Type: USB
246
+
247
+ Handle 0x0010, DMI type 8, 9 bytes
248
+ Port Connector Information
249
+ Internal Reference Designator: J9A1 - TPM HDR
250
+ Internal Connector Type: Other
251
+ External Reference Designator: Not Specified
252
+ External Connector Type: None
253
+ Port Type: Other
254
+
255
+ Handle 0x0011, DMI type 8, 9 bytes
256
+ Port Connector Information
257
+ Internal Reference Designator: J9C1 - PCIE DOCKING CONN
258
+ Internal Connector Type: Other
259
+ External Reference Designator: Not Specified
260
+ External Connector Type: None
261
+ Port Type: Other
262
+
263
+ Handle 0x0012, DMI type 8, 9 bytes
264
+ Port Connector Information
265
+ Internal Reference Designator: J2B3 - CPU FAN
266
+ Internal Connector Type: Other
267
+ External Reference Designator: Not Specified
268
+ External Connector Type: None
269
+ Port Type: Other
270
+
271
+ Handle 0x0013, DMI type 8, 9 bytes
272
+ Port Connector Information
273
+ Internal Reference Designator: J6C2 - EXT HDMI
274
+ Internal Connector Type: Other
275
+ External Reference Designator: Not Specified
276
+ External Connector Type: None
277
+ Port Type: Other
278
+
279
+ Handle 0x0014, DMI type 8, 9 bytes
280
+ Port Connector Information
281
+ Internal Reference Designator: J3C1 - GMCH FAN
282
+ Internal Connector Type: Other
283
+ External Reference Designator: Not Specified
284
+ External Connector Type: None
285
+ Port Type: Other
286
+
287
+ Handle 0x0015, DMI type 8, 9 bytes
288
+ Port Connector Information
289
+ Internal Reference Designator: J1D1 - ITP
290
+ Internal Connector Type: Other
291
+ External Reference Designator: Not Specified
292
+ External Connector Type: None
293
+ Port Type: Other
294
+
295
+ Handle 0x0016, DMI type 8, 9 bytes
296
+ Port Connector Information
297
+ Internal Reference Designator: J9E2 - MDC INTPSR
298
+ Internal Connector Type: Other
299
+ External Reference Designator: Not Specified
300
+ External Connector Type: None
301
+ Port Type: Other
302
+
303
+ Handle 0x0017, DMI type 8, 9 bytes
304
+ Port Connector Information
305
+ Internal Reference Designator: J9E4 - MDC INTPSR
306
+ Internal Connector Type: Other
307
+ External Reference Designator: Not Specified
308
+ External Connector Type: None
309
+ Port Type: Other
310
+
311
+ Handle 0x0018, DMI type 8, 9 bytes
312
+ Port Connector Information
313
+ Internal Reference Designator: J9E3 - LPC HOT DOCKING
314
+ Internal Connector Type: Other
315
+ External Reference Designator: Not Specified
316
+ External Connector Type: None
317
+ Port Type: Other
318
+
319
+ Handle 0x0019, DMI type 8, 9 bytes
320
+ Port Connector Information
321
+ Internal Reference Designator: J9E1 - SCAN MATRIX
322
+ Internal Connector Type: Other
323
+ External Reference Designator: Not Specified
324
+ External Connector Type: None
325
+ Port Type: Other
326
+
327
+ Handle 0x001A, DMI type 8, 9 bytes
328
+ Port Connector Information
329
+ Internal Reference Designator: J9G1 - LPC SIDE BAND
330
+ Internal Connector Type: Other
331
+ External Reference Designator: Not Specified
332
+ External Connector Type: None
333
+ Port Type: Other
334
+
335
+ Handle 0x001B, DMI type 8, 9 bytes
336
+ Port Connector Information
337
+ Internal Reference Designator: J8F1 - UNIFIED
338
+ Internal Connector Type: Other
339
+ External Reference Designator: Not Specified
340
+ External Connector Type: None
341
+ Port Type: Other
342
+
343
+ Handle 0x001C, DMI type 8, 9 bytes
344
+ Port Connector Information
345
+ Internal Reference Designator: J6F1 - LVDS
346
+ Internal Connector Type: Other
347
+ External Reference Designator: Not Specified
348
+ External Connector Type: None
349
+ Port Type: Other
350
+
351
+ Handle 0x001D, DMI type 8, 9 bytes
352
+ Port Connector Information
353
+ Internal Reference Designator: J2F1 - LAI FAN
354
+ Internal Connector Type: Other
355
+ External Reference Designator: Not Specified
356
+ External Connector Type: None
357
+ Port Type: Other
358
+
359
+ Handle 0x001E, DMI type 8, 9 bytes
360
+ Port Connector Information
361
+ Internal Reference Designator: J2G1 - GFX VID
362
+ Internal Connector Type: Other
363
+ External Reference Designator: Not Specified
364
+ External Connector Type: None
365
+ Port Type: Other
366
+
367
+ Handle 0x001F, DMI type 8, 9 bytes
368
+ Port Connector Information
369
+ Internal Reference Designator: J1G6 - AC JACK
370
+ Internal Connector Type: Other
371
+ External Reference Designator: Not Specified
372
+ External Connector Type: None
373
+ Port Type: Other
374
+
375
+ Handle 0x0020, DMI type 9, 17 bytes
376
+ System Slot Information
377
+ Designation: PCIe X4 SLOT1
378
+ Type: x4 PCI Express
379
+ Current Usage: Available
380
+ Length: Long
381
+ ID: 0
382
+ Characteristics:
383
+ 3.3 V is provided
384
+ Opening is shared
385
+ PME signal is supported
386
+ Bus Address: 0000:00:01.0
387
+
388
+ Handle 0x0021, DMI type 10, 6 bytes
389
+ On Board Device Information
390
+ Type: Video
391
+ Status: Enabled
392
+ Description: Intel(R) HD Graphics Device
393
+
394
+ Handle 0x0022, DMI type 10, 6 bytes
395
+ On Board Device Information
396
+ Type: Ethernet
397
+ Status: Enabled
398
+ Description: Intel(R) 82579V Gigabit Network Device
399
+
400
+ Handle 0x0023, DMI type 10, 6 bytes
401
+ On Board Device Information
402
+ Type: Sound
403
+ Status: Enabled
404
+ Description: Intel(R) High Definition Audio Device
405
+
406
+ Handle 0x0024, DMI type 11, 5 bytes
407
+ OEM Strings
408
+ String 1: To Be Filled By O.E.M.
409
+
410
+ Handle 0x0025, DMI type 12, 5 bytes
411
+ System Configuration Options
412
+ Option 1: To Be Filled By O.E.M.
413
+
414
+ Handle 0x0026, DMI type 16, 15 bytes
415
+ Physical Memory Array
416
+ Location: System Board Or Motherboard
417
+ Use: System Memory
418
+ Error Correction Type: None
419
+ Maximum Capacity: 16 GB
420
+ Error Information Handle: No Error
421
+ Number Of Devices: 2
422
+
423
+ Handle 0x0027, DMI type 18, 23 bytes
424
+ 32-bit Memory Error Information
425
+ Type: OK
426
+ Granularity: Unknown
427
+ Operation: Unknown
428
+ Vendor Syndrome: Unknown
429
+ Memory Array Address: Unknown
430
+ Device Address: Unknown
431
+ Resolution: Unknown
432
+
433
+ Handle 0x0028, DMI type 19, 15 bytes
434
+ Memory Array Mapped Address
435
+ Starting Address: 0x00000000000
436
+ Ending Address: 0x003FFFFFFFF
437
+ Range Size: 16 GB
438
+ Physical Array Handle: 0x0026
439
+ Partition Width: 1
440
+
441
+ Handle 0x0029, DMI type 17, 28 bytes
442
+ Memory Device
443
+ Array Handle: 0x0026
444
+ Error Information Handle: No Error
445
+ Total Width: 64 bits
446
+ Data Width: 64 bits
447
+ Size: 8192 MB
448
+ Form Factor: DIMM
449
+ Set: None
450
+ Locator: SODIMM1
451
+ Bank Locator: Channel A DIMM 0
452
+ Type: DDR3
453
+ Type Detail: Synchronous
454
+ Speed: 1333 MHz
455
+ Manufacturer: Kingston
456
+ Serial Number: 363D6E24
457
+ Asset Tag: A1_AssetTagNum0
458
+ Part Number: 9905428-093.A00LF
459
+ Rank: 2
460
+
461
+ Handle 0x002A, DMI type 18, 23 bytes
462
+ 32-bit Memory Error Information
463
+ Type: OK
464
+ Granularity: Unknown
465
+ Operation: Unknown
466
+ Vendor Syndrome: Unknown
467
+ Memory Array Address: Unknown
468
+ Device Address: Unknown
469
+ Resolution: Unknown
470
+
471
+ Handle 0x002B, DMI type 20, 19 bytes
472
+ Memory Device Mapped Address
473
+ Starting Address: 0x00000000000
474
+ Ending Address: 0x001FFFFFFFF
475
+ Range Size: 8 GB
476
+ Physical Device Handle: 0x0029
477
+ Memory Array Mapped Address Handle: 0x0028
478
+ Partition Row Position: 1
479
+
480
+ Handle 0x002C, DMI type 17, 28 bytes
481
+ Memory Device
482
+ Array Handle: 0x0026
483
+ Error Information Handle: No Error
484
+ Total Width: 64 bits
485
+ Data Width: 64 bits
486
+ Size: 8192 MB
487
+ Form Factor: DIMM
488
+ Set: None
489
+ Locator: SODIMM2
490
+ Bank Locator: Channel B DIMM 0
491
+ Type: DDR3
492
+ Type Detail: Synchronous
493
+ Speed: 1333 MHz
494
+ Manufacturer: Kingston
495
+ Serial Number: 363D2A28
496
+ Asset Tag: A1_AssetTagNum1
497
+ Part Number: 9905428-093.A00LF
498
+ Rank: 2
499
+
500
+ Handle 0x002D, DMI type 18, 23 bytes
501
+ 32-bit Memory Error Information
502
+ Type: OK
503
+ Granularity: Unknown
504
+ Operation: Unknown
505
+ Vendor Syndrome: Unknown
506
+ Memory Array Address: Unknown
507
+ Device Address: Unknown
508
+ Resolution: Unknown
509
+
510
+ Handle 0x002E, DMI type 20, 19 bytes
511
+ Memory Device Mapped Address
512
+ Starting Address: 0x00200000000
513
+ Ending Address: 0x003FFFFFFFF
514
+ Range Size: 8 GB
515
+ Physical Device Handle: 0x002C
516
+ Memory Array Mapped Address Handle: 0x0028
517
+ Partition Row Position: 1
518
+
519
+ Handle 0x002F, DMI type 32, 20 bytes
520
+ System Boot Information
521
+ Status: No errors detected
522
+
523
+ Handle 0x0030, DMI type 41, 11 bytes
524
+ Onboard Device
525
+ Reference Designation: Intel(R) HD Graphics Device
526
+ Type: Video
527
+ Status: Enabled
528
+ Type Instance: 1
529
+ Bus Address: 0000:00:02.0
530
+
531
+ Handle 0x0031, DMI type 41, 11 bytes
532
+ Onboard Device
533
+ Reference Designation: Intel(R) 82579V Gigabit Network Device
534
+ Type: Ethernet
535
+ Status: Enabled
536
+ Type Instance: 1
537
+ Bus Address: 0000:00:19.0
538
+
539
+ Handle 0x0032, DMI type 41, 11 bytes
540
+ Onboard Device
541
+ Reference Designation: Intel(R) High Definition Audio Device
542
+ Type: Sound
543
+ Status: Enabled
544
+ Type Instance: 1
545
+ Bus Address: 0000:00:1b.0
546
+
547
+ Handle 0x0041, DMI type 127, 4 bytes
548
+ End Of Table
549
+