summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNariman Poushin <nariman.poushin@linaro.org>2018-08-14 18:54:17 +0530
committerNariman Poushin <nariman.poushin@linaro.org>2018-10-29 18:15:31 +0000
commitcd3008a75d0f338609f076dc74de9bfd7db559dd (patch)
treec6c5d4907262f24416100beca8ce595cb3413071
parent10a1859b7bfed84890daac4a1ac3ce2fb5a3196f (diff)
css: sgm775: Initial support for sgm775
Adds device profile for System Guidance For Mobile 775 (sgm775) fixed virtual platform. Signed-off-by: Nariman Poushin <nariman.poushin@linaro.org>
-rw-r--r--AndroidProducts.mk14
-rw-r--r--BoardConfig.mk84
-rw-r--r--END_USER_LICENSE_AGREEMENT.txt194
-rw-r--r--LES-PRE-21444.docxbin0 -> 35251 bytes
-rw-r--r--OpenGLwallpapers1
-rw-r--r--android-quirks.conf5
-rw-r--r--css_gpu.mk12
-rw-r--r--css_gpu/BoardConfig.mk5
-rw-r--r--css_gpu/device.mk34
-rwxr-xr-xcss_gpu/init.css_gpu.rc6
-rw-r--r--cssbase.kl113
-rwxr-xr-xdevice_common.mk130
-rw-r--r--firmware/h264dec.fwbbin0 -> 274176 bytes
-rw-r--r--firmware/h264enc.fwbbin0 -> 232320 bytes
-rw-r--r--firmware/hevcdec.fwbbin0 -> 190080 bytes
-rw-r--r--firmware/hevcenc.fwbbin0 -> 228608 bytes
-rw-r--r--firmware/jpegdec.fwbbin0 -> 167680 bytes
-rw-r--r--firmware/jpegenc.fwbbin0 -> 145536 bytes
-rw-r--r--firmware/mpeg2dec.fwbbin0 -> 177152 bytes
-rw-r--r--firmware/mpeg4dec.fwbbin0 -> 186752 bytes
-rw-r--r--firmware/vc1dec.fwbbin0 -> 332800 bytes
-rw-r--r--firmware/vp8dec.fwbbin0 -> 174080 bytes
-rw-r--r--firmware/vp8enc.fwbbin0 -> 221440 bytes
-rw-r--r--fstab.cssbase9
-rw-r--r--howto/armv8-android-fvp-lsk/HOWTO_getsourceandbuild.txt147
-rw-r--r--howto/armv8-android-fvp-lsk/HOWTO_install.txt143
-rw-r--r--howto/armv8-android-fvp-lsk/HOWTO_prebuilt.txt69
-rw-r--r--howto/armv8-android-fvp-lsk/OPEN-EULA.txt0
-rw-r--r--howto/armv8-lsk/HOWTO_getsourceandbuild.txt145
-rw-r--r--howto/armv8-lsk/HOWTO_install.txt138
-rw-r--r--howto/armv8-lsk/HOWTO_prebuilt.txt69
-rw-r--r--howto/armv8-lsk/OPEN-EULA.txt0
-rw-r--r--howto/default/HOWTO_getsourceandbuild.txt91
-rw-r--r--howto/default/HOWTO_install.txt77
-rw-r--r--howto/default/HOWTO_prebuilt.txt69
-rw-r--r--init.css.rc125
-rwxr-xr-xmali/Android.mk21
-rw-r--r--mali/LES-PRE-20769.txt194
l---------mali/NOTICE1
-rwxr-xr-xmali/lib/egl/libmali.sobin0 -> 19849924 bytes
-rwxr-xr-xmali/lib/hw/hwcomposer.css.sobin0 -> 170096 bytes
-rwxr-xr-xmali/lib/hw/libstagefrighthw.sobin0 -> 158936 bytes
-rwxr-xr-xmali/lib/mediadrm/libdrmclearkeyplugin.sobin0 -> 46564 bytes
-rwxr-xr-xmali/lib64/egl/libmali.sobin0 -> 19897728 bytes
-rwxr-xr-xmali/lib64/hw/hwcomposer.css.sobin0 -> 244072 bytes
-rwxr-xr-xmali/lib64/hw/libstagefrighthw.sobin0 -> 208904 bytes
-rwxr-xr-xmali/lib64/mediadrm/libdrmclearkeyplugin.sobin0 -> 52896 bytes
-rw-r--r--manifest.xml55
-rw-r--r--media_codecs.xml134
-rw-r--r--monkey_black_list6
-rw-r--r--optee-packages.mk15
-rw-r--r--overlay/frameworks/base/core/res/res/values/config.xml57
-rw-r--r--overlay/frameworks/base/packages/SettingsProvider/res/values/defaults.xml6
-rw-r--r--preboot/bl1.binbin0 -> 12296 bytes
-rw-r--r--preboot/fip.binbin0 -> 2654408 bytes
-rw-r--r--preboot/readme.txt3
-rw-r--r--preboot/startup.nsh1
-rw-r--r--prebuilt_aosp_optee.mk70
-rw-r--r--sepolicy/device.te2
-rw-r--r--sepolicy/file.te1
-rw-r--r--sepolicy/file_contexts12
-rw-r--r--sepolicy/netd.te2
-rw-r--r--sepolicy/optee.te11
-rw-r--r--sepolicy/setcpuset-sh.te7
-rw-r--r--sepolicy/surfaceflinger.te4
-rw-r--r--sepolicy/vpu.te3
-rw-r--r--setcpuset.sh51
-rw-r--r--system.prop4
-rwxr-xr-xvendorsetup.sh27
69 files changed, 2367 insertions, 0 deletions
diff --git a/AndroidProducts.mk b/AndroidProducts.mk
new file mode 100644
index 0000000..ec91419
--- /dev/null
+++ b/AndroidProducts.mk
@@ -0,0 +1,14 @@
+#
+# This file should set PRODUCT_MAKEFILES to a list of product makefiles
+# to expose to the build system. LOCAL_DIR will already be set to
+# the directory containing this file.
+#
+# This file may not rely on the value of any variable other than
+# LOCAL_DIR; do not use any conditionals, and do not look up the
+# value of any variable that isn't set in this file or in a file that
+# it includes.
+#
+
+PRODUCT_MAKEFILES := \
+ $(LOCAL_DIR)/css_gpu.mk \
+
diff --git a/BoardConfig.mk b/BoardConfig.mk
new file mode 100644
index 0000000..685ea50
--- /dev/null
+++ b/BoardConfig.mk
@@ -0,0 +1,84 @@
+# Primary Arch
+TARGET_ARCH := arm64
+TARGET_ARCH_VARIANT := armv8-a
+TARGET_CPU_VARIANT := generic
+TARGET_CPU_ABI := arm64-v8a
+
+# Secondary Arch
+TARGET_2ND_ARCH := arm
+TARGET_2ND_ARCH_VARIANT := armv7-a-neon
+TARGET_2ND_CPU_VARIANT := cortex-a15
+TARGET_2ND_CPU_ABI := armeabi-v7a
+TARGET_2ND_CPU_ABI2 := armeabi
+
+TARGET_USES_64_BIT_BINDER := true
+TARGET_SUPPORTS_32_BIT_APPS := true
+TARGET_SUPPORTS_64_BIT_APPS := true
+
+TARGET_BOARD_PLATFORM := css
+ANDROID_64 := true
+WITH_DEXPREOPT ?= true
+USE_OPENGL_RENDERER := true
+USE_SW_RENDERER := true
+BIONIC_TESTS ?= true
+
+ENABLE_CPUSETS := true
+ENABLE_SCHED_BOOST := true
+
+ifeq ($(strip $(USE_LINARO_TOOLCHAIN)),true)
+# 64bit toolchain
+KERNEL_TOOLS_PREFIX ?= $(realpath $(TOP))/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9-linaro/bin/aarch64-linux-android-
+TARGET_TOOLS_PREFIX ?= $(realpath $(TOP))/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9-linaro/bin/aarch64-linux-android-
+# 32bit toolchain
+2ND_TARGET_TOOLCHAIN_ROOT ?= $(realpath $(TOP))/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9-linaro
+2ND_TARGET_TOOLS_PREFIX ?= $(realpath $(TOP))/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9-linaro/bin/arm-linux-androideabi-
+endif
+
+# Kernel Config
+KERNEL_CONFIG ?= linaro/configs/linaro-base.conf \
+ linaro/configs/android.conf \
+ linaro/configs/vexpress64.conf \
+ linaro/configs/big-LITTLE-MP.conf \
+ $(realpath $(TOP))/device/linaro/build/selinux.conf
+
+# Kernel Source and Device Tree
+# Check the available kernel source and set the same
+ifneq ($(wildcard $(TOP)/kernel/linaro/vexpress),)
+TARGET_KERNEL_SOURCE := kernel/linaro/vexpress
+else
+TARGET_KERNEL_SOURCE := kernel/linaro/armlt
+endif
+
+BUILD_KERNEL_MODULES := false
+
+TARGET_NO_BOOTLOADER := true
+TARGET_NO_KERNEL := true
+TARGET_NO_RECOVERY := true
+TARGET_USE_XLOADER := false
+TARGET_USE_UBOOT := false
+TARGET_HARDWARE_3D := false
+TARGET_SHELL := ash
+BOARD_USES_GENERIC_AUDIO := true
+USE_CAMERA_STUB := true
+TARGET_USERIMAGES_USE_EXT4 := true
+BOARD_SYSTEMIMAGE_PARTITION_SIZE := 1073741824
+BOARD_USERDATAIMAGE_PARTITION_SIZE := 4613734400
+BOARD_CACHEIMAGE_PARTITION_SIZE := 69206016
+BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE := ext4
+BOARD_FLASH_BLOCK_SIZE := 512
+TARGET_USERIMAGES_SPARSE_EXT_DISABLED := true
+TARGET_SYSTEMIMAGE_SPARSE_EXT_DISABLED := true
+
+BOARD_SEPOLICY_DIRS += device/arm/css/sepolicy
+BOARD_SEPOLICY_UNION += \
+ gatord.te \
+ init.te \
+ kernel.te \
+ logd.te \
+ mediaserver.te \
+ netd.te \
+ shell.te \
+ surfaceflinger.te
+
+TARGET_HAS_A53ERRATUM835769 := true
+TARGET_USES_HWC2 := true
diff --git a/END_USER_LICENSE_AGREEMENT.txt b/END_USER_LICENSE_AGREEMENT.txt
new file mode 100644
index 0000000..5875318
--- /dev/null
+++ b/END_USER_LICENSE_AGREEMENT.txt
@@ -0,0 +1,194 @@
+LES-PRE-20769
+SP-Version: 1.0
+25 November 2015
+
+END USER LICENCE AGREEMENT FOR THE MALI USERSPACE DRIVER ("Mali DRIVER")
+
+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
+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.
+
+"Applications" means applications for use solely in conjunction with
+Mali-based products manufactured under licence from ARM.
+
+"Output" means data resulting from your use of the Software and all
+direct and indirect derivatives thereof.
+
+"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 Driver.
+
+1. LICENCE GRANTS TO YOU.
+
+1.1 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 and copy the Software or certain components or optional
+ functionality in the Software, as applicable, solely for the
+ purposes of running, designing or developing Applications; and
+
+(ii) subject to Clause 1.2, distribute the whole of the Software;
+ and/or (b) the whole or any part of the Software together
+ with, or as incorporated into, Applications; and
+
+1.2 If you choose to redistribute the whole or any part of the
+Software pursuant to the licences granted in Clause 1.1(ii), you
+agree: (i) not to use ARM's or any of its licensors names, logos or
+trademarks to market Applications; (ii) to retain any and all
+copyright notices and other notices (whether ARM's or its licensor's)
+which are included with the Software; and (iii) include a copy of this
+Licence with such redistribution.
+
+2. RESTRICTIONS ON USE OF THE SOFTWARE.
+
+BENCHMARKING: This Licence does not prevent you from using the
+Software for benchmarking purposes. However, you shall ensure that 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, shall not be used
+to disparage ARM, its products or services, or in a manner that, in
+ARM's reasonable judgment, may diminish or otherwise damage the
+reputation 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.
+
+RESTRICTED USE: You agree that you shall not use the Software or the
+Output other than pursuant to and in accordance with the exercise of
+any of the licences granted under this Licence. Without limiting the
+generality of the foregoing, you shall not use the Software or any
+Output: (a) for determining if any features, functions or processes
+provided by the Software are covered by any patents or patent
+applications owned by you or a third party; or (b) for developing
+technology, applications or products which avoid any of ARM's
+intellectual property in the Software licensed hereunder; or (c) as a
+reference for modifying existing patents or patent applications or
+creating any continuation, continuation in part, or extension of
+existing patents or patent applications.
+
+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.
+
+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 APPLICATIONS, INCLUDING WITHOUT LIMITATION, 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. 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.
+
+7. 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 destroy all copies of the
+Software in your possession, together with all documentation and
+related materials. The provisions of clauses 2, 3, 4, 5, 6, 7, and 8
+shall survive termination of this Licence.
+
+8. 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 Agreement is subject to U.K.,
+European Union, and U.S. export control laws and regulations,
+including the U.S. Export Administration Act and its associated
+regulations (hereafter collectively referred to as "Export
+Regulations"). LICENSEE agrees to comply fully with all such Export
+Regulations and LICENSEE agrees that it shall not, either directly or
+indirectly, export in breach of the Export Regulations, any Software
+received under this Agreement, nor any direct products thereof; (i) to
+any country, company or person subject to export restrictions or
+sanctions under the Export Regulations; or (ii) for any prohibited end
+use, which at the time of export requires an export license or other
+governmental approval, without first obtaining such license or
+approval.
diff --git a/LES-PRE-21444.docx b/LES-PRE-21444.docx
new file mode 100644
index 0000000..2900f09
--- /dev/null
+++ b/LES-PRE-21444.docx
Binary files differ
diff --git a/OpenGLwallpapers b/OpenGLwallpapers
new file mode 100644
index 0000000..7a68b11
--- /dev/null
+++ b/OpenGLwallpapers
@@ -0,0 +1 @@
+disabled
diff --git a/android-quirks.conf b/android-quirks.conf
new file mode 100644
index 0000000..69fb2c9
--- /dev/null
+++ b/android-quirks.conf
@@ -0,0 +1,5 @@
+CONFIG_EXT4_FS_SECURITY=y
+CONFIG_SECURITY_SELINUX_BOOTPARAM=y
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+
diff --git a/css_gpu.mk b/css_gpu.mk
new file mode 100644
index 0000000..46b2941
--- /dev/null
+++ b/css_gpu.mk
@@ -0,0 +1,12 @@
+#
+# Inherit the full_base and device configurations
+$(call inherit-product, $(LOCAL_PATH)/css_gpu/device.mk)
+$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base.mk)
+
+#
+# Overrides
+PRODUCT_NAME := css_gpu
+PRODUCT_DEVICE := css_gpu
+
+PRODUCT_PACKAGES += \
+ Launcher3
diff --git a/css_gpu/BoardConfig.mk b/css_gpu/BoardConfig.mk
new file mode 100644
index 0000000..d40e3e2
--- /dev/null
+++ b/css_gpu/BoardConfig.mk
@@ -0,0 +1,5 @@
+include device/arm/css/BoardConfig.mk
+USE_MALI_GRM := true
+
+
+
diff --git a/css_gpu/device.mk b/css_gpu/device.mk
new file mode 100644
index 0000000..335a2f2
--- /dev/null
+++ b/css_gpu/device.mk
@@ -0,0 +1,34 @@
+#
+# Copyright (C) 2011 The Android Open-Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+include device/arm/css/device_common.mk
+
+PRODUCT_PROPERTY_OVERRIDES += ro.zygote.disable_gl_preload=true
+
+PRODUCT_COPY_FILES += device/arm/css/css_gpu/init.css_gpu.rc:/root/init.cssbase.rc \
+ device/arm/css/mali/lib64/hw/hwcomposer.css.so:system/vendor/lib64/hw/hwcomposer.css.so \
+ device/arm/css/mali/lib64/mediadrm/libdrmclearkeyplugin.so:system/vendor/lib64/mediadrm/libdrmclearkeyplugin.so \
+ device/arm/css/mali/lib64/hw/libstagefrighthw.so:system/lib64/libstagefrighthw.so \
+ device/arm/css/mali/lib/hw/hwcomposer.css.so:system/vendor/lib/hw/hwcomposer.css.so \
+ device/arm/css/mali/lib/mediadrm/libdrmclearkeyplugin.so:system/vendor/lib/mediadrm/libdrmclearkeyplugin.so \
+ device/arm/css/mali/lib/hw/libstagefrighthw.so:system/lib/libstagefrighthw.so \
+ device/arm/css/grm/lib/egl/libGLES_vimpl.so:system/vendor/lib/egl/libGLES_vimpl.so \
+ device/arm/css/mali/lib/egl/libmali.so:system/lib/libmali.so \
+ device/arm/css/grm/lib64/egl/libGLES_vimpl.so:system/vendor/lib64/egl/libGLES_vimpl.so \
+ device/arm/css/mali/lib64/egl/libmali.so:system/lib64/libmali.so \
+ device/arm/css/grm/lib/egl/libnwhal.so:system/lib/libnwhal.so \
+ device/arm/css/grm/lib64/egl/libnwhal.so:system/lib64/libnwhal.so
+
diff --git a/css_gpu/init.css_gpu.rc b/css_gpu/init.css_gpu.rc
new file mode 100755
index 0000000..34ee329
--- /dev/null
+++ b/css_gpu/init.css_gpu.rc
@@ -0,0 +1,6 @@
+import /init.css.rc
+
+on boot
+# Enable GPU support
+ setprop ro.kernel.qemu 0
+ setprop ro.kernel.qemu.gles 1
diff --git a/cssbase.kl b/cssbase.kl
new file mode 100644
index 0000000..a1302da
--- /dev/null
+++ b/cssbase.kl
@@ -0,0 +1,113 @@
+# Copyright (C) 2010 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#
+# Generic key layout file for full alphabetic US English PC style external keyboards.
+#
+# This file is intentionally very generic and is intended to support a broad rang of keyboards.
+# Do not edit the generic key layout to support a specific keyboard; instead, create
+# a new key layout file with the required keyboard configuration.
+#
+
+key 399 GRAVE
+key 1 BACK
+key 2 1
+key 3 2
+key 4 3
+key 5 4
+key 6 5
+key 7 6
+key 8 7
+key 9 8
+key 10 9
+key 11 0
+key 158 BACK WAKE_DROPPED
+key 230 SOFT_RIGHT WAKE
+key 60 SOFT_RIGHT WAKE
+key 107 ENDCALL WAKE_DROPPED
+key 62 ENDCALL WAKE_DROPPED
+key 229 MENU WAKE_DROPPED
+key 139 MENU WAKE_DROPPED
+key 59 MENU WAKE_DROPPED
+key 127 SEARCH WAKE_DROPPED
+key 217 SEARCH WAKE_DROPPED
+key 228 POUND
+key 227 STAR
+key 231 CALL WAKE_DROPPED
+key 61 CALL WAKE_DROPPED
+key 232 DPAD_CENTER WAKE_DROPPED
+key 108 DPAD_DOWN WAKE_DROPPED
+key 103 DPAD_UP WAKE_DROPPED
+key 102 HOME WAKE
+key 105 DPAD_LEFT WAKE_DROPPED
+key 106 DPAD_RIGHT WAKE_DROPPED
+key 115 VOLUME_UP
+key 114 VOLUME_DOWN
+key 116 POWER WAKE
+key 212 CAMERA
+
+key 16 Q
+key 17 W
+key 18 E
+key 19 R
+key 20 T
+key 21 Y
+key 22 U
+key 23 I
+key 24 O
+key 25 P
+key 26 LEFT_BRACKET
+key 27 RIGHT_BRACKET
+key 43 BACKSLASH
+
+key 30 A
+key 31 S
+key 32 D
+key 33 F
+key 34 G
+key 35 H
+key 36 J
+key 37 K
+key 38 L
+key 39 SEMICOLON
+key 40 APOSTROPHE
+key 14 DEL
+
+key 44 Z
+key 45 X
+key 46 C
+key 47 V
+key 48 B
+key 49 N
+key 50 M
+key 51 COMMA
+key 52 PERIOD
+key 53 SLASH
+key 28 ENTER
+
+key 56 ALT_LEFT
+key 100 ALT_RIGHT
+key 42 SHIFT_LEFT
+key 54 SHIFT_RIGHT
+key 15 TAB
+key 57 SPACE
+key 150 EXPLORER
+key 155 ENVELOPE
+
+key 12 MINUS
+key 13 EQUALS
+key 215 AT
+
+
+key 82 MENU WAKE
diff --git a/device_common.mk b/device_common.mk
new file mode 100755
index 0000000..7f87e7e
--- /dev/null
+++ b/device_common.mk
@@ -0,0 +1,130 @@
+#
+# Copyright (C) 2011 The Android Open-Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+# Adjust the dalvik heap to be appropriate for a tablet.
+$(call inherit-product-if-exists, frameworks/base/build/tablet-dalvik-heap.mk)
+$(call inherit-product-if-exists, frameworks/native/build/tablet-dalvik-heap.mk)
+
+PRODUCT_COPY_FILES += $(call add-to-product-copy-files-if-exists,\
+ device/arm/css/fstab.cssbase:root/fstab.cssbase \
+ device/arm/css/OpenGLwallpapers:system/etc/graphics/OpenGLwallpapers \
+ device/arm/css/cssbase.kl:system/usr/keylayout/cssbase.kl)
+
+# Copy preboot binaries
+PRE_BOOT_FILES := bl1.bin css_fip.bin
+PRODUCT_COPY_FILES += $(call add-to-product-copy-files-if-exists,\
+ device/arm/css/preboot/bl1.bin:boot/bl1.bin \
+ device/arm/css/preboot/fip.bin:boot/css_fip.bin \
+ device/arm/css/preboot/startup.nsh:boot/startup.nsh)
+
+# Set custom settings
+DEVICE_PACKAGE_OVERLAYS := device/arm/css/overlay
+
+# Add openssh support for remote debugging and job submission
+PRODUCT_PACKAGES += ssh sftp scp sshd ssh-keygen sshd_config start-ssh
+
+# Build and run only ART
+PRODUCT_RUNTIMES := runtime_libart_default
+
+# Build gatord daemon for DS-5/Streamline
+PRODUCT_PACKAGES += gatord
+
+# Set zygote config
+PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.zygote=zygote64_32
+PRODUCT_COPY_FILES += system/core/rootdir/init.zygote64_32.rc:root/init.zygote64_32.rc
+PRODUCT_COPY_FILES += device/arm/css/init.css.rc:root/init.css.rc
+PRODUCT_COPY_FILES += device/arm/css/setcpuset.sh:system/bin/setcpuset.sh
+
+#set this product to use fake_battery
+#ADDITIONAL_DEFAULT_PROPERTIES += ro.boot.fake_battery=1
+
+PRODUCT_COPY_FILES += $(call add-to-product-copy-files-if-exists,\
+ device/linaro/build/android.hardware.screen.xml:system/etc/permissions/android.hardware.screen.xml \
+ frameworks/native/data/etc/android.software.backup.xml:system/etc/permissions/android.software.backup.xml \
+ frameworks/native/data/etc/android.hardware.ethernet.xml:system/etc/permissions/android.hardware.ethernet.xml \
+ frameworks/native/data/etc/android.hardware.usb.accessory.xml:system/etc/permissions/android.hardware.usb.accessory.xml) \
+ frameworks/native/data/etc/android.hardware.opengles.aep.xml:system/etc/permissions/android.hardware.opengles.aep.xml \
+ device/arm/css/manifest.xml:system/vendor/manifest.xml
+
+PRODUCT_COPY_FILES += device/arm/css/firmware/h264dec.fwb:root/lib/firmware/h264dec.fwb \
+ device/arm/css/firmware/hevcdec.fwb:root/lib/firmware/hevcdec.fwb \
+ device/arm/css/firmware/jpegdec.fwb:root/lib/firmware/jpegdec.fwb \
+ device/arm/css/firmware/mpeg2dec.fwb:root/lib/firmware/mpeg2dec.fwb \
+ device/arm/css/firmware/vp8dec.fwb:root/lib/firmware/vp8dec.fwb \
+ device/arm/css/firmware/h264enc.fwb:root/lib/firmware/h264enc.fwb \
+ device/arm/css/firmware/hevcenc.fwb:root/lib/firmware/hevcenc.fwb \
+ device/arm/css/firmware/jpegenc.fwb:root/lib/firmware/jpegenc.fwb \
+ device/arm/css/firmware/mpeg4dec.fwb:root/lib/firmware/mpeg4dec.fwb \
+ device/arm/css/firmware/vc1dec.fwb:root/lib/firmware/vc1dec.fwb \
+ device/arm/css/firmware/vp8enc.fwb:root/lib/firmware/vp8enc.fwb
+
+PRODUCT_COPY_FILES += device/arm/css/media_codecs.xml:system/etc/media_codecs.xml
+
+PRODUCT_COPY_FILES += $(call add-to-product-copy-files-if-exists,\
+ frameworks/native/data/etc/android.software.app_widgets.xml:system/etc/permissions/android.software.app_widgets.xml)
+
+PRODUCT_COPY_FILES += device/arm/css/monkey_black_list:data/monkey_black_list
+
+PRODUCT_PACKAGES += gralloc.css
+
+PRODUCT_PACKAGES += exoplayer-demo
+
+PRODUCT_PACKAGES += \
+ android.hardware.drm@1.0-impl \
+ android.hardware.keymaster@3.0-impl \
+ android.hardware.keymaster@3.0-service \
+ android.hardware.graphics.allocator@2.0-impl \
+ android.hardware.graphics.allocator@2.0-service \
+ android.hardware.graphics.mapper@2.0-impl \
+ android.hardware.graphics.composer@2.1-impl \
+ android.hardware.light@2.0-impl \
+ android.hardware.audio@2.0-impl \
+ android.hardware.audio@2.0-service \
+ android.hardware.audio.effect@2.0-impl \
+ android.hardware.broadcastradio@1.0-impl \
+ android.hardware.soundtrigger@2.0-impl
+
+$(call inherit-product-if-exists, device/linaro/build/common-device.mk)
+
+####### Copy build and install howtos for this build ########
+define copy-howto
+ifneq ($(wildcard $(TOP)/device/arm/css/howto/$(LINARO_BUILD_SPEC)/$1),)
+PRODUCT_COPY_FILES += \
+ device/arm/css/howto/$(LINARO_BUILD_SPEC)/$1:$1
+else
+ifneq ($(wildcard $(TOP)/device/arm/css/howto/default/$1),)
+PRODUCT_COPY_FILES += \
+ device/arm/css/howto/default/$1:$1
+endif
+endif
+endef
+
+HOWTOS := \
+ HOWTO_install.txt \
+ HOWTO_getsourceandbuild.txt \
+ HOWTO_flashfirmware.txt \
+ HOWTO_releasenotes.txt \
+ HOWTO_rtsm.txt
+
+ifneq ($(wildcard $(TOP)/build-info),)
+PRODUCT_COPY_FILES += \
+ build-info/BUILD-INFO.txt:BUILD-INFO.txt
+endif
+
+$(foreach howto,$(HOWTOS),$(eval $(call copy-howto,$(howto))))
+
+# Include OP-TEE packages
+$(call inherit-product-if-exists, device/arm/css/optee-packages.mk)
diff --git a/firmware/h264dec.fwb b/firmware/h264dec.fwb
new file mode 100644
index 0000000..d386d6a
--- /dev/null
+++ b/firmware/h264dec.fwb
Binary files differ
diff --git a/firmware/h264enc.fwb b/firmware/h264enc.fwb
new file mode 100644
index 0000000..dc1cdb8
--- /dev/null
+++ b/firmware/h264enc.fwb
Binary files differ
diff --git a/firmware/hevcdec.fwb b/firmware/hevcdec.fwb
new file mode 100644
index 0000000..27a067b
--- /dev/null
+++ b/firmware/hevcdec.fwb
Binary files differ
diff --git a/firmware/hevcenc.fwb b/firmware/hevcenc.fwb
new file mode 100644
index 0000000..79f11b9
--- /dev/null
+++ b/firmware/hevcenc.fwb
Binary files differ
diff --git a/firmware/jpegdec.fwb b/firmware/jpegdec.fwb
new file mode 100644
index 0000000..46c3c6b
--- /dev/null
+++ b/firmware/jpegdec.fwb
Binary files differ
diff --git a/firmware/jpegenc.fwb b/firmware/jpegenc.fwb
new file mode 100644
index 0000000..178317f
--- /dev/null
+++ b/firmware/jpegenc.fwb
Binary files differ
diff --git a/firmware/mpeg2dec.fwb b/firmware/mpeg2dec.fwb
new file mode 100644
index 0000000..c089363
--- /dev/null
+++ b/firmware/mpeg2dec.fwb
Binary files differ
diff --git a/firmware/mpeg4dec.fwb b/firmware/mpeg4dec.fwb
new file mode 100644
index 0000000..91dd8ee
--- /dev/null
+++ b/firmware/mpeg4dec.fwb
Binary files differ
diff --git a/firmware/vc1dec.fwb b/firmware/vc1dec.fwb
new file mode 100644
index 0000000..3c4f857
--- /dev/null
+++ b/firmware/vc1dec.fwb
Binary files differ
diff --git a/firmware/vp8dec.fwb b/firmware/vp8dec.fwb
new file mode 100644
index 0000000..1d198a5
--- /dev/null
+++ b/firmware/vp8dec.fwb
Binary files differ
diff --git a/firmware/vp8enc.fwb b/firmware/vp8enc.fwb
new file mode 100644
index 0000000..7fef829
--- /dev/null
+++ b/firmware/vp8enc.fwb
Binary files differ
diff --git a/fstab.cssbase b/fstab.cssbase
new file mode 100644
index 0000000..f8eb6f1
--- /dev/null
+++ b/fstab.cssbase
@@ -0,0 +1,9 @@
+# Android fstab file.
+#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
+# The filesystem that contains the filesystem checker binary (typically /system) cannot
+# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
+
+
+/dev/block/vda2 /system ext4 ro wait
+/dev/block/vda3 /cache ext4 noatime,nosuid,nodev,nomblk_io_submit,errors=panic wait
+/dev/block/vda5 /data ext4 noatime,nosuid,nodev,nomblk_io_submit,errors=panic wait
diff --git a/howto/armv8-android-fvp-lsk/HOWTO_getsourceandbuild.txt b/howto/armv8-android-fvp-lsk/HOWTO_getsourceandbuild.txt
new file mode 100644
index 0000000..d1026e6
--- /dev/null
+++ b/howto/armv8-android-fvp-lsk/HOWTO_getsourceandbuild.txt
@@ -0,0 +1,147 @@
+Instructions for "https://android-build.linaro.org/builds/~linaro-android-restricted/armv8-android-fvp-lsk/":https://android-build.linaro.org/builds/~linaro-android-restricted/armv8-android-fvp-lsk/
+
+h2. Prerequisites
+
+To clone the sources you must be able to ssh to git.linaro.org and be part of the big-little-switcher-private group. Contact "Philip Colmer" <philip.colmer@linaro.org> for access requests.
+
+Install build dependencies on Ubuntu:
+<pre>
+ $ sudo add-apt-repository ppa:linaro-maintainers/tools
+ $ sudo apt-get update
+ $ sudo apt-get install gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc uboot-mkimage openjdk-7-jdk openjdk-7-jre vim-common python-parted python-yaml wget uuid-dev iasl
+</pre>
+
+You can also download linaro android build script(linaro_android_build_cmds.sh) from Downloads section at https://android-build.linaro.org/builds/~linaro-android-restricted/armv8-android-fvp-lsk to do a complete ARMv8 Android build for FVP models from scratch.
+
+h2. Get the source
+
+<pre>
+ $ curl "https://android.git.linaro.org/gitweb/tools/repo.git/blob_plain/refs/heads/stable:/repo" >repo
+ $ chmod +x repo
+ $ ./repo init -u git://android.git.linaro.org/platform/manifest.git -b armv8-linaro -m baseline_manifest.xml
+ $ ./repo sync # this may take some time
+</pre>
+
+h2. Build
+
+<pre>
+ $ export CPUS=`grep -c processor /proc/cpuinfo`
+ $ export TARGET_PRODUCT=vexpress
+ $ export TARGET_BUILD_VARIANT=userdebug
+ $ . build/envsetup.sh
+ $ make -j${CPUS} selinuxtarballs
+</pre>
+
+h2. Get linaro image tools
+
+Run these commands to get all the dependencies for linaro-image-tools
+<pre>
+ $ sudo add-apt-repository ppa:linaro-maintainers/tools
+ $ sudo apt-get update
+ $ sudo apt-get install linaro-image-tools
+</pre>
+If you're using a "tip" build then we suggest you use the tip of linaro-image-tools from http://git.linaro.org/infrastructure/linaro-image-tools.git
+
+h2. Create binary for ARM FVP Base AEMv8 models
+
+Run linaro image tools
+
+pre. $ linaro-android-media-create --image_file mmc.bin --image_size 2000M --dev vexpress --system system.tar.bz2 --userdata userdata.tar.bz2 --boot boot.tar.bz2
+
+If you're using tip of linaro image tools
+
+pre. $ ./linaro-image-tools/linaro-android-media-create --image_file mmc.bin --image_size 2000M --dev vexpress --system system.tar.bz2 --userdata userdata.tar.bz2 --boot boot.tar.bz2
+
+h2. Extract the preboot files
+
+pre. tar -jxvf boot.tar.bz2
+
+h2. Setup the runtime environment
+
+<pre>
+ $ export ARMLMD_LICENSE_FILE="8224@localhost"
+ $ ssh -L 8224:localhost:8224 -L 18224:localhost:18224 -N $USER@flexlm.linaro.org
+</pre>
+
+h2. Running the models (verified on FVP Base model build 5502)
+
+<pre>
+ $ cd boot
+ $ /path/to/FVP_Base_AEMv8A-AEMv8A/models/Linux64_GCC-4.1/FVP_Base_AEMv8A-AEMv8A \
+ -C pctl.startup=0.0.0.0 \
+ -C bp.secure_memory=0 \
+ -C cluster0.NUM_CORES=1 \
+ -C cluster1.NUM_CORES=1 \
+ -C cache_state_modelled=0 \
+ -C bp.pl011_uart0.untimed_fifos=1 \
+ -C bp.secureflashloader.fname=bl1.bin \
+ -C bp.flashloader0.fname=fvp_fip.bin \
+ -C bp.virtioblockdevice.image_path=mmc.bin
+</pre>
+
+h3. Console redirection
+
+To redirect the console open a terminal and run
+
+pre. telnet 127.0.0.1 5000
+
+h3. Set UEFI configuration, update kernel/ramdisk path and bootargs
+
+Stop the UEFI boot process and configure it for FVP models:
+
+<pre>
+$ telnet 127.0.0.1 -debug 5000 -e ^z
+Telnet escape character is 'b'.
+Telnet escape character is '^Z'.
+Trying 127.0.0.1...
+setsockopt (SO_DEBUG): Permission denied
+Connected to 127.0.0.1.
+Escape character is '^Z'.
+ 7 seconds
+[1] Linaro disk image on virtio
+[2] Shell
+[3] Boot Manager
+Start: 2
+UEFI Interactive Shell v2.0
+EDK II
+UEFI v2.40 (ARM Fixed Virtual Platform EFI May 23 2014 12:13:52, 0x00000000)
+Mapping table
+ FS2: Alias(s):F8:
+ VenHw(C5B9C74A-6D72-4719-99AB-C59F199091EB)
+ FS0: Alias(s):F3:
+ MemoryMapped(0xB,0x88000000,0x8827FFFF)
+ FS1: Alias(s):F4:
+ MemoryMapped(0xB,0xFEC16000,0xFEDF987F)
+ FS3: Alias(s):HD12b:;BLK5:
+ VenHw(FE61BB5F-1B67-4C24-B346-73DB42E873E5)/HD(1,MBR,0x00000000,0x3F,0x41FC0)
+ FS4: Alias(s):HD12e2:;BLK10:
+ VenHw(FE61BB5F-1B67-4C24-B346-73DB42E873E5)/HD(4,MBR,0x00000000,0x242000,0x1BE000)/HD(2,MBR,0x00000000,0x362020,0x9DFE0)
+ BLK3: Alias(s):
+ VenHw(E7223039-5836-41E1-B542-D7EC736C5E59)
+ BLK0: Alias(s):
+ VenHw(02118005-9DA7-443A-92D5-781F022AEDBB)
+ BLK1: Alias(s):
+ VenHw(1F15DA3C-37FF-4070-B471-BB4AF12A724A)
+ BLK2: Alias(s):
+ VenHw(CC2CBF29-1498-4CDD-8171-F8B6B41D0909)
+ BLK4: Alias(s):
+ VenHw(FE61BB5F-1B67-4C24-B346-73DB42E873E5)
+Press ESC in 1 seconds to skip startup.nsh or any other key to continue.
+Shell> kernel dtb=fvp-base-gicv2-psci.dtb initrd=ramdisk.img console=ttyAMA0 amba-clcd.mode=VGA
+EFI stub: Booting Linux Kernel...
+[ 0.000000] Initializing cgroup subsys cpu2E873E5)/HD(3,MBR,0x00000000,0x1C2000,0x80000)
+[ 0.000000] Initializing cgroup subsys cpuacct
+[ 0.000000] Linux version 3.10.63-00561-g90aa783 (buildslave@x86-64-07-android) (gcc version 4.9 20140514 (prerelease) (GCC) ) #1 SMP PREEMPT Fri Jan 23 14:41:49 CET 2015
+</pre>
+
+h3. Black screen
+
+The boot screen has been disabled to speed up booting. This means you may not see anything on the CLCD terminal for a while depending on the performance of the machine the model is running on. For example a first boot on a 2 GHz machine with 32 GB of RAM took 20 minutes. Subsequent boots should take approximately half the time to boot.
+
+h2. Run the Android SDK
+
+h3. Attach ADB
+
+ADB on FVP Base models are supported over network. Follow the instructions here https://wiki.linaro.org/Internal/Projects/Juice/SetupNetworkingOnModelsUsingBridges to setup networking and use adb.
+
+You can also run all of the standard Android SDK tools. Learn more at "http://developer.android.com/sdk/index.html":http://developer.android.com/sdk/index.html
diff --git a/howto/armv8-android-fvp-lsk/HOWTO_install.txt b/howto/armv8-android-fvp-lsk/HOWTO_install.txt
new file mode 100644
index 0000000..fb42913
--- /dev/null
+++ b/howto/armv8-android-fvp-lsk/HOWTO_install.txt
@@ -0,0 +1,143 @@
+Instructions for "https://android-build.linaro.org/builds/~linaro-android-restricted/armv8-android-fvp-lsk/":https://android-build.linaro.org/builds/~linaro-android-restricted/armv8-android-fvp-lsk/
+
+h2. Prerequisites
+
+h3. Get artifacts
+
+To get the build artifacts you must be part of the linaro-android-restricted launchpad group. Contact "Philip Colmer" <philip.colmer@linaro.org> for access requests.
+
+h3. Run the build
+
+You'll need the latest ARM FVP Base models and a license to use the models. Follow the instructions at https://collaborate.linaro.org/display/ITS/FlexLM+and+Fast+Models for the same.
+
+h2. Get artifacts
+
+Scroll down and click on 'Downloads'
+
+Click on each link to download:
+* boot.tar.bz2
+* system.tar.bz2
+* userdata.tar.bz2
+
+h2. Get linaro image tools
+
+Run these commands to get all the dependencies for linaro-image-tools and the tip of linaro-image-tools
+
+<pre>
+ $ sudo add-apt-repository ppa:linaro-maintainers/tools
+ $ sudo apt-get update
+ $ sudo apt-get install linaro-image-tools
+</pre>
+
+If you're using a released build (with a -release or from releases.linaro.org), skip this step.
+If you're using a "tip" build do not skip the step and do the following:
+
+<pre>
+ $ sudo apt-get install bzr
+ $ bzr branch lp:linaro-image-tools
+</pre>
+
+h2. Create binary for the ARM FVP Base AEMv8 models
+
+Run linaro image tools
+
+pre. $ linaro-android-media-create --image_file mmc.bin --image_size 2000M --dev vexpress --system system.tar.bz2 --userdata userdata.tar.bz2 --boot boot.tar.bz2
+
+If you're using tip of linaro image tools
+
+pre. $ ./linaro-image-tools/linaro-android-media-create --image_file mmc.bin --image_size 2000M --dev vexpress --system system.tar.bz2 --userdata userdata.tar.bz2 --boot boot.tar.bz2
+
+h2. Extract the preboot files
+
+pre. tar -jxvf boot.tar.bz2
+
+h2. Setup the runtime environment
+
+<pre>
+ $ export ARMLMD_LICENSE_FILE="8224@localhost"
+ $ ssh -L 8224:localhost:8224 -L 18224:localhost:18224 -N $USER@flexlm.linaro.org &
+</pre>
+
+h2. Running the models (verified on FVP Base model build 5502)
+
+<pre>
+ $ cd boot/
+ $ /path/to/FVP_Base_AEMv8A-AEMv8A/models/Linux64_GCC-4.1/FVP_Base_AEMv8A-AEMv8A \
+ -C pctl.startup=0.0.0.0 \
+ -C bp.secure_memory=0 \
+ -C cluster0.NUM_CORES=1 \
+ -C cluster1.NUM_CORES=1 \
+ -C cache_state_modelled=0 \
+ -C bp.pl011_uart0.untimed_fifos=1 \
+ -C bp.secureflashloader.fname=bl1.bin \
+ -C bp.flashloader0.fname=fvp_fip.bin \
+ -C bp.virtioblockdevice.image_path=mmc.bin
+</pre>
+
+h3. Console redirection
+
+To redirect the console open a terminal and run
+
+pre. telnet 127.0.0.1 5000
+
+h3. Set UEFI configuration, update kernel/ramdisk path and bootargs
+
+Stop the UEFI boot process and configure it for FVP models:
+
+<pre>
+$ telnet 127.0.0.1 -debug 5000 -e ^z
+Telnet escape character is 'b'.
+Telnet escape character is '^Z'.
+Trying 127.0.0.1...
+setsockopt (SO_DEBUG): Permission denied
+Connected to 127.0.0.1.
+Escape character is '^Z'.
+ 7 seconds
+[1] Linaro disk image on virtio
+[2] Shell
+[3] Boot Manager
+Start: 2
+UEFI Interactive Shell v2.0
+EDK II
+UEFI v2.40 (ARM Fixed Virtual Platform EFI May 23 2014 12:13:52, 0x00000000)
+Mapping table
+ FS2: Alias(s):F8:
+ VenHw(C5B9C74A-6D72-4719-99AB-C59F199091EB)
+ FS0: Alias(s):F3:
+ MemoryMapped(0xB,0x88000000,0x8827FFFF)
+ FS1: Alias(s):F4:
+ MemoryMapped(0xB,0xFEC16000,0xFEDF987F)
+ FS3: Alias(s):HD12b:;BLK5:
+ VenHw(FE61BB5F-1B67-4C24-B346-73DB42E873E5)/HD(1,MBR,0x00000000,0x3F,0x41FC0)
+ FS4: Alias(s):HD12e2:;BLK10:
+ VenHw(FE61BB5F-1B67-4C24-B346-73DB42E873E5)/HD(4,MBR,0x00000000,0x242000,0x1BE000)/HD(2,MBR,0x00000000,0x362020,0x9DFE0)
+ BLK3: Alias(s):
+ VenHw(E7223039-5836-41E1-B542-D7EC736C5E59)
+ BLK0: Alias(s):
+ VenHw(02118005-9DA7-443A-92D5-781F022AEDBB)
+ BLK1: Alias(s):
+ VenHw(1F15DA3C-37FF-4070-B471-BB4AF12A724A)
+ BLK2: Alias(s):
+ VenHw(CC2CBF29-1498-4CDD-8171-F8B6B41D0909)
+ BLK4: Alias(s):
+ VenHw(FE61BB5F-1B67-4C24-B346-73DB42E873E5)
+Press ESC in 1 seconds to skip startup.nsh or any other key to continue.
+Shell> kernel dtb=fvp-base-gicv2-psci.dtb initrd=ramdisk.img console=ttyAMA0 amba-clcd.mode=VGA
+EFI stub: Booting Linux Kernel...
+[ 0.000000] Initializing cgroup subsys cpu2E873E5)/HD(3,MBR,0x00000000,0x1C2000,0x80000)
+[ 0.000000] Initializing cgroup subsys cpuacct
+[ 0.000000] Linux version 3.10.63-00561-g90aa783 (buildslave@x86-64-07-android) (gcc version 4.9 20140514 (prerelease) (GCC) ) #1 SMP PREEMPT Fri Jan 23 14:41:49 CET 2015
+</pre>
+
+h3. Black screen
+
+The boot screen has been disabled to speed up booting. This means you may not see anything on the CLCD terminal for a while depending on the performance of the machine the model is running on. For example a first boot on a 2 GHz machine with 32 GB of RAM took 20 minutes. Subsequent boots should take approximately half the time to boot.
+
+h2. Run the Android SDK
+
+h3. Attach ADB
+
+ADB on FVP Base models are supported over network. Follow the instructions here https://wiki.linaro.org/Internal/Projects/Juice/SetupNetworkingOnModelsUsingBridges to setup networking and use adb.
+
+You can also run all of the standard Android SDK tools. Learn more at "http://developer.android.com/sdk/index.html":http://developer.android.com/sdk/index.html
+
diff --git a/howto/armv8-android-fvp-lsk/HOWTO_prebuilt.txt b/howto/armv8-android-fvp-lsk/HOWTO_prebuilt.txt
new file mode 100644
index 0000000..f699a3e
--- /dev/null
+++ b/howto/armv8-android-fvp-lsk/HOWTO_prebuilt.txt
@@ -0,0 +1,69 @@
+Instructions for https://android-build.linaro.org/builds/~linaro-android/<BUILD_NAME>/
+
+= Get artifacts =
+
+ Scroll down to the 'Downloads' section
+
+ Click on each link to download:
+ boot.tar.bz2
+ system.tar.bz2
+ userdata.tar.bz2
+
+= Get linaro image tools =
+
+ Run these commands to get all the dependencies for linaro-image-tools and the tip of linaro-image-tools
+
+ $ sudo add-apt-repository ppa:linaro-maintainers/tools
+ $ sudo apt-get update
+ $ sudo apt-get install linaro-image-tools
+
+ If you're using a released build (with a -release or from releases.linaro.org), skip this step.
+ If you're using a "tip" build do not skip the step and do the following:
+
+ $ sudo apt-get install bzr
+ $ bzr branch lp:linaro-image-tools
+
+= Create media (SD card) =
+
+ Disable automount (instructions provided for Gnome)
+
+ $ TMP1=$(dconf read /org/gnome/desktop/media-handling/automount)
+ $ TMP2=$(dconf read /org/gnome/desktop/media-handling/automount-open)
+ $ dconf write /org/gnome/desktop/media-handling/automount false
+ $ dconf write /org/gnome/desktop/media-handling/automount-open false
+
+ Insert an SD card
+
+ Run 'dmesg'
+
+ $ dmesg
+
+ Look for a line that looks like the following at the end of the log
+
+ [288582.790722] sdc: sdc1 sdc2 sdc3 sdc4 < sdc5 sdc6 >
+
+ WARNING: In the next step, make sure you use /dev/"whatever you see above".
+ You can erase your hard drive with the wrong parameter.
+
+ Run linaro image tools
+
+ $ linaro-android-media-create --mmc /dev/sdc --dev <BOARD> --boot boot.tar.bz2 --system system.tar.bz2 --userdata userdata.tar.bz2
+
+ If you're using tip of linaro image tools
+
+ $ ./linaro-image-tools/linaro-android-media-create --mmc /dev/sdc --dev <BOARD> --boot boot.tar.bz2 --system system.tar.bz2 --userdata userdata.tar.bz2
+
+ To find <BOARD> run linaro-android-media-create with a -h and read the help.
+
+ Restore automount
+
+ $ dconf write /org/gnome/desktop/media-handling/automount $TMP1
+ $ dconf write /org/gnome/desktop/media-handling/automount-open $TMP2
+
+ Remove the SD card from the device writer and plug it into the board.
+
+= Check console output =
+
+ Plug in an USB-to-serial converter and run minicom
+
+ $ minicom -D /dev/ttyUSB0 -w -C minicom.txt
diff --git a/howto/armv8-android-fvp-lsk/OPEN-EULA.txt b/howto/armv8-android-fvp-lsk/OPEN-EULA.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/howto/armv8-android-fvp-lsk/OPEN-EULA.txt
diff --git a/howto/armv8-lsk/HOWTO_getsourceandbuild.txt b/howto/armv8-lsk/HOWTO_getsourceandbuild.txt
new file mode 100644
index 0000000..958f2ae
--- /dev/null
+++ b/howto/armv8-lsk/HOWTO_getsourceandbuild.txt
@@ -0,0 +1,145 @@
+Instructions for "https://android-build.linaro.org/builds/~linaro-android-restricted/armv8-lsk/":https://android-build.linaro.org/builds/~linaro-android-restricted/armv8-lsk/
+
+Install build dependencies on Ubuntu:
+<pre>
+ $ sudo add-apt-repository ppa:linaro-maintainers/tools
+ $ sudo apt-get update
+ $ sudo apt-get install gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc uboot-mkimage openjdk-7-jdk openjdk-7-jre vim-common python-parted python-yaml wget uuid-dev iasl
+</pre>
+
+You can also download linaro android build script(linaro_android_build_cmds.sh) from Downloads section at https://android-build.linaro.org/builds/~linaro-android-restricted/armv8-lsk to do a complete ARMv8 Android build for FVP models from scratch.
+
+h2. Get the source
+
+<pre>
+ $ curl "http://android.git.linaro.org/gitweb?p=tools/repo.git;a=blob_plain;f=repo;hb=refs/heads/stable" > repo
+ $ chmod +x repo
+ $ ./repo init -u https://android.googlesource.com/platform/manifest -b android-5.0.0_r2 -g "default,-non-default,vexpress"
+ $ cd .repo
+ $ git clone https://android.git.linaro.org/git/platform/manifest -b linaro_android_5.0.0 local_manifests
+ $ cd ..
+ $ ./repo sync # this may take some time
+</pre>
+
+h2. Build
+
+<pre>
+ $ source build/envsetup.sh
+ $ lunch fvp-eng
+ $ make selinuxtarballs
+</pre>
+
+h2. Get linaro image tools
+
+Run these commands to get all the dependencies for linaro-image-tools
+<pre>
+ $ sudo add-apt-repository ppa:linaro-maintainers/tools
+ $ sudo apt-get update
+ $ sudo apt-get install linaro-image-tools
+</pre>
+If you're using a "tip" build then we suggest you use the tip of linaro-image-tools from http://git.linaro.org/infrastructure/linaro-image-tools.git
+
+h2. Create binary for ARM FVP Base AEMv8 models
+
+Run linaro image tools
+
+pre. $ linaro-android-media-create --image_file mmc.bin --image_size 2000M --dev vexpress --system system.tar.bz2 --userdata userdata.tar.bz2 --boot boot.tar.bz2
+
+If you're using tip of linaro image tools
+
+pre. $ ./linaro-image-tools/linaro-android-media-create --image_file mmc.bin --image_size 2000M --dev vexpress --system system.tar.bz2 --userdata userdata.tar.bz2 --boot boot.tar.bz2
+
+h2. Extract the preboot files
+
+pre. tar -jxvf boot.tar.bz2
+
+h2. Setup the runtime environment
+
+<pre>
+ $ export ARMLMD_LICENSE_FILE="8224@localhost"
+ $ ssh -L 8224:localhost:8224 -L 18224:localhost:18224 -N $USER@flexlm.linaro.org
+</pre>
+
+h2. Running the models (verified on FVP Base model build 5502)
+
+<pre>
+ $ cd boot
+ $ /path/to/FVP_Base_AEMv8A-AEMv8A/models/Linux64_GCC-4.1/FVP_Base_AEMv8A-AEMv8A \
+ -C pctl.startup=0.0.0.0 \
+ -C bp.secure_memory=0 \
+ -C cluster0.NUM_CORES=1 \
+ -C cluster1.NUM_CORES=1 \
+ -C cache_state_modelled=0 \
+ -C bp.pl011_uart0.untimed_fifos=1 \
+ -C bp.secureflashloader.fname=bl1.bin \
+ -C bp.flashloader0.fname=fvp_fip.bin \
+ -C bp.virtioblockdevice.image_path=mmc.bin
+</pre>
+
+h3. Console redirection
+
+To redirect the console open a terminal and run
+
+pre. telnet 127.0.0.1 5000
+
+h3. Set UEFI configuration, update kernel/ramdisk path and bootargs
+
+Stop the UEFI boot process and configure it for FVP models:
+
+<pre>
+$ telnet 127.0.0.1 -debug 5000 -e ^z
+Telnet escape character is 'b'.
+Telnet escape character is '^Z'.
+Trying 127.0.0.1...
+setsockopt (SO_DEBUG): Permission denied
+Connected to 127.0.0.1.
+Escape character is '^Z'.
+ 7 seconds
+[1] Linaro disk image on virtio
+[2] Shell
+[3] Boot Manager
+Start: 3
+[1] Add Boot Device Entry
+[2] Update Boot Device Entry
+[3] Remove Boot Device Entry
+[4] Update FDT path
+[5] Return to main menu
+Choice: 2
+[1] Linaro disk image on virtio
+Update entry: 1
+File path of the EFI Application or the kernel: kernel
+Has FDT support? [y/n] y
+Add an initrd: [y/n] y
+File path of the initrd: ramdisk.img
+Arguments to pass to the binary: console=ttyAMA0 earlyprintk=pl011,0x1c090000 amba-clcd.mode=VGA
+Description for this new Entry: Linaro disk image on virtio
+[1] Add Boot Device Entry
+[2] Update Boot Device Entry
+[3] Remove Boot Device Entry
+[4] Update FDT path
+[5] Return to main menu
+Choice: 5
+[1] Linaro disk image on virtio
+[2] Shell
+[3] Boot Manager
+Start: 1
+ PEI 1122 ms
+ DXE 259 ms
+ BDS 8 ms
+Total Time = 1390 ms
+
+[ 0.000000] Initializing cgroup subsys cpu
+[ 0.000000] Linux version 3.10.40-04438-g6a78140 (pundiramit@flying-dutchman) (gcc version 4.9 20140514 (prerelease) (GCC) ) #1 SMP Mon Jun 2 14:50:25 IST 2014
+</pre>
+
+h3. Black screen
+
+The boot screen has been disabled to speed up booting. This means you may not see anything on the CLCD terminal for a while depending on the performance of the machine the model is running on. For example a first boot on a 2 GHz machine with 32 GB of RAM took 20 minutes. Subsequent boots should take approximately half the time to boot.
+
+h2. Run the Android SDK
+
+h3. Attach ADB
+
+ADB on FVP Base models are supported over network. Follow the instructions here https://wiki.linaro.org/Internal/Projects/Juice/SetupNetworkingOnModelsUsingBridges to setup networking and use adb.
+
+You can also run all of the standard Android SDK tools. Learn more at "http://developer.android.com/sdk/index.html":http://developer.android.com/sdk/index.html
diff --git a/howto/armv8-lsk/HOWTO_install.txt b/howto/armv8-lsk/HOWTO_install.txt
new file mode 100644
index 0000000..7102105
--- /dev/null
+++ b/howto/armv8-lsk/HOWTO_install.txt
@@ -0,0 +1,138 @@
+Instructions for "https://android-build.linaro.org/builds/~linaro-android-restricted/armv8-lsk/":https://android-build.linaro.org/builds/~linaro-android-restricted/armv8-lsk/
+
+h3. Run the build
+
+You'll need the latest ARM FVP Base models and a license to use the models. Follow the instructions at https://collaborate.linaro.org/display/ITS/FlexLM+and+Fast+Models for the same.
+
+h2. Get artifacts
+
+Scroll down and click on 'Downloads'
+
+Click on each link to download:
+* boot.tar.bz2
+* system.tar.bz2
+* userdata.tar.bz2
+
+h2. Get linaro image tools
+
+Run these commands to get all the dependencies for linaro-image-tools and the tip of linaro-image-tools
+
+<pre>
+ $ sudo add-apt-repository ppa:linaro-maintainers/tools
+ $ sudo apt-get update
+ $ sudo apt-get install linaro-image-tools
+</pre>
+
+If you're using a released build (with a -release or from releases.linaro.org), skip this step.
+If you're using a "tip" build do not skip the step and do the following:
+
+<pre>
+ $ sudo apt-get install bzr
+ $ bzr branch lp:linaro-image-tools
+</pre>
+
+h2. Create binary for the ARM FVP Base AEMv8 models
+
+Run linaro image tools
+
+pre. $ linaro-android-media-create --image_file mmc.bin --image_size 2000M --dev vexpress --system system.tar.bz2 --userdata userdata.tar.bz2 --boot boot.tar.bz2
+
+If you're using tip of linaro image tools
+
+pre. $ ./linaro-image-tools/linaro-android-media-create --image_file mmc.bin --image_size 2000M --dev vexpress --system system.tar.bz2 --userdata userdata.tar.bz2 --boot boot.tar.bz2
+
+h2. Extract the preboot files
+
+pre. tar -jxvf boot.tar.bz2
+
+h2. Setup the runtime environment
+
+<pre>
+ $ export ARMLMD_LICENSE_FILE="8224@localhost"
+ $ ssh -L 8224:localhost:8224 -L 18224:localhost:18224 -N $USER@flexlm.linaro.org &
+</pre>
+
+h2. Running the models (verified on FVP Base model build 5502)
+
+<pre>
+ $ cd boot/
+ $ /path/to/FVP_Base_AEMv8A-AEMv8A/models/Linux64_GCC-4.1/FVP_Base_AEMv8A-AEMv8A \
+ -C pctl.startup=0.0.0.0 \
+ -C bp.secure_memory=0 \
+ -C cluster0.NUM_CORES=1 \
+ -C cluster1.NUM_CORES=1 \
+ -C cache_state_modelled=0 \
+ -C bp.pl011_uart0.untimed_fifos=1 \
+ -C bp.secureflashloader.fname=bl1.bin \
+ -C bp.flashloader0.fname=fvp_fip.bin \
+ -C bp.virtioblockdevice.image_path=mmc.bin
+</pre>
+
+h3. Console redirection
+
+To redirect the console open a terminal and run
+
+pre. telnet 127.0.0.1 5000
+
+h3. Set UEFI configuration, update kernel/ramdisk path and bootargs
+
+Stop the UEFI boot process and configure it for FVP models:
+
+<pre>
+$ telnet 127.0.0.1 -debug 5000 -e ^z
+Telnet escape character is 'b'.
+Telnet escape character is '^Z'.
+Trying 127.0.0.1...
+setsockopt (SO_DEBUG): Permission denied
+Connected to 127.0.0.1.
+Escape character is '^Z'.
+ 7 seconds
+[1] Linaro disk image on virtio
+[2] Shell
+[3] Boot Manager
+Start: 3
+[1] Add Boot Device Entry
+[2] Update Boot Device Entry
+[3] Remove Boot Device Entry
+[4] Update FDT path
+[5] Return to main menu
+Choice: 2
+[1] Linaro disk image on virtio
+Update entry: 1
+File path of the EFI Application or the kernel: kernel
+Has FDT support? [y/n] y
+Add an initrd: [y/n] y
+File path of the initrd: ramdisk.img
+Arguments to pass to the binary: console=ttyAMA0 earlyprintk=pl011,0x1c090000 amba-clcd.mode=VGA
+Description for this new Entry: Linaro disk image on virtio
+[1] Add Boot Device Entry
+[2] Update Boot Device Entry
+[3] Remove Boot Device Entry
+[4] Update FDT path
+[5] Return to main menu
+Choice: 5
+[1] Linaro disk image on virtio
+[2] Shell
+[3] Boot Manager
+Start: 1
+ PEI 1122 ms
+ DXE 259 ms
+ BDS 8 ms
+Total Time = 1390 ms
+
+[ 0.000000] Initializing cgroup subsys cpu
+[ 0.000000] Linux version 3.10.40-04438-g6a78140 (pundiramit@flying-dutchman) (gcc version 4.9 20140514 (prerelease) (GCC) ) #1 SMP Mon Jun 2 14:50:25 IST 2014
+</pre>
+
+h3. Black screen
+
+The boot screen has been disabled to speed up booting. This means you may not see anything on the CLCD terminal for a while depending on the performance of the machine the model is running on. For example a first boot on a 2 GHz machine with 32 GB of RAM took 20 minutes. Subsequent boots should take approximately half the time to boot.
+
+h2. Run the Android SDK
+
+h3. Attach ADB
+
+ADB on FVP Base models are supported over network. Follow the instructions here https://wiki.linaro.org/Internal/Projects/Juice/SetupNetworkingOnModelsUsingBridges to setup networking and use adb.
+
+You can also run all of the standard Android SDK tools. Learn more at "http://developer.android.com/sdk/index.html":http://developer.android.com/sdk/index.html
+
diff --git a/howto/armv8-lsk/HOWTO_prebuilt.txt b/howto/armv8-lsk/HOWTO_prebuilt.txt
new file mode 100644
index 0000000..f699a3e
--- /dev/null
+++ b/howto/armv8-lsk/HOWTO_prebuilt.txt
@@ -0,0 +1,69 @@
+Instructions for https://android-build.linaro.org/builds/~linaro-android/<BUILD_NAME>/
+
+= Get artifacts =
+
+ Scroll down to the 'Downloads' section
+
+ Click on each link to download:
+ boot.tar.bz2
+ system.tar.bz2
+ userdata.tar.bz2
+
+= Get linaro image tools =
+
+ Run these commands to get all the dependencies for linaro-image-tools and the tip of linaro-image-tools
+
+ $ sudo add-apt-repository ppa:linaro-maintainers/tools
+ $ sudo apt-get update
+ $ sudo apt-get install linaro-image-tools
+
+ If you're using a released build (with a -release or from releases.linaro.org), skip this step.
+ If you're using a "tip" build do not skip the step and do the following:
+
+ $ sudo apt-get install bzr
+ $ bzr branch lp:linaro-image-tools
+
+= Create media (SD card) =
+
+ Disable automount (instructions provided for Gnome)
+
+ $ TMP1=$(dconf read /org/gnome/desktop/media-handling/automount)
+ $ TMP2=$(dconf read /org/gnome/desktop/media-handling/automount-open)
+ $ dconf write /org/gnome/desktop/media-handling/automount false
+ $ dconf write /org/gnome/desktop/media-handling/automount-open false
+
+ Insert an SD card
+
+ Run 'dmesg'
+
+ $ dmesg
+
+ Look for a line that looks like the following at the end of the log
+
+ [288582.790722] sdc: sdc1 sdc2 sdc3 sdc4 < sdc5 sdc6 >
+
+ WARNING: In the next step, make sure you use /dev/"whatever you see above".
+ You can erase your hard drive with the wrong parameter.
+
+ Run linaro image tools
+
+ $ linaro-android-media-create --mmc /dev/sdc --dev <BOARD> --boot boot.tar.bz2 --system system.tar.bz2 --userdata userdata.tar.bz2
+
+ If you're using tip of linaro image tools
+
+ $ ./linaro-image-tools/linaro-android-media-create --mmc /dev/sdc --dev <BOARD> --boot boot.tar.bz2 --system system.tar.bz2 --userdata userdata.tar.bz2
+
+ To find <BOARD> run linaro-android-media-create with a -h and read the help.
+
+ Restore automount
+
+ $ dconf write /org/gnome/desktop/media-handling/automount $TMP1
+ $ dconf write /org/gnome/desktop/media-handling/automount-open $TMP2
+
+ Remove the SD card from the device writer and plug it into the board.
+
+= Check console output =
+
+ Plug in an USB-to-serial converter and run minicom
+
+ $ minicom -D /dev/ttyUSB0 -w -C minicom.txt
diff --git a/howto/armv8-lsk/OPEN-EULA.txt b/howto/armv8-lsk/OPEN-EULA.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/howto/armv8-lsk/OPEN-EULA.txt
diff --git a/howto/default/HOWTO_getsourceandbuild.txt b/howto/default/HOWTO_getsourceandbuild.txt
new file mode 100644
index 0000000..28d20bd
--- /dev/null
+++ b/howto/default/HOWTO_getsourceandbuild.txt
@@ -0,0 +1,91 @@
+Instructions for "https://android-build.linaro.org/builds/~linaro-android/<BUILD_NAME>/":https://android-build.linaro.org/builds/~linaro-android/<BUILD_NAME>/
+
+h2. Get artifacts
+
+Scroll down to the 'Downloads' section
+
+Save linaro_android_build_cmds.sh to where you'd like to make your build.
+
+h2. Run the build script
+
+The linaro_android_build_cmds.sh script will download the source and create the build.
+
+<pre>
+ $ chmod +x linaro_android_build_cmds.sh
+ $ ./linaro_android_build_cmds.sh -h #To print the script usage
+</pre>
+
+Most commonly used build options:
+
+<pre>
+ $ ./linaro_android_build_cmds.sh -t #To build from the tip of the branch without overlay
+ $ ./linaro_android_build_cmds.sh -t -o <overlay> #To build from the tip of the branch with provided overlay
+ $ ./linaro_android_build_cmds.sh -m <pinned_manifest> -o <overlay> #To reproduce an exact build from pinned manifest
+ $ ./linaro_android_build_cmds.sh -t -l <login-id> #Provide login/access ID to clone and build code from linaro-private repositories
+</pre>
+
+h2. Get linaro image tools
+
+Run these commands to get all the dependencies for linaro-image-tools and the tip of linaro-image-tools
+
+<pre>
+ $ sudo add-apt-repository ppa:linaro-maintainers/tools
+ $ sudo apt-get update
+ $ sudo apt-get install linaro-image-tools
+</pre>
+
+ If you're using a released build (with a -release or from releases.linaro.org), skip this step.
+ If you're using a "tip" build do not skip the step and do the following:
+
+ $ sudo apt-get install bzr
+ $ bzr branch lp:linaro-image-tools
+
+h2. Create media (SD card)
+
+Disable automount (instructions provided for Gnome)
+
+<pre>
+ $ TMP1=$(dconf read /org/gnome/desktop/media-handling/automount)
+ $ TMP2=$(dconf read /org/gnome/desktop/media-handling/automount-open)
+ $ dconf write /org/gnome/desktop/media-handling/automount false
+ $ dconf write /org/gnome/desktop/media-handling/automount-open false
+</pre>
+
+Insert an SD card
+
+Run 'dmesg'
+
+pre. $ dmesg
+
+Look for a line that looks like the following at the end of the log
+
+pre. [288582.790722] sdc: sdc1 sdc2 sdc3 sdc4 < sdc5 sdc6 >
+
+*WARNING* In the next step, make sure you use /dev/"whatever you see above".
+You can erase your hard drive with the wrong parameter.
+
+Run linaro image tools
+
+pre. $ linaro-android-media-create --mmc /dev/sdc --dev <BOARD> --boot out/target/product/<BOARD>/boot.tar.bz2 --system out/target/product/<BOARD>/system.tar.bz2 --userdata out/target/product/<BOARD>/userdata.tar.bz2
+
+If you're using tip of linaro image tools
+
+pre. $ ./linaro-image-tools/linaro-android-media-create --mmc /dev/sdc --dev <BOARD> --boot out/target/product/<BOARD>/boot.tar.bz2 --system out/target/product/<BOARD>/system.tar.bz2 --userdata
+out/target/product/<BOARD>/userdata.tar.bz2
+
+Restore automount
+
+<pre>
+ $ dconf write /org/gnome/desktop/media-handling/automount $TMP1
+ $ dconf write /org/gnome/desktop/media-handling/automount-open $TMP2
+</pre>
+
+Remove the SD card from the device writer and plug it into the board.
+
+h2. Check console output
+
+Plug in an USB-to-serial converter and run minicom
+
+pre. $ minicom -D /dev/ttyUSB0 -w -C minicom.txt
+
+
diff --git a/howto/default/HOWTO_install.txt b/howto/default/HOWTO_install.txt
new file mode 100644
index 0000000..a8017a2
--- /dev/null
+++ b/howto/default/HOWTO_install.txt
@@ -0,0 +1,77 @@
+Instructions for "https://android-build.linaro.org/builds/~linaro-android/<BUILD_NAME>/":https://android-build.linaro.org/builds/~linaro-android/<BUILD_NAME>/
+
+h2. Get artifacts
+
+Scroll down to the 'Downloads' section
+
+Click on each link to download:
+* boot.tar.bz2
+* system.tar.bz2
+* userdata.tar.bz2
+
+h2. Get linaro image tools
+
+Run these commands to get all the dependencies for linaro-image-tools and the tip of linaro-image-tools
+
+<pre>
+ $ sudo add-apt-repository ppa:linaro-maintainers/tools
+ $ sudo apt-get update
+ $ sudo apt-get install linaro-image-tools
+</pre>
+
+If you're using a released build (with a -release or from releases.linaro.org), skip this step.
+If you're using a "tip" build do not skip the step and do the following:
+
+<pre>
+ $ sudo apt-get install bzr
+ $ bzr branch lp:linaro-image-tools
+</pre>
+
+h2. Create media (SD card)
+
+Disable automount (instructions provided for Gnome)
+
+<pre>
+ $ TMP1=$(dconf read /org/gnome/desktop/media-handling/automount)
+ $ TMP2=$(dconf read /org/gnome/desktop/media-handling/automount-open)
+ $ dconf write /org/gnome/desktop/media-handling/automount false
+ $ dconf write /org/gnome/desktop/media-handling/automount-open false
+</pre>
+
+Insert an SD card
+
+Run 'dmesg'
+
+pre. $ dmesg
+
+Look for a line that looks like the following at the end of the log
+
+pre. [288582.790722] sdc: sdc1 sdc2 sdc3 sdc4 < sdc5 sdc6 >
+
+*WARNING* In the next step, make sure you use /dev/"whatever you see above".
+You can erase your hard drive with the wrong parameter.
+
+Run linaro image tools
+
+pre. $ linaro-android-media-create --mmc /dev/sdc --dev <BOARD> --boot boot.tar.bz2 --system system.tar.bz2 --userdata userdata.tar.bz2
+
+If you're using tip of linaro image tools
+
+pre. $ ./linaro-image-tools/linaro-android-media-create --mmc /dev/sdc --dev <BOARD> --boot boot.tar.bz2 --system system.tar.bz2 --userdata userdata.tar.bz2
+
+To find <BOARD> run linaro-android-media-create with a -h and read the help.
+
+Restore automount
+
+<pre>
+ $ dconf write /org/gnome/desktop/media-handling/automount $TMP1
+ $ dconf write /org/gnome/desktop/media-handling/automount-open $TMP2
+</pre>
+
+Remove the SD card from the device writer and plug it into the board.
+
+h2. Check console output
+
+Plug in an USB-to-serial converter and run minicom
+
+pre. $ minicom -D /dev/ttyUSB0 -w -C minicom.txt
diff --git a/howto/default/HOWTO_prebuilt.txt b/howto/default/HOWTO_prebuilt.txt
new file mode 100644
index 0000000..f699a3e
--- /dev/null
+++ b/howto/default/HOWTO_prebuilt.txt
@@ -0,0 +1,69 @@
+Instructions for https://android-build.linaro.org/builds/~linaro-android/<BUILD_NAME>/
+
+= Get artifacts =
+
+ Scroll down to the 'Downloads' section
+
+ Click on each link to download:
+ boot.tar.bz2
+ system.tar.bz2
+ userdata.tar.bz2
+
+= Get linaro image tools =
+
+ Run these commands to get all the dependencies for linaro-image-tools and the tip of linaro-image-tools
+
+ $ sudo add-apt-repository ppa:linaro-maintainers/tools
+ $ sudo apt-get update
+ $ sudo apt-get install linaro-image-tools
+
+ If you're using a released build (with a -release or from releases.linaro.org), skip this step.
+ If you're using a "tip" build do not skip the step and do the following:
+
+ $ sudo apt-get install bzr
+ $ bzr branch lp:linaro-image-tools
+
+= Create media (SD card) =
+
+ Disable automount (instructions provided for Gnome)
+
+ $ TMP1=$(dconf read /org/gnome/desktop/media-handling/automount)
+ $ TMP2=$(dconf read /org/gnome/desktop/media-handling/automount-open)
+ $ dconf write /org/gnome/desktop/media-handling/automount false
+ $ dconf write /org/gnome/desktop/media-handling/automount-open false
+
+ Insert an SD card
+
+ Run 'dmesg'
+
+ $ dmesg
+
+ Look for a line that looks like the following at the end of the log
+
+ [288582.790722] sdc: sdc1 sdc2 sdc3 sdc4 < sdc5 sdc6 >
+
+ WARNING: In the next step, make sure you use /dev/"whatever you see above".
+ You can erase your hard drive with the wrong parameter.
+
+ Run linaro image tools
+
+ $ linaro-android-media-create --mmc /dev/sdc --dev <BOARD> --boot boot.tar.bz2 --system system.tar.bz2 --userdata userdata.tar.bz2
+
+ If you're using tip of linaro image tools
+
+ $ ./linaro-image-tools/linaro-android-media-create --mmc /dev/sdc --dev <BOARD> --boot boot.tar.bz2 --system system.tar.bz2 --userdata userdata.tar.bz2
+
+ To find <BOARD> run linaro-android-media-create with a -h and read the help.
+
+ Restore automount
+
+ $ dconf write /org/gnome/desktop/media-handling/automount $TMP1
+ $ dconf write /org/gnome/desktop/media-handling/automount-open $TMP2
+
+ Remove the SD card from the device writer and plug it into the board.
+
+= Check console output =
+
+ Plug in an USB-to-serial converter and run minicom
+
+ $ minicom -D /dev/ttyUSB0 -w -C minicom.txt
diff --git a/init.css.rc b/init.css.rc
new file mode 100644
index 0000000..b6b8cb9
--- /dev/null
+++ b/init.css.rc
@@ -0,0 +1,125 @@
+on init
+ # mount debugfs
+ mount debugfs /sys/kernel/debug /sys/kernel/debug
+
+ # disable transparent huge pages
+ write /sys/kernel/mm/transparent_hugepage/enabled "never"
+
+ # See storage config details at http://source.android.com/tech/storage/
+ symlink /sdcard /mnt/sdcard
+ symlink /sdcard /storage/sdcard0
+
+ # Disabled virtual memory randomization
+ # (if randomization is enabled the AEM-JIT will have a lower cache hit rate)
+ write /proc/sys/kernel/randomize_va_space 0
+
+ # enable armv8_deprecated instruction hooks
+ write /proc/sys/abi/swp 1
+
+on fs
+ mount_all /fstab.cssbase
+ setprop ro.crypto.fuse_sdcard true
+
+on post-fs
+ setprop debug.hwc.modeline 1024x768@60
+
+ # Set the clock ratio mclk=ratio*pxclk for DPU0 to support downscalling
+ write /sys/devices/platform/2cc00000.display/clock_ratio 4
+
+on post-fs-data
+
+ chmod 777 /dev/adf0
+ chmod 777 /dev/adf-interface0.0
+ chmod 777 /dev/adf-interface0.1
+ chmod 777 /dev/adf-overlay-engine0.0
+ chmod 777 /dev/adf-overlay-engine0.1
+ chmod 777 /dev/adf-overlay-engine0.2
+ chmod 777 /dev/adf-overlay-engine0.3
+ chmod 777 /dev/adf-overlay-engine0.4
+ chmod 777 /dev/adf-overlay-engine0.5
+ chmod 777 /dev/adf-overlay-engine0.6
+ chmod 777 /dev/adf-overlay-engine0.7
+
+
+ chmod 777 /dev/ion
+ chmod 777 /dev/ion-test
+ chmod 777 /dev/mv500
+ chmod 777 /dev/mali0
+ chmod 777 /dev/graphics/fb0
+ mkdir /data/media 0770 media_rw media_rw
+ mkdir /data/misc/gatord 0700 root root
+
+ # create for OP-TEE test
+ mkdir /data/tee 0700 root root
+ restorecon_recursive /data/tee
+
+ # Set SELinux security contexts for files used by lava.
+ restorecon_recursive /data/local/tmp/lava
+
+on boot
+
+# make tee dev nodes permissive
+ chmod 766 /dev/tee0
+ chmod 766 /dev/teepriv0
+
+ setprop ARGH ARGH
+ setprop ro.radio.use-ppp no
+ setprop ro.build.product generic
+ setprop ro.product.device generic
+ setprop dalvik.vm.heapsize 512m
+
+# fake some battery state
+ setprop status.battery.state Slow
+ setprop status.battery.level 5
+ setprop status.battery.level_raw 50
+ setprop status.battery.level_scale 9
+
+# Set Display density
+ setprop ro.sf.lcd_density 90
+
+# change permissions for process groups
+# https://bugs.launchpad.net/bugs/1037611
+ chmod 0660 /dev/cpuctl
+
+# disable RenderScript
+ setprop config.disable_renderscript 1
+
+# disable some daemons the emulator doesn't want
+ stop dund
+ stop akmd
+
+# enable Google-specific location features,
+# like NetworkLocationProvider and LocationCollector
+ setprop ro.com.google.locationfeatures 1
+
+ # change permissions for process groups
+ # https://bugs.launchpad.net/bugs/1037611
+ chmod 0660 /dev/cpuctl
+
+ # Disable bootanimation to speed up boot
+ setprop ro.kernel.android.bootanim 0
+ setprop debug.sf.nobootanimation 1
+
+# enable test harness
+ setprop ro.test_harness true
+
+service tee-supplicant /system/bin/tee-supplicant
+ class main
+ user root
+ oneshot
+
+service dhcpcd_eth0 /system/bin/dhcpcd -aABDKL
+ class main
+ group dhcp
+ oneshot
+
+service iprenew_eth0 /system/bin/dhcpcd -n
+ class late_start
+ disabled
+ oneshot
+
+service gatord /system/bin/gatord -c /data/misc/gatord/configuration.xml
+ class main
+ user root
+ oneshot
+ seclabel u:r:gatord:s0
diff --git a/mali/Android.mk b/mali/Android.mk
new file mode 100755
index 0000000..c9c3cc8
--- /dev/null
+++ b/mali/Android.mk
@@ -0,0 +1,21 @@
+LOCAL_PATH := $(call my-dir)
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := hwcomposer.css.so
+LOCAL_MODULE_CLASS := SHARED_LIBRARIES
+LOCAL_STRIP_MODULE := false
+LOCAL_SRC_FILES_arm := lib/hw/$(LOCAL_MODULE)
+LOCAL_SRC_FILES_arm64 := lib64/hw/$(LOCAL_MODULE)
+LOCAL_MULTILIB := both
+LOCAL_MODULE_RELATIVE_PATH := hw
+include $(BUILD_PREBUILT)
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := libdrmclearkeyplugin.so
+LOCAL_MODULE_CLASS := SHARED_LIBRARIES
+LOCAL_STRIP_MODULE := false
+LOCAL_SRC_FILES_arm := lib/mediadrm/$(LOCAL_MODULE)
+LOCAL_SRC_FILES_arm64 := lib64/mediadrm/$(LOCAL_MODULE)
+LOCAL_MULTILIB := both
+LOCAL_MODULE_RELATIVE_PATH := mediadrm
+include $(BUILD_PREBUILT)
diff --git a/mali/LES-PRE-20769.txt b/mali/LES-PRE-20769.txt
new file mode 100644
index 0000000..34da5f8
--- /dev/null
+++ b/mali/LES-PRE-20769.txt
@@ -0,0 +1,194 @@
+LES-PRE-20769
+SP-Version: 1.0
+25 November 2015
+
+END USER LICENCE AGREEMENT FOR THE MALI USERSPACE DRIVER ("Mali DRIVER")
+
+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
+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.
+
+"Applications" means applications for use solely in conjunction with
+Mali-based products manufactured under licence from ARM.
+
+"Output" means data resulting from your use of the Software and all
+direct and indirect derivatives thereof.
+
+"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 Driver.
+
+1. LICENCE GRANTS TO YOU.
+
+1.1 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 and copy the Software or certain components or optional
+ functionality in the Software, as applicable, solely for the
+ purposes of running, designing or developing Applications; and
+
+(ii) subject to Clause 1.2, distribute the whole of the Software;
+ and/or (b) the whole or any part of the Software together
+ with, or as incorporated into, Applications; and
+
+1.2 If you choose to redistribute the whole or any part of the
+Software pursuant to the licences granted in Clause 1.1(ii), you
+agree: (i) not to use ARM's or any of its licensors names, logos or
+trademarks to market Applications; (ii) to retain any and all
+copyright notices and other notices (whether ARM's or its licensor's)
+which are included with the Software; and (iii) include a copy of this
+Licence with such redistribution.
+
+2. RESTRICTIONS ON USE OF THE SOFTWARE.
+
+BENCHMARKING: This Licence does not prevent you from using the
+Software for benchmarking purposes. However, you shall ensure that 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, shall not be used
+to disparage ARM, its products or services, or in a manner that, in
+ARM's reasonable judgment, may diminish or otherwise damage the
+reputation 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.
+
+RESTRICTED USE: You agree that you shall not use the Software or the
+Output other than pursuant to and in accordance with the exercise of
+any of the licences granted under this Licence. Without limiting the
+generality of the foregoing, you shall not use the Software or any
+Output: (a) for determining if any features, functions or processes
+provided by the Software are covered by any patents or patent
+applications owned by you or a third party; or (b) for developing
+technology, applications or products which avoid any of ARM's
+intellectual property in the Software licensed hereunder; or (c) as a
+reference for modifying existing patents or patent applications or
+creating any continuation, continuation in part, or extension of
+existing patents or patent applications.
+
+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.
+
+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 APPLICATIONS, INCLUDING WITHOUT LIMITATION, 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. 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.
+
+7. 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 destroy all copies of the
+Software in your possession, together with all documentation and
+related materials. The provisions of clauses 2, 3, 4, 5, 6, 7, and 8
+shall survive termination of this Licence.
+
+8. 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 Agreement is subject to U.K.,
+European Union, and U.S. export control laws and regulations,
+including the U.S. Export Administration Act and its associated
+regulations (hereafter collectively referred to as "Export
+Regulations"). LICENSEE agrees to comply fully with all such Export
+Regulations and LICENSEE agrees that it shall not, either directly or
+indirectly, export in breach of the Export Regulations, any Software
+received under this Agreement, nor any direct products thereof; (i) to
+any country, company or person subject to export restrictions or
+sanctions under the Export Regulations; or (ii) for any prohibited end
+use, which at the time of export requires an export license or other
+governmental approval, without first obtaining such license or
+approval.
diff --git a/mali/NOTICE b/mali/NOTICE
new file mode 120000
index 0000000..0f718ce
--- /dev/null
+++ b/mali/NOTICE
@@ -0,0 +1 @@
+LES-PRE-20769.txt \ No newline at end of file
diff --git a/mali/lib/egl/libmali.so b/mali/lib/egl/libmali.so
new file mode 100755
index 0000000..87393df
--- /dev/null
+++ b/mali/lib/egl/libmali.so
Binary files differ
diff --git a/mali/lib/hw/hwcomposer.css.so b/mali/lib/hw/hwcomposer.css.so
new file mode 100755
index 0000000..8d7228b
--- /dev/null
+++ b/mali/lib/hw/hwcomposer.css.so
Binary files differ
diff --git a/mali/lib/hw/libstagefrighthw.so b/mali/lib/hw/libstagefrighthw.so
new file mode 100755
index 0000000..a82bbe7
--- /dev/null
+++ b/mali/lib/hw/libstagefrighthw.so
Binary files differ
diff --git a/mali/lib/mediadrm/libdrmclearkeyplugin.so b/mali/lib/mediadrm/libdrmclearkeyplugin.so
new file mode 100755
index 0000000..67fadb1
--- /dev/null
+++ b/mali/lib/mediadrm/libdrmclearkeyplugin.so
Binary files differ
diff --git a/mali/lib64/egl/libmali.so b/mali/lib64/egl/libmali.so
new file mode 100755
index 0000000..9ad9106
--- /dev/null
+++ b/mali/lib64/egl/libmali.so
Binary files differ
diff --git a/mali/lib64/hw/hwcomposer.css.so b/mali/lib64/hw/hwcomposer.css.so
new file mode 100755
index 0000000..f7ad8dc
--- /dev/null
+++ b/mali/lib64/hw/hwcomposer.css.so
Binary files differ
diff --git a/mali/lib64/hw/libstagefrighthw.so b/mali/lib64/hw/libstagefrighthw.so
new file mode 100755
index 0000000..0f55a50
--- /dev/null
+++ b/mali/lib64/hw/libstagefrighthw.so
Binary files differ
diff --git a/mali/lib64/mediadrm/libdrmclearkeyplugin.so b/mali/lib64/mediadrm/libdrmclearkeyplugin.so
new file mode 100755
index 0000000..1b06f1a
--- /dev/null
+++ b/mali/lib64/mediadrm/libdrmclearkeyplugin.so
Binary files differ
diff --git a/manifest.xml b/manifest.xml
new file mode 100644
index 0000000..42332fb
--- /dev/null
+++ b/manifest.xml
@@ -0,0 +1,55 @@
+<manifest version="1.0" type="device">
+ <hal format="hidl">
+ <name>android.hardware.bluetooth</name>
+ <transport>hwbinder</transport>
+ <version>1.0</version>
+ <interface>
+ <name>IBluetoothHci</name>
+ <instance>default</instance>
+ </interface>
+ </hal>
+ <hal format="hidl">
+ <name>android.hardware.graphics.allocator</name>
+ <transport>hwbinder</transport>
+ <version>2.0</version>
+ <interface>
+ <name>IAllocator</name>
+ <instance>default</instance>
+ </interface>
+ </hal>
+ <hal format="hidl">
+ <name>android.hardware.graphics.mapper</name>
+ <transport arch="32+64">passthrough</transport>
+ <version>2.0</version>
+ <interface>
+ <name>IMapper</name>
+ <instance>default</instance>
+ </interface>
+ </hal>
+ <hal format="hidl">
+ <name>android.hardware.wifi.supplicant</name>
+ <transport>hwbinder</transport>
+ <version>1.0</version>
+ <interface>
+ <name>ISupplicant</name>
+ <instance>default</instance>
+ </interface>
+ </hal>
+ <hal format="hidl">
+ <name>android.hardware.audio</name>
+ <transport>hwbinder</transport>
+ <version>2.0</version>
+ <interface>
+ <name>IDevicesFactory</name>
+ </interface>
+ </hal>
+ <hal format="hidl">
+ <name>android.hardware.camera.provider</name>
+ <transport>hwbinder</transport>
+ <version>2.4</version>
+ <interface>
+ <name>ICameraProvider</name>
+ <instance>default</instance>
+ </interface>
+ </hal>
+</manifest>
diff --git a/media_codecs.xml b/media_codecs.xml
new file mode 100644
index 0000000..7425ef2
--- /dev/null
+++ b/media_codecs.xml
@@ -0,0 +1,134 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!-- Copyright (C) 2012 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<!--
+<!DOCTYPE MediaCodecs [
+<!ELEMENT MediaCodecs (Decoders,Encoders)>
+<!ELEMENT Decoders (MediaCodec*)>
+<!ELEMENT Encoders (MediaCodec*)>
+<!ELEMENT MediaCodec (Type*,Quirk*)>
+<!ATTLIST MediaCodec name CDATA #REQUIRED>
+<!ATTLIST MediaCodec type CDATA>
+<!ELEMENT Type EMPTY>
+<!ATTLIST Type name CDATA #REQUIRED>
+<!ELEMENT Quirk EMPTY>
+<!ATTLIST Quirk name CDATA #REQUIRED>
+]>
+
+There's a simple and a complex syntax to declare the availability of a
+media codec:
+
+A codec that properly follows the OpenMax spec and therefore doesn't have any
+quirks and that only supports a single content type can be declared like so:
+
+ <MediaCodec name="OMX.foo.bar" type="something/interesting" />
+
+If a codec has quirks OR supports multiple content types, the following syntax
+can be used:
+
+ <MediaCodec name="OMX.foo.bar" >
+ <Type name="something/interesting" />
+ <Type name="something/else" />
+ ...
+ <Quirk name="requires-allocate-on-input-ports" />
+ <Quirk name="requires-allocate-on-output-ports" />
+ <Quirk name="output-buffers-are-unreadable" />
+ </MediaCodec>
+
+Only the three quirks included above are recognized at this point:
+
+"requires-allocate-on-input-ports"
+ must be advertised if the component does not properly support specification
+ of input buffers using the OMX_UseBuffer(...) API but instead requires
+ OMX_AllocateBuffer to be used.
+
+"requires-allocate-on-output-ports"
+ must be advertised if the component does not properly support specification
+ of output buffers using the OMX_UseBuffer(...) API but instead requires
+ OMX_AllocateBuffer to be used.
+
+"output-buffers-are-unreadable"
+ must be advertised if the emitted output buffers of a decoder component
+ are not readable, i.e. use a custom format even though abusing one of
+ the official OMX colorspace constants.
+ Clients of such decoders will not be able to access the decoded data,
+ naturally making the component much less useful. The only use for
+ a component with this quirk is to render the output to the screen.
+ Audio decoders MUST NOT advertise this quirk.
+ Video decoders that advertise this quirk must be accompanied by a
+ corresponding color space converter for thumbnail extraction,
+ matching surfaceflinger support that can render the custom format to
+ a texture and possibly other code, so just DON'T USE THIS QUIRK.
+
+-->
+
+<MediaCodecs>
+ <Decoders>
+ <MediaCodec name="OMX.ARM.video.v5xx.decoder" >
+ <Type name="video/3gpp">
+ <Limit name="measured-frame-rate-176x144" range="120-180"/>
+ <Limit name="measured-frame-rate-352x288" range="250-260"/>
+ <Feature name="adaptive-playback"/>
+ </Type>
+ <Type name="video/avc">
+ <Limit name="measured-frame-rate-320x240" range="150-375"/>
+ <Limit name="measured-frame-rate-720x480" range="44-462"/>
+ <Limit name="measured-frame-rate-1280x720" range="108-170"/>
+ <Feature name="adaptive-playback"/>
+ </Type>
+ <Type name="video/mp4v-es">
+ <Limit name="measured-frame-rate-176x144" range="190-200"/>
+ <Limit name="measured-frame-rate-480x360" range="60-100"/>
+ <Feature name="adaptive-playback"/>
+ </Type>
+ <Type name="video/mpeg2"/>
+ <Type name="video/vc1"/>
+ <Type name="video/wvc1"/>
+ <Type name="video/x-vnd.on2.vp8">
+ <Limit name="measured-frame-rate-320x180" range="300-320"/>
+ <Limit name="measured-frame-rate-320x240" range="40-315"/>
+ <Limit name="measured-frame-rate-640x360" range="200-240"/>
+ <Limit name="measured-frame-rate-1280x720" range="28-28"/>
+ <Limit name="measured-frame-rate-1920x1080" range="25-26"/>
+ <Feature name="adaptive-playback"/>
+ </Type>
+ </MediaCodec>
+ <MediaCodec name="OMX.google.raw.decoder" type="audio/raw"/>
+ <MediaCodec name="OMX.google.mp3.decoder" type="audio/mpeg" />
+ <MediaCodec name="OMX.google.amrnb.decoder" type="audio/3gpp" />
+ <MediaCodec name="OMX.google.amrwb.decoder" type="audio/amr-wb" />
+ <MediaCodec name="OMX.google.aac.decoder" type="audio/mp4a-latm" />
+ <MediaCodec name="OMX.google.g711.alaw.decoder" type="audio/g711-alaw" />
+ <MediaCodec name="OMX.google.g711.mlaw.decoder" type="audio/g711-mlaw" />
+ <MediaCodec name="OMX.google.vorbis.decoder" type="audio/vorbis" />
+ <MediaCodec name="OMX.google.gsm.decoder" type="audio/gsm" />
+
+ <MediaCodec name="OMX.google.h263.decoder" type="video/3gpp" />
+ <MediaCodec name="OMX.google.vp8.decoder" type="video/x-vnd.on2.vp8" />
+ <MediaCodec name="OMX.google.vp9.decoder" type="video/x-vnd.on2.vp9" />
+ </Decoders>
+
+ <Encoders>
+ <MediaCodec name="OMX.google.aac.encoder" type="audio/mp4a-latm" />
+ <MediaCodec name="OMX.google.amrnb.encoder" type="audio/3gpp" />
+ <MediaCodec name="OMX.google.amrwb.encoder" type="audio/amr-wb" />
+ <MediaCodec name="OMX.google.h263.encoder" type="video/3gpp" />
+ <MediaCodec name="OMX.google.h264.encoder" type="video/avc" />
+ <MediaCodec name="OMX.google.mpeg4.encoder" type="video/mp4v-es" />
+ <MediaCodec name="OMX.google.flac.encoder" type="audio/flac" />
+ <MediaCodec name="OMX.google.vp8.encoder" type="video/x-vnd.on2.vp8" />
+ </Encoders>
+</MediaCodecs>
diff --git a/monkey_black_list b/monkey_black_list
new file mode 100644
index 0000000..4e70fe0
--- /dev/null
+++ b/monkey_black_list
@@ -0,0 +1,6 @@
+com.android.development
+com.android.quicksearchbox
+com.android.speechrecorder
+com.android.connectivitymanagertest
+org.linaro.glmark2
+com.android.gallery3d
diff --git a/optee-packages.mk b/optee-packages.mk
new file mode 100644
index 0000000..baa3055
--- /dev/null
+++ b/optee-packages.mk
@@ -0,0 +1,15 @@
+ifeq ($(TA_DEV_KIT_DIR),)
+OPTEE_PLATFORM ?= vexpress-css
+OPTEE_CFG_ARM64_CORE ?= y
+OPTEE_TA_TARGETS ?= ta_arm64
+OPTEE_OS_DIR ?= optee/optee_os
+BUILD_OPTEE_MK := $(OPTEE_OS_DIR)/mk/aosp_optee.mk
+else
+BUILD_OPTEE_MK := device/arm/css/prebuilt_aosp_optee.mk
+endif
+
+# OP TEE client library and service
+PRODUCT_PACKAGES += libteec \
+ tee-supplicant \
+
+
diff --git a/overlay/frameworks/base/core/res/res/values/config.xml b/overlay/frameworks/base/core/res/res/values/config.xml
new file mode 100644
index 0000000..029bdec
--- /dev/null
+++ b/overlay/frameworks/base/core/res/res/values/config.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2011, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+<resources>
+
+ <!-- This device is not "voice capable"; it's data-only. -->
+ <bool name="config_voice_capable">false</bool>
+
+ <!-- This device does not allow sms service. -->
+ <bool name="config_sms_capable">false</bool>
+
+ <!-- Separate software navigation bar required on this device. -->
+ <bool name="config_showNavigationBar">true</bool>
+
+ <!-- XXXXX NOTE THE FOLLOWING RESOURCES USE THE WRONG NAMING CONVENTION.
+ Please don't copy them, copy anything else. -->
+
+ <!-- the 5th element "resore-time" indicates the number of milliseconds to delay
+ before automatically restore the default connection. Set -1 if the connection
+ does not require auto-restore. -->
+ <!-- the 6th element indicates boot-time dependency-met value. -->
+ <string-array translatable="false" name="networkAttributes">
+ <item>"wifi,1,1,1,-1,true"</item>
+ <item>"wifi_p2p,13,1,0,-1,true"</item>
+ <item>"ethernet,9,9,2,-1,true"</item>
+ </string-array>
+
+ <!-- This string array should be overridden by the device to present a list of radio
+ attributes. This is used by the connectivity manager to decide which networks can coexist
+ based on the hardware -->
+ <!-- An Array of "[ConnectivityManager connectionType],
+ [# simultaneous connection types]" -->
+ <string-array translatable="false" name="radioAttributes">
+ <item>"1,1"</item>
+ <item>"9,1"</item>
+ </string-array>
+
+
+</resources>
diff --git a/overlay/frameworks/base/packages/SettingsProvider/res/values/defaults.xml b/overlay/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
new file mode 100644
index 0000000..34d5433
--- /dev/null
+++ b/overlay/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <integer name="def_screen_off_timeout">-1</integer>
+ <bool name="def_lockscreen_disabled">true</bool>
+ <bool name="def_stay_on_while_plugged_in">true</bool>
+</resources>
diff --git a/preboot/bl1.bin b/preboot/bl1.bin
new file mode 100644
index 0000000..87e3d4c
--- /dev/null
+++ b/preboot/bl1.bin
Binary files differ
diff --git a/preboot/fip.bin b/preboot/fip.bin
new file mode 100644
index 0000000..8dac97d
--- /dev/null
+++ b/preboot/fip.bin
Binary files differ
diff --git a/preboot/readme.txt b/preboot/readme.txt
new file mode 100644
index 0000000..df84671
--- /dev/null
+++ b/preboot/readme.txt
@@ -0,0 +1,3 @@
+Binaries downloaded from: http://snapshots.linaro.org/components/kernel/fvp-pre-boot/54
+
+The source is here: http://git.linaro.org/gitweb?p=arm/models/arm-trusted-firmware.git;a=summary
diff --git a/preboot/startup.nsh b/preboot/startup.nsh
new file mode 100644
index 0000000..e7a99ad
--- /dev/null
+++ b/preboot/startup.nsh
@@ -0,0 +1 @@
+kernel dtb=fvp-base-gicv2-psci.dtb initrd=ramdisk.img console=ttyAMA0 amba-clcd.mode=VGA
diff --git a/prebuilt_aosp_optee.mk b/prebuilt_aosp_optee.mk
new file mode 100644
index 0000000..466537f
--- /dev/null
+++ b/prebuilt_aosp_optee.mk
@@ -0,0 +1,70 @@
+##########################################################
+## Common mk file used for Android to compile and ##
+## integrate OP-TEE related components ##
+## Following flags need to be defined in device.mk ##
+## OPTEE_OS_DIR ##
+## OPTEE_TA_TARGETS ##
+## OPTEE_CFG_ARM64_CORE ##
+## OPTEE_PLATFORM ##
+## And BUILD_OPTEE_MK needs to be defined in device.mk ##
+## to point to this file ##
+## ##
+## local_module needs to be defined before including ##
+## this file to build TAs ##
+## ##
+##########################################################
+
+OPTEE_OUT_DIR ?= $(PRODUCT_OUT)/optee
+OPTEE_TA_OUT_DIR ?= $(OPTEE_OUT_DIR)/ta
+TOP_ROOT_ABS := $(realpath $(TOP))
+
+# use CROSS_COMPILE if possible instead of android toolchain
+ifeq ($(strip $(CROSS_COMPILE)),)
+CROSS_COMPILE64 := $(TOP_ROOT_ABS)/$(TARGET_TOOLS_PREFIX)
+else
+CROSS_COMPILE64 := $(strip $(CROSS_COMPILE))
+endif
+$(info $(CROSS_COMPILE64))
+CROSS_COMPILE_LINE := CROSS_COMPILE64="$(CROSS_COMPILE64)"
+ifeq ($(strip $($(combo_2nd_arch_prefix)TARGET_TOOLS_PREFIX)),)
+CROSS_COMPILE32 := $(TOP_ROOT_ABS)/$($(combo_2nd_arch_prefix)TARGET_TOOLS_PREFIX)
+CROSS_COMPILE_LINE += CROSS_COMPILE32="$(CROSS_COMPILE32)"
+endif
+
+##########################################################
+## Lines for building TAs automatically ##
+## will only be included in Android.mk for TAs ##
+## local_module: ##
+## need to be defined before include for this ##
+##########################################################
+ifneq (false,$(INCLUDE_FOR_BUILD_TA))
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := $(local_module)
+LOCAL_PREBUILT_MODULE_FILE := $(OPTEE_TA_OUT_DIR)/$(LOCAL_MODULE)
+LOCAL_MODULE_PATH := $(TARGET_OUT)/lib/optee_armtz
+LOCAL_MODULE_CLASS := EXECUTABLES
+LOCAL_MODULE_TAGS := optional
+
+TA_TMP_DIR := $(subst /,_,$(LOCAL_PATH))
+TA_TMP_FILE := $(OPTEE_TA_OUT_DIR)/$(TA_TMP_DIR)/$(LOCAL_MODULE)
+$(LOCAL_PREBUILT_MODULE_FILE): $(TA_TMP_FILE)
+ @mkdir -p $(dir $@)
+ cp -uvf $< $@
+
+$(TA_TMP_FILE): PRIVATE_TA_SRC_DIR := $(LOCAL_PATH)
+$(TA_TMP_FILE): PRIVATE_TA_TMP_FILE := $(TA_TMP_FILE)
+$(TA_TMP_FILE): PRIVATE_TA_TMP_DIR := $(TA_TMP_DIR)
+$(TA_TMP_FILE): BUILD_OPTEE_OS
+ @echo "Start building TA for $(PRIVATE_TA_SRC_DIR) $(PRIVATE_TA_TMP_FILE)..."
+ $(MAKE) -C $(TOP_ROOT_ABS)/$(PRIVATE_TA_SRC_DIR) O=$(TOP_ROOT_ABS)/$(OPTEE_TA_OUT_DIR)/$(PRIVATE_TA_TMP_DIR) \
+ TA_DEV_KIT_DIR=$(TOP_ROOT_ABS)/$(TA_DEV_KIT_DIR) \
+ $(CROSS_COMPILE_LINE)
+ @echo "Finished building TA for $(PRIVATE_TA_SRC_DIR) $(PRIVATE_TA_TMP_FILE)..."
+
+include $(BUILD_PREBUILT)
+endif
+
+BUILD_OPTEE_OS:
+ echo "Using prebuilt optee"
+
diff --git a/sepolicy/device.te b/sepolicy/device.te
new file mode 100644
index 0000000..428ba9d
--- /dev/null
+++ b/sepolicy/device.te
@@ -0,0 +1,2 @@
+type optee_dev, dev_type;
+type vpu_device, dev_type;
diff --git a/sepolicy/file.te b/sepolicy/file.te
new file mode 100644
index 0000000..3954254
--- /dev/null
+++ b/sepolicy/file.te
@@ -0,0 +1 @@
+type optee_data_file, file_type, data_file_type;
diff --git a/sepolicy/file_contexts b/sepolicy/file_contexts
new file mode 100644
index 0000000..3a28560
--- /dev/null
+++ b/sepolicy/file_contexts
@@ -0,0 +1,12 @@
+/dev/mali0 u:object_r:gpu_device:s0
+/dev/ump u:object_r:gpu_device:s0
+/dev/mv500 u:object_r:vpu_device:s0
+
+# System files
+/system/bin/setcpuset\.sh u:object_r:setcpuset-sh_exec:s0
+
+# files for optee
+/system/bin/tee-supplicant u:object_r:optee_exec:s0
+/dev/teepriv0 u:object_r:optee_dev:s0
+/data/tee(/.*)? u:object_r:optee_data_file:s0
+/dev/tee0 u:object_r:tee_device:s0
diff --git a/sepolicy/netd.te b/sepolicy/netd.te
new file mode 100644
index 0000000..86fe108
--- /dev/null
+++ b/sepolicy/netd.te
@@ -0,0 +1,2 @@
+# Triggers a sys_module denial, but kernel has CONFIG_MODULES=n.
+dontaudit netd self:capability sys_module;
diff --git a/sepolicy/optee.te b/sepolicy/optee.te
new file mode 100644
index 0000000..d3c5ffb
--- /dev/null
+++ b/sepolicy/optee.te
@@ -0,0 +1,11 @@
+type optee , domain;
+type optee_exec, exec_type, file_type;
+
+init_daemon_domain(optee)
+
+allow optee optee_dev:chr_file rw_file_perms;
+allow optee optee_data_file:dir create_dir_perms;
+allow optee optee_data_file:file { link create_file_perms };
+
+#avc: denied { dac_override } for pid=1721 comm="tee-supplicant" capability=1 scontext=u:r:optee:s0 tcontext=u:r:optee:s0 tclass=capability permissive=1
+allow optee self:capability { dac_override };
diff --git a/sepolicy/setcpuset-sh.te b/sepolicy/setcpuset-sh.te
new file mode 100644
index 0000000..8eec096
--- /dev/null
+++ b/sepolicy/setcpuset-sh.te
@@ -0,0 +1,7 @@
+type setcpuset-sh, domain;
+type setcpuset-sh_exec, exec_type, file_type;
+
+init_daemon_domain(setcpuset-sh)
+
+allow setcpuset-sh shell_exec:file r_file_perms;
+allow setcpuset-sh system_file:file x_file_perms;
diff --git a/sepolicy/surfaceflinger.te b/sepolicy/surfaceflinger.te
new file mode 100644
index 0000000..0bb2356
--- /dev/null
+++ b/sepolicy/surfaceflinger.te
@@ -0,0 +1,4 @@
+#surfaceflinger: type=1400 audit(0.0:11): avc: denied { execmem } for scontext=u:r:surfaceflinger:s0 tcontext=u:r:surfaceflinger:s0 tclass=process permissive=0
+allow surfaceflinger self:process execmem;
+#surfaceflinger: type=1400 audit(0.0:11): avc: denied { execute } for path="/dev/ashmem" dev="tmpfs" ino=9287 scontext=u:r:surfaceflinger:s0 tcontext=u:object_r:ashmem_device:s0 tclass=chr_file permissive=0
+allow surfaceflinger ashmem_device:chr_file execute;
diff --git a/sepolicy/vpu.te b/sepolicy/vpu.te
new file mode 100644
index 0000000..d43cf5a
--- /dev/null
+++ b/sepolicy/vpu.te
@@ -0,0 +1,3 @@
+type vpu , domain;
+allow mediaserver vpu_device:chr_file rw_file_perms;
+allow surfaceflinger vpu_device:chr_file rw_file_perms;
diff --git a/setcpuset.sh b/setcpuset.sh
new file mode 100644
index 0000000..bf44f68
--- /dev/null
+++ b/setcpuset.sh
@@ -0,0 +1,51 @@
+#!/system/bin/sh
+
+BIG_CPUS=
+LITTLE_CPUS=
+FIRST_LITTLE_CPU=
+ALL_CPUS=
+for cpufile in /sys/devices/system/cpu/cpu*/uevent; do
+ cpunum=${cpufile#/sys/devices/system/cpu/cpu}
+ cpunum=${cpunum%/uevent}
+ if grep -q -e 'ananke' $cpufile; then
+ echo CPU $cpunum is little core
+ LITTLE_CPUS=${LITTLE_CPUS:+$LITTLE_CPUS,}$cpunum
+ FIRST_LITTLE_CPU=${FIRST_LITTLE_CPU:-$cpunum}
+ elif grep -q -e 'prometheus' $cpufile; then
+ echo CPU $cpunum is big core
+ BIG_CPUS=${BIG_CPUS:+$BIG_CPUS,}$cpunum
+ else
+ echo CPU $cpunum is unknown type
+ fi
+ ALL_CPUS=${ALL_CPUS:+$ALL_CPUS,}$cpunum
+done
+echo BIG_CPUS=$BIG_CPUS
+echo LITTLE_CPUS=$LITTLE_CPUS
+echo FIRST_LITTLE_CPU=$FIRST_LITTLE_CPU
+
+# Foreground should contain all cores
+echo $ALL_CPUS >/dev/cpuset/foreground/cpus
+
+# Add foreground/boost cpuset, it is used for app launches,
+# and maybe other high priority tasks in the future.
+# It's to be set to whatever cores should be used
+# for short term high-priority tasks.
+if [ -n "${BIG_CPUS}" ]; then
+ echo $BIG_CPUS >/dev/cpuset/foreground/boost/cpus
+else
+ # set with all cpus if not found any BIG_CPUS
+ echo $ALL_CPUS >/dev/cpuset/foreground/boost/cpus
+fi
+
+#background contains a small subset (generally one little core)
+if [ -n "${FIRST_LITTLE_CPU}" ]; then
+ echo $FIRST_LITTLE_CPU >/dev/cpuset/background/cpus
+else
+ # use cpu0 if not find any LITTLE CPUS
+ # same as default
+ echo 0 >/dev/cpuset/background/cpus
+fi
+# add system-background cpuset, a new cpuset for system services
+# that should not run on larger cores
+# system-background is for system tasks that should only run on
+
diff --git a/system.prop b/system.prop
new file mode 100644
index 0000000..70c0009
--- /dev/null
+++ b/system.prop
@@ -0,0 +1,4 @@
+# This overrides settings in the products/generic/system.prop file
+#
+# rild.libpath=/system/lib/libreference-ril.so
+# rild.libargs=-d /dev/ttyS0
diff --git a/vendorsetup.sh b/vendorsetup.sh
new file mode 100755
index 0000000..6cd02e5
--- /dev/null
+++ b/vendorsetup.sh
@@ -0,0 +1,27 @@
+#
+# Copyright (C) 2013 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+# This file is executed by build/envsetup.sh, and can use anything
+# defined in envsetup.sh.
+#
+# In particular, you can add lunch options with the add_lunch_combo
+# function: add_lunch_combo generic-eng
+
+add_lunch_combo css_gpu-userdebug
+add_lunch_combo css_swr-userdebug
+add_lunch_combo css_gpu_src-userdebug
+add_lunch_combo css_swr_src-userdebug
+add_lunch_combo css_emu-userdebug