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

[FMV] Explicit allows different vendors share the bit definition of __riscv_vendor_feature_bits #96

Open
cyyself opened this issue Nov 14, 2024 · 1 comment

Comments

@cyyself
Copy link
Contributor

cyyself commented Nov 14, 2024

In PR #74, we design vendor extension is guarded by vendorID. However, here we missed some cases like:

  1. A SoC vendor buys a CPU IP from another CPU IP vendor with some modification to CPU RTL and then fills marchid with itself mvendorid
  2. A SoC vendor uses multiple CPU IPs from different vendors for their SoC and customizes the CPU IP to have the same vendor extension, which multiple CPU IPs have different mvendorid

These cases are discussed from Linux Kernel mailing list on hwprobe support for T-HEAD vendor extensions thread. I think their concerns are right.

So we might need to make the __riscv_vendor_feature_bits not guarded by mvendorid. Since this hasn't been specified in the c-api-doc currently, it's not too late to make this change.

@cyyself
Copy link
Contributor Author

cyyself commented Nov 14, 2024

cc @kito-cheng @BeMg @ConchuOD @charlie-rivos @evangreen

@cyyself cyyself changed the title [FMV] Expilicit allows different vendor share the bit defination of __riscv_vendor_feature_bits [FMV] Explicit allows different vendor share the bit definition of __riscv_vendor_feature_bits Nov 14, 2024
@cyyself cyyself changed the title [FMV] Explicit allows different vendor share the bit definition of __riscv_vendor_feature_bits [FMV] Explicit allows different vendors share the bit definition of __riscv_vendor_feature_bits Nov 14, 2024
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

No branches or pull requests

1 participant