| Index: base/cpu.cc
|
| ===================================================================
|
| --- base/cpu.cc (revision 2585)
|
| +++ base/cpu.cc (working copy)
|
| @@ -39,14 +39,16 @@
|
| *(reinterpret_cast<int*>(cpu_string+8)) = cpu_info[2];
|
|
|
| // Interpret CPU feature information.
|
| - __cpuid(cpu_info, 1);
|
| - stepping_ = cpu_info[0] & 0xf;
|
| - model_ = (cpu_info[0] >> 4) & 0xf;
|
| - family_ = (cpu_info[0] >> 8) & 0xf;
|
| - type_ = (cpu_info[0] >> 12) & 0x3;
|
| - ext_model_ = (cpu_info[0] >> 16) & 0xf;
|
| - ext_family_ = (cpu_info[0] >> 20) & 0xff;
|
| - cpu_vendor_ = cpu_string;
|
| + if (num_ids > 0) {
|
| + __cpuid(cpu_info, 1);
|
| + stepping_ = cpu_info[0] & 0xf;
|
| + model_ = (cpu_info[0] >> 4) & 0xf;
|
| + family_ = (cpu_info[0] >> 8) & 0xf;
|
| + type_ = (cpu_info[0] >> 12) & 0x3;
|
| + ext_model_ = (cpu_info[0] >> 16) & 0xf;
|
| + ext_family_ = (cpu_info[0] >> 20) & 0xff;
|
| + cpu_vendor_ = cpu_string;
|
| + }
|
| }
|
|
|
| } // namespace base
|
|
|