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_TSO4)
| (1 << VIRTIO_NET_F_HOST_TSO6) | (1 << VIRTIO_NET_F_HOST_TSO6)
| (1 << VIRTIO_NET_F_HOST_ECN) | (1 << VIRTIO_NET_F_HOST_ECN)
| 1 << VIRTIO_NET_F_HOST_UFO | (1 << VIRTIO_NET_F_HOST_UFO)
| 1 << VIRTIO_NET_F_CTRL_VQ | (1 << VIRTIO_NET_F_CTRL_VQ)
| 1 << VIRTIO_NET_F_MQ | (1 << VIRTIO_NET_F_MQ)
| 1 << VIRTIO_NET_F_MAC | (1 << VIRTIO_NET_F_MAC)
| 1 << VIRTIO_NET_F_MTU | (1 << VIRTIO_NET_F_MTU)
| 1 << VIRTIO_F_NOTIFY_ON_EMPTY | (1 << VIRTIO_F_NOTIFY_ON_EMPTY)
| 1 << VIRTIO_F_VERSION_1 | (1 << VIRTIO_F_VERSION_1)
| VhostUserVirtioFeatures::PROTOCOL_FEATURES.bits() | VhostUserVirtioFeatures::PROTOCOL_FEATURES.bits()
} }

View File

@ -624,7 +624,7 @@ impl Console {
true, true,
) )
} else { } 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 { if iommu {
avail_features |= 1u64 << VIRTIO_F_IOMMU_PLATFORM; avail_features |= 1u64 << VIRTIO_F_IOMMU_PLATFORM;
} }

View File

@ -210,7 +210,7 @@ pub struct VirtioCommon {
impl VirtioCommon { impl VirtioCommon {
pub fn feature_acked(&self, feature: u64) -> bool { 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) { pub fn ack_features(&mut self, value: u64) {

View File

@ -940,10 +940,10 @@ impl Iommu {
true, true,
) )
} else { } else {
let avail_features = 1u64 << VIRTIO_F_VERSION_1 let avail_features = (1u64 << VIRTIO_F_VERSION_1)
| 1u64 << VIRTIO_IOMMU_F_MAP_UNMAP | (1u64 << VIRTIO_IOMMU_F_MAP_UNMAP)
| 1u64 << VIRTIO_IOMMU_F_PROBE | (1u64 << VIRTIO_IOMMU_F_PROBE)
| 1u64 << VIRTIO_IOMMU_F_BYPASS_CONFIG; | (1u64 << VIRTIO_IOMMU_F_BYPASS_CONFIG);
(avail_features, 0, BTreeMap::new(), BTreeMap::new(), false) (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 mtu = taps[0].mtu().map_err(Error::TapError)? as u16;
let (avail_features, acked_features, config, queue_sizes, paused) = let (avail_features, acked_features, config, queue_sizes, paused) = if let Some(state) =
if let Some(state) = state { state
{
info!("Restoring virtio-net {}", id); info!("Restoring virtio-net {}", id);
( (
state.avail_features, state.avail_features,
@ -460,8 +461,9 @@ impl Net {
true, true,
) )
} else { } else {
let mut avail_features = let mut avail_features = (1 << VIRTIO_NET_F_MTU)
1 << VIRTIO_NET_F_MTU | 1 << VIRTIO_RING_F_EVENT_IDX | 1 << VIRTIO_F_VERSION_1; | (1 << VIRTIO_RING_F_EVENT_IDX)
| (1 << VIRTIO_F_VERSION_1);
if iommu { if iommu {
avail_features |= 1u64 << VIRTIO_F_IOMMU_PLATFORM; avail_features |= 1u64 << VIRTIO_F_IOMMU_PLATFORM;
@ -469,21 +471,21 @@ impl Net {
// Configure TSO/UFO features when hardware checksum offload is enabled. // Configure TSO/UFO features when hardware checksum offload is enabled.
if offload_csum { if offload_csum {
avail_features |= 1 << VIRTIO_NET_F_CSUM avail_features |= (1 << VIRTIO_NET_F_CSUM)
| 1 << VIRTIO_NET_F_GUEST_CSUM | (1 << VIRTIO_NET_F_GUEST_CSUM)
| 1 << VIRTIO_NET_F_CTRL_GUEST_OFFLOADS; | (1 << VIRTIO_NET_F_CTRL_GUEST_OFFLOADS);
if offload_tso { if offload_tso {
avail_features |= 1 << VIRTIO_NET_F_HOST_ECN avail_features |= (1 << VIRTIO_NET_F_HOST_ECN)
| 1 << VIRTIO_NET_F_HOST_TSO4 | (1 << VIRTIO_NET_F_HOST_TSO4)
| 1 << VIRTIO_NET_F_HOST_TSO6 | (1 << VIRTIO_NET_F_HOST_TSO6)
| 1 << VIRTIO_NET_F_GUEST_ECN | (1 << VIRTIO_NET_F_GUEST_ECN)
| 1 << VIRTIO_NET_F_GUEST_TSO4 | (1 << VIRTIO_NET_F_GUEST_TSO4)
| 1 << VIRTIO_NET_F_GUEST_TSO6; | (1 << VIRTIO_NET_F_GUEST_TSO6);
} }
if offload_ufo { 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 { } else {
// Filling device and vring features VMM supports. // Filling device and vring features VMM supports.
let mut avail_features = 1 << VIRTIO_BLK_F_SIZE_MAX let mut avail_features = (1 << VIRTIO_BLK_F_SIZE_MAX)
| 1 << VIRTIO_BLK_F_SEG_MAX | (1 << VIRTIO_BLK_F_SEG_MAX)
| 1 << VIRTIO_BLK_F_GEOMETRY | (1 << VIRTIO_BLK_F_GEOMETRY)
| 1 << VIRTIO_BLK_F_RO | (1 << VIRTIO_BLK_F_RO)
| 1 << VIRTIO_BLK_F_BLK_SIZE | (1 << VIRTIO_BLK_F_BLK_SIZE)
| 1 << VIRTIO_BLK_F_FLUSH | (1 << VIRTIO_BLK_F_FLUSH)
| 1 << VIRTIO_BLK_F_TOPOLOGY | (1 << VIRTIO_BLK_F_TOPOLOGY)
| 1 << VIRTIO_BLK_F_CONFIG_WCE | (1 << VIRTIO_BLK_F_CONFIG_WCE)
| 1 << VIRTIO_BLK_F_DISCARD | (1 << VIRTIO_BLK_F_DISCARD)
| 1 << VIRTIO_BLK_F_WRITE_ZEROES | (1 << VIRTIO_BLK_F_WRITE_ZEROES)
| DEFAULT_VIRTIO_FEATURES; | DEFAULT_VIRTIO_FEATURES;
if num_queues > 1 { if num_queues > 1 {

View File

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

View File

@ -118,10 +118,10 @@ impl Net {
) )
} else { } else {
// Filling device and vring features VMM supports. // Filling device and vring features VMM supports.
let mut avail_features = 1 << VIRTIO_NET_F_MRG_RXBUF let mut avail_features = (1 << VIRTIO_NET_F_MRG_RXBUF)
| 1 << VIRTIO_NET_F_CTRL_VQ | (1 << VIRTIO_NET_F_CTRL_VQ)
| 1 << VIRTIO_F_RING_EVENT_IDX | (1 << VIRTIO_F_RING_EVENT_IDX)
| 1 << VIRTIO_F_VERSION_1 | (1 << VIRTIO_F_VERSION_1)
| VhostUserVirtioFeatures::PROTOCOL_FEATURES.bits(); | VhostUserVirtioFeatures::PROTOCOL_FEATURES.bits();
if mtu.is_some() { if mtu.is_some() {
@ -130,19 +130,19 @@ impl Net {
// Configure TSO/UFO features when hardware checksum offload is enabled. // Configure TSO/UFO features when hardware checksum offload is enabled.
if offload_csum { 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 { if offload_tso {
avail_features |= 1 << VIRTIO_NET_F_HOST_ECN avail_features |= (1 << VIRTIO_NET_F_HOST_ECN)
| 1 << VIRTIO_NET_F_HOST_TSO4 | (1 << VIRTIO_NET_F_HOST_TSO4)
| 1 << VIRTIO_NET_F_HOST_TSO6 | (1 << VIRTIO_NET_F_HOST_TSO6)
| 1 << VIRTIO_NET_F_GUEST_ECN | (1 << VIRTIO_NET_F_GUEST_ECN)
| 1 << VIRTIO_NET_F_GUEST_TSO4 | (1 << VIRTIO_NET_F_GUEST_TSO4)
| 1 << VIRTIO_NET_F_GUEST_TSO6; | (1 << VIRTIO_NET_F_GUEST_TSO6);
} }
if offload_ufo { 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); info!("Restoring virtio-vsock {}", id);
(state.avail_features, state.acked_features, true) (state.avail_features, state.acked_features, true)
} else { } 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 { if iommu {
avail_features |= 1u64 << VIRTIO_F_IOMMU_PLATFORM; avail_features |= 1u64 << VIRTIO_F_IOMMU_PLATFORM;
@ -529,7 +529,7 @@ mod tests {
#[test] #[test]
fn test_virtio_device() { fn test_virtio_device() {
let mut ctx = TestContext::new(); 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 device_features = avail_features;
let driver_features: u64 = avail_features | 1 | (1 << 32); let driver_features: u64 = avail_features | 1 | (1 << 32);
let device_pages = [ let device_pages = [