| 638b034c | 05-Jan-2018 |
Roberto Vargas <roberto.vargas@arm.com> |
ARM platforms: Demonstrate mem_protect from el3_runtime
Previously mem_protect used to be only supported from BL2. This is not helpful in the case when ARM TF-A BL2 is not used. This patch demonstra
ARM platforms: Demonstrate mem_protect from el3_runtime
Previously mem_protect used to be only supported from BL2. This is not helpful in the case when ARM TF-A BL2 is not used. This patch demonstrates mem_protect from el3_runtime firmware on ARM Platforms specifically when RESET_TO_BL31 or RESET_TO_SP_MIN flag is set as BL2 may be absent in these cases. The Non secure DRAM is dynamically mapped into EL3 mmap tables temporarily and then the protected regions are then cleared. This avoids the need to map the non secure DRAM permanently to BL31/sp_min.
The stack size is also increased, because DYNAMIC_XLAT_TABLES require a bigger stack.
Change-Id: Ia44c594192ed5c5adc596c0cff2c7cc18c001fde Signed-off-by: Roberto Vargas <roberto.vargas@arm.com>
show more ...
|
| ccd130ea | 01-May-2018 |
danh-arm <dan.handley@arm.com> |
Merge pull request #1255 from masahir0y/int-ll64
Use consistent int-ll64 typedefs for aarch32 and aarch64 |
| 0a2d5b43 | 02-Feb-2018 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
types: use int-ll64 for both aarch32 and aarch64
Since commit 031dbb122472 ("AArch32: Add essential Arch helpers"), it is difficult to use consistent format strings for printf() family between aarch
types: use int-ll64 for both aarch32 and aarch64
Since commit 031dbb122472 ("AArch32: Add essential Arch helpers"), it is difficult to use consistent format strings for printf() family between aarch32 and aarch64.
For example, uint64_t is defined as 'unsigned long long' for aarch32 and as 'unsigned long' for aarch64. Likewise, uintptr_t is defined as 'unsigned int' for aarch32, and as 'unsigned long' for aarch64.
A problem typically arises when you use printf() in common code.
One solution could be, to cast the arguments to a type long enough for both architectures. For example, if 'val' is uint64_t type, like this:
printf("val = %llx\n", (unsigned long long)val);
Or, somebody may suggest to use a macro provided by <inttypes.h>, like this:
printf("val = %" PRIx64 "\n", val);
But, both would make the code ugly.
The solution adopted in Linux kernel is to use the same typedefs for all architectures. The fixed integer types in the kernel-space have been unified into int-ll64, like follows:
typedef signed char int8_t; typedef unsigned char uint8_t;
typedef signed short int16_t; typedef unsigned short uint16_t;
typedef signed int int32_t; typedef unsigned int uint32_t;
typedef signed long long int64_t; typedef unsigned long long uint64_t;
[ Linux commit: 0c79a8e29b5fcbcbfd611daf9d500cfad8370fcf ]
This gets along with the codebase shared between 32 bit and 64 bit, with the data model called ILP32, LP64, respectively.
The width for primitive types is defined as follows:
ILP32 LP64 int 32 32 long 32 64 long long 64 64 pointer 32 64
'long long' is 64 bit for both, so it is used for defining uint64_t. 'long' has the same width as pointer, so for uintptr_t.
We still need an ifdef conditional for (s)size_t.
All 64 bit architectures use "unsigned long" size_t, and most 32 bit architectures use "unsigned int" size_t. H8/300, S/390 are known as exceptions; they use "unsigned long" size_t despite their architecture is 32 bit.
One idea for simplification might be to define size_t as 'unsigned long' across architectures, then forbid the use of "%z" string format. However, this would cause a distortion between size_t and sizeof() operator. We have unknowledge about the native type of sizeof(), so we need a guess of it anyway. I want the following formula to always return 1:
__builtin_types_compatible_p(size_t, typeof(sizeof(int)))
Fortunately, ARM is probably a majority case. As far as I know, all 32 bit ARM compilers use "unsigned int" size_t.
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
show more ...
|
| 57d1e5fa | 18-Apr-2018 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
Fix pointer type mismatch of handlers
Commit 4c0d03907652 ("Rework type usage in Trusted Firmware") changed the type usage in struct declarations, but did not touch the definition side. Fix the typ
Fix pointer type mismatch of handlers
Commit 4c0d03907652 ("Rework type usage in Trusted Firmware") changed the type usage in struct declarations, but did not touch the definition side. Fix the type mismatch.
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
show more ...
|
| a8d9550b | 26-Apr-2018 |
Dimitris Papastamos <dimitris.papastamos@arm.com> |
Merge pull request #1345 from dbasehore/udelay
rockchip/rk3399: Fix sram_udelay |
| 00ad56e6 | 23-Apr-2018 |
Victor Chong <victor.chong@linaro.org> |
poplar: rename FIP_ADD_IMG to TOOL_ADD_IMG
Fixes: f3d522b ("poplar: Support Trusted OS extra image (OP-TEE header) parsing") Signed-off-by: Victor Chong <victor.chong@linaro.org> |
| bb3a6f8c | 16-Apr-2018 |
Sudipto Paul <sudipto.paul@arm.com> |
css/sgi575: enable ARM_PLAT_MT flag
SGI-575 platform is based on Cortex-A75 processor which has its MT bit in the MPIDR register set to '1'. So the Arm platform layer code has to be made aware of th
css/sgi575: enable ARM_PLAT_MT flag
SGI-575 platform is based on Cortex-A75 processor which has its MT bit in the MPIDR register set to '1'. So the Arm platform layer code has to be made aware of this.
Signed-off-by: Sudipto Paul <sudipto.paul@arm.com>
show more ...
|
| bedf6f0b | 17-Apr-2018 |
Dimitris Papastamos <dimitris.papastamos@arm.com> |
Merge pull request #1250 from jollysxilinx/zynqmp-new-eemi-api
plat/xilinx: Add support for new platform management APIs for ZynqMP |
| 4af16543 | 16-Apr-2018 |
Dimitris Papastamos <dimitris.papastamos@arm.com> |
Merge pull request #1346 from samarthp/sp/support-multiple-mhu-gen
plat/arm: Add MHUv2 support to SCMI driver |
| a427785c | 23-Nov-2017 |
Samarth Parikh <samarth.parikh@arm.com> |
plat/arm: Add MHUv2 support to SCMI driver
Currently the SCMI driver supports MHUv1, but Arm platforms may have varied versions of MHU driver, with MHUv2 controllers being in the latest Arm platform
plat/arm: Add MHUv2 support to SCMI driver
Currently the SCMI driver supports MHUv1, but Arm platforms may have varied versions of MHU driver, with MHUv2 controllers being in the latest Arm platforms.
This patch updates the SCMI driver to support MHUv2, specifically that the sender must send the wake-up to the receiver before initiating any data transfer.
Also, the existing mhu driver files, css_mhu.c and css_mhu.h, have been moved from the scpi directory to a new directory, css/drivers/mhu.
Change-Id: I9b46b492a3e1d9e26db12d83a9773958a8c8402f Signed-off-by: Samarth Parikh <samarth.parikh@arm.com>
show more ...
|
| 8b371200 | 16-Apr-2018 |
Dimitris Papastamos <dimitris.papastamos@arm.com> |
Merge pull request #1356 from robertovargas-arm/misra-changes
Misra changes |
| 3b94189a | 12-Feb-2018 |
Roberto Vargas <roberto.vargas@arm.com> |
Fix MISRA rule 8.4 Part 4
Rule 8.4: A compatible declaration shall be visible when an object or function with external linkage is defined
Fixed for: make DEBUG=1 PLAT=fvp SPD=tspd TRUSTE
Fix MISRA rule 8.4 Part 4
Rule 8.4: A compatible declaration shall be visible when an object or function with external linkage is defined
Fixed for: make DEBUG=1 PLAT=fvp SPD=tspd TRUSTED_BOARD_BOOT=1 \ GENERATE_COT=1 ARM_ROTPK_LOCATION=devel_rsa \ ROT_KEY=arm_rotprivk_rsa.pem MBEDTLS_DIR=mbedtls all
Change-Id: Ie4cd6011b3e4fdcdd94ccb97a7e941f3b5b7aeb8 Signed-off-by: Roberto Vargas <roberto.vargas@arm.com>
show more ...
|
| 1a29f938 | 12-Feb-2018 |
Roberto Vargas <roberto.vargas@arm.com> |
Fix MISRA rule 8.4 Part 3
Rule 8.4: A compatible declaration shall be visible when an object or function with external linkage is defined
Fixed for: make DEBUG=1 PLAT=fvp SPD=tspd all
C
Fix MISRA rule 8.4 Part 3
Rule 8.4: A compatible declaration shall be visible when an object or function with external linkage is defined
Fixed for: make DEBUG=1 PLAT=fvp SPD=tspd all
Change-Id: I0a16cf68fef29cf00ec0a52e47786f61d02ca4ae Signed-off-by: Roberto Vargas <roberto.vargas@arm.com>
show more ...
|
| f37704bc | 12-Feb-2018 |
Roberto Vargas <roberto.vargas@arm.com> |
Fix MISRA rule 8.3 Part 2
Rule 8.3: All declarations of an object or function shall use the same names and type qualifiers.
Fixed for: make DEBUG=1 PLAT=juno LOG_LEVEL=50 all
Change-Id:
Fix MISRA rule 8.3 Part 2
Rule 8.3: All declarations of an object or function shall use the same names and type qualifiers.
Fixed for: make DEBUG=1 PLAT=juno LOG_LEVEL=50 all
Change-Id: I0e4a03a0d2170cb1c632e079112a972091994a39 Signed-off-by: Roberto Vargas <roberto.vargas@arm.com>
show more ...
|
| 35a3eeb6 | 12-Feb-2018 |
Roberto Vargas <roberto.vargas@arm.com> |
Fix MISRA rule 8.4 Part 1
Rule 8.4: A compatible declaration shall be visible when an object or function with external linkage is defined
Fixed for: make DEBUG=1 PLAT=fvp LOG_LEVEL=50 al
Fix MISRA rule 8.4 Part 1
Rule 8.4: A compatible declaration shall be visible when an object or function with external linkage is defined
Fixed for: make DEBUG=1 PLAT=fvp LOG_LEVEL=50 all
Change-Id: I32b223251b8bf5924149d89431a65d3405a73d3e Signed-off-by: Roberto Vargas <roberto.vargas@arm.com>
show more ...
|
| 9d82dd9b | 13-Apr-2018 |
Dimitris Papastamos <dimitris.papastamos@arm.com> |
Merge pull request #1352 from hzhuang1/hikey_ddr
Hikey ddr |
| 0f17a683 | 12-Apr-2018 |
Dimitris Papastamos <dimitris.papastamos@arm.com> |
Merge pull request #1347 from davidcunado-arm/dc/affinities
FVP: Fix function for translating MPIDR to linear index |
| f7c5f307 | 11-Apr-2018 |
Jiafei Pan <Jiafei.Pan@nxp.com> |
layerscape: fix integer handling issues
Assert before actually using.
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com> |
| ed253f54 | 11-Apr-2018 |
Haojian Zhuang <haojian.zhuang@linaro.org> |
hikey: clean sram before mcu used
Clean cache to flush parameters into SRAM before MCU using them.
Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org> |
| 1d999558 | 11-Apr-2018 |
Haojian Zhuang <haojian.zhuang@linaro.org> |
hikey: save ddr parameters into SRAM
Store those DDR parameters into SRAM. They may be used by MCU firmware.
Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org> |
| 483dce7e | 11-Apr-2018 |
Haojian Zhuang <haojian.zhuang@linaro.org> |
hikey: update ddr initialization
Fix that DDR can't work at 533MHz. Now step to set DDR frequency from 150MHz to 800MHz. DDR could work among these frequency, 150MHz, 266MHz, 400MHz, 533MHz and 800M
hikey: update ddr initialization
Fix that DDR can't work at 533MHz. Now step to set DDR frequency from 150MHz to 800MHz. DDR could work among these frequency, 150MHz, 266MHz, 400MHz, 533MHz and 800MHz.
Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org>
show more ...
|
| b47f941d | 11-Apr-2018 |
Dimitris Papastamos <dimitris.papastamos@arm.com> |
Merge pull request #1342 from Summer-ARM/sq/support-tzmp1
support tzmp1 |
| be1a59cf | 10-Apr-2018 |
Dimitris Papastamos <dimitris.papastamos@arm.com> |
Merge pull request #1349 from amitdanielkachhap/juno_fix_bl2_sizes
Juno: Increase bl2 max size to fix build when SPD=opteed |
| 60a23fd8 | 02-Mar-2018 |
Summer Qin <summer.qin@arm.com> |
Juno: Add support for TrustZone Media Protection 1 (TZMP1)
Add TZMP1 support on Juno and increase the BL2 size accordingly due to the extra data structures to describe the TZC regions and the additi
Juno: Add support for TrustZone Media Protection 1 (TZMP1)
Add TZMP1 support on Juno and increase the BL2 size accordingly due to the extra data structures to describe the TZC regions and the additional code.
Signed-off-by: Summer Qin <summer.qin@arm.com>
show more ...
|
| 23411d2c | 12-Mar-2018 |
Summer Qin <summer.qin@arm.com> |
plat/arm: Allow override of default TZC regions
This patch allows the ARM Platforms to specify the TZC regions to be specified to the ARM TZC helpers in arm_tzc400.c and arm_tzc_dmc500.c. If the reg
plat/arm: Allow override of default TZC regions
This patch allows the ARM Platforms to specify the TZC regions to be specified to the ARM TZC helpers in arm_tzc400.c and arm_tzc_dmc500.c. If the regions are not specified then the default TZC region will be configured by these helpers.
This override mechanism allows specifying special regions for TZMP1 usecase.
Signed-off-by: Summer Qin <summer.qin@arm.com>
show more ...
|