| 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 615 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 647 part_ = PPC_POWER5; | 653 part_ = PPC_POWER5; |
| 648 } else if (strcmp(auxv_cpu_type, "ppc970") == 0) { | 654 } else if (strcmp(auxv_cpu_type, "ppc970") == 0) { |
| 649 part_ = PPC_G5; | 655 part_ = PPC_G5; |
| 650 } else if (strcmp(auxv_cpu_type, "ppc7450") == 0) { | 656 } else if (strcmp(auxv_cpu_type, "ppc7450") == 0) { |
| 651 part_ = PPC_G4; | 657 part_ = PPC_G4; |
| 652 } else if (strcmp(auxv_cpu_type, "pa6t") == 0) { | 658 } else if (strcmp(auxv_cpu_type, "pa6t") == 0) { |
| 653 part_ = PPC_PA6T; | 659 part_ = PPC_PA6T; |
| 654 } | 660 } |
| 655 } | 661 } |
| 656 | 662 |
| 657 #endif // V8_OS_LINUX | 663 #elif V8_OS_AIX |
| 664 switch (_system_configuration.implementation) { |
| 665 case POWER_8: |
| 666 part_ = PPC_POWER8; |
| 667 break; |
| 668 case POWER_7: |
| 669 part_ = PPC_POWER7; |
| 670 break; |
| 671 case POWER_6: |
| 672 part_ = PPC_POWER6; |
| 673 break; |
| 674 case POWER_5: |
| 675 part_ = PPC_POWER5; |
| 676 break; |
| 677 } |
| 678 #endif // V8_OS_AIX |
| 658 #endif // !USE_SIMULATOR | 679 #endif // !USE_SIMULATOR |
| 659 #endif // V8_HOST_ARCH_PPC | 680 #endif // V8_HOST_ARCH_PPC |
| 660 } | 681 } |
| 661 | 682 |
| 662 } } // namespace v8::base | 683 } } // namespace v8::base |
| OLD | NEW |