virtio-devices: Automatically fix operator precedence clippy warning

Signed-off-by: Rob Bradford <rbradford@rivosinc.com>
This commit is contained in:
Rob Bradford 2025-01-06 18:09:49 +00:00 committed by Bo Chen
parent 21f05ebb4f
commit 2624f17ffe
9 changed files with 110 additions and 108 deletions

View File

@ -178,13 +178,13 @@ impl VhostUserBackendMut for VhostUserNetBackend {
| (1 << VIRTIO_NET_F_HOST_TSO4)
| (1 << VIRTIO_NET_F_HOST_TSO6)
| (1 << VIRTIO_NET_F_HOST_ECN)
| 1 << VIRTIO_NET_F_HOST_UFO
| 1 << VIRTIO_NET_F_CTRL_VQ
| 1 << VIRTIO_NET_F_MQ
| 1 << VIRTIO_NET_F_MAC
| 1 << VIRTIO_NET_F_MTU
| 1 << VIRTIO_F_NOTIFY_ON_EMPTY
| 1 << VIRTIO_F_VERSION_1
| (1 << VIRTIO_NET_F_HOST_UFO)
| (1 << VIRTIO_NET_F_CTRL_VQ)
| (1 << VIRTIO_NET_F_MQ)
| (1 << VIRTIO_NET_F_MAC)
| (1 << VIRTIO_NET_F_MTU)
| (1 << VIRTIO_F_NOTIFY_ON_EMPTY)
| (1 << VIRTIO_F_VERSION_1)
| VhostUserVirtioFeatures::PROTOCOL_FEATURES.bits()
}

View File

@ -624,7 +624,7 @@ impl Console {
true,
)
} else {
let mut avail_features = 1u64 << VIRTIO_F_VERSION_1 | 1u64 << VIRTIO_CONSOLE_F_SIZE;
let mut avail_features = (1u64 << VIRTIO_F_VERSION_1) | (1u64 << VIRTIO_CONSOLE_F_SIZE);
if iommu {
avail_features |= 1u64 << VIRTIO_F_IOMMU_PLATFORM;
}

View File

@ -210,7 +210,7 @@ pub struct VirtioCommon {
impl VirtioCommon {
pub fn feature_acked(&self, feature: u64) -> bool {
self.acked_features & 1 << feature == 1 << feature
self.acked_features & (1 << feature) == 1 << feature
}
pub fn ack_features(&mut self, value: u64) {

View File

@ -940,10 +940,10 @@ impl Iommu {
true,
)
} else {
let avail_features = 1u64 << VIRTIO_F_VERSION_1
| 1u64 << VIRTIO_IOMMU_F_MAP_UNMAP
| 1u64 << VIRTIO_IOMMU_F_PROBE
| 1u64 << VIRTIO_IOMMU_F_BYPASS_CONFIG;
let avail_features = (1u64 << VIRTIO_F_VERSION_1)
| (1u64 << VIRTIO_IOMMU_F_MAP_UNMAP)
| (1u64 << VIRTIO_IOMMU_F_PROBE)
| (1u64 << VIRTIO_IOMMU_F_BYPASS_CONFIG);
(avail_features, 0, BTreeMap::new(), BTreeMap::new(), false)
};

View File

@ -449,8 +449,9 @@ impl Net {
let mtu = taps[0].mtu().map_err(Error::TapError)? as u16;
let (avail_features, acked_features, config, queue_sizes, paused) =
if let Some(state) = state {
let (avail_features, acked_features, config, queue_sizes, paused) = if let Some(state) =
state
{
info!("Restoring virtio-net {}", id);
(
state.avail_features,
@ -460,8 +461,9 @@ impl Net {
true,
)
} else {
let mut avail_features =
1 << VIRTIO_NET_F_MTU | 1 << VIRTIO_RING_F_EVENT_IDX | 1 << VIRTIO_F_VERSION_1;
let mut avail_features = (1 << VIRTIO_NET_F_MTU)
| (1 << VIRTIO_RING_F_EVENT_IDX)
| (1 << VIRTIO_F_VERSION_1);
if iommu {
avail_features |= 1u64 << VIRTIO_F_IOMMU_PLATFORM;
@ -469,21 +471,21 @@ impl Net {
// Configure TSO/UFO features when hardware checksum offload is enabled.
if offload_csum {
avail_features |= 1 << VIRTIO_NET_F_CSUM
| 1 << VIRTIO_NET_F_GUEST_CSUM
| 1 << VIRTIO_NET_F_CTRL_GUEST_OFFLOADS;
avail_features |= (1 << VIRTIO_NET_F_CSUM)
| (1 << VIRTIO_NET_F_GUEST_CSUM)
| (1 << VIRTIO_NET_F_CTRL_GUEST_OFFLOADS);
if offload_tso {
avail_features |= 1 << VIRTIO_NET_F_HOST_ECN
| 1 << VIRTIO_NET_F_HOST_TSO4
| 1 << VIRTIO_NET_F_HOST_TSO6
| 1 << VIRTIO_NET_F_GUEST_ECN
| 1 << VIRTIO_NET_F_GUEST_TSO4
| 1 << VIRTIO_NET_F_GUEST_TSO6;
avail_features |= (1 << VIRTIO_NET_F_HOST_ECN)
| (1 << VIRTIO_NET_F_HOST_TSO4)
| (1 << VIRTIO_NET_F_HOST_TSO6)
| (1 << VIRTIO_NET_F_GUEST_ECN)
| (1 << VIRTIO_NET_F_GUEST_TSO4)
| (1 << VIRTIO_NET_F_GUEST_TSO6);
}
if offload_ufo {
avail_features |= 1 << VIRTIO_NET_F_HOST_UFO | 1 << VIRTIO_NET_F_GUEST_UFO;
avail_features |= (1 << VIRTIO_NET_F_HOST_UFO) | (1 << VIRTIO_NET_F_GUEST_UFO);
}
}

View File

@ -98,16 +98,16 @@ impl Blk {
)
} else {
// Filling device and vring features VMM supports.
let mut avail_features = 1 << VIRTIO_BLK_F_SIZE_MAX
| 1 << VIRTIO_BLK_F_SEG_MAX
| 1 << VIRTIO_BLK_F_GEOMETRY
| 1 << VIRTIO_BLK_F_RO
| 1 << VIRTIO_BLK_F_BLK_SIZE
| 1 << VIRTIO_BLK_F_FLUSH
| 1 << VIRTIO_BLK_F_TOPOLOGY
| 1 << VIRTIO_BLK_F_CONFIG_WCE
| 1 << VIRTIO_BLK_F_DISCARD
| 1 << VIRTIO_BLK_F_WRITE_ZEROES
let mut avail_features = (1 << VIRTIO_BLK_F_SIZE_MAX)
| (1 << VIRTIO_BLK_F_SEG_MAX)
| (1 << VIRTIO_BLK_F_GEOMETRY)
| (1 << VIRTIO_BLK_F_RO)
| (1 << VIRTIO_BLK_F_BLK_SIZE)
| (1 << VIRTIO_BLK_F_FLUSH)
| (1 << VIRTIO_BLK_F_TOPOLOGY)
| (1 << VIRTIO_BLK_F_CONFIG_WCE)
| (1 << VIRTIO_BLK_F_DISCARD)
| (1 << VIRTIO_BLK_F_WRITE_ZEROES)
| DEFAULT_VIRTIO_FEATURES;
if num_queues > 1 {

View File

@ -147,12 +147,12 @@ pub enum Error {
}
type Result<T> = std::result::Result<T, Error>;
pub const DEFAULT_VIRTIO_FEATURES: u64 = 1 << VIRTIO_F_RING_INDIRECT_DESC
| 1 << VIRTIO_F_RING_EVENT_IDX
| 1 << VIRTIO_F_VERSION_1
| 1 << VIRTIO_F_IN_ORDER
| 1 << VIRTIO_F_ORDER_PLATFORM
| 1 << VIRTIO_F_NOTIFICATION_DATA
pub const DEFAULT_VIRTIO_FEATURES: u64 = (1 << VIRTIO_F_RING_INDIRECT_DESC)
| (1 << VIRTIO_F_RING_EVENT_IDX)
| (1 << VIRTIO_F_VERSION_1)
| (1 << VIRTIO_F_IN_ORDER)
| (1 << VIRTIO_F_ORDER_PLATFORM)
| (1 << VIRTIO_F_NOTIFICATION_DATA)
| VhostUserVirtioFeatures::PROTOCOL_FEATURES.bits();
const HUP_CONNECTION_EVENT: u16 = EPOLL_HELPER_EVENT_LAST + 1;

View File

@ -118,10 +118,10 @@ impl Net {
)
} else {
// Filling device and vring features VMM supports.
let mut avail_features = 1 << VIRTIO_NET_F_MRG_RXBUF
| 1 << VIRTIO_NET_F_CTRL_VQ
| 1 << VIRTIO_F_RING_EVENT_IDX
| 1 << VIRTIO_F_VERSION_1
let mut avail_features = (1 << VIRTIO_NET_F_MRG_RXBUF)
| (1 << VIRTIO_NET_F_CTRL_VQ)
| (1 << VIRTIO_F_RING_EVENT_IDX)
| (1 << VIRTIO_F_VERSION_1)
| VhostUserVirtioFeatures::PROTOCOL_FEATURES.bits();
if mtu.is_some() {
@ -130,19 +130,19 @@ impl Net {
// Configure TSO/UFO features when hardware checksum offload is enabled.
if offload_csum {
avail_features |= 1 << VIRTIO_NET_F_CSUM | 1 << VIRTIO_NET_F_GUEST_CSUM;
avail_features |= (1 << VIRTIO_NET_F_CSUM) | (1 << VIRTIO_NET_F_GUEST_CSUM);
if offload_tso {
avail_features |= 1 << VIRTIO_NET_F_HOST_ECN
| 1 << VIRTIO_NET_F_HOST_TSO4
| 1 << VIRTIO_NET_F_HOST_TSO6
| 1 << VIRTIO_NET_F_GUEST_ECN
| 1 << VIRTIO_NET_F_GUEST_TSO4
| 1 << VIRTIO_NET_F_GUEST_TSO6;
avail_features |= (1 << VIRTIO_NET_F_HOST_ECN)
| (1 << VIRTIO_NET_F_HOST_TSO4)
| (1 << VIRTIO_NET_F_HOST_TSO6)
| (1 << VIRTIO_NET_F_GUEST_ECN)
| (1 << VIRTIO_NET_F_GUEST_TSO4)
| (1 << VIRTIO_NET_F_GUEST_TSO6);
}
if offload_ufo {
avail_features |= 1 << VIRTIO_NET_F_HOST_UFO | 1 << VIRTIO_NET_F_GUEST_UFO;
avail_features |= (1 << VIRTIO_NET_F_HOST_UFO) | (1 << VIRTIO_NET_F_GUEST_UFO);
}
}

View File

@ -344,7 +344,7 @@ where
info!("Restoring virtio-vsock {}", id);
(state.avail_features, state.acked_features, true)
} else {
let mut avail_features = 1u64 << VIRTIO_F_VERSION_1 | 1u64 << VIRTIO_F_IN_ORDER;
let mut avail_features = (1u64 << VIRTIO_F_VERSION_1) | (1u64 << VIRTIO_F_IN_ORDER);
if iommu {
avail_features |= 1u64 << VIRTIO_F_IOMMU_PLATFORM;
@ -529,7 +529,7 @@ mod tests {
#[test]
fn test_virtio_device() {
let mut ctx = TestContext::new();
let avail_features = 1u64 << VIRTIO_F_VERSION_1 | 1u64 << VIRTIO_F_IN_ORDER;
let avail_features = (1u64 << VIRTIO_F_VERSION_1) | (1u64 << VIRTIO_F_IN_ORDER);
let device_features = avail_features;
let driver_features: u64 = avail_features | 1 | (1 << 32);
let device_pages = [