diff options
author | 2019-03-24 18:22:36 +0000 | |
---|---|---|
committer | 2019-03-24 18:22:36 +0000 | |
commit | b3dbd5f2ca08c6605873f66f80eb0045b3d69c0f (patch) | |
tree | a6c030c4f0c6b145a989213924224275ae8cbfae | |
parent | virtio: Prepare for 64 feature bits (diff) | |
download | wireguard-openbsd-b3dbd5f2ca08c6605873f66f80eb0045b3d69c0f.tar.xz wireguard-openbsd-b3dbd5f2ca08c6605873f66f80eb0045b3d69c0f.zip |
virtio: Add a few feature bit defines and names
ok mlarkin@
-rw-r--r-- | sys/dev/pv/if_vio.c | 86 | ||||
-rw-r--r-- | sys/dev/pv/vioblk.c | 5 | ||||
-rw-r--r-- | sys/dev/pv/vioblkreg.h | 23 | ||||
-rw-r--r-- | sys/dev/pv/virtio.c | 3 |
4 files changed, 66 insertions, 51 deletions
diff --git a/sys/dev/pv/if_vio.c b/sys/dev/pv/if_vio.c index a2ff1a81391..8a7a2564650 100644 --- a/sys/dev/pv/if_vio.c +++ b/sys/dev/pv/if_vio.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_vio.c,v 1.9 2019/03/24 18:21:12 sf Exp $ */ +/* $OpenBSD: if_vio.c,v 1.10 2019/03/24 18:22:36 sf Exp $ */ /* * Copyright (c) 2012 Stefan Fritsch, Alexander Fiveg. @@ -68,25 +68,29 @@ #define VIRTIO_NET_CONFIG_STATUS 6 /* 16bit */ /* Feature bits */ -#define VIRTIO_NET_F_CSUM (1ULL<<0) -#define VIRTIO_NET_F_GUEST_CSUM (1ULL<<1) -#define VIRTIO_NET_F_MAC (1ULL<<5) -#define VIRTIO_NET_F_GSO (1ULL<<6) -#define VIRTIO_NET_F_GUEST_TSO4 (1ULL<<7) -#define VIRTIO_NET_F_GUEST_TSO6 (1ULL<<8) -#define VIRTIO_NET_F_GUEST_ECN (1ULL<<9) -#define VIRTIO_NET_F_GUEST_UFO (1ULL<<10) -#define VIRTIO_NET_F_HOST_TSO4 (1ULL<<11) -#define VIRTIO_NET_F_HOST_TSO6 (1ULL<<12) -#define VIRTIO_NET_F_HOST_ECN (1ULL<<13) -#define VIRTIO_NET_F_HOST_UFO (1ULL<<14) -#define VIRTIO_NET_F_MRG_RXBUF (1ULL<<15) -#define VIRTIO_NET_F_STATUS (1ULL<<16) -#define VIRTIO_NET_F_CTRL_VQ (1ULL<<17) -#define VIRTIO_NET_F_CTRL_RX (1ULL<<18) -#define VIRTIO_NET_F_CTRL_VLAN (1ULL<<19) -#define VIRTIO_NET_F_CTRL_RX_EXTRA (1ULL<<20) -#define VIRTIO_NET_F_GUEST_ANNOUNCE (1ULL<<21) +#define VIRTIO_NET_F_CSUM (1ULL<<0) +#define VIRTIO_NET_F_GUEST_CSUM (1ULL<<1) +#define VIRTIO_NET_F_CTRL_GUEST_OFFLOADS (1ULL<<2) +#define VIRTIO_NET_F_MTU (1ULL<<3) +#define VIRTIO_NET_F_MAC (1ULL<<5) +#define VIRTIO_NET_F_GSO (1ULL<<6) +#define VIRTIO_NET_F_GUEST_TSO4 (1ULL<<7) +#define VIRTIO_NET_F_GUEST_TSO6 (1ULL<<8) +#define VIRTIO_NET_F_GUEST_ECN (1ULL<<9) +#define VIRTIO_NET_F_GUEST_UFO (1ULL<<10) +#define VIRTIO_NET_F_HOST_TSO4 (1ULL<<11) +#define VIRTIO_NET_F_HOST_TSO6 (1ULL<<12) +#define VIRTIO_NET_F_HOST_ECN (1ULL<<13) +#define VIRTIO_NET_F_HOST_UFO (1ULL<<14) +#define VIRTIO_NET_F_MRG_RXBUF (1ULL<<15) +#define VIRTIO_NET_F_STATUS (1ULL<<16) +#define VIRTIO_NET_F_CTRL_VQ (1ULL<<17) +#define VIRTIO_NET_F_CTRL_RX (1ULL<<18) +#define VIRTIO_NET_F_CTRL_VLAN (1ULL<<19) +#define VIRTIO_NET_F_CTRL_RX_EXTRA (1ULL<<20) +#define VIRTIO_NET_F_GUEST_ANNOUNCE (1ULL<<21) +#define VIRTIO_NET_F_MQ (1ULL<<22) +#define VIRTIO_NET_F_CTRL_MAC_ADDR (1ULL<<23) /* * Config(8) flags. The lowest byte is reserved for generic virtio stuff. @@ -97,25 +101,29 @@ static const struct virtio_feature_name virtio_net_feature_names[] = { #if VIRTIO_DEBUG - { VIRTIO_NET_F_CSUM, "CSum" }, - { VIRTIO_NET_F_GUEST_CSUM, "GuestCSum" }, - { VIRTIO_NET_F_MAC, "MAC" }, - { VIRTIO_NET_F_GSO, "GSO" }, - { VIRTIO_NET_F_GUEST_TSO4, "GuestTSO4" }, - { VIRTIO_NET_F_GUEST_TSO6, "GuestTSO6" }, - { VIRTIO_NET_F_GUEST_ECN, "GuestECN" }, - { VIRTIO_NET_F_GUEST_UFO, "GuestUFO" }, - { VIRTIO_NET_F_HOST_TSO4, "HostTSO4" }, - { VIRTIO_NET_F_HOST_TSO6, "HostTSO6" }, - { VIRTIO_NET_F_HOST_ECN, "HostECN" }, - { VIRTIO_NET_F_HOST_UFO, "HostUFO" }, - { VIRTIO_NET_F_MRG_RXBUF, "MrgRXBuf" }, - { VIRTIO_NET_F_STATUS, "Status" }, - { VIRTIO_NET_F_CTRL_VQ, "CtrlVQ" }, - { VIRTIO_NET_F_CTRL_RX, "CtrlRX" }, - { VIRTIO_NET_F_CTRL_VLAN, "CtrlVLAN" }, - { VIRTIO_NET_F_CTRL_RX_EXTRA, "CtrlRXExtra" }, - { VIRTIO_NET_F_GUEST_ANNOUNCE, "GuestAnnounce" }, + { VIRTIO_NET_F_CSUM, "CSum" }, + { VIRTIO_NET_F_GUEST_CSUM, "GuestCSum" }, + { VIRTIO_NET_F_CTRL_GUEST_OFFLOADS, "CtrlGuestOffl" }, + { VIRTIO_NET_F_MTU, "MTU", }, + { VIRTIO_NET_F_MAC, "MAC" }, + { VIRTIO_NET_F_GSO, "GSO" }, + { VIRTIO_NET_F_GUEST_TSO4, "GuestTSO4" }, + { VIRTIO_NET_F_GUEST_TSO6, "GuestTSO6" }, + { VIRTIO_NET_F_GUEST_ECN, "GuestECN" }, + { VIRTIO_NET_F_GUEST_UFO, "GuestUFO" }, + { VIRTIO_NET_F_HOST_TSO4, "HostTSO4" }, + { VIRTIO_NET_F_HOST_TSO6, "HostTSO6" }, + { VIRTIO_NET_F_HOST_ECN, "HostECN" }, + { VIRTIO_NET_F_HOST_UFO, "HostUFO" }, + { VIRTIO_NET_F_MRG_RXBUF, "MrgRXBuf" }, + { VIRTIO_NET_F_STATUS, "Status" }, + { VIRTIO_NET_F_CTRL_VQ, "CtrlVQ" }, + { VIRTIO_NET_F_CTRL_RX, "CtrlRX" }, + { VIRTIO_NET_F_CTRL_VLAN, "CtrlVLAN" }, + { VIRTIO_NET_F_CTRL_RX_EXTRA, "CtrlRXExtra" }, + { VIRTIO_NET_F_GUEST_ANNOUNCE, "GuestAnnounce" }, + { VIRTIO_NET_F_MQ, "MQ" }, + { VIRTIO_NET_F_CTRL_MAC_ADDR, "CtrlMAC" }, #endif { 0, NULL } }; diff --git a/sys/dev/pv/vioblk.c b/sys/dev/pv/vioblk.c index b3f820dc210..aeb7852d69f 100644 --- a/sys/dev/pv/vioblk.c +++ b/sys/dev/pv/vioblk.c @@ -1,4 +1,4 @@ -/* $OpenBSD: vioblk.c,v 1.11 2019/03/24 18:21:12 sf Exp $ */ +/* $OpenBSD: vioblk.c,v 1.12 2019/03/24 18:22:36 sf Exp $ */ /* * Copyright (c) 2012 Stefan Fritsch. @@ -82,6 +82,9 @@ struct virtio_feature_name vioblk_feature_names[] = { { VIRTIO_BLK_F_SCSI, "SCSI" }, { VIRTIO_BLK_F_FLUSH, "Flush" }, { VIRTIO_BLK_F_TOPOLOGY, "Topology" }, + { VIRTIO_BLK_F_CONFIG_WCE, "ConfigWCE" }, + { VIRTIO_BLK_F_DISCARD, "Discard" }, + { VIRTIO_BLK_F_WRITE_ZEROES, "Write0s" }, #endif { 0, NULL } }; diff --git a/sys/dev/pv/vioblkreg.h b/sys/dev/pv/vioblkreg.h index d78eaf97b21..f444261a5cf 100644 --- a/sys/dev/pv/vioblkreg.h +++ b/sys/dev/pv/vioblkreg.h @@ -1,4 +1,4 @@ -/* $OpenBSD: vioblkreg.h,v 1.3 2019/03/24 18:21:12 sf Exp $ */ +/* $OpenBSD: vioblkreg.h,v 1.4 2019/03/24 18:22:36 sf Exp $ */ /* * Copyright (c) 2012 Stefan Fritsch. @@ -40,15 +40,18 @@ #define VIRTIO_BLK_CONFIG_BLK_SIZE 20 /* 32bit */ /* Feature bits */ -#define VIRTIO_BLK_F_BARRIER (1ULL<<0) -#define VIRTIO_BLK_F_SIZE_MAX (1ULL<<1) -#define VIRTIO_BLK_F_SEG_MAX (1ULL<<2) -#define VIRTIO_BLK_F_GEOMETRY (1ULL<<4) -#define VIRTIO_BLK_F_RO (1ULL<<5) -#define VIRTIO_BLK_F_BLK_SIZE (1ULL<<6) -#define VIRTIO_BLK_F_SCSI (1ULL<<7) -#define VIRTIO_BLK_F_FLUSH (1ULL<<9) -#define VIRTIO_BLK_F_TOPOLOGY (1ULL<<10) +#define VIRTIO_BLK_F_BARRIER (1ULL<<0) +#define VIRTIO_BLK_F_SIZE_MAX (1ULL<<1) +#define VIRTIO_BLK_F_SEG_MAX (1ULL<<2) +#define VIRTIO_BLK_F_GEOMETRY (1ULL<<4) +#define VIRTIO_BLK_F_RO (1ULL<<5) +#define VIRTIO_BLK_F_BLK_SIZE (1ULL<<6) +#define VIRTIO_BLK_F_SCSI (1ULL<<7) +#define VIRTIO_BLK_F_FLUSH (1ULL<<9) +#define VIRTIO_BLK_F_TOPOLOGY (1ULL<<10) +#define VIRTIO_BLK_F_CONFIG_WCE (1ULL<<11) +#define VIRTIO_BLK_F_DISCARD (1ULL<<12) +#define VIRTIO_BLK_F_WRITE_ZEROES (1ULL<<13) /* Command */ #define VIRTIO_BLK_T_IN 0 diff --git a/sys/dev/pv/virtio.c b/sys/dev/pv/virtio.c index 27bca1a5506..3abbc072077 100644 --- a/sys/dev/pv/virtio.c +++ b/sys/dev/pv/virtio.c @@ -1,4 +1,4 @@ -/* $OpenBSD: virtio.c,v 1.15 2019/03/24 18:21:12 sf Exp $ */ +/* $OpenBSD: virtio.c,v 1.16 2019/03/24 18:22:36 sf Exp $ */ /* $NetBSD: virtio.c,v 1.3 2011/11/02 23:05:52 njoly Exp $ */ /* @@ -80,6 +80,7 @@ static const struct virtio_feature_name transport_feature_names[] = { { VIRTIO_F_RING_INDIRECT_DESC, "RingIndirectDesc"}, { VIRTIO_F_RING_EVENT_IDX, "RingEventIdx"}, { VIRTIO_F_BAD_FEATURE, "BadFeature"}, + { VIRTIO_F_VERSION_1, "Version1"}, { 0, NULL} }; |