This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] A72内核的 GIC-500设置

Guru**** 2553450 points
Other Parts Discussed in Thread: TDA4VM

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/882969/gic-500-setup-for-a72-cores

器件型号:TDA4VM

您好!

我目前正在努力将操作系统移植到 TDA4VM 平台、目标是在 SMP 模式下使用两个 A72内核。

我能够引导 A72SS0_Core1、但在配置 GIC-500时遇到问题。

似乎引导过程没有完全为内核1设置 GIC、因为它无法接收 SGI 或 PPI。

由于操作系统未在安全模式下启动、因此无法将 GICD_CTLR.DS 设置为1、也无法将第二个再分配器上的中断移至 G1NS。

我假设这必须由其中一个引导组件(SYSFW、ATF、OPTEE、U-Boot)完成。

我能够根据 U-Boot[1]提供的指南重建所有这些文件、但在尝试引导 ATF 后、引导过程会卡住。

我现在的问题是:

1) 1)我假设在 SMP 模式下两个 A72内核的 GIC 配置不完整、或者我是否缺少其他内容?

2) 2)构建引导组件时、我错过了哪些步骤、或者您是否有其他指南?

3)我必须以哪种方式调整哪些组件(配置、代码...) 以在进入操作系统时获得正确的 GIC 设置。

提前感谢、致以诚挚的问候、

Marco

[1]:https://gitlab.denx.de/u-boot/u-boot/blob/master/board/ti/j721e/README

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好  

    1.您能否向我们发送 ATF 卡住的引导日志?

    2.如果您使用的是 TI ATF,是否确保 OPTEE 已禁用? ATF 内部将尝试在指定地址跳转到 OPTEE。

    3. ATF 有效载荷是否已修改为系统中的操作系统入口点?

    谢谢、此致

    Piyali

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Piyali、

    感谢您的快速回答。

    我解决了 ATF 启动问题。 构建 u-boot 时、如果未找到 ATF 映像、它只发出警告但不会失败。 结果是,它不能在此之后执行 ATF,也不能打印错误消息:-/

    现在、我能够使用重建的 ATF 和 u-boot 进行构建和引导。

    我使用重建的 ATF 检查它是否在 A72SS0_Core1上设置了 GIC、并确认我怀疑它未配置分配给该 Core1的再分配器。

    这使得无法在 SMP 模式下引导非安全操作系统、因为当切换到非安全模式时、SPI 和 PPI 未分配到 Core1上的非安全组1。

    我现在通过将 GICD_CTLR.DS 位设置为1找到了一种权变措施、这也允许我在非安全模式下进行配置、但这不应该是解决该问题的方法。

    是否有方法指示 ATF 也初始化 Core1? 我找到了低级 TISCI 代码、但我不知道如何在高级上激活它。

    谢谢、此致、

    Marco

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Marco

    我将在内部对此进行检查并返回给您。

    谢谢、此致

    Piyali

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好,Marco

    您是否使用了通过 ATF 的 SCI 来引导第二个内核?

    我们专家的反馈意见是:

    "如果 您不使用 ATF/SCI 来引导内核、而是以某种方式手动引导内核(可能使用原始的 TISCI 命令)、那么您将遇到比仅 GIC 编程更多的问题。"

    谢谢、此致

    Piyali