Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added Qualcomm Microcontroller Extensions #63

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

apazos
Copy link
Contributor

@apazos apazos commented Nov 19, 2024

We have added 15 extensions to the Microcontroller Integer Unit.

The specifications are publicly available at
https://github.com/quic/riscv-unified-db/releases

The development of the ELF psABI with Qualcomm extensions is currently underway.

Support for these extensions in the LLVM toolchain is also in progress.

We have added 15 extensions to the Microcontroller Integer Unit.

The specifications are publicly available at
https://github.com/quic/riscv-unified-db/releases

The development of the ELF psABI with Qualcomm extensions is currently underway.

Support for these extensions in the LLVM toolchain is also in progress.
@cmuellner
Copy link
Collaborator

Thanks for the PR!

The referenced extensions are listed as version 0.1. However, when looking at the referenced repo, the individual extensions don't have a version. For the XThead* extensions we simply set v1.0 for all extensions, so it is clear they won't ever change.

The referenced document has a "DRAFT" watermark, which usually implies that the extensions are not frozen. If that's the case, then this is a blocker for upstreaming.

@apazos
Copy link
Contributor Author

apazos commented Nov 19, 2024

Thanks, Christopher, for the quick feedback.

Although the spec is labeled as a draft, it is currently in a stable state. The upcoming PDF release will reflect this status, and the list of extensions and their instructions is also considered stable.

We have assigned version 0.1 to the extensions because we are in the process of implementing assembler support for the instructions in LLVM. This allows us to correct any typos and minor issues in the spec if needed. Once this process is complete, the extensions and spec will be promoted to version 1.0.

As we begin to upstream support in LLVM under the experimental extension, we have decided to introduce the Qualcomm vendor extensions in this spec. The patches will refer to Qualcomm extension names, use the "qc" prefix for instructions, and include Qualcomm vendor relocations. This is the spec that should contain such information.

@apazos
Copy link
Contributor Author

apazos commented Nov 21, 2024

@cmuellner, the new frozen release is out: https://github.com/quic/riscv-unified-db/releases.
We will promote it to 1.0 once we finalize the assembler support in the LLVM toolchain.

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.

2 participants