aboutsummaryrefslogtreecommitdiff
path: root/src/arm
diff options
context:
space:
mode:
authorMarat Dukhan <marat@fb.com>2018-03-24 23:21:02 -0700
committerMarat Dukhan <marat@fb.com>2018-03-24 23:21:02 -0700
commitcf70aeeb83cbc1c582aca39793056904abcb1e57 (patch)
tree860516fa04782fd05a89747ce78c42163c093b49 /src/arm
parent806dcca7bdd4759db446a26b2080e6cbf3307edd (diff)
downloadcpuinfo-cf70aeeb83cbc1c582aca39793056904abcb1e57.tar.gz
Report fatal error and abort if any cpuinfo_get_* function is called before initialization
Diffstat (limited to 'src/arm')
-rw-r--r--src/arm/linux/init.c4
-rw-r--r--src/arm/mach/init.c4
2 files changed, 8 insertions, 0 deletions
diff --git a/src/arm/linux/init.c b/src/arm/linux/init.c
index 197b48f..dd54668 100644
--- a/src/arm/linux/init.c
+++ b/src/arm/linux/init.c
@@ -557,6 +557,10 @@ void cpuinfo_arm_linux_init(void) {
cpuinfo_cache_count[cpuinfo_cache_level_1d] = usable_processors;
cpuinfo_cache_count[cpuinfo_cache_level_2] = l2_count;
+ __sync_synchronize();
+
+ cpuinfo_is_initialized = true;
+
linux_cpu_to_processor_map = NULL;
linux_cpu_to_core_map = NULL;
processors = NULL;
diff --git a/src/arm/mach/init.c b/src/arm/mach/init.c
index 2d8feeb..d8e0ab6 100644
--- a/src/arm/mach/init.c
+++ b/src/arm/mach/init.c
@@ -483,6 +483,10 @@ void cpuinfo_arm_mach_init(void) {
cpuinfo_cores_count = mach_topology.cores;
cpuinfo_packages_count = mach_topology.packages;
+ __sync_synchronize();
+
+ cpuinfo_is_initialized = true;
+
processors = NULL;
cores = NULL;
packages = NULL;