diff options
author | Marat Dukhan <marat@fb.com> | 2018-12-09 02:21:29 -0800 |
---|---|---|
committer | Marat Dukhan <marat@fb.com> | 2018-12-09 02:21:29 -0800 |
commit | a07a09bd6912ffb4a01bc377fe27990ac5e55dac (patch) | |
tree | 138e05c2a163e0358cff91b92fbd70dbacfe5436 | |
parent | d0b37603c5d0540a8d5504ebf8e39a9e73cf05a4 (diff) | |
download | cpuinfo-a07a09bd6912ffb4a01bc377fe27990ac5e55dac.tar.gz |
Mark internal symbols with internal/hidden visibility
-rw-r--r-- | src/arm/android/api.h | 4 | ||||
-rw-r--r-- | src/arm/api.h | 11 | ||||
-rw-r--r-- | src/arm/linux/api.h | 75 | ||||
-rw-r--r-- | src/arm/linux/chipset.c | 4 | ||||
-rw-r--r-- | src/arm/linux/midr.c | 3 | ||||
-rw-r--r-- | src/cpuinfo/common.h | 30 | ||||
-rw-r--r-- | src/cpuinfo/internal-api.h | 40 | ||||
-rw-r--r-- | src/linux/api.h | 33 | ||||
-rw-r--r-- | src/x86/api.h | 27 | ||||
-rw-r--r-- | src/x86/init.c | 3 | ||||
-rw-r--r-- | src/x86/linux/api.h | 3 | ||||
-rw-r--r-- | src/x86/name.c | 3 |
12 files changed, 140 insertions, 96 deletions
diff --git a/src/arm/android/api.h b/src/arm/android/api.h index 7213723..b959894 100644 --- a/src/arm/android/api.h +++ b/src/arm/android/api.h @@ -1,6 +1,7 @@ #pragma once #include <cpuinfo.h> +#include <cpuinfo/common.h> #include <arm/api.h> #include <arm/linux/api.h> @@ -14,4 +15,5 @@ enum cpuinfo_android_chipset_property { cpuinfo_android_chipset_property_max, }; -void cpuinfo_arm_android_parse_properties(struct cpuinfo_android_properties properties[restrict static 1]); +CPUINFO_INTERNAL void cpuinfo_arm_android_parse_properties( + struct cpuinfo_android_properties properties[restrict static 1]); diff --git a/src/arm/api.h b/src/arm/api.h index 0a70cfc..11e588b 100644 --- a/src/arm/api.h +++ b/src/arm/api.h @@ -4,6 +4,7 @@ #include <stdint.h> #include <cpuinfo.h> +#include <cpuinfo/common.h> enum cpuinfo_arm_chipset_vendor { cpuinfo_arm_chipset_vendor_unknown = 0, @@ -77,14 +78,14 @@ struct cpuinfo_arm_chipset { #define CPUINFO_ARM_CHIPSET_NAME_MAX CPUINFO_PACKAGE_NAME_MAX #ifndef __cplusplus -void cpuinfo_arm_chipset_to_string( +CPUINFO_INTERNAL void cpuinfo_arm_chipset_to_string( const struct cpuinfo_arm_chipset chipset[restrict static 1], char name[restrict static CPUINFO_ARM_CHIPSET_NAME_MAX]); -void cpuinfo_arm_fixup_chipset( +CPUINFO_INTERNAL void cpuinfo_arm_fixup_chipset( struct cpuinfo_arm_chipset chipset[restrict static 1], uint32_t cores, uint32_t max_cpu_freq_max); -void cpuinfo_arm_decode_vendor_uarch( +CPUINFO_INTERNAL void cpuinfo_arm_decode_vendor_uarch( uint32_t midr, #if CPUINFO_ARCH_ARM bool has_vfpv4, @@ -92,7 +93,7 @@ void cpuinfo_arm_decode_vendor_uarch( enum cpuinfo_vendor vendor[restrict static 1], enum cpuinfo_uarch uarch[restrict static 1]); -void cpuinfo_arm_decode_cache( +CPUINFO_INTERNAL void cpuinfo_arm_decode_cache( enum cpuinfo_uarch uarch, uint32_t cluster_cores, uint32_t midr, @@ -104,7 +105,7 @@ void cpuinfo_arm_decode_cache( struct cpuinfo_cache l2[restrict static 1], struct cpuinfo_cache l3[restrict static 1]); #else /* defined(__cplusplus) */ -void cpuinfo_arm_decode_cache( +CPUINFO_INTERNAL void cpuinfo_arm_decode_cache( enum cpuinfo_uarch uarch, uint32_t cluster_cores, uint32_t midr, diff --git a/src/arm/linux/api.h b/src/arm/linux/api.h index b9a2ba4..36e3200 100644 --- a/src/arm/linux/api.h +++ b/src/arm/linux/api.h @@ -4,6 +4,7 @@ #include <stdint.h> #include <cpuinfo.h> +#include <cpuinfo/common.h> #include <arm/midr.h> #include <arm/api.h> #include <linux/api.h> @@ -241,20 +242,20 @@ static inline bool cpuinfo_arm_linux_processor_not_equals( return false; } -bool cpuinfo_arm_linux_parse_proc_cpuinfo( +CPUINFO_INTERNAL bool cpuinfo_arm_linux_parse_proc_cpuinfo( char hardware[restrict static CPUINFO_HARDWARE_VALUE_MAX], uint32_t max_processors_count, struct cpuinfo_arm_linux_processor processors[restrict static max_processors_count]); #if CPUINFO_ARCH_ARM - bool cpuinfo_arm_linux_hwcap_from_getauxval( + CPUINFO_INTERNAL bool cpuinfo_arm_linux_hwcap_from_getauxval( uint32_t hwcap[restrict static 1], uint32_t hwcap2[restrict static 1]); - bool cpuinfo_arm_linux_hwcap_from_procfs( + CPUINFO_INTERNAL bool cpuinfo_arm_linux_hwcap_from_procfs( uint32_t hwcap[restrict static 1], uint32_t hwcap2[restrict static 1]); - void cpuinfo_arm_linux_decode_isa_from_proc_cpuinfo( + CPUINFO_INTERNAL void cpuinfo_arm_linux_decode_isa_from_proc_cpuinfo( uint32_t features, uint32_t features2, uint32_t midr, @@ -262,8 +263,8 @@ bool cpuinfo_arm_linux_parse_proc_cpuinfo( uint32_t architecture_flags, struct cpuinfo_arm_isa isa[restrict static 1]); #elif CPUINFO_ARCH_ARM64 - uint32_t cpuinfo_arm_linux_hwcap_from_getauxval(void); - void cpuinfo_arm64_linux_decode_isa_from_proc_cpuinfo( + CPUINFO_INTERNAL uint32_t cpuinfo_arm_linux_hwcap_from_getauxval(void); + CPUINFO_INTERNAL void cpuinfo_arm64_linux_decode_isa_from_proc_cpuinfo( uint32_t features, uint32_t midr, const struct cpuinfo_arm_chipset chipset[restrict static 1], @@ -271,50 +272,58 @@ bool cpuinfo_arm_linux_parse_proc_cpuinfo( #endif #ifdef __ANDROID__ - struct cpuinfo_arm_chipset cpuinfo_arm_android_decode_chipset( - const struct cpuinfo_android_properties properties[restrict static 1], - uint32_t cores, - uint32_t max_cpu_freq_max); + CPUINFO_INTERNAL struct cpuinfo_arm_chipset + cpuinfo_arm_android_decode_chipset( + const struct cpuinfo_android_properties properties[restrict static 1], + uint32_t cores, + uint32_t max_cpu_freq_max); #else - struct cpuinfo_arm_chipset cpuinfo_arm_linux_decode_chipset( - const char hardware[restrict static CPUINFO_HARDWARE_VALUE_MAX], - uint32_t cores, - uint32_t max_cpu_freq_max); + CPUINFO_INTERNAL struct cpuinfo_arm_chipset + cpuinfo_arm_linux_decode_chipset( + const char hardware[restrict static CPUINFO_HARDWARE_VALUE_MAX], + uint32_t cores, + uint32_t max_cpu_freq_max); #endif -struct cpuinfo_arm_chipset cpuinfo_arm_linux_decode_chipset_from_proc_cpuinfo_hardware( - const char proc_cpuinfo_hardware[restrict static CPUINFO_HARDWARE_VALUE_MAX], - uint32_t cores, uint32_t max_cpu_freq_max, bool is_tegra); +CPUINFO_INTERNAL struct cpuinfo_arm_chipset + cpuinfo_arm_linux_decode_chipset_from_proc_cpuinfo_hardware( + const char proc_cpuinfo_hardware[restrict static CPUINFO_HARDWARE_VALUE_MAX], + uint32_t cores, uint32_t max_cpu_freq_max, bool is_tegra); #ifdef __ANDROID__ - struct cpuinfo_arm_chipset cpuinfo_arm_android_decode_chipset_from_ro_product_board( - const char ro_product_board[restrict static CPUINFO_BUILD_PROP_VALUE_MAX], - uint32_t cores, uint32_t max_cpu_freq_max); - struct cpuinfo_arm_chipset cpuinfo_arm_android_decode_chipset_from_ro_board_platform( - const char ro_board_platform[restrict static CPUINFO_BUILD_PROP_VALUE_MAX], - uint32_t cores, uint32_t max_cpu_freq_max); - struct cpuinfo_arm_chipset cpuinfo_arm_android_decode_chipset_from_ro_mediatek_platform( - const char ro_mediatek_platform[restrict static CPUINFO_BUILD_PROP_VALUE_MAX]); - struct cpuinfo_arm_chipset cpuinfo_arm_android_decode_chipset_from_ro_arch( - const char ro_arch[restrict static CPUINFO_BUILD_PROP_VALUE_MAX]); - struct cpuinfo_arm_chipset cpuinfo_arm_android_decode_chipset_from_ro_chipname( - const char ro_chipname[restrict static CPUINFO_BUILD_PROP_VALUE_MAX]); + CPUINFO_INTERNAL struct cpuinfo_arm_chipset + cpuinfo_arm_android_decode_chipset_from_ro_product_board( + const char ro_product_board[restrict static CPUINFO_BUILD_PROP_VALUE_MAX], + uint32_t cores, uint32_t max_cpu_freq_max); + CPUINFO_INTERNAL struct cpuinfo_arm_chipset + cpuinfo_arm_android_decode_chipset_from_ro_board_platform( + const char ro_board_platform[restrict static CPUINFO_BUILD_PROP_VALUE_MAX], + uint32_t cores, uint32_t max_cpu_freq_max); + CPUINFO_INTERNAL struct cpuinfo_arm_chipset + cpuinfo_arm_android_decode_chipset_from_ro_mediatek_platform( + const char ro_mediatek_platform[restrict static CPUINFO_BUILD_PROP_VALUE_MAX]); + CPUINFO_INTERNAL struct cpuinfo_arm_chipset + cpuinfo_arm_android_decode_chipset_from_ro_arch( + const char ro_arch[restrict static CPUINFO_BUILD_PROP_VALUE_MAX]); + CPUINFO_INTERNAL struct cpuinfo_arm_chipset + cpuinfo_arm_android_decode_chipset_from_ro_chipname( + const char ro_chipname[restrict static CPUINFO_BUILD_PROP_VALUE_MAX]); #endif -bool cpuinfo_arm_linux_detect_core_clusters_by_heuristic( +CPUINFO_INTERNAL bool cpuinfo_arm_linux_detect_core_clusters_by_heuristic( uint32_t usable_processors, uint32_t max_processors, struct cpuinfo_arm_linux_processor processors[restrict static max_processors]); -void cpuinfo_arm_linux_detect_core_clusters_by_sequential_scan( +CPUINFO_INTERNAL void cpuinfo_arm_linux_detect_core_clusters_by_sequential_scan( uint32_t max_processors, struct cpuinfo_arm_linux_processor processors[restrict static max_processors]); -void cpuinfo_arm_linux_count_cluster_processors( +CPUINFO_INTERNAL void cpuinfo_arm_linux_count_cluster_processors( uint32_t max_processors, struct cpuinfo_arm_linux_processor processors[restrict static max_processors]); -uint32_t cpuinfo_arm_linux_detect_cluster_midr( +CPUINFO_INTERNAL uint32_t cpuinfo_arm_linux_detect_cluster_midr( const struct cpuinfo_arm_chipset chipset[restrict static 1], uint32_t max_processors, uint32_t usable_processors, diff --git a/src/arm/linux/chipset.c b/src/arm/linux/chipset.c index fa2bcd8..f365842 100644 --- a/src/arm/linux/chipset.c +++ b/src/arm/linux/chipset.c @@ -8,9 +8,7 @@ #include <arm/android/api.h> #endif #include <cpuinfo/log.h> - - -#define CPUINFO_COUNT_OF(x) (sizeof(x) / sizeof(0[x])) +#include <cpuinfo/common.h> static inline bool is_ascii_whitespace(char c) { diff --git a/src/arm/linux/midr.c b/src/arm/linux/midr.c index 8616df1..df80d2b 100644 --- a/src/arm/linux/midr.c +++ b/src/arm/linux/midr.c @@ -13,10 +13,9 @@ #include <linux/api.h> #include <cpuinfo/internal-api.h> #include <cpuinfo/log.h> +#include <cpuinfo/common.h> -#define CPUINFO_COUNT_OF(x) (sizeof(x) / sizeof(0[x])) - #define CLUSTERS_MAX 3 static inline bool bitmask_all(uint32_t bitfield, uint32_t mask) { diff --git a/src/cpuinfo/common.h b/src/cpuinfo/common.h new file mode 100644 index 0000000..737277b --- /dev/null +++ b/src/cpuinfo/common.h @@ -0,0 +1,30 @@ +/* + * Copyright (c) Facebook, Inc. and its affiliates. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. + */ + +#pragma once + + +#define CPUINFO_COUNT_OF(array) (sizeof(array) / sizeof(0[array])) + +#if defined(__GNUC__) + #define CPUINFO_LIKELY(condition) (__builtin_expect(!!(condition), 1)) + #define CPUINFO_UNLIKELY(condition) (__builtin_expect(!!(condition), 0)) +#else + #define CPUINFO_LIKELY(condition) (!!(condition)) + #define CPUINFO_UNLIKELY(condition) (!!(condition)) +#endif + +#ifndef CPUINFO_INTERNAL + #if defined(__ELF__) + #define CPUINFO_INTERNAL __attribute__((__visibility__("internal"))) + #elif defined(__MACH__) + #define CPUINFO_INTERNAL __attribute__((__visibility__("hidden"))) + #else + #define CPUINFO_INTERNAL + #endif +#endif diff --git a/src/cpuinfo/internal-api.h b/src/cpuinfo/internal-api.h index 14463e0..bb83c5c 100644 --- a/src/cpuinfo/internal-api.h +++ b/src/cpuinfo/internal-api.h @@ -3,12 +3,14 @@ #include <stdint.h> #include <stdbool.h> -#include <cpuinfo.h> - #ifdef _WIN32 #include <windows.h> #endif +#include <cpuinfo.h> +#include <cpuinfo/common.h> + + enum cpuinfo_cache_level { cpuinfo_cache_level_1i = 0, cpuinfo_cache_level_1d = 1, @@ -18,24 +20,24 @@ enum cpuinfo_cache_level { cpuinfo_cache_level_max = 5, }; -extern bool cpuinfo_is_initialized; -extern struct cpuinfo_processor* cpuinfo_processors; -extern struct cpuinfo_core* cpuinfo_cores; -extern struct cpuinfo_cluster* cpuinfo_clusters; -extern struct cpuinfo_package* cpuinfo_packages; -extern struct cpuinfo_cache* cpuinfo_cache[cpuinfo_cache_level_max]; -extern uint32_t cpuinfo_processors_count; -extern uint32_t cpuinfo_cores_count; -extern uint32_t cpuinfo_clusters_count; -extern uint32_t cpuinfo_packages_count; -extern uint32_t cpuinfo_cache_count[cpuinfo_cache_level_max]; - -void cpuinfo_x86_mach_init(void); -void cpuinfo_x86_linux_init(void); +extern CPUINFO_INTERNAL bool cpuinfo_is_initialized; +extern CPUINFO_INTERNAL struct cpuinfo_processor* cpuinfo_processors; +extern CPUINFO_INTERNAL struct cpuinfo_core* cpuinfo_cores; +extern CPUINFO_INTERNAL struct cpuinfo_cluster* cpuinfo_clusters; +extern CPUINFO_INTERNAL struct cpuinfo_package* cpuinfo_packages; +extern CPUINFO_INTERNAL struct cpuinfo_cache* cpuinfo_cache[cpuinfo_cache_level_max]; +extern CPUINFO_INTERNAL uint32_t cpuinfo_processors_count; +extern CPUINFO_INTERNAL uint32_t cpuinfo_cores_count; +extern CPUINFO_INTERNAL uint32_t cpuinfo_clusters_count; +extern CPUINFO_INTERNAL uint32_t cpuinfo_packages_count; +extern CPUINFO_INTERNAL uint32_t cpuinfo_cache_count[cpuinfo_cache_level_max]; + +CPUINFO_INTERNAL void cpuinfo_x86_mach_init(void); +CPUINFO_INTERNAL void cpuinfo_x86_linux_init(void); #ifdef _WIN32 - BOOL CALLBACK cpuinfo_x86_windows_init(PINIT_ONCE init_once, PVOID parameter, PVOID* context); + CPUINFO_INTERNAL BOOL CALLBACK cpuinfo_x86_windows_init(PINIT_ONCE init_once, PVOID parameter, PVOID* context); #endif -void cpuinfo_arm_mach_init(void); -void cpuinfo_arm_linux_init(void); +CPUINFO_INTERNAL void cpuinfo_arm_mach_init(void); +CPUINFO_INTERNAL void cpuinfo_arm_linux_init(void); typedef void (*cpuinfo_processor_callback)(uint32_t); diff --git a/src/linux/api.h b/src/linux/api.h index da49d4c..aa1c7d7 100644 --- a/src/linux/api.h +++ b/src/linux/api.h @@ -5,6 +5,7 @@ #include <stddef.h> #include <cpuinfo.h> +#include <cpuinfo/common.h> #define CPUINFO_LINUX_FLAG_PRESENT UINT32_C(0x00000001) @@ -22,36 +23,36 @@ typedef bool (*cpuinfo_cpulist_callback)(uint32_t, uint32_t, void*); -bool cpuinfo_linux_parse_cpulist(const char* filename, cpuinfo_cpulist_callback callback, void* context); +CPUINFO_INTERNAL bool cpuinfo_linux_parse_cpulist(const char* filename, cpuinfo_cpulist_callback callback, void* context); typedef bool (*cpuinfo_smallfile_callback)(const char*, const char*, void*); -bool cpuinfo_linux_parse_small_file(const char* filename, size_t buffer_size, cpuinfo_smallfile_callback, void* context); +CPUINFO_INTERNAL bool cpuinfo_linux_parse_small_file(const char* filename, size_t buffer_size, cpuinfo_smallfile_callback, void* context); typedef bool (*cpuinfo_line_callback)(const char*, const char*, void*, uint64_t); -bool cpuinfo_linux_parse_multiline_file(const char* filename, size_t buffer_size, cpuinfo_line_callback, void* context); +CPUINFO_INTERNAL bool cpuinfo_linux_parse_multiline_file(const char* filename, size_t buffer_size, cpuinfo_line_callback, void* context); -uint32_t cpuinfo_linux_get_max_processors_count(void); -uint32_t cpuinfo_linux_get_max_possible_processor(uint32_t max_processors_count); -uint32_t cpuinfo_linux_get_max_present_processor(uint32_t max_processors_count); -uint32_t cpuinfo_linux_get_processor_min_frequency(uint32_t processor); -uint32_t cpuinfo_linux_get_processor_max_frequency(uint32_t processor); -bool cpuinfo_linux_get_processor_package_id(uint32_t processor, uint32_t package_id[restrict static 1]); -bool cpuinfo_linux_get_processor_core_id(uint32_t processor, uint32_t core_id[restrict static 1]); +CPUINFO_INTERNAL uint32_t cpuinfo_linux_get_max_processors_count(void); +CPUINFO_INTERNAL uint32_t cpuinfo_linux_get_max_possible_processor(uint32_t max_processors_count); +CPUINFO_INTERNAL uint32_t cpuinfo_linux_get_max_present_processor(uint32_t max_processors_count); +CPUINFO_INTERNAL uint32_t cpuinfo_linux_get_processor_min_frequency(uint32_t processor); +CPUINFO_INTERNAL uint32_t cpuinfo_linux_get_processor_max_frequency(uint32_t processor); +CPUINFO_INTERNAL bool cpuinfo_linux_get_processor_package_id(uint32_t processor, uint32_t package_id[restrict static 1]); +CPUINFO_INTERNAL bool cpuinfo_linux_get_processor_core_id(uint32_t processor, uint32_t core_id[restrict static 1]); -bool cpuinfo_linux_detect_possible_processors(uint32_t max_processors_count, +CPUINFO_INTERNAL bool cpuinfo_linux_detect_possible_processors(uint32_t max_processors_count, uint32_t* processor0_flags, uint32_t processor_struct_size, uint32_t possible_flag); -bool cpuinfo_linux_detect_present_processors(uint32_t max_processors_count, +CPUINFO_INTERNAL bool cpuinfo_linux_detect_present_processors(uint32_t max_processors_count, uint32_t* processor0_flags, uint32_t processor_struct_size, uint32_t present_flag); typedef bool (*cpuinfo_siblings_callback)(uint32_t, uint32_t, uint32_t, void*); -bool cpuinfo_linux_detect_core_siblings( +CPUINFO_INTERNAL bool cpuinfo_linux_detect_core_siblings( uint32_t max_processors_count, uint32_t processor, cpuinfo_siblings_callback callback, void* context); -bool cpuinfo_linux_detect_thread_siblings( +CPUINFO_INTERNAL bool cpuinfo_linux_detect_thread_siblings( uint32_t max_processors_count, uint32_t processor, cpuinfo_siblings_callback callback, void* context); -extern const struct cpuinfo_processor** cpuinfo_linux_cpu_to_processor_map; -extern const struct cpuinfo_core** cpuinfo_linux_cpu_to_core_map; +extern CPUINFO_INTERNAL const struct cpuinfo_processor** cpuinfo_linux_cpu_to_processor_map; +extern CPUINFO_INTERNAL const struct cpuinfo_core** cpuinfo_linux_cpu_to_core_map; diff --git a/src/x86/api.h b/src/x86/api.h index f967e1b..5f5e76d 100644 --- a/src/x86/api.h +++ b/src/x86/api.h @@ -4,6 +4,7 @@ #include <stdint.h> #include <cpuinfo.h> +#include <cpuinfo/common.h> struct cpuid_regs { @@ -80,27 +81,27 @@ struct cpuinfo_x86_processor { char brand_string[CPUINFO_PACKAGE_NAME_MAX]; }; -void cpuinfo_x86_init_processor(struct cpuinfo_x86_processor* processor); +CPUINFO_INTERNAL void cpuinfo_x86_init_processor(struct cpuinfo_x86_processor* processor); -enum cpuinfo_vendor cpuinfo_x86_decode_vendor(uint32_t ebx, uint32_t ecx, uint32_t edx); -struct cpuinfo_x86_model_info cpuinfo_x86_decode_model_info(uint32_t eax); -enum cpuinfo_uarch cpuinfo_x86_decode_uarch( +CPUINFO_INTERNAL enum cpuinfo_vendor cpuinfo_x86_decode_vendor(uint32_t ebx, uint32_t ecx, uint32_t edx); +CPUINFO_INTERNAL struct cpuinfo_x86_model_info cpuinfo_x86_decode_model_info(uint32_t eax); +CPUINFO_INTERNAL enum cpuinfo_uarch cpuinfo_x86_decode_uarch( enum cpuinfo_vendor vendor, const struct cpuinfo_x86_model_info* model_info); -struct cpuinfo_x86_isa cpuinfo_x86_detect_isa( +CPUINFO_INTERNAL struct cpuinfo_x86_isa cpuinfo_x86_detect_isa( const struct cpuid_regs basic_info, const struct cpuid_regs extended_info, uint32_t max_base_index, uint32_t max_extended_index, enum cpuinfo_vendor vendor, enum cpuinfo_uarch uarch); -struct cpuinfo_x86_isa cpuinfo_x86_nacl_detect_isa(void); +CPUINFO_INTERNAL struct cpuinfo_x86_isa cpuinfo_x86_nacl_detect_isa(void); -void cpuinfo_x86_detect_topology( +CPUINFO_INTERNAL void cpuinfo_x86_detect_topology( uint32_t max_base_index, uint32_t max_extended_index, struct cpuid_regs leaf1, struct cpuinfo_x86_topology* topology); -void cpuinfo_x86_detect_cache( +CPUINFO_INTERNAL void cpuinfo_x86_detect_cache( uint32_t max_base_index, uint32_t max_extended_index, bool amd_topology_extensions, enum cpuinfo_vendor vendor, @@ -121,7 +122,7 @@ void cpuinfo_x86_detect_cache( struct cpuinfo_tlb* stlb2_1GB, uint32_t* log2_package_cores_max); -void cpuinfo_x86_decode_cache_descriptor( +CPUINFO_INTERNAL void cpuinfo_x86_decode_cache_descriptor( uint8_t descriptor, enum cpuinfo_vendor vendor, const struct cpuinfo_x86_model_info* model_info, struct cpuinfo_x86_caches* cache, @@ -140,20 +141,20 @@ void cpuinfo_x86_decode_cache_descriptor( struct cpuinfo_tlb* stlb2_1GB, uint32_t* prefetch_size); -bool cpuinfo_x86_decode_deterministic_cache_parameters( +CPUINFO_INTERNAL bool cpuinfo_x86_decode_deterministic_cache_parameters( struct cpuid_regs regs, struct cpuinfo_x86_caches* cache, uint32_t* package_cores_max); -bool cpuinfo_x86_decode_cache_properties( +CPUINFO_INTERNAL bool cpuinfo_x86_decode_cache_properties( struct cpuid_regs regs, struct cpuinfo_x86_caches* cache); -uint32_t cpuinfo_x86_normalize_brand_string( +CPUINFO_INTERNAL uint32_t cpuinfo_x86_normalize_brand_string( const char raw_name[48], char normalized_name[48]); -uint32_t cpuinfo_x86_format_package_name( +CPUINFO_INTERNAL uint32_t cpuinfo_x86_format_package_name( enum cpuinfo_vendor vendor, const char normalized_brand_string[48], char package_name[CPUINFO_PACKAGE_NAME_MAX]); diff --git a/src/x86/init.c b/src/x86/init.c index 1c65485..d736578 100644 --- a/src/x86/init.c +++ b/src/x86/init.c @@ -6,10 +6,11 @@ #include <x86/api.h> #include <cpuinfo/utils.h> #include <cpuinfo/log.h> +#include <cpuinfo/common.h> struct cpuinfo_x86_isa cpuinfo_isa = { 0 }; -uint32_t cpuinfo_x86_clflush_size = 0; +CPUINFO_INTERNAL uint32_t cpuinfo_x86_clflush_size = 0; void cpuinfo_x86_init_processor(struct cpuinfo_x86_processor* processor) { const struct cpuid_regs leaf0 = cpuid(0); diff --git a/src/x86/linux/api.h b/src/x86/linux/api.h index fc9f930..1c9485b 100644 --- a/src/x86/linux/api.h +++ b/src/x86/linux/api.h @@ -4,6 +4,7 @@ #include <stdint.h> #include <cpuinfo.h> +#include <cpuinfo/common.h> #include <x86/api.h> #include <linux/api.h> @@ -14,6 +15,6 @@ struct cpuinfo_x86_linux_processor { uint32_t flags; }; -bool cpuinfo_x86_linux_parse_proc_cpuinfo( +CPUINFO_INTERNAL bool cpuinfo_x86_linux_parse_proc_cpuinfo( uint32_t max_processors_count, struct cpuinfo_x86_linux_processor processors[restrict static max_processors_count]); diff --git a/src/x86/name.c b/src/x86/name.c index ee94c99..708be1d 100644 --- a/src/x86/name.c +++ b/src/x86/name.c @@ -5,6 +5,7 @@ #include <string.h> #include <cpuinfo.h> +#include <cpuinfo/common.h> #include <x86/api.h> @@ -666,8 +667,6 @@ uint32_t cpuinfo_x86_normalize_brand_string( } } -#define CPUINFO_COUNT_OF(x) (sizeof(x) / sizeof(0[x])) - static const char* vendor_string_map[] = { [cpuinfo_vendor_intel] = "Intel", [cpuinfo_vendor_amd] = "AMD", |