[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v4 5/7] xen/riscv: introduce and initialize SBI RFENCE extension
On Tue, 2024-08-13 at 11:34 +0200, Jan Beulich wrote: > > > > +static unsigned long sbi_spec_version = SBI_SPEC_VERSION_DEFAULT; > > +static unsigned long sbi_fw_id, sbi_fw_version; > > __ro_after_init for perhaps all three of them? > > Considering SBI_SPEC_VERSION_{MAJOR,MINOR}_MASK, at least the first > of them also doesn't need to be unsigned long, but could be unsigned > int? sbi_spec_version can be really unsigned int as according to the spec only 32 bits are used: ``` struct sbiret sbi_get_spec_version(void); Returns the current SBI specification version. This function must always succeed. The minor number of the SBI specification is encoded in the low 24 bits, with the major number encoded in the next 7 bits. Bit 31 must be 0 and is reserved for future expansion. ``` For sbi_fw_id, sbi_fw_version it is not mentioned the same thing, so we can just assume ( despite of the fact that now this values are very small and it is unlikely to be bigger the UINT_MAX ) that it will be always fit in uint32_t. But I think it would be better to leave unsigned long for everyone as according to the specification this functions returns sbiret structure which consist of 2 longs ( error and value ) and it is good idea to follow the specification. ~ Oleksii
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |