Displaying 20 results from an estimated 108 matches for "__cpu_to_virtio16".
2015 Sep 24
2
[PATCH v2] Fix AF_PACKET ABI breakage in 4.2
...o byteswap ? Something like:
static inline bool packet_is_little_endian(void)
{
return virtio_legacy_is_little_endian();
}
static inline u16 packet16_to_cpu(__virtio16 val)
{
return __virtio16_to_cpu(packet_is_little_endian(), val);
}
static inline __virtio16 cpu_to_packet16(u16 val)
{
return __cpu_to_virtio16(packet_is_little_endian(), val);
}
It results in prettier code IMHO. Have a look at drivers/net/tun.c or
drivers/vhost/vhost.c.
> This restores the ABI to match 4.1 and earlier kernels, and makes my
> test program work again.
>
BTW, there is still work to do if we want to support cross...
2015 Sep 24
2
[PATCH v2] Fix AF_PACKET ABI breakage in 4.2
...o byteswap ? Something like:
static inline bool packet_is_little_endian(void)
{
return virtio_legacy_is_little_endian();
}
static inline u16 packet16_to_cpu(__virtio16 val)
{
return __virtio16_to_cpu(packet_is_little_endian(), val);
}
static inline __virtio16 cpu_to_packet16(u16 val)
{
return __cpu_to_virtio16(packet_is_little_endian(), val);
}
It results in prettier code IMHO. Have a look at drivers/net/tun.c or
drivers/vhost/vhost.c.
> This restores the ABI to match 4.1 and earlier kernels, and makes my
> test program work again.
>
BTW, there is still work to do if we want to support cross...
2015 Sep 24
0
[PATCH v2] Fix AF_PACKET ABI breakage in 4.2
...ittle_endian(void)
> {
> return virtio_legacy_is_little_endian();
> }
>
> static inline u16 packet16_to_cpu(__virtio16 val)
> {
> return __virtio16_to_cpu(packet_is_little_endian(), val);
> }
>
> static inline __virtio16 cpu_to_packet16(u16 val)
> {
> return __cpu_to_virtio16(packet_is_little_endian(), val);
> }
>
> It results in prettier code IMHO. Have a look at drivers/net/tun.c or
> drivers/vhost/vhost.c.
>
> > This restores the ABI to match 4.1 and earlier kernels, and makes my
> > test program work again.
> >
>
> BTW, the...
2015 Sep 24
1
[PATCH v2] Fix AF_PACKET ABI breakage in 4.2
...;
>
> if ((vnet_hdr.flags & VIRTIO_NET_HDR_F_NEEDS_CSUM) &&
> - (__virtio16_to_cpu(false, vnet_hdr.csum_start) +
> - __virtio16_to_cpu(false, vnet_hdr.csum_offset) + 2 >
> - __virtio16_to_cpu(false, vnet_hdr.hdr_len)))
> - vnet_hdr.hdr_len = __cpu_to_virtio16(false,
> - __virtio16_to_cpu(false, vnet_hdr.csum_start) +
> - __virtio16_to_cpu(false, vnet_hdr.csum_offset) + 2);
> + (__virtio16_to_cpu(vio_le(), vnet_hdr.csum_start) +
> + __virtio16_to_cpu(vio_le(), vnet_hdr.csum_offset) + 2 >
> + __virtio16_to_cpu(vi...
2015 Sep 24
1
[PATCH v2] Fix AF_PACKET ABI breakage in 4.2
...;
>
> if ((vnet_hdr.flags & VIRTIO_NET_HDR_F_NEEDS_CSUM) &&
> - (__virtio16_to_cpu(false, vnet_hdr.csum_start) +
> - __virtio16_to_cpu(false, vnet_hdr.csum_offset) + 2 >
> - __virtio16_to_cpu(false, vnet_hdr.hdr_len)))
> - vnet_hdr.hdr_len = __cpu_to_virtio16(false,
> - __virtio16_to_cpu(false, vnet_hdr.csum_start) +
> - __virtio16_to_cpu(false, vnet_hdr.csum_offset) + 2);
> + (__virtio16_to_cpu(vio_le(), vnet_hdr.csum_start) +
> + __virtio16_to_cpu(vio_le(), vnet_hdr.csum_offset) + 2 >
> + __virtio16_to_cpu(vi...
2020 Jul 13
0
[vhost:config-endian 38/39] drivers/platform/mellanox/mlxbf-tmfifo.c:1241:22: error: expected ')' before ';' token
...(MLXBF_TMFIFO_NET_FEATURES & (1ULL << VIRTIO_F_VERSION_1))
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/platform/mellanox/mlxbf-tmfifo.c:1240:37: note: in expansion of macro 'MLXBF_TMFIFO_LITTLE_ENDIAN'
1240 | net_config.mtu = __cpu_to_virtio16(MLXBF_TMFIFO_LITTLE_ENDIAN,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/platform/mellanox/mlxbf-tmfifo.c:1241:22: error: expected ')' before ';' token
1241 | ETH_DATA_LEN);
| ^
|...
2014 Oct 23
0
[PATCH RFC] tun: fix sparse warnings for virtio headers
..._NEEDS_CSUM) &&
- gso.csum_start + gso.csum_offset + 2 > gso.hdr_len)
- gso.hdr_len = gso.csum_start + gso.csum_offset + 2;
+ __virtio16_to_cpu(false, gso.csum_start) + __virtio16_to_cpu(false, gso.csum_offset) + 2 > __virtio16_to_cpu(false, gso.hdr_len))
+ gso.hdr_len = __cpu_to_virtio16(false, __virtio16_to_cpu(false, gso.csum_start) + __virtio16_to_cpu(false, gso.csum_offset) + 2);
- if (gso.hdr_len > len)
+ if (__virtio16_to_cpu(false, gso.hdr_len) > len)
return -EINVAL;
offset += tun->vnet_hdr_sz;
}
@@ -1054,7 +1054,7 @@ static ssize_t tun_get_user(struct...
2014 Oct 23
0
[PATCH RFC] tun: fix sparse warnings for virtio headers
..._NEEDS_CSUM) &&
- gso.csum_start + gso.csum_offset + 2 > gso.hdr_len)
- gso.hdr_len = gso.csum_start + gso.csum_offset + 2;
+ __virtio16_to_cpu(false, gso.csum_start) + __virtio16_to_cpu(false, gso.csum_offset) + 2 > __virtio16_to_cpu(false, gso.hdr_len))
+ gso.hdr_len = __cpu_to_virtio16(false, __virtio16_to_cpu(false, gso.csum_start) + __virtio16_to_cpu(false, gso.csum_offset) + 2);
- if (gso.hdr_len > len)
+ if (__virtio16_to_cpu(false, gso.hdr_len) > len)
return -EINVAL;
offset += tun->vnet_hdr_sz;
}
@@ -1054,7 +1054,7 @@ static ssize_t tun_get_user(struct...
2015 Apr 23
16
[PATCH v5 0/8] vhost: support for cross endian guests
Hi,
This patchset allows vhost to be used with legacy virtio when guest and host
have a different endianness. It is compatible with modern virtio and can be
fully compiled out through kernel config.
FWIW, I could flawlessly kexec/reboot guests from ppc64 to ppc64le and back.
I could also migrate from a ppc64 to a ppc64le host and back. No regressions
on x86 as expected. My experimental QEMU tree
2015 Apr 23
16
[PATCH v5 0/8] vhost: support for cross endian guests
Hi,
This patchset allows vhost to be used with legacy virtio when guest and host
have a different endianness. It is compatible with modern virtio and can be
fully compiled out through kernel config.
FWIW, I could flawlessly kexec/reboot guests from ppc64 to ppc64le and back.
I could also migrate from a ppc64 to a ppc64le host and back. No regressions
on x86 as expected. My experimental QEMU tree
2016 Jun 08
7
[PATCH 0/6] virtio_net: use common code for virtio_net_hdr and skb GSO conversion
Hi,
This patches introduce virtio_net_hdr_{from,to}_skb functions for
conversion of GSO information between skb and virtio_net_hdr.
Mike Rapoport (6):
virtio_net: add _UAPI prefix to virtio_net header guards
virtio_net: introduce virtio_net_hdr_{from,to}_skb
macvtap: use common code for virtio_net_hdr and skb GSO conversion
tuntap: use common code for virtio_net_hdr and skb GSO
2016 Jun 08
7
[PATCH 0/6] virtio_net: use common code for virtio_net_hdr and skb GSO conversion
Hi,
This patches introduce virtio_net_hdr_{from,to}_skb functions for
conversion of GSO information between skb and virtio_net_hdr.
Mike Rapoport (6):
virtio_net: add _UAPI prefix to virtio_net header guards
virtio_net: introduce virtio_net_hdr_{from,to}_skb
macvtap: use common code for virtio_net_hdr and skb GSO conversion
tuntap: use common code for virtio_net_hdr and skb GSO
2015 Apr 02
9
[PATCH v2 0/7] vhost: support for cross endian guests
Hi,
This patchset allows vhost to be used with legacy virtio when guest and host
have a different endianness. It is a complete rework of my initial post.
Patches 1 to 5 are preliminary work: we move the endianness check out of all
memory accessors to separate functions.
Patch 6 changes the semantics of the accessors so that they have explicit big
endian support.
Patch 7 brings the cross-endian
2015 Apr 02
9
[PATCH v2 0/7] vhost: support for cross endian guests
Hi,
This patchset allows vhost to be used with legacy virtio when guest and host
have a different endianness. It is a complete rework of my initial post.
Patches 1 to 5 are preliminary work: we move the endianness check out of all
memory accessors to separate functions.
Patch 6 changes the semantics of the accessors so that they have explicit big
endian support.
Patch 7 brings the cross-endian
2015 Apr 24
27
[PATCH v6 0/8] vhost: support for cross endian guests
Only cosmetic and documentation changes since v5.
---
Greg Kurz (8):
virtio: introduce virtio_is_little_endian() helper
tun: add tun_is_little_endian() helper
macvtap: introduce macvtap_is_little_endian() helper
vringh: introduce vringh_is_little_endian() helper
vhost: introduce vhost_is_little_endian() helper
virtio: add explicit big-endian support to memory
2015 Apr 24
27
[PATCH v6 0/8] vhost: support for cross endian guests
Only cosmetic and documentation changes since v5.
---
Greg Kurz (8):
virtio: introduce virtio_is_little_endian() helper
tun: add tun_is_little_endian() helper
macvtap: introduce macvtap_is_little_endian() helper
vringh: introduce vringh_is_little_endian() helper
vhost: introduce vhost_is_little_endian() helper
virtio: add explicit big-endian support to memory
2015 Apr 07
13
[PATCH v3 0/7] vhost: support for cross endian guests
Hi,
This patchset allows vhost to be used with legacy virtio when guest and host
have a different endianness.
Patches 1-6 remain the same as the previous post. Patch 7 was heavily changed
according to MST's comments.
---
Greg Kurz (7):
virtio: introduce virtio_is_little_endian() helper
tun: add tun_is_little_endian() helper
macvtap: introduce macvtap_is_little_endian()
2015 Apr 07
13
[PATCH v3 0/7] vhost: support for cross endian guests
Hi,
This patchset allows vhost to be used with legacy virtio when guest and host
have a different endianness.
Patches 1-6 remain the same as the previous post. Patch 7 was heavily changed
according to MST's comments.
---
Greg Kurz (7):
virtio: introduce virtio_is_little_endian() helper
tun: add tun_is_little_endian() helper
macvtap: introduce macvtap_is_little_endian()
2020 Jul 12
0
[vhost:config-endian 38/39] drivers/platform/mellanox/mlxbf-tmfifo.c:1237:2: error: invalid preprocessing directive #defined; did you mean
...lxbf-tmfifo.c:1238:62: error: expected statement before ')' token
>> drivers/platform/mellanox/mlxbf-tmfifo.c:1240:37: error: 'MLXBF_TMFIFO_LITTLE_ENDIAN' undeclared (first use in this function); did you mean 'MLXBF_TMFIFO_NET_L2_OVERHEAD'?
1240 | net_config.mtu = __cpu_to_virtio16(MLXBF_TMFIFO_LITTLE_ENDIAN,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
| MLXBF_TMFIFO_NET_L2_OVERHEAD
drivers/platform/mellanox/mlxbf-tmfifo.c:1240:37: note: each undeclared identifier is reported only once for each func...
2015 Apr 10
16
[PATCH v4 0/8] vhost: support for cross endian guests
Hi,
This patchset allows vhost to be used with legacy virtio when guest and host
have a different endianness.
Patch 7 got rewritten according to Cornelia's and Michael's comments. I have
also introduced patch 8 that brings BE vnet headers support to tun/macvtap.
This series is enough to have vhost_net working flawlessly. I could
succesfully reboot guests from ppc64 to ppc64le and