| 8a53445e | 03-Apr-2020 |
Olivier Deprez <olivier.deprez@arm.com> |
Merge changes from topic "sb/fconf" into integration
* changes: Check for out-of-bound accesses in the platform io policies Check for out-of-bound accesses in the CoT description |
| 717448d6 | 13-Dec-2019 |
Sheetal Tigadoli <sheetal.tigadoli@broadcom.com> |
Add bl2 setup code common across Broadcom platforms
Signed-off-by: Sheetal Tigadoli <sheetal.tigadoli@broadcom.com> Change-Id: Iabeaee35c22608c93945c8295bf70947b0f6049a |
| cb2e35b5 | 02-Apr-2020 |
Mark Dykes <mardyk01@review.trustedfirmware.org> |
Merge changes from topic "macro-cleanup" into integration
* changes: plat: remove redundant =1 from -D option Pass more -D options to BL*_CPPFLAGS instead of BL*_CFLAGS |
| 57477bc7 | 02-Apr-2020 |
Olivier Deprez <olivier.deprez@arm.com> |
Merge "Fix coverity defects found on the FPGA port." into integration |
| afe62624 | 02-Apr-2020 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
Check for out-of-bound accesses in the platform io policies
The platform io policies array is now always accessed through a fconf getter. This gives us an ideal spot to check for out-of-bound access
Check for out-of-bound accesses in the platform io policies
The platform io policies array is now always accessed through a fconf getter. This gives us an ideal spot to check for out-of-bound accesses.
Remove the assertion in plat_get_image_source(), which is now redundant.
Change-Id: Iefe808d530229073b68cbd164d927b8b6662a217 Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
show more ...
|
| 535c824e | 02-Apr-2020 |
Javier Almansa Sobrino <javier.almansasobrino@arm.com> |
Fix coverity defects found on the FPGA port.
Signed-off-by: Javier Almansa Sobrino <javier.almansasobrino@arm.com> Change-Id: I397b642eff8a09b201f497f8d2ba39e2460c0dba |
| ea7fc9d1 | 02-Apr-2020 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
Merge changes from topic "xlat" into integration
* changes: xlat_tables_v2: fix assembler warning of PLAT_RO_XLAT_TABLES linker_script: move bss section to bl_common.ld.h linker_script: replac
Merge changes from topic "xlat" into integration
* changes: xlat_tables_v2: fix assembler warning of PLAT_RO_XLAT_TABLES linker_script: move bss section to bl_common.ld.h linker_script: replace common read-only data with RODATA_COMMON linker_script: move more common code to bl_common.ld.h
show more ...
|
| 46e2c853 | 02-Apr-2020 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
uniphier: define PLAT_XLAT_TABLES_DYNAMIC only for BL2
This is not used in BL31 or Bl32 for this platform.
Pass it to BL2_CPPFLAGS instead of defining it for all BL images.
This will produce sligh
uniphier: define PLAT_XLAT_TABLES_DYNAMIC only for BL2
This is not used in BL31 or Bl32 for this platform.
Pass it to BL2_CPPFLAGS instead of defining it for all BL images.
This will produce slightly smaller BL31 and Bl32.
Change-Id: I66ec5179f8dc5b112e65547335e7dd0a0f4074cd Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
show more ...
|
| 1dc17569 | 01-Apr-2020 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
plat: remove redundant =1 from -D option
As GCC manual says, -D option defines a macro as 1, if =<value> is omitted.
-D <name> Predefine <name> as a macro, with definition 1.
The same appl
plat: remove redundant =1 from -D option
As GCC manual says, -D option defines a macro as 1, if =<value> is omitted.
-D <name> Predefine <name> as a macro, with definition 1.
The same applied with Clang, too.
In the context of -D option, =1 is always redundant.
Change-Id: I487489a1ea3eb51e734741619c1e65dab1420bc4 Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
show more ...
|
| 9cefb4b1 | 01-Apr-2020 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
Pass more -D options to BL*_CPPFLAGS instead of BL*_CFLAGS
Commit d5e97a1d2c79 ("Build: define IMAGE_AT_EL1 or IMAGE_AT_EL3 globally for C files") does not have commit 848a7e8ce1d9 ("Build: introduc
Pass more -D options to BL*_CPPFLAGS instead of BL*_CFLAGS
Commit d5e97a1d2c79 ("Build: define IMAGE_AT_EL1 or IMAGE_AT_EL3 globally for C files") does not have commit 848a7e8ce1d9 ("Build: introduce per-BL CPPFLAGS and ASFLAGS") as an ancestor because they were pulled almost at the same time.
This is a follow-up conversion to be consistent with commit 11a3c5ee7325 ("plat: pass -D option to BL*_CPPFLAGS instead of BL*_CFLAGS").
With this change, the command line option, IMAGE_AT_EL3, will be passed to .S files as well.
I remove the definition in include/lib/cpus/aarch64/cpu_macros.S
Otherwise, the following error would happen.
include/lib/cpus/aarch64/cpu_macros.S:29:0: error: "IMAGE_AT_EL3" redefined [-Werror]
Change-Id: I943c8f22356483c2ae3c57b515c69243a8fa6889 Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
show more ...
|
| a7739bc7 | 26-Mar-2020 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
linker_script: move bss section to bl_common.ld.h
Move the bss section to the common header. This adds BAKERY_LOCK_NORMAL and PMF_TIMESTAMP, which previously existed only in BL31. This is not a big
linker_script: move bss section to bl_common.ld.h
Move the bss section to the common header. This adds BAKERY_LOCK_NORMAL and PMF_TIMESTAMP, which previously existed only in BL31. This is not a big deal because unused data should not be compiled in the first place. I believe this should be controlled by BL*_SOURCES in Makefiles, not by linker scripts.
I investigated BL1, BL2, BL2U, BL31 for plat=fvp, and BL2-AT-EL3, BL31, BL31 for plat=uniphier. I did not see any more unexpected code addition.
The bss section has bigger alignment. I added BSS_ALIGN for this.
Currently, SORT_BY_ALIGNMENT() is missing in sp_min.ld.S, and with this change, the BSS symbols in SP_MIN will be sorted by the alignment. This is not a big deal (or, even better in terms of the image size).
Change-Id: I680ee61f84067a559bac0757f9d03e73119beb33 Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
show more ...
|
| 0a0a7a9a | 26-Mar-2020 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
linker_script: replace common read-only data with RODATA_COMMON
The common section data are repeated in many linker scripts (often twice in each script to support SEPARATE_CODE_AND_RODATA). When you
linker_script: replace common read-only data with RODATA_COMMON
The common section data are repeated in many linker scripts (often twice in each script to support SEPARATE_CODE_AND_RODATA). When you add a new read-only data section, you end up with touching lots of places.
After this commit, you will only need to touch bl_common.ld.h when you add a new section to RODATA_COMMON.
Replace a series of RO section with RODATA_COMMON, which contains 6 sections, some of which did not exist before.
This is not a big deal because unneeded data should not be compiled in the first place. I believe this should be controlled by BL*_SOURCES in Makefiles, not by linker scripts.
When I was working on this commit, the BL1 image size increased due to the fconf_populator. Commit c452ba159c14 ("fconf: exclude fconf_dyn_cfg_getter.c from BL1_SOURCES") fixed this issue.
I investigated BL1, BL2, BL2U, BL31 for plat=fvp, and BL2-AT-EL3, BL31, BL31 for plat=uniphier. I did not see any more unexpected code addition.
Change-Id: I5d14d60dbe3c821765bce3ae538968ef266f1460 Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
show more ...
|
| 9fb288a0 | 26-Mar-2020 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
linker_script: move more common code to bl_common.ld.h
These are mostly used to collect data from special structure, and repeated in many linker scripts.
To differentiate the alignment size between
linker_script: move more common code to bl_common.ld.h
These are mostly used to collect data from special structure, and repeated in many linker scripts.
To differentiate the alignment size between aarch32/aarch64, I added a new macro STRUCT_ALIGN.
While I moved the PMF_SVC_DESCS, I dropped #if ENABLE_PMF conditional. As you can see in include/lib/pmf/pmf_helpers.h, PMF_REGISTER_SERVICE* are no-op when ENABLE_PMF=0. So, pmf_svc_descs and pmf_timestamp_array data are not populated.
Change-Id: I3f4ab7fa18f76339f1789103407ba76bda7e56d0 Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
show more ...
|
| adb20a17 | 01-Apr-2020 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: enable EHF for watchdog timer interrupts
This patch enables the Exception Handling Framework to service the WDT interrupts on all Tegra platforms.
Verified that the watchdog timer interrupt
Tegra: enable EHF for watchdog timer interrupts
This patch enables the Exception Handling Framework to service the WDT interrupts on all Tegra platforms.
Verified that the watchdog timer interrupt fires after migrating to the EHF.
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com> Change-Id: I6b2e33da7841aa064e3a8f825c26fadf168cd0d5
show more ...
|
| 7c49d398 | 01-Apr-2020 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes from topic "rpi_cpu_off" into integration
* changes: rpi: Implement PSCI CPU_OFF rpi: rpi3_pwr_domain_on(): Use MMIO accessor rpi: move plat_helpers.S to common |
| 2e5f8443 | 12-Mar-2020 |
Andrei Warkentin <andrey.warkentin@gmail.com> |
rpi: Implement PSCI CPU_OFF
We simulate the PSCI CPU_OFF operation by reseting the core via RMR. For secondaries, that already puts them in the holding pen waiting for a "warm boot" request as part
rpi: Implement PSCI CPU_OFF
We simulate the PSCI CPU_OFF operation by reseting the core via RMR. For secondaries, that already puts them in the holding pen waiting for a "warm boot" request as part of PSCI CPU_ON. For the BSP, we have to add logic to distinguish a regular boot from a CPU_OFF state, where, like the secondaries, the BSP needs to wait foor a "warm boot" request as part of CPU_ON.
Testing done:
- ACS suite now passes more tests (since it repeatedly calls code on secondaries via CPU_ON).
- Linux testing including offlining/onlineing CPU0, e.g. "echo 0 > /sys/devices/system/cpu/cpu0/online".
Change-Id: Id0ae11a0ee0721b20fa2578b54dadc72dcbd69e0 Link: https://developer.trustedfirmware.org/T686 Signed-off-by: Andrei Warkentin <andrey.warkentin@gmail.com> [Andre: adapt to unified plat_helpers.S, smaller fixes] Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| af2a4877 | 21-Mar-2020 |
Andre Przywara <andre.przywara@arm.com> |
rpi: rpi3_pwr_domain_on(): Use MMIO accessor
When writing to arbitrary locations in memory using a constructed pointer, there is no guarantee that the compiler does not optimise away the access, sin
rpi: rpi3_pwr_domain_on(): Use MMIO accessor
When writing to arbitrary locations in memory using a constructed pointer, there is no guarantee that the compiler does not optimise away the access, since it cannot detect any dependency.
One typical solution is to use the "volatile" keyword, but using MMIO accessors in usually the better answer, to avoid torn writes.
Replace the usage of an array with such an MMIO accessor function in rpi3_pwr_domain_on(), to make sure the write is really happening.
Change-Id: Ia18163c95e92f1557471089fd18abc6dc7fee0c7 Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| 07aa0c7e | 12-Mar-2020 |
Andre Przywara <andre.przywara@arm.com> |
rpi: move plat_helpers.S to common
The plat_helpers.S file was almost identical between its RPi3 and RPi4 versions. Unify the two files, moving it into the common/ directory.
This adds a plat_rpi_g
rpi: move plat_helpers.S to common
The plat_helpers.S file was almost identical between its RPi3 and RPi4 versions. Unify the two files, moving it into the common/ directory.
This adds a plat_rpi_get_model() function, which can be used to trigger RPi4 specific action, detected at runtime. We use that to do the RPi4 specific L2 cache initialisation.
Change-Id: I2295704fd6dde7c76fe83b6d98c7bf998d4bf074 Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| 664e15c2 | 26-Mar-2020 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
uniphier: support read-only xlat tables
BL2 for this platform uses mmap_add_dynamic_region(), but BL31 and BL32 (TSP) only use static mapping. So, BL31 and BL32 can make the tables read-only after e
uniphier: support read-only xlat tables
BL2 for this platform uses mmap_add_dynamic_region(), but BL31 and BL32 (TSP) only use static mapping. So, BL31 and BL32 can make the tables read-only after enabling MMU.
Enable ALLOW_RO_XLAT_TABLES by default.
Change-Id: Ib59c44697163629119888bb6abd47fa144f09ba3 Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
show more ...
|
| 2765ffdc | 26-Mar-2020 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
uniphier: use enable_mmu() in common function
Currently, enable_mmu_el1() or enable_mmu_el3() is kept outside the common function because the appropriate one must be chosen.
Use enable_mmu() and mo
uniphier: use enable_mmu() in common function
Currently, enable_mmu_el1() or enable_mmu_el3() is kept outside the common function because the appropriate one must be chosen.
Use enable_mmu() and move it to the common function.
Change-Id: If2fb651691a7b6be05674f5cf730ae067ba95d4b Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
show more ...
|
| 0edfd377 | 31-Mar-2020 |
Mark Dykes <mardyk01@review.trustedfirmware.org> |
Merge "plat: imx: imx8qx: provide debug uart num as build param" into integration |
| 4ed750a4 | 31-Mar-2020 |
Mark Dykes <mardyk01@review.trustedfirmware.org> |
Merge "plat: pass -D option to BL*_CPPFLAGS instead of BL*_CFLAGS" into integration |
| 8eceb1c9 | 31-Mar-2020 |
Olivier Deprez <olivier.deprez@arm.com> |
Merge "Create separate header for ARM specific SMCCC defines" into integration |
| 27c5e15e | 31-Mar-2020 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "TF-A GICv3 driver: Introduce makefile" into integration |
| 93b2434f | 31-Mar-2020 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
Merge "Tegra: fixup GIC init from the 'on_finish' handler" into integration |