-
Notifications
You must be signed in to change notification settings - Fork 42
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
Comments
I agree the current interface is insufficient. One option would be to have __riscv_vendor_feature_bits be a list of (vendor, pointer) pairs, where the pointer points to an individual instance of what __riscv_vendor_feature_bits is today (i.e. the per-vendor bits). But for now we should just remove __riscv_vendor_feature_bits from the spec now and come up with a fixed solution in future. |
Yeah, I agree to remove that for now since we don't have any vendor bits yet. so maybe we postpone that a little bit is best way. @cyyself could you create a PR to drop that? and then we could have few more time to discuss the mechanism. |
OK. But it’s too late at UTC+8. Maybe I will do that tomorrow. |
As discussed in riscv-non-isa#96, current interface is insufficient to support some cases, like a vendor buying a CPU IP from the upstream vendor but using their own mvendorid and custom features from the upstream vendor. In this case, we might need to add these extensions for each downstream vendor many times. Thus, making __riscv_vendor_feature_bits guarded by mvendorid is not a good idea. So, drop __riscv_vendor_feature_bits for now, and we should have time to discuss a better solution.
A minor concern is that we might need a mechanism to allocate memory for each |
In PR #74, we design vendor extension is guarded by vendorID. However, here we missed some cases like:
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 bymvendorid
. Since this hasn't been specified in the c-api-doc currently, it's not too late to make this change.The text was updated successfully, but these errors were encountered: