NameLast modifiedSizeLicense

Parent Directory Parent Directory
other MANIFEST 17-Jan-2019 09:23 453 open
other MD5SUMS 17-Jan-2019 09:23 270 open
other boot.img.xz 17-Jan-2019 09:23 7.5M open
application/json build_config.json 17-Jan-2019 09:23 580 open
other cache.img.xz 17-Jan-2019 09:23 728 open
text changelog.txt 17-Jan-2019 09:23 229.9K open
application/x-sh env-hikey-cleanspec.sh 17-Jan-2019 09:23 78 open
application/x-sh env-hikey.sh 17-Jan-2019 09:23 78 open
application/octet-stream fip.bin.xz 17-Jan-2019 09:23 943.7K open
application/json installed-files-vendor.json 17-Jan-2019 09:23 55.7K open
text installed-files-vendor.txt 17-Jan-2019 09:23 16.8K open
application/json installed-files.json 17-Jan-2019 09:23 879.9K open
text installed-files.txt 17-Jan-2019 09:23 275.2K open
other kernel_config 17-Jan-2019 09:23 133.6K open
application/octet-stream l-loader.bin.xz 17-Jan-2019 09:23 22.0K open
application/x-sh linaro_android_build_cmds.sh 17-Jan-2019 09:23 7.7K open
application/json module-info.json 17-Jan-2019 09:23 5.3M open
application/x-sh ninja-hikey-cleanspec.sh 17-Jan-2019 09:23 119 open
application/x-sh ninja-hikey.sh 17-Jan-2019 09:23 99 open
text pinned-manifest.xml 17-Jan-2019 09:23 125.2K open
other ramdisk.img 17-Jan-2019 09:23 1.5M open
text source-manifest.xml 17-Jan-2019 09:23 65.7K open
other system.img.xz 18-Jan-2019 00:19 340.0M open
other userdata.img.xz 17-Jan-2019 09:23 3.1M open
other vendor-4.4.img.xz 17-Jan-2019 09:23 4.8M open
other vendor.img.xz 17-Jan-2019 09:23 5.0M open


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 power@1.1 interface
  • Enabled 64bit DRM HAL
  • Updated to mount userdata partition with nosuid and nodev flags

License

The use of HiKey software is subject to the terms of the HiKey:
End User License Agreement.

Support

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 its@linaro.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 Enablement

OP-TEE userspace projects

Project URL Version
optee_client https://github.com/OP-TEE/optee_client 3.3.0
optee_test https://github.com/OP-TEE/optee_test 3.3.0
optee_os https://github.com/OP-TEE/optee_os 3.3.0

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:

Any patches can be contributed through the instructions described Here

Known Issues and Limitations

Known limitations

  • Graphics has occasional horizontal offset (color shifts sometimes) problem
  • QuadrantPro benchmark failed to run to complete with this build

Known issues

The following known issues are present in this release. Please contact support@linaro.org 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

Prerequisites

Please download the uefi binaries from here
and flash them into your HiKey board according to the instructions here

If this is the first time you use Hikey board, please reference here for the initial setup instructions:

Get artifacts

Click on each link to download:

  • l-loader.bin.xz (for OP-TEE support)
  • fip.bin.xz (for OP-TEE support))
  • boot.img.xz
  • system.img.xz
  • vendor.img.xz
  • 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
following commands:

$ 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

Note:
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.

./flash-all.sh /dev/ttyUSBX

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.

3. SUPPORT.

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.

6. CONFIDENTIALITY.
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.

9. GENERAL.

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