RISC-V: Drop __riscv_vendor_feature_bits

As discussed from RISC-V C-API PR #101 [1], As discussed in #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.

[1] https://github.com/riscv-non-isa/riscv-c-api-doc/pull/101

Signed-off-by: Yangyu Chen <cyy@cyyself.name>

gcc/ChangeLog:

	* config/riscv/riscv-feature-bits.h (RISCV_VENDOR_FEATURE_BITS_LENGTH): Drop.
	(struct riscv_vendor_feature_bits): Drop.

libgcc/ChangeLog:

	* config/riscv/feature_bits.c (RISCV_VENDOR_FEATURE_BITS_LENGTH): Drop.
	(__init_riscv_features_bits_linux): Drop.
This commit is contained in:
Yangyu Chen 2025-02-11 18:40:41 -07:00 committed by Jeff Law
parent 1fb2146baa
commit 2605daa6b8
2 changed files with 0 additions and 17 deletions

View file

@ -28,13 +28,6 @@ struct riscv_feature_bits {
unsigned long long features[RISCV_FEATURE_BITS_LENGTH];
};
#define RISCV_VENDOR_FEATURE_BITS_LENGTH 1
struct riscv_vendor_feature_bits {
unsigned length;
unsigned long long features[RISCV_VENDOR_FEATURE_BITS_LENGTH];
};
struct riscv_cpu_model {
unsigned mvendorid;
unsigned long long marchid;

View file

@ -30,13 +30,6 @@ struct {
unsigned long long features[RISCV_FEATURE_BITS_LENGTH];
} __riscv_feature_bits __attribute__ ((visibility ("hidden"), nocommon));
#define RISCV_VENDOR_FEATURE_BITS_LENGTH 1
struct {
unsigned length;
unsigned long long features[RISCV_VENDOR_FEATURE_BITS_LENGTH];
} __riscv_vendor_feature_bits __attribute__ ((visibility ("hidden"), nocommon));
struct {
unsigned mvendorid;
unsigned long long marchid;
@ -382,8 +375,6 @@ static void __init_riscv_features_bits_linux ()
__riscv_feature_bits.features[i] = features[i];
__riscv_feature_bits.length = RISCV_FEATURE_BITS_LENGTH;
__riscv_vendor_feature_bits.length = 0;
}
#endif
@ -402,7 +393,6 @@ __init_riscv_feature_bits ()
#else
/* Unsupported, just initialize that into all zeros. */
__riscv_feature_bits.length = 0;
__riscv_vendor_feature_bits.length = 0;
__riscv_cpu_model.mvendorid = 0;
__riscv_cpu_model.marchid = 0;
__riscv_cpu_model.mimpid = 0;