Message ID | cdf2e29a-4670-3507-d5cd-04b805a36639@siemens.com |
---|---|
State | Accepted |
Commit | cf2d07f004367e7b48fb1d21a31a0818adb0374a |
Headers | show |
Series | [v2] drivers: crypto: mod_exp_sw: Re-add DM_FLAG_PRE_RELOC | expand |
On Thu, May 07, 2020 at 08:36:03PM +0200, Jan Kiszka wrote: > From: Jan Kiszka <jan.kiszka at siemens.com> > > This driver is safe to use in SPL without relocation. Denying > DM_FLAG_PRE_RELOC prevents its usability for verifying the main U-Boot > or other artifacts from the SPL unless needless enabling the full driver > set (SPL_OF_PLATDATA). > > Fixes: 17e117408571 ("drivers: crypto: rsa_mod_exp: avoid DM_FLAG_PRE_RELOC") > CC: Heinrich Schuchardt <xypron.glpk at gmx.de> > CC: Marek Vasut <marex at denx.de> > Signed-off-by: Jan Kiszka <jan.kiszka at siemens.com> Applied to u-boot/master, thanks!
On 5/20/20 2:22 PM, Tom Rini wrote: > On Thu, May 07, 2020 at 08:36:03PM +0200, Jan Kiszka wrote: > >> From: Jan Kiszka <jan.kiszka at siemens.com> >> >> This driver is safe to use in SPL without relocation. Denying >> DM_FLAG_PRE_RELOC prevents its usability for verifying the main U-Boot >> or other artifacts from the SPL unless needless enabling the full driver >> set (SPL_OF_PLATDATA). >> >> Fixes: 17e117408571 ("drivers: crypto: rsa_mod_exp: avoid DM_FLAG_PRE_RELOC") >> CC: Heinrich Schuchardt <xypron.glpk at gmx.de> >> CC: Marek Vasut <marex at denx.de> >> Signed-off-by: Jan Kiszka <jan.kiszka at siemens.com> > > Applied to u-boot/master, thanks! > With this patch applied pine64-lts_defconfig with CONFIG_RSA=y does not boot anymore. See the output below. So something is wrong with this driver. Do you have an idea how to analyze what is wrong? Unfortunately there is no DEBUG_UART available on the Pine A64 LTS board. Best regards Heinrich U-Boot SPL 2020.07-rc2-00070-g2fa581ba91 (May 22 2020 - 10:29:30 +0000) DRAM: 2048 MiB Trying to boot from MMC1 NOTICE: BL31: v2.2():v2.2-1138-g78460ced4 NOTICE: BL31: Built : 05:50:47, Apr 7 2020 NOTICE: BL31: Detected Allwinner A64/H64/R18 SoC (1689) NOTICE: BL31: Found U-Boot DTB at 0x4091998, model: Pine64 LTS INFO: ARM GICv2 driver initialized INFO: Configuring SPC Controller INFO: PMIC: Probing AXP803 on RSB INFO: PMIC: dcdc1 voltage: 3.300V INFO: PMIC: dcdc5 voltage: 1.200V INFO: PMIC: dcdc6 voltage: 1.100V INFO: PMIC: dldo1 voltage: 3.300V INFO: PMIC: Enabling DC SW INFO: BL31: Platform setup done INFO: BL31: Initializing runtime services INFO: BL31: cortex_a53: CPU workaround for 843419 was applied INFO: BL31: cortex_a53: CPU workaround for 855873 was applied NOTICE: PSCI: System suspend is unavailable INFO: BL31: Preparing for EL3 exit to normal world INFO: Entry point address = 0x4a000000 INFO: SPSR = 0x3c9 U-Boot SPL 2020.07-rc2-00070-g2fa581ba91 (May 22 2020 - 10:29:30 +0000) DRAM: 2048 MiB Trying to boot from MMC1 NOTICE: BL31: v2.2():v2.2-1138-g78460ced4 NOTICE: BL31: Built : 05:50:47, Apr 7 2020 NOTICE: BL31: Detected Allwinner A64/H64/R18 SoC (1689) NOTICE: BL31: Found U-Boot DTB at 0x4091998, model: Pine64 LTS INFO: ARM GICv2 driver initialized INFO: Configuring SPC Controller INFO: PMIC: Probing AXP803 on RSB INFO: PMIC: dcdc1 voltage: 3.300V INFO: PMIC: dcdc5 voltage: 1.200V INFO: PMIC: dcdc6 voltage: 1.100V INFO: PMIC: dldo1 voltage: 3.300V INFO: PMIC: Enabling DC SW INFO: BL31: Platform setup done INFO: BL31: Initializing runtime services INFO: BL31: cortex_a53: CPU workaround for 843419 was applied INFO: BL31: cortex_a53: CPU workaround for 855873 was applied NOTICE: PSCI: System suspend is unavailable INFO: BL31: Preparing for EL3 exit to normal world INFO: Entry point address = 0x4a000000 INFO: SPSR = 0x3c9 U-Boot SPL 2020.07-rc2-00070-g2fa581ba91 (May 22 2020 - 10:29:30 +0000) DRAM: 2048 MiB Trying to boot from MMC1 NOTICE: BL31: v2.2():v2.2-1138-g78460ced4 NOTICE: BL31: Built : 05:50:47, Apr 7 2020 NOTICE: BL31: Detected Allwinner A64/H64/R18 SoC (1689) NOTICE: BL31: Found U-Boot DTB at 0x4091998, model: Pine64 LTS INFO: ARM GICv2 driver initialized INFO: Configuring SPC Controller INFO: PMIC: Probing AXP803 on RSB INFO: PMIC: dcdc1 voltage: 3.300V INFO: PMIC: dcdc5 voltage: 1.200V INFO: PMIC: dcdc6 voltage: 1.100V INFO: PMIC: dldo1 voltage: 3.300V INFO: PMIC: Enabling DC SW INFO: BL31: Platform setup done INFO: BL31: Initializing runtime services INFO: BL31: cortex_a53: CPU workaround for 843419 was applied INFO: BL31: cortex_a53: CPU workaround for 855873 was applied NOTICE: PSCI: System suspend is unavailable INFO: BL31: Preparing for EL3 exit to normal world INFO: Entry point address = 0x4a000000 INFO: SPSR = 0x3c9
On 22.05.20 12:42, Heinrich Schuchardt wrote: > On 5/20/20 2:22 PM, Tom Rini wrote: >> On Thu, May 07, 2020 at 08:36:03PM +0200, Jan Kiszka wrote: >> >>> From: Jan Kiszka <jan.kiszka at siemens.com> >>> >>> This driver is safe to use in SPL without relocation. Denying >>> DM_FLAG_PRE_RELOC prevents its usability for verifying the main U-Boot >>> or other artifacts from the SPL unless needless enabling the full driver >>> set (SPL_OF_PLATDATA). >>> >>> Fixes: 17e117408571 ("drivers: crypto: rsa_mod_exp: avoid DM_FLAG_PRE_RELOC") >>> CC: Heinrich Schuchardt <xypron.glpk at gmx.de> >>> CC: Marek Vasut <marex at denx.de> >>> Signed-off-by: Jan Kiszka <jan.kiszka at siemens.com> >> >> Applied to u-boot/master, thanks! >> > > With this patch applied pine64-lts_defconfig with CONFIG_RSA=y does not > boot anymore. See the output below. So something is wrong with this driver. > > Do you have an idea how to analyze what is wrong? Unfortunately there is > no DEBUG_UART available on the Pine A64 LTS board. I would start crippling it down until things start to boot again. Are you using it (for image verification e.g.), or is this just the registration that breaks already? Jan > > Best regards > > Heinrich > > > > U-Boot SPL 2020.07-rc2-00070-g2fa581ba91 (May 22 2020 - 10:29:30 +0000) > DRAM: 2048 MiB > Trying to boot from MMC1 > NOTICE: BL31: v2.2():v2.2-1138-g78460ced4 > NOTICE: BL31: Built : 05:50:47, Apr 7 2020 > NOTICE: BL31: Detected Allwinner A64/H64/R18 SoC (1689) > NOTICE: BL31: Found U-Boot DTB at 0x4091998, model: Pine64 LTS > INFO: ARM GICv2 driver initialized > INFO: Configuring SPC Controller > INFO: PMIC: Probing AXP803 on RSB > INFO: PMIC: dcdc1 voltage: 3.300V > INFO: PMIC: dcdc5 voltage: 1.200V > INFO: PMIC: dcdc6 voltage: 1.100V > INFO: PMIC: dldo1 voltage: 3.300V > INFO: PMIC: Enabling DC SW > INFO: BL31: Platform setup done > INFO: BL31: Initializing runtime services > INFO: BL31: cortex_a53: CPU workaround for 843419 was applied > INFO: BL31: cortex_a53: CPU workaround for 855873 was applied > NOTICE: PSCI: System suspend is unavailable > INFO: BL31: Preparing for EL3 exit to normal world > INFO: Entry point address = 0x4a000000 > INFO: SPSR = 0x3c9 > > U-Boot SPL 2020.07-rc2-00070-g2fa581ba91 (May 22 2020 - 10:29:30 +0000) > DRAM: 2048 MiB > Trying to boot from MMC1 > NOTICE: BL31: v2.2():v2.2-1138-g78460ced4 > NOTICE: BL31: Built : 05:50:47, Apr 7 2020 > NOTICE: BL31: Detected Allwinner A64/H64/R18 SoC (1689) > NOTICE: BL31: Found U-Boot DTB at 0x4091998, model: Pine64 LTS > INFO: ARM GICv2 driver initialized > INFO: Configuring SPC Controller > INFO: PMIC: Probing AXP803 on RSB > INFO: PMIC: dcdc1 voltage: 3.300V > INFO: PMIC: dcdc5 voltage: 1.200V > INFO: PMIC: dcdc6 voltage: 1.100V > INFO: PMIC: dldo1 voltage: 3.300V > INFO: PMIC: Enabling DC SW > INFO: BL31: Platform setup done > INFO: BL31: Initializing runtime services > INFO: BL31: cortex_a53: CPU workaround for 843419 was applied > INFO: BL31: cortex_a53: CPU workaround for 855873 was applied > NOTICE: PSCI: System suspend is unavailable > INFO: BL31: Preparing for EL3 exit to normal world > INFO: Entry point address = 0x4a000000 > INFO: SPSR = 0x3c9 > > U-Boot SPL 2020.07-rc2-00070-g2fa581ba91 (May 22 2020 - 10:29:30 +0000) > DRAM: 2048 MiB > Trying to boot from MMC1 > NOTICE: BL31: v2.2():v2.2-1138-g78460ced4 > NOTICE: BL31: Built : 05:50:47, Apr 7 2020 > NOTICE: BL31: Detected Allwinner A64/H64/R18 SoC (1689) > NOTICE: BL31: Found U-Boot DTB at 0x4091998, model: Pine64 LTS > INFO: ARM GICv2 driver initialized > INFO: Configuring SPC Controller > INFO: PMIC: Probing AXP803 on RSB > INFO: PMIC: dcdc1 voltage: 3.300V > INFO: PMIC: dcdc5 voltage: 1.200V > INFO: PMIC: dcdc6 voltage: 1.100V > INFO: PMIC: dldo1 voltage: 3.300V > INFO: PMIC: Enabling DC SW > INFO: BL31: Platform setup done > INFO: BL31: Initializing runtime services > INFO: BL31: cortex_a53: CPU workaround for 843419 was applied > INFO: BL31: cortex_a53: CPU workaround for 855873 was applied > NOTICE: PSCI: System suspend is unavailable > INFO: BL31: Preparing for EL3 exit to normal world > INFO: Entry point address = 0x4a000000 > INFO: SPSR = 0x3c9 >
Am May 22, 2020 10:50:29 AM UTC schrieb Jan Kiszka <jan.kiszka at siemens.com>: >On 22.05.20 12:42, Heinrich Schuchardt wrote: >> On 5/20/20 2:22 PM, Tom Rini wrote: >>> On Thu, May 07, 2020 at 08:36:03PM +0200, Jan Kiszka wrote: >>> >>>> From: Jan Kiszka <jan.kiszka at siemens.com> >>>> >>>> This driver is safe to use in SPL without relocation. Denying >>>> DM_FLAG_PRE_RELOC prevents its usability for verifying the main >U-Boot >>>> or other artifacts from the SPL unless needless enabling the full >driver >>>> set (SPL_OF_PLATDATA). >>>> >>>> Fixes: 17e117408571 ("drivers: crypto: rsa_mod_exp: avoid >DM_FLAG_PRE_RELOC") >>>> CC: Heinrich Schuchardt <xypron.glpk at gmx.de> >>>> CC: Marek Vasut <marex at denx.de> >>>> Signed-off-by: Jan Kiszka <jan.kiszka at siemens.com> >>> >>> Applied to u-boot/master, thanks! >>> >> >> With this patch applied pine64-lts_defconfig with CONFIG_RSA=y does >not >> boot anymore. See the output below. So something is wrong with this >driver. >> >> Do you have an idea how to analyze what is wrong? Unfortunately there >is >> no DEBUG_UART available on the Pine A64 LTS board. > >I would start crippling it down until things start to boot again. Are >you using it (for image verification e.g.), or is this just the >registration that breaks already? > RSA is needed in the UEFI subsystem for verifying variables and images. But there is no need in SPL for it at all. In my configuration RSA is not used at all. Something breaks before even the console becomes available. The pine64-lts_defconfig board boots via SPL->BL31->U-Boot Best regards Heinrich >Jan > >> >> Best regards >> >> Heinrich >> >> >> >> U-Boot SPL 2020.07-rc2-00070-g2fa581ba91 (May 22 2020 - 10:29:30 >+0000) >> DRAM: 2048 MiB >> Trying to boot from MMC1 >> NOTICE: BL31: v2.2():v2.2-1138-g78460ced4 >> NOTICE: BL31: Built : 05:50:47, Apr 7 2020 >> NOTICE: BL31: Detected Allwinner A64/H64/R18 SoC (1689) >> NOTICE: BL31: Found U-Boot DTB at 0x4091998, model: Pine64 LTS >> INFO: ARM GICv2 driver initialized >> INFO: Configuring SPC Controller >> INFO: PMIC: Probing AXP803 on RSB >> INFO: PMIC: dcdc1 voltage: 3.300V >> INFO: PMIC: dcdc5 voltage: 1.200V >> INFO: PMIC: dcdc6 voltage: 1.100V >> INFO: PMIC: dldo1 voltage: 3.300V >> INFO: PMIC: Enabling DC SW >> INFO: BL31: Platform setup done >> INFO: BL31: Initializing runtime services >> INFO: BL31: cortex_a53: CPU workaround for 843419 was applied >> INFO: BL31: cortex_a53: CPU workaround for 855873 was applied >> NOTICE: PSCI: System suspend is unavailable >> INFO: BL31: Preparing for EL3 exit to normal world >> INFO: Entry point address = 0x4a000000 >> INFO: SPSR = 0x3c9 >> >> U-Boot SPL 2020.07-rc2-00070-g2fa581ba91 (May 22 2020 - 10:29:30 >+0000) >> DRAM: 2048 MiB >> Trying to boot from MMC1 >> NOTICE: BL31: v2.2():v2.2-1138-g78460ced4 >> NOTICE: BL31: Built : 05:50:47, Apr 7 2020 >> NOTICE: BL31: Detected Allwinner A64/H64/R18 SoC (1689) >> NOTICE: BL31: Found U-Boot DTB at 0x4091998, model: Pine64 LTS >> INFO: ARM GICv2 driver initialized >> INFO: Configuring SPC Controller >> INFO: PMIC: Probing AXP803 on RSB >> INFO: PMIC: dcdc1 voltage: 3.300V >> INFO: PMIC: dcdc5 voltage: 1.200V >> INFO: PMIC: dcdc6 voltage: 1.100V >> INFO: PMIC: dldo1 voltage: 3.300V >> INFO: PMIC: Enabling DC SW >> INFO: BL31: Platform setup done >> INFO: BL31: Initializing runtime services >> INFO: BL31: cortex_a53: CPU workaround for 843419 was applied >> INFO: BL31: cortex_a53: CPU workaround for 855873 was applied >> NOTICE: PSCI: System suspend is unavailable >> INFO: BL31: Preparing for EL3 exit to normal world >> INFO: Entry point address = 0x4a000000 >> INFO: SPSR = 0x3c9 >> >> U-Boot SPL 2020.07-rc2-00070-g2fa581ba91 (May 22 2020 - 10:29:30 >+0000) >> DRAM: 2048 MiB >> Trying to boot from MMC1 >> NOTICE: BL31: v2.2():v2.2-1138-g78460ced4 >> NOTICE: BL31: Built : 05:50:47, Apr 7 2020 >> NOTICE: BL31: Detected Allwinner A64/H64/R18 SoC (1689) >> NOTICE: BL31: Found U-Boot DTB at 0x4091998, model: Pine64 LTS >> INFO: ARM GICv2 driver initialized >> INFO: Configuring SPC Controller >> INFO: PMIC: Probing AXP803 on RSB >> INFO: PMIC: dcdc1 voltage: 3.300V >> INFO: PMIC: dcdc5 voltage: 1.200V >> INFO: PMIC: dcdc6 voltage: 1.100V >> INFO: PMIC: dldo1 voltage: 3.300V >> INFO: PMIC: Enabling DC SW >> INFO: BL31: Platform setup done >> INFO: BL31: Initializing runtime services >> INFO: BL31: cortex_a53: CPU workaround for 843419 was applied >> INFO: BL31: cortex_a53: CPU workaround for 855873 was applied >> NOTICE: PSCI: System suspend is unavailable >> INFO: BL31: Preparing for EL3 exit to normal world >> INFO: Entry point address = 0x4a000000 >> INFO: SPSR = 0x3c9 >>
On 22.05.20 13:38, Heinrich Schuchardt wrote: > Am May 22, 2020 10:50:29 AM UTC schrieb Jan Kiszka <jan.kiszka at siemens.com>: >> On 22.05.20 12:42, Heinrich Schuchardt wrote: >>> On 5/20/20 2:22 PM, Tom Rini wrote: >>>> On Thu, May 07, 2020 at 08:36:03PM +0200, Jan Kiszka wrote: >>>> >>>>> From: Jan Kiszka <jan.kiszka at siemens.com> >>>>> >>>>> This driver is safe to use in SPL without relocation. Denying >>>>> DM_FLAG_PRE_RELOC prevents its usability for verifying the main >> U-Boot >>>>> or other artifacts from the SPL unless needless enabling the full >> driver >>>>> set (SPL_OF_PLATDATA). >>>>> >>>>> Fixes: 17e117408571 ("drivers: crypto: rsa_mod_exp: avoid >> DM_FLAG_PRE_RELOC") >>>>> CC: Heinrich Schuchardt <xypron.glpk at gmx.de> >>>>> CC: Marek Vasut <marex at denx.de> >>>>> Signed-off-by: Jan Kiszka <jan.kiszka at siemens.com> >>>> >>>> Applied to u-boot/master, thanks! >>>> >>> >>> With this patch applied pine64-lts_defconfig with CONFIG_RSA=y does >> not >>> boot anymore. See the output below. So something is wrong with this >> driver. >>> >>> Do you have an idea how to analyze what is wrong? Unfortunately there >> is >>> no DEBUG_UART available on the Pine A64 LTS board. >> >> I would start crippling it down until things start to boot again. Are >> you using it (for image verification e.g.), or is this just the >> registration that breaks already? >> > > > RSA is needed in the UEFI subsystem for verifying variables and images. But there is no need in SPL for it at all. > > In my configuration RSA is not used at all. Something breaks before even the console becomes available. > > The pine64-lts_defconfig board boots via SPL->BL31->U-Boot But then a workaround for you would be to turn this driver off in SPL. UEFI is main U-Boot only, isn't it? That said, understanding the reason for the breakage would still be nice for the case someone needs to validate what SPL loads with the help of RSA (which is the case for us on an AM65x board). Jan
On 22.05.20 14:21, Jan Kiszka wrote: > On 22.05.20 13:38, Heinrich Schuchardt wrote: >> Am May 22, 2020 10:50:29 AM UTC schrieb Jan Kiszka <jan.kiszka at siemens.com>: >>> On 22.05.20 12:42, Heinrich Schuchardt wrote: >>>> On 5/20/20 2:22 PM, Tom Rini wrote: >>>>> On Thu, May 07, 2020 at 08:36:03PM +0200, Jan Kiszka wrote: >>>>> >>>>>> From: Jan Kiszka <jan.kiszka at siemens.com> >>>>>> >>>>>> This driver is safe to use in SPL without relocation. Denying >>>>>> DM_FLAG_PRE_RELOC prevents its usability for verifying the main >>> U-Boot >>>>>> or other artifacts from the SPL unless needless enabling the full >>> driver >>>>>> set (SPL_OF_PLATDATA). >>>>>> >>>>>> Fixes: 17e117408571 ("drivers: crypto: rsa_mod_exp: avoid >>> DM_FLAG_PRE_RELOC") >>>>>> CC: Heinrich Schuchardt <xypron.glpk at gmx.de> >>>>>> CC: Marek Vasut <marex at denx.de> >>>>>> Signed-off-by: Jan Kiszka <jan.kiszka at siemens.com> >>>>> >>>>> Applied to u-boot/master, thanks! >>>>> >>>> >>>> With this patch applied pine64-lts_defconfig with CONFIG_RSA=y does >>> not >>>> boot anymore. See the output below. So something is wrong with this >>> driver. >>>> >>>> Do you have an idea how to analyze what is wrong? Unfortunately there >>> is >>>> no DEBUG_UART available on the Pine A64 LTS board. >>> >>> I would start crippling it down until things start to boot again. Are >>> you using it (for image verification e.g.), or is this just the >>> registration that breaks already? >>> >> >> >> RSA is needed in the UEFI subsystem for verifying variables and images. But there is no need in SPL for it at all. >> >> In my configuration RSA is not used at all. Something breaks before even the console becomes available. >> >> The pine64-lts_defconfig board boots via SPL->BL31->U-Boot > > But then a workaround for you would be to turn this driver off in SPL. > UEFI is main U-Boot only, isn't it? > > That said, understanding the reason for the breakage would still be nice > for the case someone needs to validate what SPL loads with the help of > RSA (which is the case for us on an AM65x board). > > Jan > As I described above I did *not* select RSA_SPL. The breakage is in main U-boot. SPL works fine loading TF-A BL31 which in turn loads U-Boot. But during driver initialization U-Boot does not even reach the point where we have a console due to something wrong with DM_FLAG_PRE_RELOC. Best regards Heinrich
On 22.05.20 16:55, Heinrich Schuchardt wrote: > On 22.05.20 14:21, Jan Kiszka wrote: >> On 22.05.20 13:38, Heinrich Schuchardt wrote: >>> Am May 22, 2020 10:50:29 AM UTC schrieb Jan Kiszka <jan.kiszka at siemens.com>: >>>> On 22.05.20 12:42, Heinrich Schuchardt wrote: >>>>> On 5/20/20 2:22 PM, Tom Rini wrote: >>>>>> On Thu, May 07, 2020 at 08:36:03PM +0200, Jan Kiszka wrote: >>>>>> >>>>>>> From: Jan Kiszka <jan.kiszka at siemens.com> >>>>>>> >>>>>>> This driver is safe to use in SPL without relocation. Denying >>>>>>> DM_FLAG_PRE_RELOC prevents its usability for verifying the main >>>> U-Boot >>>>>>> or other artifacts from the SPL unless needless enabling the full >>>> driver >>>>>>> set (SPL_OF_PLATDATA). >>>>>>> >>>>>>> Fixes: 17e117408571 ("drivers: crypto: rsa_mod_exp: avoid >>>> DM_FLAG_PRE_RELOC") >>>>>>> CC: Heinrich Schuchardt <xypron.glpk at gmx.de> >>>>>>> CC: Marek Vasut <marex at denx.de> >>>>>>> Signed-off-by: Jan Kiszka <jan.kiszka at siemens.com> >>>>>> >>>>>> Applied to u-boot/master, thanks! >>>>>> >>>>> >>>>> With this patch applied pine64-lts_defconfig with CONFIG_RSA=y does >>>> not >>>>> boot anymore. See the output below. So something is wrong with this >>>> driver. >>>>> >>>>> Do you have an idea how to analyze what is wrong? Unfortunately there >>>> is >>>>> no DEBUG_UART available on the Pine A64 LTS board. >>>> >>>> I would start crippling it down until things start to boot again. Are >>>> you using it (for image verification e.g.), or is this just the >>>> registration that breaks already? >>>> >>> >>> >>> RSA is needed in the UEFI subsystem for verifying variables and images. But there is no need in SPL for it at all. >>> >>> In my configuration RSA is not used at all. Something breaks before even the console becomes available. >>> >>> The pine64-lts_defconfig board boots via SPL->BL31->U-Boot >> >> But then a workaround for you would be to turn this driver off in SPL. >> UEFI is main U-Boot only, isn't it? >> >> That said, understanding the reason for the breakage would still be nice >> for the case someone needs to validate what SPL loads with the help of >> RSA (which is the case for us on an AM65x board). >> >> Jan >> > As I described above I did *not* select RSA_SPL. The breakage is in main > U-boot. SPL works fine loading TF-A BL31 which in turn loads U-Boot. But > during driver initialization U-Boot does not even reach the point where > we have a console due to something wrong with DM_FLAG_PRE_RELOC. > Sorry, missed that detail. But that is indeed weird because - to my understanding - this driver should be totally passive until someone calls rsa_mod_exp() (which should only happen late, when UEFI comes into play). Can you validate that this function is not involved by emptying its body? Also, until everything is understood, we could limit DM_FLAG_PRE_RELOC to BUILD_SPL. Jan
diff --git a/drivers/crypto/rsa_mod_exp/mod_exp_sw.c b/drivers/crypto/rsa_mod_exp/mod_exp_sw.c index c9b571a461..46b9f1825c 100644 --- a/drivers/crypto/rsa_mod_exp/mod_exp_sw.c +++ b/drivers/crypto/rsa_mod_exp/mod_exp_sw.c @@ -31,6 +31,7 @@ U_BOOT_DRIVER(mod_exp_sw) = { .name = "mod_exp_sw", .id = UCLASS_MOD_EXP, .ops = &mod_exp_ops_sw, + .flags = DM_FLAG_PRE_RELOC, }; U_BOOT_DEVICE(mod_exp_sw) = {