Skip to content

Support XuanTie E906 CPU.#500

Open
goodnorning wants to merge 3 commits intoeclipse-threadx:devfrom
goodnorning:feature/support_xuantie_e906
Open

Support XuanTie E906 CPU.#500
goodnorning wants to merge 3 commits intoeclipse-threadx:devfrom
goodnorning:feature/support_xuantie_e906

Conversation

@goodnorning
Copy link

PR checklist

  • Add ThreadX porting codes for XuanTie E906.
  • Add example for XuanTie E906 running on QEMU smartl.
  • Validated on QEMU smartl platform.

 - add ThreadX porting codes for XuanTie E906.
 - add example for XuanTie E906 running on QEMU smartl.
@fdesbiens
Copy link
Contributor

Hi @goodnorning.

Thank you very much for this contribution. Enabling support for the XuanTie family would be an important step forward for the project.

I will ask a senior member of the team to review the code.

The files you submitted refer to the Apache v2.0 license. Eclipse ThreadX, however, is licensed under the MIT license.

Would you be so kind as to replace the copyright headers and update the PR, please? For your convenience, I included a properly formatted sample header below.

/***************************************************************************
 * Copyright (C) 2017-2024 Alibaba Group Holding Limited
 * 
 * This program and the accompanying materials are made available under the
 * terms of the MIT License which is available at
 * https://opensource.org/licenses/MIT.
 * 
 * SPDX-License-Identifier: MIT
 **************************************************************************/

Thank you for your understanding.

Copy link

@jserv jserv left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

T-Head XuanTie E906 is compatible with the RISC-V RV32IMA[F][D][C][P] ISA. Therefore, the XuanTie E906 port should reside under ports/risc-v32/gnu rather than ports/xuantie/e906/gnu to maintain directory consistency.

akifejaz and others added 2 commits February 25, 2026 09:06
This update adapts the ThreadX low-level kernel routines
for RV32, including:
  - startup and initialization logic
  - context save/restore implementations
  - interrupt control and scheduler entry
  - thread stack build and system return paths
  - timer interrupt handling
  - made it complient as per new risc-v64/gnu
      & threadx style
  - added reademe for risc-v32/gnu port

These changes provide full low-level support needed to run
ThreadX on RISC-V32 targets.

Signed-off-by: Akif Ejaz <akif.ejaz@10xengineers.ai>
 - Place the E906 implementation in the ports/risc-v32/gnu directory;
 - Remove code unrelated to the xuantie_smartl_fpga demo;
@goodnorning
Copy link
Author

Hi @goodnorning.

Thank you very much for this contribution. Enabling support for the XuanTie family would be an important step forward for the project.

I will ask a senior member of the team to review the code.

The files you submitted refer to the Apache v2.0 license. Eclipse ThreadX, however, is licensed under the MIT license.

Would you be so kind as to replace the copyright headers and update the PR, please? For your convenience, I included a properly formatted sample header below.

/***************************************************************************
 * Copyright (C) 2017-2024 Alibaba Group Holding Limited
 * 
 * This program and the accompanying materials are made available under the
 * terms of the MIT License which is available at
 * https://opensource.org/licenses/MIT.
 * 
 * SPDX-License-Identifier: MIT
 **************************************************************************/

Thank you for your understanding.

Thank you for your suggestion. All code related to Eclipse ThreadX uses the MIT license, while the demo-related code currently uses the Apache v2.0 license, which is consistent with how other example_build projects are handled. Since our project previously adopted the Apache v2.0 license and has already been open-sourced, I would prefer to keep it unchanged at the demo level. Thank you.

@goodnorning
Copy link
Author

T-Head XuanTie E906 is compatible with the RISC-V RV32IMA[F][D][C][P] ISA. Therefore, the XuanTie E906 port should reside under ports/risc-v32/gnu rather than ports/xuantie/e906/gnu to maintain directory consistency.

Thank you for your suggestion. We have already moved the XuanTie E906 related code implementation to the ports/risc-v32/gnu directory.

@jserv
Copy link

jserv commented Feb 26, 2026

Thank you for your suggestion. All code related to Eclipse ThreadX uses the MIT license, while the demo-related code currently uses the Apache v2.0 license, which is consistent with how other example_build projects are handled. Since our project previously adopted the Apache v2.0 license and has already been open-sourced, I would prefer to keep it unchanged at the demo level.

Regarding open source collaboration, consistent enforcement of open source licensing serves as a root of trust, enabling developers to share code and collaborate through transparent public review and refinement.

In this case, the major components of ThreadX are licensed under the MIT License and are managed by the Eclipse Foundation. Therefore, the preferred license for related contributions should also be the MIT License, except for any external dependencies that require different terms.

Please coordinate with the legal team of Alibaba Group to assess the feasibility of relicensing the demo-related code for the XuanTie E906 under the MIT License.

@fdesbiens
Copy link
Contributor

Hi @goodnorning. I verified the information you provided and reached out to the Eclipse Management Organisation (EMO). Our repository has several instances where the code is licensed under Apache v2 as you describe.

Since the MIT and Apache licenses are compatible, then this is fine.

I will ask for senior committers to review this PR and expect to merge it soon.

@fdesbiens
Copy link
Contributor

Thank you for your suggestion. All code related to Eclipse ThreadX uses the MIT license, while the demo-related code currently uses the Apache v2.0 license, which is consistent with how other example_build projects are handled. Since our project previously adopted the Apache v2.0 license and has already been open-sourced, I would prefer to keep it unchanged at the demo level.

Regarding open source collaboration, consistent enforcement of open source licensing serves as a root of trust, enabling developers to share code and collaborate through transparent public review and refinement.

In this case, the major components of ThreadX are licensed under the MIT License and are managed by the Eclipse Foundation. Therefore, the preferred license for related contributions should also be the MIT License, except for any external dependencies that require different terms.

Please coordinate with the legal team of Alibaba Group to assess the feasibility of relicensing the demo-related code for the XuanTie E906 under the MIT License.

Hi @jserv.

I appreciate you trying to help. However, you are currently not affiliated with the Eclipse Foundation or the project. As the ThreadX project lead, I ask you to refrain from making statements that would give the impression you speak on behalf of Eclipse or the ThreadX project.

That said, you seem quite passionate about ThreadX and I would love to get you involved. Please find me on LinkedIn and let's start a conversation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants