extended windows support cpuFlags() (partially)
This commit is contained in:
parent
ba8743f3a6
commit
43bddba27d
@ -98,6 +98,7 @@ Other changes
|
|||||||
|
|
||||||
| Version | Date | Comment |
|
| Version | Date | Comment |
|
||||||
| -------------- | -------------- | -------- |
|
| -------------- | -------------- | -------- |
|
||||||
|
| 3.31.0 | 2017-10-15 | extended windows support `cpuFlags()` (partially) |
|
||||||
| 3.30.6 | 2017-10-05 | updated community profile |
|
| 3.30.6 | 2017-10-05 | updated community profile |
|
||||||
| 3.30.5 | 2017-10-05 | bugfix `users()` - parsing values on windows |
|
| 3.30.5 | 2017-10-05 | bugfix `users()` - parsing values on windows |
|
||||||
| 3.30.4 | 2017-10-03 | bugfix `cpuTemperature()` - parsing values on windows |
|
| 3.30.4 | 2017-10-03 | bugfix `cpuTemperature()` - parsing values on windows |
|
||||||
|
|||||||
@ -6,6 +6,7 @@ Simple system and OS information library for [node.js][nodejs-url]
|
|||||||
[![NPM Downloads][downloads-image]][downloads-url]
|
[![NPM Downloads][downloads-image]][downloads-url]
|
||||||
[![Git Issues][issues-img]][issues-url]
|
[![Git Issues][issues-img]][issues-url]
|
||||||
[![deps status][daviddm-img]][daviddm-url]
|
[![deps status][daviddm-img]][daviddm-url]
|
||||||
|
[![Caretaker][caretaker-image]][caretaker-url]
|
||||||
[![MIT license][license-img]][license-url]
|
[![MIT license][license-img]][license-url]
|
||||||
|
|
||||||
## Quick Start
|
## Quick Start
|
||||||
@ -50,6 +51,7 @@ async function cpu() {
|
|||||||
## News and Changes
|
## News and Changes
|
||||||
|
|
||||||
### Latest Activity
|
### Latest Activity
|
||||||
|
- Version 3.31.0: extended windows support `cpuFlags()` (partially)
|
||||||
- Version 3.30.0: extended `versions()` (added `yarn`, `gulp`, `grunt`, `tsc`, `git`)
|
- Version 3.30.0: extended `versions()` (added `yarn`, `gulp`, `grunt`, `tsc`, `git`)
|
||||||
- Version 3.29.0: extended windows support `services()`
|
- Version 3.29.0: extended windows support `services()`
|
||||||
- Version 3.28.0: extended windows support `processes()`
|
- Version 3.28.0: extended windows support `processes()`
|
||||||
@ -601,6 +603,8 @@ All other trademarks are the property of their respective owners.
|
|||||||
[license-img]: https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square
|
[license-img]: https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square
|
||||||
[npmjs-license]: https://img.shields.io/npm/l/systeminformation.svg?style=flat-square
|
[npmjs-license]: https://img.shields.io/npm/l/systeminformation.svg?style=flat-square
|
||||||
[changelog-url]: https://github.com/sebhildebrandt/systeminformation/blob/master/CHANGELOG.md
|
[changelog-url]: https://github.com/sebhildebrandt/systeminformation/blob/master/CHANGELOG.md
|
||||||
|
[caretaker-url]: https://github.com/sebhildebrandt
|
||||||
|
[caretaker-image]: https://img.shields.io/badge/caretaker-sebhildebrandt-blue.svg?style=flat-square
|
||||||
|
|
||||||
[nodejs-url]: https://nodejs.org/en/
|
[nodejs-url]: https://nodejs.org/en/
|
||||||
[docker-url]: https://www.docker.com/
|
[docker-url]: https://www.docker.com/
|
||||||
|
|||||||
@ -1,10 +1,16 @@
|
|||||||
### Expected behavior and actual behavior.
|
### Expected behavior
|
||||||
|
|
||||||
-
|
-
|
||||||
-
|
-
|
||||||
-
|
-
|
||||||
|
|
||||||
### Steps to reproduce the problem.
|
### Actual behavior
|
||||||
|
|
||||||
|
-
|
||||||
|
-
|
||||||
|
-
|
||||||
|
|
||||||
|
### Steps to reproduce the problem
|
||||||
|
|
||||||
-
|
-
|
||||||
-
|
-
|
||||||
@ -16,3 +22,6 @@
|
|||||||
- operating system:
|
- operating system:
|
||||||
- hardware:
|
- hardware:
|
||||||
|
|
||||||
|
### Problem and possible solution
|
||||||
|
|
||||||
|
If you have a solution in mind (or any idea what could cause this issue), we would be happy, if you can describe it here ...
|
||||||
|
|||||||
26
lib/cpu.js
26
lib/cpu.js
@ -394,10 +394,30 @@ function cpuFlags(callback) {
|
|||||||
process.nextTick(() => {
|
process.nextTick(() => {
|
||||||
let result = '';
|
let result = '';
|
||||||
if (_windows) {
|
if (_windows) {
|
||||||
if (callback) { callback(result) }
|
exec(`reg query "HKEY_LOCAL_MACHINE\\HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0" /v FeatureSet`, function (error, stdout) {
|
||||||
resolve(result);
|
if (!error) {
|
||||||
|
let flag_hex = stdout.split("0x").pop().trim();
|
||||||
|
let flag_bin_unpadded = parseInt(flag_hex, 16).toString(2);
|
||||||
|
let flag_bin = "0".repeat(32 - flag_bin_unpadded.length) + flag_bin_unpadded;
|
||||||
|
// empty flags are the reserved fields in the CPUID feature bit list
|
||||||
|
// as found on wikipedia:
|
||||||
|
// https://en.wikipedia.org/wiki/CPUID
|
||||||
|
let all_flags = [
|
||||||
|
"fpu", "vme", "de", "pse", "tsc", "msr", "pae", "mce", "cx8", "apic",
|
||||||
|
"", "sep", "mtrr", "pge", "mca", "cmov", "pat", "pse-36", "psn", "clfsh",
|
||||||
|
"", "ds", "acpi", "mmx", "fxsr", "sse", "sse2", "ss", "htt", "tm", "ia64", "pbe"
|
||||||
|
]
|
||||||
|
for (let f = 0; f < all_flags.length; f++) {
|
||||||
|
if (flag_bin[f] === "1" && all_flags[f] !== "") {
|
||||||
|
result += " " + all_flags[f];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
result = result.trim();
|
||||||
|
}
|
||||||
|
if (callback) { callback(result) }
|
||||||
|
resolve(result);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_linux) {
|
if (_linux) {
|
||||||
exec("lscpu", function (error, stdout) {
|
exec("lscpu", function (error, stdout) {
|
||||||
if (!error) {
|
if (!error) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user