mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
xend: portability cleanup
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
This commit is contained in:
1 parent
16519cc5e8
commit
ce88683ac9
2 files changed
+30
-26
No files matched your search
@@ -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:
|
||||
|
||||
@@ -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)
|
||||