| e742bcda | 11-Aug-2021 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
feat(measured_boot): update tb_fw_config with event log properties
Making tb_fw_config ready to pass the Event Log base address and size information to BL2.
Change-Id: I5dd0e79007e3848b5d6d0e69275a
feat(measured_boot): update tb_fw_config with event log properties
Making tb_fw_config ready to pass the Event Log base address and size information to BL2.
Change-Id: I5dd0e79007e3848b5d6d0e69275a46c2e9807a98 Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
show more ...
|
| 48ba0345 | 14-Sep-2021 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
feat(measured_boot): image hash measurement and recording in BL1
It looks safer and cleaner approach to record the measurement taken by BL1 straightaway in TCG Event Log instead of deferring these r
feat(measured_boot): image hash measurement and recording in BL1
It looks safer and cleaner approach to record the measurement taken by BL1 straightaway in TCG Event Log instead of deferring these recordings to BL2. Hence pull in the full-fledged measured boot driver into BL1 that replaces the former ad-hoc platform interfaces i.e. bl1_plat_set_bl2_hash, bl2_plat_get_hash.
As a result of this change the BL1 of Arm FVP platform now do the measurements and recordings of below images: 1. FW_CONFIG 2. TB_FW_CONFIG 3. BL2
Change-Id: I798c20336308b5e91b547da4f8ed57c24d490731 Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
show more ...
|
| efa65218 | 14-Sep-2021 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
refactor(measured boot): remove platform calls from Event Log driver
Currently, the Event Log driver does platform layer work by invoking a few platform functions in the 'event_log_finalise' call. D
refactor(measured boot): remove platform calls from Event Log driver
Currently, the Event Log driver does platform layer work by invoking a few platform functions in the 'event_log_finalise' call. Doing platform work does not seem to be the driver's responsibility, hence moved 'event_log_finalise' function's implementation to the platform layer.
Alongside, introduced few Event Log driver functions and done some cosmetic changes.
Change-Id: I486160e17e5b0677c734fd202af7ccd85476a551 Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
show more ...
|
| eab78e9b | 10-Aug-2021 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
refactor(measured_boot): remove passing of BL2 hash via device tree
Subsequent patches will provide a solution to do the BL2 hash measurement and recording in BL1 itself, hence in preparation to ado
refactor(measured_boot): remove passing of BL2 hash via device tree
Subsequent patches will provide a solution to do the BL2 hash measurement and recording in BL1 itself, hence in preparation to adopt that solution remove the logic of passing BL2 hash measurement to BL2 component via TB_FW config.
Change-Id: Iff9b3d4c6a236a33b942898fcdf799cbab89b724 Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
show more ...
|
| 8cd09cfc | 17-Jun-2021 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
refactor(measured boot): move BL2 measurement to platform layer
Right now, event_log_init() does 2 things: 1) It writes all the necessary TCG data structures in the event log buffer. 2) It writes th
refactor(measured boot): move BL2 measurement to platform layer
Right now, event_log_init() does 2 things: 1) It writes all the necessary TCG data structures in the event log buffer. 2) It writes the first measurement (BL2's).
Step 2) introduces in the TCG event log driver an assumption on what is getting measured and in what order. Ideally, the driver should only be concerned about generic operations, such as initializing the event log or recording a measurement in it. As much as possible, we should design the driver such that it could be reused in another project that has a different measure boot flow.
For these reasons, move step 2) up to the caller, plat_mboot_init() in this case. Make event_log_record() a public function for this purpose.
This refactoring will also help when we make BL1 record BL2's measurement into the event log (instead of BL2). Both BL1 and BL2 will need to call the driver's init function but only BL1 will need recording BL2's measurement. We can handle this through different implementations of plat_mboot_init() for BL1 and BL2, leaving the TCG event log driver unchanged.
Change-Id: I358e097c1eedb54f82b866548dfc6bcade83d519 Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
show more ...
|
| 9b0b3444 | 17-Jun-2021 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
refactor(measured boot): rename add_event2()
To a layman in TCG linguo, add_event2() is not straight forward to understand. Rename the function into event_log_record().
Change-Id: I75d53a656425cd78
refactor(measured boot): rename add_event2()
To a layman in TCG linguo, add_event2() is not straight forward to understand. Rename the function into event_log_record().
Change-Id: I75d53a656425cd78a41ebf2c4c4e4e57687adc0d Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
show more ...
|
| 140d9cb3 | 20-Sep-2021 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
refactor(measured boot): move image measurement to generic layer
Right now, the assumption is that the platform post-load hook takes care of measuring the image that just got loaded. This is how it'
refactor(measured boot): move image measurement to generic layer
Right now, the assumption is that the platform post-load hook takes care of measuring the image that just got loaded. This is how it's implemented on FVP.
This patch moves the measurement into the generic code instead. load_auth_image() now calls plat_mboot_measure_image(), which is a new platform interface introduced in this patch to measure an image. This is called just after authenticating the image.
Implement plat_mboot_measure_image() for the Arm FVP platform. The code is copied straight from the post-load hook.
As a result, the FVP specific implementation of arm_bl2_plat_handle_post_image_load() is no longer needed. We can go back to using the Arm generic implementation of it.
Change-Id: I7b4b8d28941a865e10af9d0eadaf2e4850942090 Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com> Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
show more ...
|
| d89bec83 | 07-Jul-2021 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
build(measured boot): rename measured boot makefile
With the removal of the generic functions measured_boot_init()/finish(), measured_boot.mk becomes specific to the TCG event log backend. Change it
build(measured boot): rename measured boot makefile
With the removal of the generic functions measured_boot_init()/finish(), measured_boot.mk becomes specific to the TCG event log backend. Change its file name to event_log.mk. Also, the Event Log driver is one of the backend of measured boot hence created a separate folder for it under the measured_boot directory.
Alongside done some cosmetic changes (adding a comment and fixing identation).
Change-Id: I4ce3300e6958728dc15ca5cced09eaa01510606c Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
show more ...
|
| 47bf3ac3 | 06-Aug-2021 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
feat(measured boot): move init and teardown functions to platform layer
Right now, the measured boot driver is strongly coupled with the TCG event log driver. It would not be possible to push the me
feat(measured boot): move init and teardown functions to platform layer
Right now, the measured boot driver is strongly coupled with the TCG event log driver. It would not be possible to push the measurements somewhere else, for instance to a physical TPM.
To enable this latter use case, turn the driver's init and teardown functions into platform hooks. Call them bl2_plat_mboot_init()/finish(). This allows each platform to implement them appropriately, depending on the type of measured boot backend they use. For example, on a platform with a physical TPM, the plat_mboot_init() hook would startup the TPM and setup it underlying bus (e.g. SPI).
Move the current implementation of the init and teardown function to the FVP platform layer.
Finally move the conditional compilation logic (#if MEASURED_BOOT) out of bl2_main() to improve its readability. Provide a dummy implementation in the case measured boot is not included in the build.
Change-Id: Ib6474cb5a9c1e3d4a30c7f228431b22d1a6e85e3 Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com> Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
show more ...
|
| 4a24707f | 01-Jul-2021 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
refactor(measured boot): rename tpm_record_measurement()
tpm_record_measurement() function name suggests that:
- It only records a measurement but does not compute it. This is not the case, the
refactor(measured boot): rename tpm_record_measurement()
tpm_record_measurement() function name suggests that:
- It only records a measurement but does not compute it. This is not the case, the function does both.
- It stores this measurement into a TPM (discrete chip or fTPM). This is not the case either, the measurement is just stored into the event log, which is a data structure hold in memory, there is no TPM involvement here.
To better convey the intent of the function, rename it into event_log_measure_and_record().
Change-Id: I0102eeda477d6c6761151ac96759b31b6997e9fb Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
show more ...
|
| 0f3a1221 | 12-Oct-2021 |
Pali Rohár <pali@kernel.org> |
fix(drivers/marvell/comphy-3700): configure phy selector also for PCIe
The mvebu_a3700_comphy_pcie_power_on() function does not configure the PHY selector explicitly, it relies on the register defau
fix(drivers/marvell/comphy-3700): configure phy selector also for PCIe
The mvebu_a3700_comphy_pcie_power_on() function does not configure the PHY selector explicitly, it relies on the register default value.
Configure the PHY selector just in case someone changed the default value.
Signed-off-by: Pali Rohár <pali@kernel.org> Change-Id: I54048b4bb7a5eced36f7fe6592ebe108f978fff0
show more ...
|
| 76b4a6bb | 27-Sep-2021 |
Usama Arif <usama.arif@arm.com> |
feat(plat/arm): Add DRAM2 to TZC non-secure region
This allows to increase the total DRAM to 8GB.
Signed-off-by: Usama Arif <usama.arif@arm.com> Change-Id: I6daaed9a0b7a11d665b2f56e6432a1ef87bfaa38 |
| be42c4b4 | 27-Sep-2021 |
Usama Arif <usama.arif@arm.com> |
fix(plat/arm): remove unused memory node
memory information is passed to kernel via u-boot.
Signed-off-by: Usama Arif <usama.arif@arm.com> Change-Id: I3ef31047f92d96302cc98257e965751929a08541 |
| 55eeb7b0 | 11-Oct-2021 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "plat/marvell/a8k: add Globalscale Mochabin support" into integration |
| 487d0329 | 11-Oct-2021 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "fix(plat/qemu): reboot/shutdown with low to high gpio" into integration |
| bd2ad12e | 08-Jul-2021 |
Maxim Uvarov <maxim.uvarov@linaro.org> |
fix(plat/qemu): reboot/shutdown with low to high gpio
Use low to high gpio sequence to reboot/shutdown qemu machine.
Use low to high gpio pins level change which will cause an interrupt in qemu vir
fix(plat/qemu): reboot/shutdown with low to high gpio
Use low to high gpio sequence to reboot/shutdown qemu machine.
Use low to high gpio pins level change which will cause an interrupt in qemu virt platform. This change will supported with next qemu 6.1 release once patchset: hw/arm: Make virt board secure powerdown/reset work will be merged.
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org> CC: Peter Maydell <peter.maydell@linaro.org> Change-Id: I70979517358c3b587722b2dcb33f63d29bf79d9b
show more ...
|
| 0a6e2147 | 11-Oct-2021 |
Robert Marko <robert.marko@sartura.hr> |
plat/marvell/a8k: add Globalscale Mochabin support
Add support for Globalscale MOCHAbin board.
Its based on Armada 7040 SoC and ships in multiple DRAM options: * 2GB DDR4 (1CS) * 4GB DDR4 (1CS) * 8
plat/marvell/a8k: add Globalscale Mochabin support
Add support for Globalscale MOCHAbin board.
Its based on Armada 7040 SoC and ships in multiple DRAM options: * 2GB DDR4 (1CS) * 4GB DDR4 (1CS) * 8GB DDR4 (2CS)
Since it ships in multiple DRAM configurations, an Armada 3k style DDR_TOPOLOGY variable is added. Currently, this only has effect on the MOCHAbin, but I expect more boards with multiple DRAM sizes to be supported.
Signed-off-by: Robert Marko <robert.marko@sartura.hr> Change-Id: I8a1ec9268fed34f6a81c5cbf1e891f638d461305
show more ...
|
| c0d359b6 | 11-Oct-2021 |
André Przywara <andre.przywara@arm.com> |
Merge "fix(arm_fgpa): allow build after MAKE_* changes" into integration |
| 10b1e13b | 27-Sep-2021 |
Jiafei Pan <Jiafei.Pan@nxp.com> |
feat(nxp/common/ocram): add driver for OCRAM initialization
In order to enable OCRAM ECC, it need to be initialized with 64-bit writes and then a write performed to address 0x0010_0534 with the valu
feat(nxp/common/ocram): add driver for OCRAM initialization
In order to enable OCRAM ECC, it need to be initialized with 64-bit writes and then a write performed to address 0x0010_0534 with the value 0x0000_0008.
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com> Change-Id: Id7d4f5df65ca52f24e9251c08a75ad2006451b95
show more ...
|
| 8bfb1681 | 27-Sep-2021 |
Jiafei Pan <Jiafei.Pan@nxp.com> |
feat(plat/nxp/common): add EESR register definition
Add OCRAM bit mask to be used in OCRAM driver.
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com> Change-Id: If82542cc6c1c243d8f998b193954dd72312ee1a4 |
| a0da9c4b | 27-Sep-2021 |
Jiafei Pan <Jiafei.Pan@nxp.com> |
fix(plat/nxp/ls1028a): fix compile error when enable fuse provision
Fix the error that no "gpio_init_data" is defined when build with "FUSE_PROG=1".
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com> C
fix(plat/nxp/ls1028a): fix compile error when enable fuse provision
Fix the error that no "gpio_init_data" is defined when build with "FUSE_PROG=1".
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com> Change-Id: I0ba8005725fe33c6d8e68b4d52539f5d5d749f1a
show more ...
|
| 3239a175 | 27-Sep-2021 |
Jiafei Pan <Jiafei.Pan@nxp.com> |
fix(drivers/nxp/sfp): fix compile warning
Fix compile warning that ‘mask’ may be used uninitialized.
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com> Change-Id: I75a443dbc36d7bd174fe317616fd95cd09630
fix(drivers/nxp/sfp): fix compile warning
Fix compile warning that ‘mask’ may be used uninitialized.
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com> Change-Id: I75a443dbc36d7bd174fe317616fd95cd096306fc
show more ...
|
| 2475f63b | 26-Sep-2021 |
Jiafei Pan <Jiafei.Pan@nxp.com> |
fix(plat/nxp/ls1028a): define endianness of scfg and gpio
Define endianness of scfg and gpio.
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com> Change-Id: Ifa18b4fcfc45154c23d54692b374bab293c51a04 |
| fb90cfd4 | 26-Sep-2021 |
Jiafei Pan <Jiafei.Pan@nxp.com> |
fix(nxp/scfg): fix endianness checking
It is a typo to check NXP_GUR_LE in scfg driver.
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com> Change-Id: I4b952bf4136dd626d88fc4797dba2be445395801 |
| fcfecdaf | 07-Oct-2021 |
Mark Dykes <mark.dykes@arm.com> |
Merge changes I9405f7f6,Id53ea099 into integration
* changes: fix(plat/mediatek/mt8183): fix out-of-bound access feat(plat/mediatek/common): enable software reset for CIRQ |