| OLD | NEW |
| 1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "src/base/cpu.h" | 5 #include "src/base/cpu.h" |
| 6 | 6 |
| 7 #if V8_LIBC_MSVCRT | 7 #if V8_LIBC_MSVCRT |
| 8 #include <intrin.h> // __cpuid() | 8 #include <intrin.h> // __cpuid() |
| 9 #endif | 9 #endif |
| 10 #if V8_OS_LINUX | 10 #if V8_OS_LINUX |
| 11 #include <linux/auxvec.h> // AT_HWCAP | 11 #include <linux/auxvec.h> // AT_HWCAP |
| 12 #endif | 12 #endif |
| 13 #if V8_GLIBC_PREREQ(2, 16) | 13 #if V8_GLIBC_PREREQ(2, 16) |
| 14 #include <sys/auxv.h> // getauxval() | 14 #include <sys/auxv.h> // getauxval() |
| 15 #endif | 15 #endif |
| 16 #if V8_OS_QNX | 16 #if V8_OS_QNX |
| 17 #include <sys/syspage.h> // cpuinfo | 17 #include <sys/syspage.h> // cpuinfo |
| 18 #endif | 18 #endif |
| 19 #if V8_OS_LINUX && V8_HOST_ARCH_PPC | 19 #if V8_OS_LINUX && V8_HOST_ARCH_PPC |
| 20 #include <elf.h> | 20 #include <elf.h> |
| 21 #endif | 21 #endif |
| 22 #if V8_OS_AIX |
| 23 #include <sys/systemcfg.h> // _system_configuration |
| 24 #ifndef POWER_8 |
| 25 #define POWER_8 0x10000 |
| 26 #endif |
| 27 #endif |
| 22 #if V8_OS_POSIX | 28 #if V8_OS_POSIX |
| 23 #include <unistd.h> // sysconf() | 29 #include <unistd.h> // sysconf() |
| 24 #endif | 30 #endif |
| 25 | 31 |
| 26 #include <ctype.h> | 32 #include <ctype.h> |
| 27 #include <limits.h> | 33 #include <limits.h> |
| 28 #include <stdio.h> | 34 #include <stdio.h> |
| 29 #include <stdlib.h> | 35 #include <stdlib.h> |
| 30 #include <string.h> | 36 #include <string.h> |
| 31 #include <algorithm> | 37 #include <algorithm> |
| (...skipping 604 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 636 part_ = PPC_POWER5; | 642 part_ = PPC_POWER5; |
| 637 } else if (strcmp(auxv_cpu_type, "ppc970") == 0) { | 643 } else if (strcmp(auxv_cpu_type, "ppc970") == 0) { |
| 638 part_ = PPC_G5; | 644 part_ = PPC_G5; |
| 639 } else if (strcmp(auxv_cpu_type, "ppc7450") == 0) { | 645 } else if (strcmp(auxv_cpu_type, "ppc7450") == 0) { |
| 640 part_ = PPC_G4; | 646 part_ = PPC_G4; |
| 641 } else if (strcmp(auxv_cpu_type, "pa6t") == 0) { | 647 } else if (strcmp(auxv_cpu_type, "pa6t") == 0) { |
| 642 part_ = PPC_PA6T; | 648 part_ = PPC_PA6T; |
| 643 } | 649 } |
| 644 } | 650 } |
| 645 | 651 |
| 646 #endif // V8_OS_LINUX | 652 #elif V8_OS_AIX |
| 653 switch (_system_configuration.implementation) { |
| 654 case POWER_8: |
| 655 part_ = PPC_POWER8; |
| 656 break; |
| 657 case POWER_7: |
| 658 part_ = PPC_POWER7; |
| 659 break; |
| 660 case POWER_6: |
| 661 part_ = PPC_POWER6; |
| 662 break; |
| 663 case POWER_5: |
| 664 part_ = PPC_POWER5; |
| 665 break; |
| 666 } |
| 667 #endif // V8_OS_AIX |
| 647 #endif // !USE_SIMULATOR | 668 #endif // !USE_SIMULATOR |
| 648 #endif // V8_HOST_ARCH_PPC | 669 #endif // V8_HOST_ARCH_PPC |
| 649 } | 670 } |
| 650 | 671 |
| 651 } } // namespace v8::base | 672 } } // namespace v8::base |
| OLD | NEW |