diff options
author | Karel Zak | 2016-03-15 14:23:59 +0100 |
---|---|---|
committer | Karel Zak | 2016-03-15 14:23:59 +0100 |
commit | 641350fe822e7f1ac10873dad9a364bdeaba8083 (patch) | |
tree | 1e6324bcfebc5e45d9c4fe4ef759933aed827406 /sys-utils/lscpu.c | |
parent | vipw: print only one new line when asking about shadow file (diff) | |
download | kernel-qcow2-util-linux-641350fe822e7f1ac10873dad9a364bdeaba8083.tar.gz kernel-qcow2-util-linux-641350fe822e7f1ac10873dad9a364bdeaba8083.tar.xz kernel-qcow2-util-linux-641350fe822e7f1ac10873dad9a364bdeaba8083.zip |
lscpu: keep lscpu usable on snapshots
This patch reverts 3ac03fe4d20558b55635a048d7f2fb0f5e85ee2a for
snapshots (--sysroot).
Yeah, poor-man solution. It would be really nice to have runtime
detection to support model overwriting also on snapshots.
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'sys-utils/lscpu.c')
-rw-r--r-- | sys-utils/lscpu.c | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/sys-utils/lscpu.c b/sys-utils/lscpu.c index 423bc56d6..8e62c6409 100644 --- a/sys-utils/lscpu.c +++ b/sys-utils/lscpu.c @@ -453,25 +453,36 @@ read_basicinfo(struct lscpu_desc *desc, struct lscpu_modifier *mod) char buf[BUFSIZ]; struct utsname utsbuf; size_t setsize; + int overwrite_model = 0; /* architecture */ if (uname(&utsbuf) == -1) err(EXIT_FAILURE, _("error: uname failed")); desc->arch = xstrdup(utsbuf.machine); + /* Use another records from cpuinfo for PPC, on snapshot follow + * standard behavior. + * + * TODO: use runtime detection to make model overwrite possible on + * snapshots too. + */ +#if defined(__powerpc__) || defined(__powerpc64__) + if (mod->system == SYSTEM_LIVE) + overwrite_model = 1; +#endif /* details */ while (fgets(buf, sizeof(buf), fp) != NULL) { if (lookup(buf, "vendor", &desc->vendor)) ; else if (lookup(buf, "vendor_id", &desc->vendor)) ; else if (lookup(buf, "family", &desc->family)) ; else if (lookup(buf, "cpu family", &desc->family)) ; -#if defined(__powerpc__) || defined(__powerpc64__) - else if (lookup(buf, "revision", &desc->model)) ; - else if (lookup(buf, "cpu", &desc->modelname)) ; -#else - else if (lookup(buf, "model", &desc->model)) ; - else if (lookup(buf, "model name", &desc->modelname)) ; -#endif + + else if (overwrite_model && lookup(buf, "revision", &desc->model)) ; + else if (overwrite_model && lookup(buf, "cpu", &desc->modelname)) ; + + else if (!overwrite_model && lookup(buf, "model", &desc->model)) ; + else if (!overwrite_model && lookup(buf, "model name", &desc->modelname)) ; + else if (lookup(buf, "stepping", &desc->stepping)) ; else if (lookup(buf, "cpu MHz", &desc->mhz)) ; else if (lookup(buf, "flags", &desc->flags)) ; /* x86 */ |