About the Reference Linaro Confectionary Release for HiKey (Multi-arch 64-bit)
This Reference Linaro Confectionary Release is the release of Android Pie 9.0
for 96boards HiKey board. It is based on the Pie android-9.0.0_r22 branch. This build is a
userdebug variant build, which contains multi-arch support allowing full use of the
64-bit ARMv8-A architecture, supports both 64-bit and 32-bit applications,
and with SELinux enabled.
The kernel used for this build is based on the AOSP version 4.14 common kernel,
which includes the ARM Mali drivers for 3D graphics acceleration support,
and OP-TEE support.
The userspace projects are built with AOSP Android clang-4691093
which is version 6.0.2 (based on LLVM 6.0.2svn),
for both 64bit and 32bit, and kernel is built with AOSP Android
clang-r346389b which is version 8.0.6 (based on LLVM 8.0.6svn).
To switch to permissive mode, pass “androidboot.selinux=permissive” as
the boot parameter in the bootargs configuration, or run
“setenforce 0” from command line with root user after booted.
The Android AOSP software provided in this release is functionally
tested with CTS version 9.0 R5 and VTS package generated from the
AOSP pie-vts-dev branch, the test results of both CTS and VTS are
shared with members. We also added some benchmark tests to observe the
performance trend in various fields.
Sources are also made available so you can build your own images
(see the Building from Source tab).
What is new
- Android source base on Pie android-9.0.0_r22 version
- CTS package based on version of Android 9.0 R5
- Tested with VTS package based on pie-vts-dev
- OP-TEE based on tag 3.3.0
- All tests were run in LAVAv2 format
- Enabled the Treble feature
- Use 4.14 as the default kernel, fixed problems related to the use of 4.14 kernel
- Enabled drm_hwcomposer hal
- Set PRODUCT_SHIPPING_API_LEVEL to 25
- Dropped the usage of FIQ console feature
- Enabled more basic system services features
- HiKey PowerHAL is reworked to use email@example.com interface
- Enabled 64bit DRM HAL
- Updated to mount userdata partition with nosuid and nodev flags
The use of HiKey software is subject to the terms of the HiKey:
End User License Agreement.
Subscribe to the important Linaro mailing lists and join our IRC
channels to stay on top of Linaro development.
- Linaro Android Development ‘Mailing list’
- Linaro Android IRC channel on irc.freenode.net at #linaro-android
- Linaro Android ART IRC channel on irc.freenode.net at #linaro-art
- Bug reports should be filed in ‘Bugzilla’ under “Linaro Android” product and “R-LCR-HIKEY” component.
- You will need to login to your Linaro account. If you do not have an account or are having problems, email firstname.lastname@example.org for help.
- More general bug reports should be filed in Bugzilla against the individual packages that are affected.
- Questions? ‘ask linaro’
- Interested in commercial support? inquire at ‘Linaro Support’
OP-TEE userspace projects
Firmware used for OP-TEE
Please use the firmware files from “here”: http://releases.linaro.org/android/reference-lcr/hikey/9.0-19.01/ .
Patches for OP-TEE enablement
|Gerrit ID/Commit ID||Project||Description|
|20090||device/linaro/hikey||optee: integrate for optee components|
|18233||device/linaro/hikey||optee: Enable opteed in the bootloader|
|18470||device/linaro/hikey||bootloader/Makefile: use TOP_ROOT_ABS instead of ANDROID_BUILD_TOP|
|17728||device/linaro/hikey||build_uefi.mk: to build uefi files automatically when build android|
|20091||device/linaro/hikey||init.common.rc & sepolicy: move OPTEE related file to vendor paritition|
|05a8316d2e5b45bd15a9646bf948ffa042f94327||kernel/linaro/hisilicon-4.14||hikey: Enable OPTEE in defconfig|
|18415||kernel/linaro/hisilicon-4.14||hikey_defconfig: enable dummy ION memory in kernel config|
|fabaadfddf7a3ca34769ec1814ea931d5e326ab0||kernel/linaro/hisilicon-4.14||[v4.16] tee: flexible shared memory pool creation|
|18413||kernel/linaro/hisilicon-4.14||[v4.16] tee: add register user memory|
|0987f080c0bb427354d8f0c95940d8912ab40707||kernel/linaro/hisilicon-4.14||[v4.16] tee: use reference counting for tee_context|
|28f2ad9c42306663c01a479cd23fa87668c890cb||kernel/linaro/hisilicon-4.14||tee: new ioctl to a register tee_shm from a dmabuf file descriptor|
|229153c92b8fe18a8e12b473a0ff66e317755dfa||kernel/linaro/hisilicon-4.14||[v4.16] tee: optee: Update protocol definitions|
|a2f3da632988d38c1e5355a28336fe1115afb288||kernel/linaro/hisilicon-4.14||[v4.16] tee: optee: store OP-TEE capabilities in private data|
|1af7f7907fd43456de448d115711561c3ad5cbbf||kernel/linaro/hisilicon-4.14||staging/ion: add Allwinner ION “secure” heap|
|ffcd4cc22e27b81f1ebae6f2bf8e29664e723e21||kernel/linaro/hisilicon-4.14||ion: “unmapped” heap for secure data path|
|ee589e6a4688add86cd34cadd23267cbccf3f3c0||kernel/linaro/hisilicon-4.14||staging/ion: condition unmapped heap to supported architectures|
|16843e5f398a40e085a8cd20770af825b100fb1a||kernel/linaro/hisilicon-4.14||staging/ion: ARM64 supports ION_UNMAPPED_HEAP|
|18405||kernel/linaro/hisilicon-4.14||staging:ion: add a no-map property to ion dmabuf attachment|
|3ed4ce4c37ef0800b5da18893212e6769e1dbd3e||kernel/linaro/hisilicon-4.14||tee: optee: log message if dynamic shm is enabled|
|94c2f2e1cb08073cd688bd51638920b1cc6ad166||kernel/linaro/hisilicon-4.14||tee: fix unbalanced context refcount in register shm from fd|
Android Patch Summary
There are patches developed by Linaro engineering teams were applied
to get Android booting to UI on the HiKey development platform.
These patches can be found on Linaro’s Android Git repositories via files:
Some of these patches have been submitted to AOSP and are being tracked for acceptance.
Any patches can be contributed through the instructions described Here
Known Issues and Limitations
- Graphics has occasional horizontal offset (color shifts sometimes) problem
- QuadrantPro benchmark failed to run to complete with this build
The following known issues are present in this release. Please contact email@example.com if you wish to know more information about these issues or have access problems when attempting to view them.
|Bug ID||Bug title||Bug summary|
|4094||HiKey-Pie: CtsAndroidAppTestCases android.app.cts.ApplyOverrideConfigurationTest#testOverriddenConfigurationIsPassedIntoCallback|
|4086||HiKey-Pie: CtsAppTestCases android.app.cts.ActivityManagerProcessStateTest#testForegroundServiceAppOp(intermittent)|
|4089||HiKey-Pie: CtsAppTestCases android.app.cts.AlarmManagerTest#testAlarmTriggersImmediatelyIfSetTimeIsNegative(intermittent-timeout)|
|4215||HiKey-Pie: CtsAppTestCases android.app.cts.AlertDialog_BuilderTest#testSetCancelable|
|4206||HiKey-Pie: CtsAppTestCases android.app.cts.DialogTest#testContextMenu|
|4207||HiKey-Pie: CtsAppTestCases android.app.cts.DialogTest#testOnKeyDownKeyUp|
|4093||HiKey-Pie: CtsLibcoreTestCases libcore.java.net.InetAddressTest#test_isReachable_by_ICMP|
|4124||HiKey-Pie: CtsNativeHardwareTestCases android.hardware.nativehardware.cts.AHardwareBufferNativeTests#SingleLayer_ColorTest_GpuColorOutputAndSampledImage_R8G8B8_UNORM|
|4123||HiKey-Pie: CtsNativeHardwareTestCases android.hardware.nativehardware.cts.AHardwareBufferNativeTests#SingleLayer_ColorTest_GpuColorOutputCpuRead_R8G8B8_UNORM|
|4122||HiKey-Pie: CtsNativeHardwareTestCases android.hardware.nativehardware.cts.AHardwareBufferNativeTests#SingleLayer_ColorTest_GpuColorOutputIsRenderable_R8G8B8_UNORM|
|4121||HiKey-Pie: CtsNativeHardwareTestCases android.hardware.nativehardware.cts.AHardwareBufferNativeTests#SingleLayer_ColorTest_GpuSampledImageCanBeSampled_R8G8B8_UNORM|
|4236||HiKey-Pie: CtsPermissionTestCases android.permission.cts.DebuggableTest#testNoDebuggable|
|4235||HiKey-Pie: CtsPermissionTestCases android.permission.cts.FileSystemPermissionTest#testDataMountedNoSuidNoDev|
|4234||HiKey-Pie: CtsPermissionTestCases android.permission.cts.FileSystemPermissionTest#testDevPortSane|
|4181||HiKey-Pie: CtsSecurityTestCases android.security.cts.MotionEventTest#testActionOutsideDoesNotContainedObscuredInformation|
|4125||HiKey-Pie: CtsSyncContentHostTestCases android.content.cts.InvalidSyncAuthoritiesHostTest#testInvalidEntriesClearedOnBoot|
|4239||HiKey-Pie: CtsSystemUiTestCases android.systemui.cts.LightBarTests#testNavigationBarDivider|
|4237||HiKey-Pie: CtsSystemUiTestCases android.systemui.cts.LightBarThemeTest#testNavigationBarDividerColor|
|4111||HiKey-Pie: CtsViewTestCases android.view.cts.DisplayRefreshRateTest#testRefreshRate|
|4105||HiKey-Pie: CtsViewTestCases android.view.cts.PixelCopyTest#testDialogProducer|
|4103||HiKey-Pie: CtsViewTestCases android.view.cts.SurfaceViewSyncTest#testEmptySurfaceView|
|4102||HiKey-Pie: CtsViewTestCases android.view.cts.SurfaceViewSyncTest#testSmallRect|
|4101||HiKey-Pie: CtsViewTestCases android.view.cts.SurfaceViewSyncTest#testSurfaceViewBigScale|
|4100||HiKey-Pie: CtsViewTestCases android.view.cts.SurfaceViewSyncTest#testSurfaceViewSmallScale|
|4099||HiKey-Pie: CtsViewTestCases android.view.cts.SurfaceViewSyncTest#testVideoSurfaceViewCornerCoverage|
|4098||HiKey-Pie: CtsViewTestCases android.view.cts.SurfaceViewSyncTest#testVideoSurfaceViewEdgeCoverage|
|4097||HiKey-Pie: CtsViewTestCases android.view.cts.SurfaceViewSyncTest#testVideoSurfaceViewRotated|
|4096||HiKey-Pie: CtsViewTestCases android.view.cts.SurfaceViewSyncTest#testVideoSurfaceViewTranslate|
|4143||HiKey-Pie: CtsWebkitTestCases android.webkit.cts.WebChromeClientTest#testOnJsBeforeUnloadIsCalled failed only with arm64-v8a(intermittent)|
|4208||HiKey-Pie: CtsWebkitTestCases android.webkit.cts.WebViewTest#testRequestImageRef(intermittent)|
|4142||HiKey-Pie: CtsWidgetTestCases android.widget.cts.ExpandableListViewWithHeadersTest#testContextMenus(intermittent)|
|4141||HiKey-Pie: CtsWidgetTestCases android.widget.cts.ToolbarTest#testMenuOverflowSubmenu(intermittent)|
|4139||HiKey-Pie: media-codecs was not integrated into the build|
|4138||HiKey-Pie: optee-xtest failed to run with 100% pass rate on lava|
|4140||HiKey-Pie: piglit-gles2 piglit-gles3 piglit-glslparser piglit-shader-runner tests are not integrated into the builds|
|4137||HiKey-Pie: quadrantpro failed to run to complete|
|4204||HiKey-Pie: vts-hal VtsHalGnssV1_0Target#GnssHalTest.GetAllExtensions(default)|
|4203||HiKey-Pie: vts-hal VtsHalGnssV1_0Target#GnssHalTest.GetLocation(default)|
|4202||HiKey-Pie: vts-hal VtsHalGnssV1_0Target#GnssHalTest.InjectDelete(default)|
|4201||HiKey-Pie: vts-hal VtsHalGnssV1_0Target#GnssHalTest.MeasurementCapabilites(default)|
|4200||HiKey-Pie: vts-hal VtsHalGnssV1_0Target#GnssHalTest.SetCallbackCapabilitiesCleanup(default)|
|4119||HiKey-Pie: vts-performance FmqPerformanceTest#testRunBenchmark32Bit|
|4120||HiKey-Pie: vts-performance FmqPerformanceTest#testRunBenchmark64Bit|
If this is the first time you use Hikey board, please reference here for the initial setup instructions:
Click on each link to download:
- l-loader.bin.xz (for OP-TEE support)
- fip.bin.xz (for OP-TEE support))
- userdata.img.xz(for 8G board)
Uncompress the downloaded .xz files using your operating system file manager,
or with the following command for each file:
$ xz -d [filename].xz
Flash firmware files for OP-TEE support
If you need OP-TEE feature work with this release, the firmware files
l-loader.bin and fip.bin are required to be flashed.
To flash the l-loader.bin and fip.bin files, you need to boot into the recovery
mode with the Link 1-2 and Link 3-4 of the Jumper 15 closed, and Link 5-6 opened.
And run the hisi-idt.py from here as following:
sudo python ./hisi-idt.py --img1="l-loader.bin" -d "/dev/ttyUSBx" sleep 3 fastboot flash fastboot fip.bin
For details you could check the README file in AOSP here
You could flash the AOSP Android images here as well with following instructions:
$ fastboot flash boot boot.img $ fastboot flash system system.img $ fastboot flash userdata userdata.img $ fastboot flash vendor vendor.img
Or flash the image files with following instructions.
Boot HiKey board to fastboot mode
Connect the Link 1-2 and Link 5-6 of the Jumper15 on your Hikey board,
Connect a standard microUSB to USB connector between the HiKey microUSB port
and your Linux PC. Connect the HiKey power supply to the board, and run
following command to check if the board is in fastboot mode:
$ sudo fastboot devices 0123456789abcdef fastboot $
Also if you are in Android mode, you could switch to fastboot mode with command
$ adb reboot bootloader
Flash Android images
Flash the uncompressed files into the HiKey board under fastboot mode with
$ fastboot flash boot boot.img $ fastboot flash system system.img $ fastboot flash userdata userdata.img $ fastboot flash vendor vendor.img
Boot HiKey board with Android images
Connect the link 1-2, remove the link 3-4 and link 5-6 of the Jumper15 on your Hikey board,
connect the microUSB to you host pc, and plug in the power supply cable,
this will make your board boot the flashed android images by default.
You can use following command to check if the adb connection is connected:
$ adb devices List of devices attached 0123456789 device $
Linaro Android Source Code
Download the Android building script linaro_android_build_cmds.sh for this build
from the list of artifacts listed above, and run it.
This script will help to download the entire source code for both Android and
the kernel and attempt to build it.
Most commonly used options for linaro_android_build_cmds.sh:
$ ./linaro_android_build_cmds.sh -h #To print the script usage $ ./linaro_android_build_cmds.sh -t #To build from the tip of the branch without overlay $ ./linaro_android_build_cmds.sh -t -u <url-aosp-mirror-manifest> #As -t, but repo sync from local mirror $ ./linaro_android_build_cmds.sh -m <pinned_manifest> #To reproduce an exact build from pinned manifest $ ./linaro_android_build_cmds.sh -m <pinned_manifest> -u <url-aosp-mirror-manifest> #As -m, but repo sync from local mirror
The pinned manifest(pinned-manifest.xml(?) and source manifest(source-manifest.xml) can be found from the list of artifacts
Compiling Linaro Android RootFS+Kernel
The following simple steps download, install and compile a complete Linaro Android distribution
- Download and install Ubuntu 14.04 64 bit or newer (download)
- Download the Android building script for this build from the list of artifacts
- Run the linaro_android_build_cmds.sh script downloaded, and answer the questions when promopted
These steps will generate the userdata.img for 8GB eMMC version by default,
4GB eMMc version HiKey board is not supported.
Build from the tip of the source:
chmod a+x linaro_android_build_cmds.sh ./linaro_android_build_cmds.sh -t or ./linaro_android_build_cmds.sh -t -u <url-aosp-mirror-manifest>
Or reproduce the exactly the same as this buid:
chmod a+x linaro_android_build_cmds.sh ./linaro_android_build_cmds.sh -m pinned-manifest.xml or ./linaro_android_build_cmds.sh -m pinned-manifest.xml -u <url-aosp-mirror-manifest>
Flash firmware files
To make the OP-TEE feature work correctly, we need to flash the generated firmware
files fip.bin and l-loader.bin,
To flash firmware files, we need to boot the board into the recovery mode as described
in the README file under device/linaro/hikey/installer/hikey/README, or could check
from here as well
After the building finished successfully, please boot the HiKey board to recovery mode,
and change directory to device/linaro/hikey/installer/hikey,
you could then run ./flash-all.sh directly from there since the newly generated
fip.bin and l-loader.bin files had already been copied there.
Installing Android to your HiKey Board
Following commands will flash the images into your HiKey board via the fastboot command.
$ sudo fastboot flash boot out/target/product/hikey/boot.img $ sudo fastboot flash system out/target/product/hikey/system.img $ sudo fastboot flash userdata out/target/product/hikey/userdata.img $ sudo fastboot flash vendor out/target/product/hikey/vendor.img
THIS END USER LICENCE AGREEMENT (“LICENCE”) IS A LEGAL AGREEMENT BETWEEN YOU (EITHER A SINGLE INDIVIDUAL, OR SINGLE LEGAL ENTITY) AND ARM LIMITED (“ARM”) FOR THE USE OF THE SOFTWARE ACCOMPANYING THIS LICENCE. ARM IS ONLY WILLING TO LICENSE THE SOFTWARE TO YOU ON CONDITION THAT YOU ACCEPT ALL OF THE TERMS IN THIS LICENCE. BY CLICKING “I AGREE” OR BY INSTALLING OR OTHERWISE USING OR COPYING THE SOFTWARE YOU INDICATE THAT YOU AGREE TO BE BOUND BY ALL OF THE TERMS OF THIS LICENCE. IF YOU DO NOT AGREE TO THE TERMS OF THIS LICENCE, ARM IS UNWILLING TO LICENSE THE SOFTWARE TO YOU AND YOU MAY NOT INSTALL, USE OR COPY THE SOFTWARE, AND YOU SHOULD PROMPTLY RETURN THE SOFTWARE TO YOUR SUPPLIER.
“Software” means any software, firmware and data accompanying this Licence, any printed, electronic or online documentation supplied with it under the terms of this Licence for the MALI GPU Driver.
1. LICENCE GRANTS TO YOU.
ARM hereby grants to you, subject to the terms and conditions of this Licence, a non-exclusive, non-transferable, revocable, worldwide licence to: (i) use the Software or certain components or optional functionality in the Software, as applicable, solely for the purposes of designing or developing applications for use in conjunction with MALI GPU based products manufactured under licence from ARM; and (ii) modify the Software or certain components or optional functionality in the Software for the purposes of porting the Software to your target;
2. RESTRICTIONS ON USE OF THE SOFTWARE.
COPYING: You shall not use or copy the Software except as expressly authorised in this Licence. You may make one additional copy of the delivered Software for backup or archival purposes.
BENCHMARKING: This Licence does not prevent you from using the Software for internal benchmarking purposes. However, you shall treat any and all benchmarking data relating to the Software, and any other results of your use or testing of the Software which are indicative of its performance, efficacy, reliability or quality, as confidential information and you shall not disclose such information to any third party without the express written permission of ARM.
COPYRIGHT AND RESERVATION OF RIGHTS: The Software is owned by ARM or its licensors and is protected by copyright and other intellectual property laws and international treaties. The Software is licensed not sold. You acquire no rights to the Software other than as expressly provided by this Licence. You shall not remove from the Software any copyright notice or other notice and shall ensure that any such notice is reproduced in any copies of the whole or any part of the Software made by you or other permitted users.
REVERSE ENGINEERING: Except to the extent that such activity is permitted by applicable law you shall not reverse engineer, decompile or disassemble any of the Software. If the Software was provided to you in Europe you shall not reverse engineer, decompile or disassemble any of the Software for the purposes of error correction.
ARM is not under an obligation to provide support, but it may do so at its own discretion, and if it does, it will only be in respect of the Software as delivered and not any modifications thereto.
4. NO WARRANTIES.
YOU AGREE THAT THE SOFTWARE IS LICENSED “AS IS”, AND THAT ARM EXPRESSLY DISCLAIMS ALL REPRESENTATIONS, WARRANTIES, CONDITIONS OR OTHER TERMS, EXPRESS OR IMPLIED OR STATUTORY, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, SATISFACTORY QUALITY, AND FITNESS FOR A PARTICULAR PURPOSE.
YOU EXPRESSLY ASSUME ALL LIABILITIES AND RISKS, FOR USE OR OPERATION OF SOFTWARE APPLICATIONS, INCLUDING WITHOUT LIMITATION, SOFTWARE APPLICATIONS DESIGNED OR INTENDED FOR MISSION CRITICAL APPLICATIONS, SUCH AS PACEMAKERS, WEAPONRY, AIRCRAFT NAVIGATION, FACTORY CONTROL SYSTEMS, ETC. SHOULD THE SOFTWARE PROVE DEFECTIVE, YOU ASSUME THE ENTIRE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
5. LIMITATION OF LIABILITY.
TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL ARM BE LIABLE FOR ANY INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES (INCLUDING LOSS OF PROFITS) ARISING OUT OF THE USE OR INABILITY TO USE THE SOFTWARE WHETHER BASED ON A CLAIM UNDER CONTRACT, TORT OR OTHER LEGAL THEORY, EVEN IF ARM WAS ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
ARM does not seek to limit or exclude liability for death or personal injury arising from ARM’s negligence or ARM’s fraud and because some jurisdictions do not permit the exclusion or limitation of liability for consequential or incidental damages the above limitation relating to liability for consequential damages may not apply to you.
NOTWITHSTANDING ANYTHING TO THE CONTRARY CONTAINED IN THIS LICENCE, THE MAXIMUM LIABILITY OF ARM TO YOU IN AGGREGATE FOR ALL CLAIMS MADE AGAINST ARM IN CONTRACT TORT OR OTHERWISE UNDER OR IN CONNECTION WITH THE SUBJECT MATTER OF THIS LICENCE SHALL NOT EXCEED THE GREATER OF: (I) THE TOTAL OF SUMS PAID BY YOU TO ARM (IF ANY) FOR THIS LICENCE; AND (II) $10.00 USD. THE EXISTENCE OF MORE THAN ONE CLAIM WILL NOT ENLARGE OR EXTEND THE LIMIT.
You acknowledge that the Software and any benchmarking data and related information mentioned in Clause 2 may contain trade secrets and confidential material and you agree to maintain all such information in confidence and apply security measures no less stringent than the measures which you apply to protect your own like information, but not less than a reasonable degree of care, to prevent their unauthorised disclosure and use. Subject to any restrictions imposed by applicable law, the period of confidentiality shall be indefinite. You agree not to use any such information other than in normal use of the Software under the licences granted in this Licence.
7. U.S. GOVERNMENT END USERS.
US Government Restrictions: Use, duplication, reproduction, release, modification, disclosure or transfer of the Software is restricted in accordance with the terms of this Licence.
8. TERM AND TERMINATION.
This Licence shall remain in force until terminated by you or by ARM. Without prejudice to any of its other rights if you are in breach of any of the terms and conditions of this Licence then ARM may terminate this Licence immediately upon giving written notice to you or on thirty (30) days written notice without cause. You may terminate this Licence at any time. Upon termination of this Licence by you or by ARM , you shall stop using the Software and confidential information and destroy all copies of the Software and confidential information in your possession, together with all documentation and related materials. The provisions of clauses 4, 5, 6, 7, 8 and 9 shall survive termination of this Licence.
This Licence is governed by English Law. Except where ARM agrees otherwise in: (i) a written contract signed by you and ARM; or (ii) a written contract provided by ARM and accepted by you, this is the only agreement between you and ARM relating to the Software and it may only be modified by written agreement between you and ARM. Except as expressly agreed in writing, this Licence may not be modified by purchase orders, advertising or other representation by any person. If any clause or sentence in this Licence is held by a court of law to be illegal or unenforceable the remaining provisions of this Licence shall not be affected thereby. The failure by ARM to enforce any of the provisions of this Licence, unless waived in writing, shall not constitute a waiver of ARM’s rights to enforce such provision or any other provision of this Licence in the future.
At ARM’s request, you agree to check your computers for installations of the Software and any other information requested by ARM relating to Software installation and to provide this information to ARM. You agree that auditors nominated by ARM may also perform such checking and reporting on behalf of ARM by prior appointment during your normal business hours on seven (7) days’ notice. ARM shall bear the auditors’ costs for that audit unless it reveals unlicensed usage in which case you shall promptly reimburse ARM for all reasonable costs and expenses, including professional fees, relating to such audit. Any information which is disclosed to ARM or such auditors during checking or audit shall be treated as your confidential information and shall only be used by ARM for licence management, compliance and enforcement purposes.
The Software provided under this Licence is subject to U.S. export control laws, including the U.S. Export Administration Act and its associated regulations, and may be subject to export or import regulations in other countries. You agree to comply fully with all laws and regulations of the United States and other countries (“Export Laws”) to assure that the Software, is not (1) exported, directly or indirectly, in violation of Export Laws, either to any countries that are subject to U.S.A. export restrictions or to any end user who has been prohibited from participating in the U.S.A. export transactions by any federal agency of the U.S.A. government; or (2) intended to be used for any purpose prohibited by Export Laws, including, without limitation, nuclear, chemical, or biological weapons proliferation.
Mali GPU Userspace LES-PRE-20376