aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rw-r--r--tools/python/xen/xend/XendNode.py28
-rw-r--r--tools/python/xen/xend/osdep.py28
2 files changed, 30 insertions, 26 deletions
diff --git a/tools/python/xen/xend/XendNode.py b/tools/python/xen/xend/XendNode.py
index 756c3b27f2..a4d2e197ea 100644
--- a/tools/python/xen/xend/XendNode.py
+++ b/tools/python/xen/xend/XendNode.py
@@ -23,6 +23,7 @@ import xen.lowlevel.xc
from xen.util import Brctl
from xen.util import pci as PciUtil
from xen.xend import XendAPIStore
+from xen.xend import osdep
import uuid, arch
from XendPBD import XendPBD
@@ -91,7 +92,7 @@ class XendNode:
for cpu_uuid, cpu in saved_cpus.items():
self.cpus[cpu_uuid] = cpu
- cpuinfo = parse_proc_cpuinfo()
+ cpuinfo = osdep.get_cpuinfo()
physinfo = self.physinfo_dict()
cpu_count = physinfo['nr_cpus']
cpu_features = physinfo['hw_caps']
@@ -743,31 +744,6 @@ class XendNode:
def info_dict(self):
return dict(self.info())
-def parse_proc_cpuinfo():
- cpuinfo = {}
- f = file('/proc/cpuinfo', 'r')
- try:
- p = -1
- d = {}
- for line in f:
- keyvalue = line.split(':')
- if len(keyvalue) != 2:
- continue
- key = keyvalue[0].strip()
- val = keyvalue[1].strip()
- if key == 'processor':
- if p != -1:
- cpuinfo[p] = d
- p = int(val)
- d = {}
- else:
- d[key] = val
- cpuinfo[p] = d
- return cpuinfo
- finally:
- f.close()
-
-
def instance():
global inst
try:
diff --git a/tools/python/xen/xend/osdep.py b/tools/python/xen/xend/osdep.py
index b2d310064d..bbb79f6714 100644
--- a/tools/python/xen/xend/osdep.py
+++ b/tools/python/xen/xend/osdep.py
@@ -87,6 +87,33 @@ _balloon_stat = {
"SunOS": _solaris_balloon_stat
}
+def _linux_get_cpuinfo():
+ cpuinfo = {}
+ f = file('/proc/cpuinfo', 'r')
+ try:
+ p = -1
+ d = {}
+ for line in f:
+ keyvalue = line.split(':')
+ if len(keyvalue) != 2:
+ continue
+ key = keyvalue[0].strip()
+ val = keyvalue[1].strip()
+ if key == 'processor':
+ if p != -1:
+ cpuinfo[p] = d
+ p = int(val)
+ d = {}
+ else:
+ d[key] = val
+ cpuinfo[p] = d
+ return cpuinfo
+ finally:
+ f.close()
+
+_get_cpuinfo = {
+}
+
def _get(var, default=None):
return var.get(os.uname()[0], default)
@@ -95,3 +122,4 @@ xend_autorestart = _get(_xend_autorestart)
pygrub_path = _get(_pygrub_path, "/usr/bin/pygrub")
vif_script = _get(_vif_script, "vif-bridge")
lookup_balloon_stat = _get(_balloon_stat, _linux_balloon_stat)
+get_cpuinfo = _get(_get_cpuinfo, _linux_get_cpuinfo)