aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorDavid 'Digit' Turner <digit@google.com>2014-05-12 15:59:08 +0200
committerDavid 'Digit' Turner <digit@google.com>2014-05-12 15:59:08 +0200
commit4933fadc341c3452d4d2360e890697c37dcfeaa5 (patch)
tree9315b6ab91a9a66d9bb877e0c936cbc027661926 /docs
parent9e3f30f57ab17cb1b68db4ea015566b97844c7c8 (diff)
downloadndk-4933fadc341c3452d4d2360e890697c37dcfeaa5.tar.gz
Revert "Revert "cpu-features: Support 32-bit ARM binaries running on an ARM64 kernel.""
This reverts commit 85b60dd97d351766fe1023e9eba23df23644953d. The original patch [1] was reverted because a required dependency was missing in the libportable module. Fixed in [2], so it is now safe to re-apply. [1] https://android-review.googlesource.com/#/c/91380/ [2] https://android-review.googlesource.com/#/c/94181/ Change-Id: I95417e4dccfcc7f7b056df8cf4682424d1940448
Diffstat (limited to 'docs')
-rw-r--r--docs/text/CPU-FEATURES.text20
1 files changed, 16 insertions, 4 deletions
diff --git a/docs/text/CPU-FEATURES.text b/docs/text/CPU-FEATURES.text
index 3d6b2adca..4ec6d20f7 100644
--- a/docs/text/CPU-FEATURES.text
+++ b/docs/text/CPU-FEATURES.text
@@ -43,8 +43,8 @@ Two functions are provided for now:
AndroidCpuFamily android_getCpuFamily();
-Returns the target device's CPU Family as an enum.
-Currently, the following families are defined:
+Returns a value matching the CPU family/architecture supported by the
+current process as an enum. Currently, the following families are defined:
* `ANDROID_CPU_FAMILY_ARM`
@@ -52,6 +52,15 @@ Currently, the following families are defined:
* `ANDROID_CPU_FAMILY_MIPS`
+ * `ANDROID_CPU_FAMILY_ARM64`
+
+ * `ANDROID_CPU_FAMILY_X86_64`
+
+ * `ANDROID_CPU_FAMILY_MIPS64`
+
+Note that when running a 32-bit executable on a 64-bit system, this function
+will return the 32-bit family value only.
+
Secondly:
uint64_t android_getCpuFeatures();
@@ -60,7 +69,8 @@ Returns the set of optional features supported by the device's CPU.
The result is a set of bit-flags, each corresponding to one CPU
Family-specific optional feature.
-Currently, only the following flags are defined, for the ARM CPU Family:
+Currently, only the following flags are defined, for the 32-bit ARM CPU
+Family:
* `ANDROID_CPU_ARM_FEATURE_VFPv2`
> Indicates that the device's CPU supports VFPv2 instruction set.
@@ -122,7 +132,7 @@ Currently, only the following flags are defined, for the ARM CPU Family:
available since ARMv6. Together they provide atomic update on memory
with the help of exclusive monitor.
-And the following flags for the x86 CPU Family:
+And the following flags for the 32-bit x86 CPU Family:
* `ANDROID_CPU_X86_FEATURE_SSSE3`
> Indicates that the device's CPU supports the SSSE3 instruction
@@ -136,6 +146,8 @@ And the following flags for the x86 CPU Family:
> Indicates that the device's CPU supports the MOVBE instruction.
This one is specific to some Intel IA-32 CPUs, like the Atom.
+Other CPU families do not have extensions listed at the moment, which
+means that android_getCpuFeatures() will return 0 for them.
The following function is also defined to return the max number of
CPU cores on the target device: