[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [virtio-dev] [PATCH v4] virtio-spi: add the device specification
On 08.11.23 17:04, Mark Brown wrote:
On Wed, Nov 08, 2023 at 11:42:40PM +0800, Haixu Cui wrote:On 11/6/2023 9:33 PM, Mark Brown wrote:On Tue, Oct 24, 2023 at 08:53:46PM +0800, Haixu Cui wrote:+ le16 bus_num; + le16 chip_select_max_number;That's a *lot* of potential buses and chip selects...Here you mean the types of bus_num and chip_select_max_number are "le16"? Here I use 16 bits because bus_num and num_chipselect in spi_controller structure are both 16 bits.Yeah, I think that's more for padding/alignment reasons than anything else. TBH I wondered if just going for a standard int might be better, it's the combination of picking a smaller type but one that's relatively large for the domain.
We cannot use int at interfaces between device and driver in the virtio world:
- "int" is machine dependent, sizeof may be 2, 4 or 8.- It is signed which would be new for the virtio specification. Not done for other devices.
- How are signs represented? 2s complement? Strange machines do not use 2s complement. Good is that most of those strange machines have still tubes and are by now obsolete.
- The endianess is machine dependent and device and driver may use internally a different native byte ordering. Strange but this is imaginable.
le16 is a well defined unsigned type with sizeof 2 bytes and endianess defined as "little endian".
What byte ordering are the multi-byte words in - CPU native or a particular endianness (eg, wire native)?
Virtio uses little endian. (Some data structures in the RPMB device use big endian. But this is an exception and there this was done for a good reason.)
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]