| 6bc24382 | 26-Feb-2020 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
aarch32: stop speculative execution past exception returns
aarch32 CPUs speculatively execute instructions following a ERET as if it was not a jump instruction. This could lead to cache-based side c
aarch32: stop speculative execution past exception returns
aarch32 CPUs speculatively execute instructions following a ERET as if it was not a jump instruction. This could lead to cache-based side channel vulnerabilities. The software fix is to place barrier instructions following ERET.
The counterpart patch for aarch64 is merged: https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/commit/?id=f461fe346b728d0e88142fd7b8f2816415af18bc
Change-Id: I2aa3105bee0b92238f389830b3a3b8650f33af3d Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
show more ...
|
| 24038137 | 28-Feb-2020 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes I75f6d135,I4add470e,I0ecd3a2b,I67a63d73 into integration
* changes: board/rddaniel: intialize tzc400 controllers plat/arm/tzc: add support to configure multiple tzc400 plat/arm:
Merge changes I75f6d135,I4add470e,I0ecd3a2b,I67a63d73 into integration
* changes: board/rddaniel: intialize tzc400 controllers plat/arm/tzc: add support to configure multiple tzc400 plat/arm: allow boards to specify second DRAM Base address plat/arm: allow boards to define PLAT_ARM_TZC_FILTERS
show more ...
|
| 562abecf | 28-Feb-2020 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
Merge "fconf: Fix misra issues" into integration |
| 845db722 | 24-Feb-2020 |
Louis Mayencourt <louis.mayencourt@arm.com> |
fconf: Fix misra issues
MISRA C-2012 Rule 20.7: Macro parameter expands into an expression without being wrapped by parentheses.
MISRA C-2012 Rule 12.1: Missing explicit parentheses on sub-expressi
fconf: Fix misra issues
MISRA C-2012 Rule 20.7: Macro parameter expands into an expression without being wrapped by parentheses.
MISRA C-2012 Rule 12.1: Missing explicit parentheses on sub-expression.
MISRA C-2012 Rule 18.4: Essential type of the left hand operand is not the same as that of the right operand.
Include does not provide any needed symbols.
Change-Id: Ie1c6451cfbc8f519146c28b2cf15c50b1f36adc8 Signed-off-by: Louis Mayencourt <louis.mayencourt@arm.com>
show more ...
|
| 896d684d | 25-Feb-2020 |
Mark Dykes <mardyk01@review.trustedfirmware.org> |
Merge changes from topic "console_t_cleanup" into integration
* changes: marvell: Consolidate console register calls uniphier: Use generic console_t data structure spe: Use generic console_t d
Merge changes from topic "console_t_cleanup" into integration
* changes: marvell: Consolidate console register calls uniphier: Use generic console_t data structure spe: Use generic console_t data structure LS 16550: Use generic console_t data structure stm32: Use generic console_t data structure rcar: Use generic console_t data structure a3700: Use generic console_t data structure 16550: Use generic console_t data structure imx: Use generic console_t data structure
show more ...
|
| c723ef01 | 25-Feb-2020 |
Mark Dykes <mardyk01@review.trustedfirmware.org> |
Merge changes from topic "console_t_cleanup" into integration
* changes: coreboot: Use generic base address skeletton: Use generic console_t data structure cdns: Use generic console_t data str
Merge changes from topic "console_t_cleanup" into integration
* changes: coreboot: Use generic base address skeletton: Use generic console_t data structure cdns: Use generic console_t data structure
show more ...
|
| 093dce70 | 25-Feb-2020 |
Mark Dykes <mardyk01@review.trustedfirmware.org> |
Merge "pl011: Use generic console_t data structure" into integration |
| ad8922fc | 25-Feb-2020 |
Mark Dykes <mardyk01@review.trustedfirmware.org> |
Merge "meson: Use generic console_t data structure" into integration |
| b857b833 | 25-Feb-2020 |
Mark Dykes <mardyk01@review.trustedfirmware.org> |
Merge "console: Integrate UART base address in generic console_t" into integration |
| e21a788e | 25-Jan-2020 |
Andre Przywara <andre.przywara@arm.com> |
coreboot: Use generic base address
Since now the generic console_t structure holds the UART base address as well, let's use that generic location for the coreboot memory console. This removes the ba
coreboot: Use generic base address
Since now the generic console_t structure holds the UART base address as well, let's use that generic location for the coreboot memory console. This removes the base member from the coreboot specific data structure, but keeps the struct console_cbmc_t and its size member.
Change-Id: I7f1dffd41392ba3fe5c07090aea761a42313fb5b Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| f695e1e0 | 25-Jan-2020 |
Andre Przywara <andre.przywara@arm.com> |
pl011: Use generic console_t data structure
Since now the generic console_t structure holds the UART base address as well, let's use that generic location and drop the UART driver specific data stru
pl011: Use generic console_t data structure
Since now the generic console_t structure holds the UART base address as well, let's use that generic location and drop the UART driver specific data structure at all.
Change-Id: I7a23327394d142af4b293ea7ccd90b843c54587c Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| 489e2987 | 25-Jan-2020 |
Andre Przywara <andre.przywara@arm.com> |
meson: Use generic console_t data structure
Since now the generic console_t structure holds the UART base address as well, let's use that generic location and drop the UART driver specific data stru
meson: Use generic console_t data structure
Since now the generic console_t structure holds the UART base address as well, let's use that generic location and drop the UART driver specific data structure at all.
Change-Id: I07a07677153d3671ced776671e4f107824d3df16 Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| ac71344e | 25-Jan-2020 |
Andre Przywara <andre.przywara@arm.com> |
console: Integrate UART base address in generic console_t
*All* UART drivers in TF-A are storing their base address as a uintptr_t pointer in the first location of the UART specific driver data. Sin
console: Integrate UART base address in generic console_t
*All* UART drivers in TF-A are storing their base address as a uintptr_t pointer in the first location of the UART specific driver data. Since the base address is a pretty natural and generic data item, we should integrate this into the generic console_t structure.
That will not only allow to remove a lot of seemingly UART specific data structures, but also enables to simplify runtime choices between different UARTs, since they can share the same pointer.
This patch just adds the new member, the existing data structures will be handled on a per-UART base in follow-up patches.
Change-Id: I59ce49471ccc8f3b870f2cfd8a72ebfd0cb14d12 Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| 78b40dce | 25-Jan-2020 |
Andre Przywara <andre.przywara@arm.com> |
cdns: Use generic console_t data structure
Since now the generic console_t structure holds the UART base address as well, let's use that generic location and drop the UART driver specific data struc
cdns: Use generic console_t data structure
Since now the generic console_t structure holds the UART base address as well, let's use that generic location and drop the UART driver specific data structure at all.
Change-Id: I9f8b55414ab7965e431e3e86d182eabd511f32a4 Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| c10db6de | 25-Jan-2020 |
Andre Przywara <andre.przywara@arm.com> |
stm32: Use generic console_t data structure
Since now the generic console_t structure holds the UART base address as well, let's use that generic location and drop the UART driver specific data stru
stm32: Use generic console_t data structure
Since now the generic console_t structure holds the UART base address as well, let's use that generic location and drop the UART driver specific data structure at all.
Change-Id: Iea6ca26ff4903c33f0fad27fec96fdbabd4e0a91 Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| c01ee06b | 25-Jan-2020 |
Andre Przywara <andre.przywara@arm.com> |
rcar: Use generic console_t data structure
Since now the generic console_t structure holds the UART base address as well, let's use that generic location and drop the UART driver specific data struc
rcar: Use generic console_t data structure
Since now the generic console_t structure holds the UART base address as well, let's use that generic location and drop the UART driver specific data structure at all.
Change-Id: I836e26ff1771abf21fd460d0ee40e90a452e9b43 Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| 3968bc08 | 25-Jan-2020 |
Andre Przywara <andre.przywara@arm.com> |
a3700: Use generic console_t data structure
Since now the generic console_t structure holds the UART base address as well, let's use that generic location and drop the UART driver specific data stru
a3700: Use generic console_t data structure
Since now the generic console_t structure holds the UART base address as well, let's use that generic location and drop the UART driver specific data structure at all.
Change-Id: I89c3ab2ed85ab941d8b38ced48474feb4aaa8b7e Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| 98964f05 | 25-Jan-2020 |
Andre Przywara <andre.przywara@arm.com> |
16550: Use generic console_t data structure
Since now the generic console_t structure holds the UART base address as well, let's use that generic location and drop the UART driver specific data stru
16550: Use generic console_t data structure
Since now the generic console_t structure holds the UART base address as well, let's use that generic location and drop the UART driver specific data structure at all.
Change-Id: I5c2fe3b6a667acf80c808cfec4a64059a2c9c25f Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| 60e8f3cf | 07-Nov-2019 |
Petre-Ionut Tudor <petre-ionut.tudor@arm.com> |
Read-only xlat tables for BL31 memory
This patch introduces a build flag which allows the xlat tables to be mapped in a read-only region within BL31 memory. It makes it much harder for someone who h
Read-only xlat tables for BL31 memory
This patch introduces a build flag which allows the xlat tables to be mapped in a read-only region within BL31 memory. It makes it much harder for someone who has acquired the ability to write to arbitrary secure memory addresses to gain control of the translation tables.
The memory attributes of the descriptors describing the tables themselves are changed to read-only secure data. This change happens at the end of BL31 runtime setup. Until this point, the tables have read-write permissions. This gives a window of opportunity for changes to be made to the tables with the MMU on (e.g. reclaiming init code). No changes can be made to the tables with the MMU turned on from this point onwards. This change is also enabled for sp_min and tspd.
To make all this possible, the base table was moved to .rodata. The penalty we pay is that now .rodata must be aligned to the size of the base table (512B alignment). Still, this is better than putting the base table with the higher level tables in the xlat_table section, as that would cost us a full 4KB page.
Changing the tables from read-write to read-only cannot be done with the MMU on, as the break-before-make sequence would invalidate the descriptor which resolves the level 3 page table where that very descriptor is located. This would make the translation required for writing the changes impossible, generating an MMU fault.
The caches are also flushed.
Signed-off-by: Petre-Ionut Tudor <petre-ionut.tudor@arm.com> Change-Id: Ibe5de307e6dc94c67d6186139ac3973516430466
show more ...
|
| 88005701 | 06-Feb-2020 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
plat/arm: Pass cookie argument down to arm_get_rotpk_info()
The cookie will be leveraged in the next commit.
Change-Id: Ie8bad275d856d84c27466461cf815529dd860446 Signed-off-by: Sandrine Bailleux <s
plat/arm: Pass cookie argument down to arm_get_rotpk_info()
The cookie will be leveraged in the next commit.
Change-Id: Ie8bad275d856d84c27466461cf815529dd860446 Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
show more ...
|
| 5ab8b717 | 06-Feb-2020 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
Introduce a new "dualroot" chain of trust
This new chain of trust defines 2 independent signing domains:
1) One for the silicon firmware (BL1, BL2, BL31) and optionally the Trusted OS. It is roo
Introduce a new "dualroot" chain of trust
This new chain of trust defines 2 independent signing domains:
1) One for the silicon firmware (BL1, BL2, BL31) and optionally the Trusted OS. It is rooted in the Silicon ROTPK, just as in the TBBR CoT.
2) One for the Normal World Bootloader (BL33). It is rooted in a new key called Platform ROTPK, or PROTPK for short.
In terms of certificates chain,
- Signing domain 1) is similar to what TBBR advocates (see page 21 of the TBBR specification), except that the Non-Trusted World Public Key has been removed from the Trusted Key Certificate.
- Signing domain 2) only contains the Non-Trusted World Content certificate, which provides the hash of the Non-Trusted World Bootloader. Compared to the TBBR CoT, there's no Non-Trusted World Key certificate for simplicity.
Change-Id: I62f1e952522d84470acc360cf5ee63e4c4b0b4d9 Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
show more ...
|
| 2f39c55c | 21-Feb-2020 |
joanna.farley <joanna.farley@arm.com> |
Merge "Add Matterhorn CPU lib" into integration |
| e5712113 | 21-Feb-2020 |
joanna.farley <joanna.farley@arm.com> |
Merge "Add CPULib for Klein Core" into integration |
| b3c287f4 | 21-Feb-2020 |
Mark Dykes <mardyk01@review.trustedfirmware.org> |
Merge "Use consistent SMCCC error code" into integration |
| 30f31005 | 28-Jan-2020 |
Yann Gautier <yann.gautier@st.com> |
el3_entrypoint_common: avoid overwriting arg3
At each BL entry point, the registers r9 to r12 are used to save info from the previous BL parameters put in r0 to r3. But zeromem uses r12, leading to
el3_entrypoint_common: avoid overwriting arg3
At each BL entry point, the registers r9 to r12 are used to save info from the previous BL parameters put in r0 to r3. But zeromem uses r12, leading to a corruption of arg3. Therefore this change copies r12 to r7 before zeromem() call and restores r12 afterwards. It may be better to save it in r7 in el3_arch_init_common and not at the entrypoint as r7 could be used in other functions, especially platform ones. This is a fix for Task T661.
Change-Id: Icc11990c69b5d4c542d08aca1a77b1f754b61a53 Signed-off-by: Yann Gautier <yann.gautier@st.com>
show more ...
|