| 3d8256b2 | 25-Dec-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
Use #ifdef for IMAGE_BL* instead of #if
One nasty part of ATF is some of boolean macros are always defined as 1 or 0, and the rest of them are only defined under certain conditions.
For the former
Use #ifdef for IMAGE_BL* instead of #if
One nasty part of ATF is some of boolean macros are always defined as 1 or 0, and the rest of them are only defined under certain conditions.
For the former group, "#if FOO" or "#if !FOO" must be used because "#ifdef FOO" is always true. (Options passed by $(call add_define,) are the cases.)
For the latter, "#ifdef FOO" or "#ifndef FOO" should be used because checking the value of an undefined macro is strange.
Here, IMAGE_BL* is handled by make_helpers/build_macro.mk like follows:
$(eval IMAGE := IMAGE_BL$(call uppercase,$(3)))
$(OBJ): $(2) @echo " CC $$<" $$(Q)$$(CC) $$(TF_CFLAGS) $$(CFLAGS) -D$(IMAGE) -c $$< -o $$@
This means, IMAGE_BL* is defined when building the corresponding image, but *undefined* for the other images.
So, IMAGE_BL* belongs to the latter group where we should use #ifdef or #ifndef.
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
show more ...
|
| 5dbdb7da | 18-Mar-2016 |
Haojian Zhuang <haojian.zhuang@linaro.org> |
drivers: add designware emmc driver
Support Designware eMMC driver. It's based on both IO block and eMMC driver.
Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org> |
| 23beccc9 | 23-Jan-2017 |
danh-arm <dan.handley@arm.com> |
Merge pull request #812 from antonio-nino-diaz-arm/an/clear-static-vars
Clear static variables in X509 parser on error |
| 51c5e1a2 | 13-Jan-2017 |
Antonio Nino Diaz <antonio.ninodiaz@arm.com> |
Clear static variables in X509 parser on error
In mbedtls_x509_parser.c there are some static arrays that are filled during the integrity check and then read whenever an authentication parameter is
Clear static variables in X509 parser on error
In mbedtls_x509_parser.c there are some static arrays that are filled during the integrity check and then read whenever an authentication parameter is requested. However, they aren't cleared in case of an integrity check failure, which can be problematic from a security point of view. This patch clears these arrays in the case of failure.
Change-Id: I9d48f5bc71fa13e5a75d6c45b5e34796ef13aaa2 Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
show more ...
|
| fc17f612 | 18-Jan-2017 |
danh-arm <dan.handley@arm.com> |
Merge pull request #790 from masahir0y/utils
add utility macros to utils.h |
| 44f1c0bd | 13-Jan-2017 |
davidcunado-arm <david.cunado@arm.com> |
Merge pull request #807 from nmenon/upstream/fix-16650-rx
uart: 16550: Fix getc |
| 152c8c11 | 05-Dec-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
utils: move BIT(n) macro to utils.h
We are duplicating this macro define, and it is useful enough to be placed in the common place.
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
| 861ac52a | 10-Jan-2017 |
Nishanth Menon <nm@ti.com> |
uart: 16550: Fix getc
tbz check for RDR status is to check for a bit being zero. Unfortunately, we are using a mask rather than the bit position.
Further as per http://www.ti.com/lit/ds/symlink/pc1
uart: 16550: Fix getc
tbz check for RDR status is to check for a bit being zero. Unfortunately, we are using a mask rather than the bit position.
Further as per http://www.ti.com/lit/ds/symlink/pc16550d.pdf (page 17), LSR register bit 0 is Data ready status (RDR), not bit position 2.
Update the same to match the specification.
Reported-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Nishanth Menon <nm@ti.com>
show more ...
|
| a56f87c8 | 06-Jan-2017 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
TBB: fix comment about MBEDTLS_KEY_ALG default
This comment block says the default algorithm is ESDSA, while the code obviously sets the default to RSA:
ifeq (${MBEDTLS_KEY_ALG},) MBEDTLS_K
TBB: fix comment about MBEDTLS_KEY_ALG default
This comment block says the default algorithm is ESDSA, while the code obviously sets the default to RSA:
ifeq (${MBEDTLS_KEY_ALG},) MBEDTLS_KEY_ALG := rsa endif
The git log of commit 7d37aa171158 ("TBB: add mbedTLS authentication related libraries") states available options are:
* 'rsa' (for RSA-2048) (default option) * 'ecdsa' (for ECDSA-SECP256R1)
So, my best guess is the comment block is wrong.
The mismatch between the code and the comment is confusing. Fix it.
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
show more ...
|
| 9acdafbc | 20-Dec-2016 |
danh-arm <dan.handley@arm.com> |
Merge pull request #793 from jeenu-arm/gic-changes
GIC driver changes for extended power management |
| d35dee23 | 12-Dec-2016 |
dp-arm <dimitris.papastamos@arm.com> |
tbbr: Fix updating of Non-Trusted NV counter
The previous code required that a certificate be signed with the ROT key before the platform's NV counter could be updated with the value in the certific
tbbr: Fix updating of Non-Trusted NV counter
The previous code required that a certificate be signed with the ROT key before the platform's NV counter could be updated with the value in the certificate. This implies that the Non-Trusted NV counter was not being updated for Non-Trusted content certificates, as they cannot be signed with the ROT key in the TBBR CoT scheme.
The code is reworked to only allow updating the platform's Trusted NV counter when a certificate protected by the Trusted NV counter is signed with the ROT key.
Content certificates protected by the Non-Trusted NV counter are allowed to update the platform's Non-Trusted NV counter, assuming that the certificate value is higher than the platform's value.
A new optional platform API has been introduced, named plat_set_nv_ctr2(). Platforms may choose to implement it and perform additional checks based on the authentication image descriptor before modifying the NV counters. A default weak implementation is available that just calls into plat_set_nv_ctr().
Fixes ARM-software/tf-issues#426
Change-Id: I4fc978fd28a3007bc0cef972ff1f69ad0413b79c Signed-off-by: dp-arm <dimitris.papastamos@arm.com>
show more ...
|
| d780699b | 09-Dec-2016 |
Jeenu Viswambharan <jeenu.viswambharan@arm.com> |
GICv3: Introduce power management APIs for Redistributor
Some GICv3 implementations have provision for power management operations at Redistributor level. This patch introduces and provides place-ho
GICv3: Introduce power management APIs for Redistributor
Some GICv3 implementations have provision for power management operations at Redistributor level. This patch introduces and provides place-holders for Redistributor power management. The default implementations are empty stubs, but are weakly bound so as to enable implementation-specific drivers to override them.
Change-Id: I4fec1358693d3603ca5dce242a2f7f0e730516d8 Signed-off-by: Jeenu Viswambharan <jeenu.viswambharan@arm.com>
show more ...
|
| 69d59e0c | 09-Nov-2016 |
Yatharth Kochar <yatharth.kochar@arm.com> |
AArch32: Miscellaneous fixes in the AArch32 code
This patch makes following miscellaneous fixes: * pl011_console.S: Fixed the bit mask used to check if the transmit FIFO is full or empty. * smcc_m
AArch32: Miscellaneous fixes in the AArch32 code
This patch makes following miscellaneous fixes: * pl011_console.S: Fixed the bit mask used to check if the transmit FIFO is full or empty. * smcc_macros.S: Added `_fsxc` suffix while updating the SPSR. By default the assembler assumes `_fc` suffix which does not update all the fields in SPSR. By adding `_fsxc` suffix all the fields gets updated. * platform_helpers.S: Removed the weak definition for `plat_my_core_pos()` as this is a mandatory function which needs to be defined by all platforms.
Change-Id: I8302292533c943686fff8d7c749a07132c052a3b Signed-off-by: Yatharth Kochar <yatharth.kochar@arm.com>
show more ...
|
| 97fa6f57 | 18-Oct-2016 |
danh-arm <dan.handley@arm.com> |
Merge pull request #677 from hzhuang1/gpt
partition: check GPT partition table |
| 201b66b7 | 28-Jul-2016 |
Haojian Zhuang <haojian.zhuang@linaro.org> |
partition: check GPT partition table
Now only support GPT partition table. MBR partition table isn't supported yet.
Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org> |
| 6083c841 | 06-Sep-2016 |
Yatharth Kochar <yatharth.kochar@arm.com> |
GICv3: Allow either G1S or G0 interrupts to be configured
Currently the GICv3 driver mandates that platform populate both G1S and G0 interrupts. However, it is possible that a given platform is not
GICv3: Allow either G1S or G0 interrupts to be configured
Currently the GICv3 driver mandates that platform populate both G1S and G0 interrupts. However, it is possible that a given platform is not interested in both the groups and just needs to specify either one of them.
This patch modifies the `gicv3_rdistif_init()` & `gicv3_distif_init()` functions to allow either G1S or G0 interrupts to be configured.
Fixes ARM-software/tf-issues#400
Change-Id: I43572b0e08ae30bed5af9334f25d35bf439b0d2b
show more ...
|
| 937108a0 | 18-Aug-2016 |
danh-arm <dan.handley@arm.com> |
Merge pull request #678 from soby-mathew/sm/PSCI_AArch32
Introduce AArch32 support for PSCI library |
| 6700ae65 | 17-Aug-2016 |
danh-arm <dan.handley@arm.com> |
Merge pull request #682 from sudeep-holla/gicv3_ns_intr
gicv3: disable Group1 NonSecure interrupts during core powerdown |
| d3ca949f | 17-Aug-2016 |
danh-arm <dan.handley@arm.com> |
Merge pull request #680 from hzhuang1/emmc_cmd23_v2
emmc: support CMD23 |
| 445b1e70 | 02-Aug-2016 |
Haojian Zhuang <haojian.zhuang@linaro.org> |
emmc: support CMD23
Support CMD23. When CMD23 is used, CMD12 could be avoided.
Two scenarios: 1. CMD17 for single block, CMD18 + CMD12 for multiple blocks. 2. CMD23 + CMD18 for both single block an
emmc: support CMD23
Support CMD23. When CMD23 is used, CMD12 could be avoided.
Two scenarios: 1. CMD17 for single block, CMD18 + CMD12 for multiple blocks. 2. CMD23 + CMD18 for both single block and multiple blocks.
The emmc_init() should initialize whether CMD23 is supported or not.
Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org>
show more ...
|
| 65d68ca6 | 04-Aug-2016 |
Sudeep Holla <sudeep.holla@arm.com> |
gicv3: disable Group1 NonSecure interrupts during core powerdown
As per the GICv3 specification, to power down a processor using GICv3 and allow automatic power-on if an interrupt must be sent to a
gicv3: disable Group1 NonSecure interrupts during core powerdown
As per the GICv3 specification, to power down a processor using GICv3 and allow automatic power-on if an interrupt must be sent to a processor, software must set Enable to zero for all interrupt groups(by writing to GICC_CTLR or ICC_IGRPEN{0,1}_EL1/3 as appropriate.
Also, NonSecure EL1 software may not be aware of the CPU power state details and fail to choose right states that require quiescing the CPU interface. So it's preferred that the PSCI implementation handles it as it is fully aware of the CPU power states.
This patch adds disabling of Group1 NonSecure interrupts during processor power down along with Group0 and Group1 Secure interrupts so that all the interrupt groups are handled at once as per specification.
Change-Id: Ib564d773c9c4c41f2ca9471451c030e3de75e641
show more ...
|
| 66be868e | 24-Mar-2016 |
Soby Mathew <soby.mathew@arm.com> |
AArch32: Add console driver
This patch adds console drivers including the pl011 driver for the AArch32 mode.
Change-Id: Ifd22520d370fca3e73dbbf6f2d97d6aee65b67dd |
| 367d0ffb | 05-May-2016 |
Soby Mathew <soby.mathew@arm.com> |
AArch32: Enable GIC and TZC support
This patch modifies GICv3 and TZC drivers to add AArch32 support. No modifications are required for the GICv2 driver for AArch32 support. The TZC driver assumes t
AArch32: Enable GIC and TZC support
This patch modifies GICv3 and TZC drivers to add AArch32 support. No modifications are required for the GICv2 driver for AArch32 support. The TZC driver assumes that the secure world is running in Little-Endian mode to do 64 bit manipulations. Assertions are present to validate the assumption.
Note: The legacy GICv3 driver is not supported for AArch32.
Change-Id: Id1bc75a9f5dafb9715c9500ca77b4606eb1e2458
show more ...
|
| 9c94d3b3 | 08-Aug-2016 |
Soby Mathew <soby.mathew@arm.com> |
Move console drivers to AArch64 folder
This patch moves the various assembly console drivers into `aarch64` architecture specific folder. Stub files, which include files from new location, are retai
Move console drivers to AArch64 folder
This patch moves the various assembly console drivers into `aarch64` architecture specific folder. Stub files, which include files from new location, are retained at the original location for platform compatibility reasons.
Change-Id: I0069b6c1c0489ca47f5204d4e26e3bc3def533a8
show more ...
|
| 9d063aa2 | 28-Jul-2016 |
Haojian Zhuang <haojian.zhuang@linaro.org> |
io: block: fix unaligned buffer
If buffer address parameter isn't aligned, it may cause DMA issue in block device driver, as eMMC. Now check the buffer address. If it's not aligned, use temporary bu
io: block: fix unaligned buffer
If buffer address parameter isn't aligned, it may cause DMA issue in block device driver, as eMMC. Now check the buffer address. If it's not aligned, use temporary buffer in io block driver instead.
Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org>
show more ...
|