Title: [175804] trunk
- Revision
- 175804
- Author
- [email protected]
- Date
- 2014-11-10 02:38:09 -0800 (Mon, 10 Nov 2014)
Log Message
Enable Cortex-A53-specific code paths by default if core is detected.
https://bugs.webkit.org/show_bug.cgi?id=138499
Patch by Akos Kiss <[email protected]> on 2014-11-10
Reviewed by Csaba Osztrogonác.
On ARM64/Linux, check /proc/cpuinfo for CPU part 0xd03 (signaling
Cortex-A53) and set the initial value of WTF_CPU_ARM64_CORTEXA53 to true
if found.
Since on ARM64/Linux the part number that cpuinfo reports depends on
the core the query is run on, the check is bound to and executed on the
available cores one by one.
* Source/cmake/OptionsCommon.cmake:
Modified Paths
Diff
Modified: trunk/ChangeLog (175803 => 175804)
--- trunk/ChangeLog 2014-11-10 09:09:44 UTC (rev 175803)
+++ trunk/ChangeLog 2014-11-10 10:38:09 UTC (rev 175804)
@@ -1,3 +1,20 @@
+2014-11-10 Akos Kiss <[email protected]>
+
+ Enable Cortex-A53-specific code paths by default if core is detected.
+ https://bugs.webkit.org/show_bug.cgi?id=138499
+
+ Reviewed by Csaba Osztrogonác.
+
+ On ARM64/Linux, check /proc/cpuinfo for CPU part 0xd03 (signaling
+ Cortex-A53) and set the initial value of WTF_CPU_ARM64_CORTEXA53 to true
+ if found.
+
+ Since on ARM64/Linux the part number that cpuinfo reports depends on
+ the core the query is run on, the check is bound to and executed on the
+ available cores one by one.
+
+ * Source/cmake/OptionsCommon.cmake:
+
2014-11-10 Eva Balazsfalvi <[email protected]>
[EFL] Remove unnecessary version check from OptionsEfl.cmake
Modified: trunk/Source/cmake/OptionsCommon.cmake (175803 => 175804)
--- trunk/Source/cmake/OptionsCommon.cmake 2014-11-10 09:09:44 UTC (rev 175803)
+++ trunk/Source/cmake/OptionsCommon.cmake 2014-11-10 10:38:09 UTC (rev 175804)
@@ -30,6 +30,23 @@
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
endif ()
+# Detect Cortex-A53 core if CPU is ARM64 and OS is Linux.
+# Query /proc/cpuinfo for each available core and check reported CPU part number: 0xd03 signals Cortex-A53.
+# (see Main ID Register in ARM Cortex-A53 MPCore Processor Technical Reference Manual)
+set(WTF_CPU_ARM64_CORTEXA53_INITIALVALUE OFF)
+if (WTF_CPU_ARM64 AND (${CMAKE_SYSTEM_NAME} STREQUAL "Linux"))
+ execute_process(COMMAND nproc OUTPUT_VARIABLE PROC_COUNT)
+ math(EXPR PROC_MAX ${PROC_COUNT}-1)
+ foreach (PROC_ID RANGE ${PROC_MAX})
+ execute_process(COMMAND taskset -c ${PROC_ID} grep "^CPU part" /proc/cpuinfo OUTPUT_VARIABLE PROC_PART)
+ if (PROC_PART MATCHES "0xd03")
+ set(WTF_CPU_ARM64_CORTEXA53_INITIALVALUE ON)
+ break ()
+ endif ()
+ endforeach ()
+endif ()
+option(WTF_CPU_ARM64_CORTEXA53 "Enable Cortex-A53-specific code paths" ${WTF_CPU_ARM64_CORTEXA53_INITIALVALUE})
+
if (WTF_CPU_ARM64_CORTEXA53)
if (NOT WTF_CPU_ARM64)
message(FATAL_ERROR "WTF_CPU_ARM64_CORTEXA53 set without WTF_CPU_ARM64")
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes