Prefix sysprops with 'ro.vendor.'

We currently face the following issues with regards to the ArmNN system
properties:

* They are not defined on our devices, so always fall back to their
  default values.
* The property names are not prefixed with either `vendor.` nor
  `ro.vendor`. This violates the guidelines for defining system
  properties.
* The driver has not been granted the right to read the properties,
  leading to SELinux violations that have to be ignored.

Until a consensus is reached with ARM, we will re-name the properties to
`ro.vendor.armnn.*` and add the necessary SELinux rules for them.

Bug: 205202540
Bug: 264489188
Test: manual - reboot device and check the absence of AVC denials
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:775917c1c0a9b13ef952ab954547ec39dd1062ef)
Merged-In: I88521b868be672fb0b595dcd3f1f057a14886a92
Change-Id: I88521b868be672fb0b595dcd3f1f057a14886a92
1 file changed
tree: dba571d74b94c4707e54232331b0706e6857132b
  1. 1.0/
  2. 1.1/
  3. 1.2/
  4. 1.3/
  5. docs/
  6. test/
  7. .gitignore
  8. Android.bp
  9. android.hardware.neuralnetworks@1.0-service-armnn.rc
  10. android.hardware.neuralnetworks@1.1-service-armnn.rc
  11. android.hardware.neuralnetworks@1.2-service-armnn.rc
  12. android.hardware.neuralnetworks@1.3-service-armnn.rc
  13. Android.mk
  14. ArmnnDevice.cpp
  15. ArmnnDevice.hpp
  16. ArmnnDriver.hpp
  17. ArmnnDriverImpl.cpp
  18. ArmnnDriverImpl.hpp
  19. ArmnnPreparedModel.cpp
  20. ArmnnPreparedModel.hpp
  21. ArmnnPreparedModel_1_2.cpp
  22. ArmnnPreparedModel_1_2.hpp
  23. ArmnnPreparedModel_1_3.cpp
  24. ArmnnPreparedModel_1_3.hpp
  25. ConversionUtils.cpp
  26. ConversionUtils.hpp
  27. ConversionUtils_1_2.hpp
  28. ConversionUtils_1_3.hpp
  29. DriverOptions.cpp
  30. DriverOptions.hpp
  31. LICENSE
  32. ModelToINetworkConverter.cpp
  33. ModelToINetworkConverter.hpp
  34. NamespaceAdaptor.hpp
  35. NnapiSupport.txt
  36. OWNERS
  37. README.md
  38. RequestThread.cpp
  39. RequestThread.hpp
  40. RequestThread_1_3.cpp
  41. RequestThread_1_3.hpp
  42. SECURITY.md
  43. service.cpp
  44. setup.sh
  45. SystemPropertiesUtils.hpp
  46. Utils.cpp
  47. Utils.hpp
README.md

ArmNN Android Neural Networks driver

This directory contains the ArmNN driver for the Android Neural Networks API, implementing the android.hardware.neuralnetworks@1.0, android.hardware.neuralnetworks@1.1, android.hardware.neuralnetworks@1.2 and android.hardware.neuralnetworks@1.3 HALs.

For more information about supported operations and configurations, see NnapiSupport.txt

For documentation about integrating this driver into an Android tree, see Integrator Guide

For FAQs and troubleshooting advice, see FAQ.md

License

The android-nn-driver is provided under the MIT license. See LICENSE for more information. Contributions to this project are accepted under the same license.

Individual files contain the following tag instead of the full license text.

SPDX-License-Identifier: MIT

This enables machine processing of license information based on the SPDX License Identifiers that are available here: http://spdx.org/licenses/