summaryrefslogtreecommitdiff
path: root/android/images/armv8-android-juno-lsk/HOWTO_releasenotes.txt
blob: 6c3ec164df5b7d45063cbd0289543f458d2afe77 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138

h2. About the Linaro Android Release for ARMv8-A

The Linaro Android release is based on a snapshot of the Android AOSP master taken on the 1st June. The build contains multi-arch support allowing full use of the 64-bit ARMv8-A architecture and supporting both 64-bit and 32-bit applications. Java-only applications will run as 64-bit in the supplied configuration. The release uses Linaro Stable Kernel version 3.10 and is integrated with ARM Mali drivers for 3D graphics acceleration. The sources are built using Linaro GCC version 4.9.

The ARMv8-A reference software stack combined with the ARM Development Platform (ADP) provides the ARM ecosystem with a foundation to accelerate 64-bit Android availability on silicon. The availability of this port is the culmination of a broad architecture enablement program carried out by Linaro, ARM and the ARM partnership. ARM partners will now have access to a 64-bit AOSP file system, together with a broad range of supporting material including the ARMv8-A FVP models, open source toolchain from Linaro and supporting documentation. 

It should be noted that this is an early software preview and not all 3rd party applications will run correctly at this time. Performance is limited due to the ART runtime running in interpreted mode, more recent versions of the AOSP tree have now enabled this and next month's build will feature better performance and wider compatibility as the baseport matures. 

The Android AOSP software provided in this release is thoroughly tested with CTS version 4.4 and the CTS results are shared with members. The BIONIC component is validated with Android BIONIC tests. Android Monkey tests were run for stress testing. Multi-arch support has been validated using examples provided in Android NDK.

The Linaro Android releases for Juno appear monthly. Sources are also made available so you can build your own images (see the "Building from Source tab":https://releases.linaro.org/14.06/android/images/armv8-juice-juno-lsk/#tabs-3). 


h2. About Juno

Juno is the first 64-bit development platform from ARM, featuring a dual Cortex-A57 "big" cluster, a quad Cortex-A53 "little" cluster, and a Mali T624 GPU cluster with four shader cores.

This board is lead-free (it does not contain Pb).


h2. About the Linaro Stable Kernel (LSK)

The Linaro Stable Kernel (LSK) is produced, validated and released by Linaro and is based on the Linux stable kernel tree. The LSK focuses on quality and stability and is therefore a great foundation for product development. It also includes backports of commonly desired features, provided they meet the quality requirements, and also any bug fixes.

LSK releases appear monthly. Sources are also made available so you can build your own images (see the "'Building from Source'":https://releases.linaro.org/14.06/android/images/armv8-android-juno-lsk/#tabs-3 tab).


h2. License

The use of Juno software is subject to the terms of the Juno "End User License Agreement":https://releases.linaro.org/14.06/android/images/armv8-android-juno-lsk/#tabs-5.


h2. Support

Please send any support enquiries to "juno-support@arm.com":mailto:juno-support@arm.com?subject=Juno%20support%20request  Linaro Member engineers may receive priority support for Juno by sending support requests to "support@linaro.org":mailto:support@linaro.org?subject=Juno%20support%20request or visiting "http://support.linaro.org":http://support.linaro.org.


h2. Functionality Listed by Software Component

h3. AOSP Filesystem

* Snapshot of the AOSP Master at 1st of June 2014
* ART Runtime enabled as default and booting in 64-bit primary mode
* GPU support. The driver itself is believed performant but issues with HDLCD driver impact on-screen performance
* HDLCD is fully supported, but is currently only single-buffered leading to visual artefacts
 
h3. Linux Kernel

* Support for the ARM Juno Development Platform 
* Limited set of peripherals present on the Juno development board: on-chip USB, non-secure UART, HDMI output, keyboard and mouse functionality over PS/2 connector, ethernet support is provided via on-board SMSC ethernet chip.
* Full USB driver support in Linux, for access to mass storage and input devices.
* big.LITTLE MP support for all 6 cores.
* Unified kernel and kernel config for Android and Linux. 
* DVFS stable operating points are enabled for nominal (Cortex-A57 800MHz, Cortex-A53 700MHz, Mali T624 600MHz) and overdrive (Cortex-A57 1100MHz, Cortex-A53 850MHz).

h3. UEFI

* Booting an Operating System from NOR Flash or USB mass storage
* Support for Ethernet and PXE boot

h3. AP Trusted Firmware

* Send the SCP firmware to SCP
* Initialize the Trusted World before transitioning into Normal World.
* Service CPU hotplug requests coming from Normal World
* PSCI implementation

h3. SCP Firmware

* System configuration
* DDR initialization
* Basic power state management
* SCPI commands (Ready, Set/Get Clocks, Set/Get CPU power states)
* Thermal protection (shutdown at 85C, Linux will receive a warning at 75C)
* DVFS support

h2. Known Limitations Listed by Software Component

h3. AOSP Filesystem

* The ART code at the time of branching from master did not have compilation or optmization enabled. As a result performance will be limited for Java code
* The Juno baseport integration with AOSP is at an early stage and not all applications using the NDK will work at this time.
* HDLCD issues include a lack of double buffering meaning tearing can be seen
* HDLCD compatibility with monitors is variable at this time

h3. Linux Kernel

* The big.LITTLE support is functional but has not yet been tuned for efficiency and performance.

h3. UEFI

* No display controller support
* No USB OHCI support. Only EHCI is supported

h3. AP Trusted Firmware

* Does not support changing the primary core using SCC General Purpose Register 1.
* Does not support bringing up secondary cores using PSCI CPU_ON when they have been enabled at boot time by SCP using SCC General Purpose Register 1.
* Does not support Secure-EL1 Payload (i.e. BL3-2)
* Does not support CPU suspend

h3. SCP Firmware

* A number of SCPI commands are not yet implemented or are incomplete.

h2. Android AOSP Patch Summary

The following list of patches developed by ARM and Linaro engineering teams were applied to Android AOSP dated June 1st 2014 to get Android booting to UI on the ARMv8-A Juno development platform. These patches can be found on Linaro's Android Git repositories. Some of these patches have been submitted to AOSP and are being tracked for acceptance.

* "build boot files and generate tarballs":https://android.git.linaro.org/gitweb/platform/build.git/commit/6a33bdf27388be96ed49b7eea4ee3f1ca90700e8
* "set default runtime and zygote property in device config files":https://android.git.linaro.org/gitweb/platform/build.git/commit/2f9ad5ea5eb6ce50d17a600f1df3403bb1e7c60d
* "Increase timeouts":https://android.git.linaro.org/gitweb/platform/frameworks/base.git/commit/4776a5761247eca5750f52757d85bb060570b126
* "Fix resolution issues for Juno.":https://android.git.linaro.org/gitweb/platform/frameworks/native.git/commit/ffa8b0c201615095f6783bc763b0bab9dbea9e33
* "AArch64: force SurfaceFlinger to use last egl config":https://android.git.linaro.org/gitweb/platform/frameworks/native.git/commit/bba5860061cb0119ec8d08da766a3c58b51f9fe4
* "Don't use memset to clear the framebuffer on arm64":https://android.git.linaro.org/gitweb/platform/hardware/libhardware.git/commit/d3080813c4284cd9a700bdc86bf3ee7807b8ceb4
* "Increase timeouts for slow platforms":https://android.git.linaro.org/gitweb/platform/libcore.git/commit/c2ae1bd6b1879071a4ca0f0b3507f695759ebab9
* "Don't write to the tty in init to avoid the cursor":https://android.git.linaro.org/gitweb/platform/system/core.git/commit/3e1977b8f719cc4e652902d7cd2331893d74ac6d
* "Quick and dirty utility to sync the system clock on Juno":https://android.git.linaro.org/gitweb/platform/system/core.git/commit/60d4dfae50a65980b34f28639b468aa8bddea271
* "bionic libc test: make it can be compiled for 64 bit":https://android.git.linaro.org/gitweb/platform/system/extras.git/commit/fcfff0a2c6e95e9e8e0643b4a4e495be60b1189c


h2. Known Issues

The following known issues are present in this release.  Please contact "support@linaro.org":mailto:support@linaro.org?subject=Juno%20support%20request if you wish to know more information about these issues or have access problems when attempting to view them.

| *Bug ID* | *Bug title* | *Bug summary* |
|"ARM-135":https://cards.linaro.org/browse/ARM-135 |Juno: Android fails to boot when board has a date in the future |When the board default date is set beyond 19.01.2038 Android fails to boot. This is most likely a bug in generic Android code. As a workaround, the date on the board needs to be set to something before 2038 cut off date. |
|"Bug 54":https://bugs.linaro.org/show_bug.cgi?id=54 |DNS lookup doesn't work |DNS lookup is broken on 64/64 and Juice builds. Setting additional 'dns' entries with setprop doesn't help. On the other hand networking works well when using IP addresses. |
|"Bug 45":https://bugs.linaro.org/show_bug.cgi?id=45 |CTS errors - Unable to resolve host "loca" : No address associated with hostname |A few CTS tests fails due to resons related to networking. Some of the failures are covered by Bug 54. This bug covers "Unable to resolve host "loca" : No address associated with hostname" |
|"Bug 12":https://bugs.linaro.org/show_bug.cgi?id=12 |Intermittent HDMI failures on 14.06 RC |There is a problem with HDMI sync. The board works with some monitors and doesn't work with other. The monitors known to work are: ASUS VS247 H-P, Samsung S22A300H, HP LP2475w |
|"Bug 51":https://bugs.linaro.org/show_bug.cgi?id=51 |Test test_getaddrinfo from bionic libc test suite fails on Juno build - LAVA |Problem similar to Bug 54. Happens in bionic unit tests |
|"Bug 23":https://bugs.linaro.org/show_bug.cgi?id=23 |backtrace_test reports failures on 64/64 build |There are failures in libbacktrace unit tests. They only happen on 64bit root filesystem |
|"Bug 11":https://bugs.linaro.org/show_bug.cgi?id=11 |Browser crashes on Juno in 14.06 RC |Due to missing webviewchromium browser crashes at startup. |
|"Bug 10":https://bugs.linaro.org/show_bug.cgi?id=10 |settings crashed when running monkey |Settings app crashes when invoking settings related to TTS (android.speech.tts.TextToSpeechService) |
|ARM JSW-749 Linux [Juno-Beta-rc3] |With cpuidle enabled kernels android 64 bit fs shows performance degradation |Contact "juno-support@arm.com":mailto:juno-support@arm.com?subject=Juno%20support%20request for more details |
|ARM JSW-748 Linux [Juno-Beta-rc1] |Screen blanking is seen at a regular frequency of one in 10 sec |Contact "juno-support@arm.com":mailto:juno-support@arm.com?subject=Juno%20support%20request for more details |