1ARM Trusted Firmware 2==================== 3 4Detailed changes since last release 5----------------------------------- 6 7* Support for Foundation FVP Version 2.0 added. 8 The documented UEFI configuration disables some devices that are unavailable 9 in the Foundation FVP, including MMC and CLCD. The resultant UEFI binary can 10 be used on the AEMv8 and Cortex-A57-A53 FVPs, as well as the Foundation FVP. 11 NOTE: The software will not work on Version 1.0 of the Foundation FVP. 12 13* Regression-checked against latest Base FVPs (Version 5.2). 14 15* The supplied FDTs expose the Interrupt Translation Service (ITS) available 16 in GICv3. 17 18* Fixed various GCC compiler warnings. 19 20* Unmask SError and Debug exceptions in the trusted firmware. 21 Also route external abort and SError interrupts to EL3. 22 23* The amount of physical RAM available to Linux as specified in the FDTs for 24 Base FVPs have been increased from 2GB to 4GB. This resolves the issue of 25 failing to start user-space when using a RAM-disk file-system. 26 27* Build products are now created in a separate build directory tree. 28 29* Analyze at link-time whether bootloader images will fit in memory and won't 30 overlap each other at run time. If it is not the case then image linking 31 will now fail. 32 33* Reduce the size of the bootloader images by cutting some sections out of 34 their disk images and allocating them at load time, whenever possible. 35 36* Properly initialise the C runtime environment. C code can now safely assume 37 that global variables are initialised to 0 and that initialised data holds 38 the correct value. 39 40* General changes on the memory layout: some sections have been moved, some of 41 them have been merged together, and some alignment constraints on sections 42 have changed. 43 44* Enable third party contributions. Add a new contributing.md containing 45 instructions for how to contribute and update copyright text in all files to 46 acknowledge contributors. 47 48* The wake up enable bit in the FVP power controller is cleared when a cpu is 49 physically powered up to prevent a spurious wake up from a subsequent cpu 50 off state. 51 52* Definitions of some constants related to the PSCI api calls AFFINITY_INFO 53 and CPU_SUSPEND have been corrected. 54 55ARM Trusted Firmware - version 0.2 56================================== 57 58New features 59------------ 60 61* First source release. 62 63* Code for the PSCI suspend feature is supplied, although this is not enabled 64 by default since there are known issues (see below). 65 66 67Issues resolved since last release 68---------------------------------- 69 70* The "psci" nodes in the FDTs provided in this release now fully comply 71 with the recommendations made in the PSCI specification. 72 73 74Known issues 75------------ 76 77The following is a list of issues which are expected to be fixed in the future 78releases of the ARM Trusted Firmware. 79 80* The TrustZone Address Space Controller (TZC-400) is not being programmed 81 yet. Use of model parameter `-C bp.secure_memory=1` is not supported. 82 83* No support yet for secure world interrupt handling or for switching context 84 between secure and normal worlds in EL3. 85 86* GICv3 support is experimental. The Linux kernel patches to support this are 87 not widely available. There are known issues with GICv3 initialization in 88 the ARM Trusted Firmware. 89 90* Dynamic image loading is not available yet. The current image loader 91 implementation (used to load BL2 and all subsequent images) has some 92 limitations. Changing BL2 or BL3-1 load addresses in certain ways can lead 93 to loading errors, even if the images should theoretically fit in memory. 94 95* Although support for PSCI `CPU_SUSPEND` is present, it is not yet stable 96 and ready for use. 97 98* PSCI API calls `AFFINITY_INFO` & `PSCI_VERSION` are implemented but have not 99 been tested. 100 101* The ARM Trusted Firmware make files result in all build artifacts being 102 placed in the root of the project. These should be placed in appropriate 103 sub-directories. 104 105* The compilation of ARM Trusted Firmware is not free from compilation 106 warnings. Some of these warnings have not been investigated yet so they 107 could mask real bugs. 108 109* The ARM Trusted Firmware currently uses toolchain/system include files like 110 stdio.h. It should provide versions of these within the project to maintain 111 compatibility between toolchains/systems. 112 113* The PSCI code takes some locks in an incorrect sequence. This may cause 114 problems with suspend and hotplug in certain conditions. 115 116* The Linux kernel used in this release is based on version 3.12-rc4. Using 117 this kernel with the ARM Trusted Firmware fails to start the file-system as 118 a RAM-disk. It fails to execute user-space `init` from the RAM-disk. As an 119 alternative, the VirtioBlock mechanism can be used to provide a file-system 120 to the kernel. 121 122 123Detailed changes since last release 124----------------------------------- 125 126First source release - not applicable. 127 128- - - - - - - - - - - - - - - - - - - - - - - - - - 129 130_Copyright (c) 2013, ARM Limited and Contributors. All rights reserved._ 131