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.

[参考译文] J784S4XEVM:在 TDA4VH 上以用户模式(EL0)进行环形加速器访问

Guru**** 2394305 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1485259/j784s4xevm-ring-accelerator-access-from-user-mode-el0-on-tda4vh

器件型号:J784S4XEVM

工具与软件:

是否可以从用户空间(EL0中的 A72内核)访问与 CPSW9G 虚拟端口关联的环的推送/弹出地址? 如果需要、对于 TISCI 配置  (https://software-dl.ti.com/tisci/esd/latest/2_tisci_msgs/rm/rm_ra.html)或通过任何其他方式、是否需要有所不同?

我尝试过的:

*环形加速器分配和配置(使用内核空间驱动程序)

*重新映射环推入/弹出寄存器以处理用户模式访问的地址空间访问。

*在用户空间过程中实现了发送和接收功能

尝试从用户空间应用程序将描述符推入 Ring 会导致异常。 但是、当使用内核地址空间寄存器映射将描述符推入内核空间驱动程序(EL1)时、它将正常工作。

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

    我的问题看起来与 AM654的问题非常相似

      https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1292095/tmdx654idkevm-linux-userspace-access-to-am654-ring-accelerator-registers

    很遗憾、该线程没有闭合。

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

    您好!

    与 CPSW9相关的环的推送/弹出地址

    但是、为什么要在 用户空间应用中访问 Ring?  

    此致。

    Brijesh

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

    我们希望在用户空间中执行 CPSW9g 的发送和接收操作、以补充 用户空间中的完整网络堆栈。 与基于微核的操作系统的操作系统类似。

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

    我认为我们没有 验证过从 用户空间访问环和其他寄存器,它也可能不被允许,并可能被设置防火墙,所以,你可以发送请求到内核驱动程序,驱动程序应该把这个请求到环?  

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

    TI 为 QNX 提供了 J784S4 SDK。 我的理解是、对于 QNX、CPSW9g 网络端口驱动程序(devnp-cpsw9g.so)是 在用户模式下执行的、不是吗? 在 SDK 中、enet_udma.c 具有一些 QNX 特定部件(ifdefs)。 一个特别突出的特点是它使用代理模块(pRxFlowPrms->useProxy = true)来访问环。 没有评论解释原因,但我想知道是否与用户空间有什么关系?

    向内核驱动程序发送环请求的开销过高、严重影响网络堆栈性能。

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

    已将讨论带到私人主题帖。 我将关闭本视频。