summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/fdt/virtio_mmio.c10
-rw-r--r--sys/dev/pci/virtio_pci.c10
-rw-r--r--sys/dev/pv/if_vio.c42
-rw-r--r--sys/dev/pv/vioblk.c4
-rw-r--r--sys/dev/pv/vioblkreg.h20
-rw-r--r--sys/dev/pv/viocon.c8
-rw-r--r--sys/dev/pv/viomb.c6
-rw-r--r--sys/dev/pv/vioscsireg.h6
-rw-r--r--sys/dev/pv/virtio.c8
-rw-r--r--sys/dev/pv/virtioreg.h12
-rw-r--r--sys/dev/pv/virtiovar.h8
-rw-r--r--sys/dev/pv/vmmci.c10
12 files changed, 72 insertions, 72 deletions
diff --git a/sys/dev/fdt/virtio_mmio.c b/sys/dev/fdt/virtio_mmio.c
index e72138e480b..60d51bd2e67 100644
--- a/sys/dev/fdt/virtio_mmio.c
+++ b/sys/dev/fdt/virtio_mmio.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: virtio_mmio.c,v 1.6 2019/03/24 18:17:24 sf Exp $ */
+/* $OpenBSD: virtio_mmio.c,v 1.7 2019/03/24 18:21:12 sf Exp $ */
/* $NetBSD: virtio.c,v 1.3 2011/11/02 23:05:52 njoly Exp $ */
/*
@@ -91,7 +91,7 @@ void virtio_mmio_write_device_config_8(struct virtio_softc *, int, uint64_t);
uint16_t virtio_mmio_read_queue_size(struct virtio_softc *, uint16_t);
void virtio_mmio_setup_queue(struct virtio_softc *, struct virtqueue *, uint64_t);
void virtio_mmio_set_status(struct virtio_softc *, int);
-uint32_t virtio_mmio_negotiate_features(struct virtio_softc *, uint32_t,
+uint64_t virtio_mmio_negotiate_features(struct virtio_softc *, uint64_t,
const struct virtio_feature_name *);
int virtio_mmio_intr(void *);
@@ -300,12 +300,12 @@ virtio_mmio_detach(struct device *self, int flags)
* Prints available / negotiated features if guest_feature_names != NULL and
* VIRTIO_DEBUG is 1
*/
-uint32_t
-virtio_mmio_negotiate_features(struct virtio_softc *vsc, uint32_t guest_features,
+uint64_t
+virtio_mmio_negotiate_features(struct virtio_softc *vsc, uint64_t guest_features,
const struct virtio_feature_name *guest_feature_names)
{
struct virtio_mmio_softc *sc = (struct virtio_mmio_softc *)vsc;
- uint32_t host, neg;
+ uint64_t host, neg;
/*
* indirect descriptors can be switched off by setting bit 1 in the
diff --git a/sys/dev/pci/virtio_pci.c b/sys/dev/pci/virtio_pci.c
index b16b7ff1efd..0fe33c00aa1 100644
--- a/sys/dev/pci/virtio_pci.c
+++ b/sys/dev/pci/virtio_pci.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: virtio_pci.c,v 1.22 2019/03/24 18:17:24 sf Exp $ */
+/* $OpenBSD: virtio_pci.c,v 1.23 2019/03/24 18:21:12 sf Exp $ */
/* $NetBSD: virtio.c,v 1.3 2011/11/02 23:05:52 njoly Exp $ */
/*
@@ -66,7 +66,7 @@ void virtio_pci_write_device_config_8(struct virtio_softc *, int, uint64_t);
uint16_t virtio_pci_read_queue_size(struct virtio_softc *, uint16_t);
void virtio_pci_setup_queue(struct virtio_softc *, struct virtqueue *, uint64_t);
void virtio_pci_set_status(struct virtio_softc *, int);
-uint32_t virtio_pci_negotiate_features(struct virtio_softc *, uint32_t,
+uint64_t virtio_pci_negotiate_features(struct virtio_softc *, uint64_t,
const struct virtio_feature_name *);
int virtio_pci_msix_establish(struct virtio_pci_softc *, struct pci_attach_args *, int, int (*)(void *), void *);
int virtio_pci_setup_msix(struct virtio_pci_softc *, struct pci_attach_args *, int);
@@ -317,12 +317,12 @@ virtio_pci_detach(struct device *self, int flags)
* Prints available / negotiated features if guest_feature_names != NULL and
* VIRTIO_DEBUG is 1
*/
-uint32_t
-virtio_pci_negotiate_features(struct virtio_softc *vsc, uint32_t guest_features,
+uint64_t
+virtio_pci_negotiate_features(struct virtio_softc *vsc, uint64_t guest_features,
const struct virtio_feature_name *guest_feature_names)
{
struct virtio_pci_softc *sc = (struct virtio_pci_softc *)vsc;
- uint32_t host, neg;
+ uint64_t host, neg;
/*
* indirect descriptors can be switched off by setting bit 1 in the
diff --git a/sys/dev/pv/if_vio.c b/sys/dev/pv/if_vio.c
index c3f472e1ce0..a2ff1a81391 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.8 2019/01/19 16:23:46 sf Exp $ */
+/* $OpenBSD: if_vio.c,v 1.9 2019/03/24 18:21:12 sf Exp $ */
/*
* Copyright (c) 2012 Stefan Fritsch, Alexander Fiveg.
@@ -68,25 +68,25 @@
#define VIRTIO_NET_CONFIG_STATUS 6 /* 16bit */
/* Feature bits */
-#define VIRTIO_NET_F_CSUM (1<<0)
-#define VIRTIO_NET_F_GUEST_CSUM (1<<1)
-#define VIRTIO_NET_F_MAC (1<<5)
-#define VIRTIO_NET_F_GSO (1<<6)
-#define VIRTIO_NET_F_GUEST_TSO4 (1<<7)
-#define VIRTIO_NET_F_GUEST_TSO6 (1<<8)
-#define VIRTIO_NET_F_GUEST_ECN (1<<9)
-#define VIRTIO_NET_F_GUEST_UFO (1<<10)
-#define VIRTIO_NET_F_HOST_TSO4 (1<<11)
-#define VIRTIO_NET_F_HOST_TSO6 (1<<12)
-#define VIRTIO_NET_F_HOST_ECN (1<<13)
-#define VIRTIO_NET_F_HOST_UFO (1<<14)
-#define VIRTIO_NET_F_MRG_RXBUF (1<<15)
-#define VIRTIO_NET_F_STATUS (1<<16)
-#define VIRTIO_NET_F_CTRL_VQ (1<<17)
-#define VIRTIO_NET_F_CTRL_RX (1<<18)
-#define VIRTIO_NET_F_CTRL_VLAN (1<<19)
-#define VIRTIO_NET_F_CTRL_RX_EXTRA (1<<20)
-#define VIRTIO_NET_F_GUEST_ANNOUNCE (1<<21)
+#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)
/*
* Config(8) flags. The lowest byte is reserved for generic virtio stuff.
@@ -507,7 +507,7 @@ vio_attach(struct device *parent, struct device *self, void *aux)
{
struct vio_softc *sc = (struct vio_softc *)self;
struct virtio_softc *vsc = (struct virtio_softc *)parent;
- uint32_t features;
+ uint64_t features;
int i;
struct ifnet *ifp = &sc->sc_ac.ac_if;
diff --git a/sys/dev/pv/vioblk.c b/sys/dev/pv/vioblk.c
index 061043e8796..b3f820dc210 100644
--- a/sys/dev/pv/vioblk.c
+++ b/sys/dev/pv/vioblk.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: vioblk.c,v 1.10 2019/01/08 16:23:01 sf Exp $ */
+/* $OpenBSD: vioblk.c,v 1.11 2019/03/24 18:21:12 sf Exp $ */
/*
* Copyright (c) 2012 Stefan Fritsch.
@@ -168,7 +168,7 @@ vioblk_attach(struct device *parent, struct device *self, void *aux)
struct vioblk_softc *sc = (struct vioblk_softc *)self;
struct virtio_softc *vsc = (struct virtio_softc *)parent;
struct scsibus_attach_args saa;
- uint32_t features;
+ uint64_t features;
int qsize;
vsc->sc_vqs = &sc->sc_vq[0];
diff --git a/sys/dev/pv/vioblkreg.h b/sys/dev/pv/vioblkreg.h
index 754f2bb9793..d78eaf97b21 100644
--- a/sys/dev/pv/vioblkreg.h
+++ b/sys/dev/pv/vioblkreg.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: vioblkreg.h,v 1.2 2017/03/26 21:43:31 mlarkin Exp $ */
+/* $OpenBSD: vioblkreg.h,v 1.3 2019/03/24 18:21:12 sf Exp $ */
/*
* Copyright (c) 2012 Stefan Fritsch.
@@ -40,15 +40,15 @@
#define VIRTIO_BLK_CONFIG_BLK_SIZE 20 /* 32bit */
/* Feature bits */
-#define VIRTIO_BLK_F_BARRIER (1<<0)
-#define VIRTIO_BLK_F_SIZE_MAX (1<<1)
-#define VIRTIO_BLK_F_SEG_MAX (1<<2)
-#define VIRTIO_BLK_F_GEOMETRY (1<<4)
-#define VIRTIO_BLK_F_RO (1<<5)
-#define VIRTIO_BLK_F_BLK_SIZE (1<<6)
-#define VIRTIO_BLK_F_SCSI (1<<7)
-#define VIRTIO_BLK_F_FLUSH (1<<9)
-#define VIRTIO_BLK_F_TOPOLOGY (1<<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)
/* Command */
#define VIRTIO_BLK_T_IN 0
diff --git a/sys/dev/pv/viocon.c b/sys/dev/pv/viocon.c
index cdd547ac33c..12475f34bed 100644
--- a/sys/dev/pv/viocon.c
+++ b/sys/dev/pv/viocon.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: viocon.c,v 1.5 2019/01/08 16:24:09 sf Exp $ */
+/* $OpenBSD: viocon.c,v 1.6 2019/03/24 18:21:12 sf Exp $ */
/*
* Copyright (c) 2013-2015 Stefan Fritsch <sf@sfritsch.de>
@@ -30,9 +30,9 @@
/* features */
-#define VIRTIO_CONSOLE_F_SIZE (1<<0)
-#define VIRTIO_CONSOLE_F_MULTIPORT (1<<1)
-#define VIRTIO_CONSOLE_F_EMERG_WRITE (1<<2)
+#define VIRTIO_CONSOLE_F_SIZE (1ULL<<0)
+#define VIRTIO_CONSOLE_F_MULTIPORT (1ULL<<1)
+#define VIRTIO_CONSOLE_F_EMERG_WRITE (1ULL<<2)
/* config space */
#define VIRTIO_CONSOLE_COLS 0 /* 16 bits */
diff --git a/sys/dev/pv/viomb.c b/sys/dev/pv/viomb.c
index 0dbb812de25..d73b706533b 100644
--- a/sys/dev/pv/viomb.c
+++ b/sys/dev/pv/viomb.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: viomb.c,v 1.3 2019/01/19 16:21:00 sf Exp $ */
+/* $OpenBSD: viomb.c,v 1.4 2019/03/24 18:21:12 sf Exp $ */
/* $NetBSD: viomb.c,v 1.1 2011/10/30 12:12:21 hannken Exp $ */
/*
@@ -68,8 +68,8 @@
#define VIRTIO_BALLOON_CONFIG_ACTUAL 4 /* 32bit */
/* Feature bits */
-#define VIRTIO_BALLOON_F_MUST_TELL_HOST (1<<0)
-#define VIRTIO_BALLOON_F_STATS_VQ (1<<1)
+#define VIRTIO_BALLOON_F_MUST_TELL_HOST (1ULL<<0)
+#define VIRTIO_BALLOON_F_STATS_VQ (1ULL<<1)
static const struct virtio_feature_name viomb_feature_names[] = {
#if VIRTIO_DEBUG
diff --git a/sys/dev/pv/vioscsireg.h b/sys/dev/pv/vioscsireg.h
index 4034309cef5..f69b562ec96 100644
--- a/sys/dev/pv/vioscsireg.h
+++ b/sys/dev/pv/vioscsireg.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: vioscsireg.h,v 1.1 2017/01/21 11:22:57 reyk Exp $ */
+/* $OpenBSD: vioscsireg.h,v 1.2 2019/03/24 18:21:12 sf Exp $ */
/*
* Copyright (c) 2013 Google Inc.
*
@@ -28,8 +28,8 @@
#define VIRTIO_SCSI_CONFIG_MAX_LUN 32 /* 32bit */
/* Feature bits */
-#define VIRTIO_SCSI_F_INOUT (1<<0)
-#define VIRTIO_SCSI_F_HOTPLUG (1<<1)
+#define VIRTIO_SCSI_F_INOUT (1ULL<<0)
+#define VIRTIO_SCSI_F_HOTPLUG (1ULL<<1)
/* Response status values */
#define VIRTIO_SCSI_S_OK 0
diff --git a/sys/dev/pv/virtio.c b/sys/dev/pv/virtio.c
index 242789d0c70..27bca1a5506 100644
--- a/sys/dev/pv/virtio.c
+++ b/sys/dev/pv/virtio.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: virtio.c,v 1.14 2019/03/24 18:17:24 sf Exp $ */
+/* $OpenBSD: virtio.c,v 1.15 2019/03/24 18:21:12 sf Exp $ */
/* $NetBSD: virtio.c,v 1.3 2011/11/02 23:05:52 njoly Exp $ */
/*
@@ -84,7 +84,7 @@ static const struct virtio_feature_name transport_feature_names[] = {
};
void
-virtio_log_features(uint32_t host, uint32_t neg,
+virtio_log_features(uint64_t host, uint64_t neg,
const struct virtio_feature_name *guest_feature_names)
{
const struct virtio_feature_name *namep;
@@ -92,7 +92,7 @@ virtio_log_features(uint32_t host, uint32_t neg,
char c;
uint32_t bit;
- for (i = 0; i < 32; i++) {
+ for (i = 0; i < 64; i++) {
if (i == 30) {
/*
* VIRTIO_F_BAD_FEATURE is only used for
@@ -103,7 +103,7 @@ virtio_log_features(uint32_t host, uint32_t neg,
bit = 1 << i;
if ((host&bit) == 0)
continue;
- namep = (i < 24) ? guest_feature_names :
+ namep = (i < 24 || i > 37) ? guest_feature_names :
transport_feature_names;
while (namep->bit && namep->bit != bit)
namep++;
diff --git a/sys/dev/pv/virtioreg.h b/sys/dev/pv/virtioreg.h
index 2cc4af2b32d..acc43eaaafa 100644
--- a/sys/dev/pv/virtioreg.h
+++ b/sys/dev/pv/virtioreg.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: virtioreg.h,v 1.3 2019/01/10 18:22:17 sf Exp $ */
+/* $OpenBSD: virtioreg.h,v 1.4 2019/03/24 18:21:12 sf Exp $ */
/* $NetBSD: virtioreg.h,v 1.1 2011/10/30 12:12:21 hannken Exp $ */
/*
@@ -83,11 +83,11 @@
#define PCI_PRODUCT_VIRTIO_VMMCI 65535 /* private id */
/* device-independent feature bits */
-#define VIRTIO_F_NOTIFY_ON_EMPTY (1<<24)
-#define VIRTIO_F_RING_INDIRECT_DESC (1<<28)
-#define VIRTIO_F_RING_EVENT_IDX (1<<29)
-#define VIRTIO_F_BAD_FEATURE (1<<30)
-#define VIRTIO_F_VERSION_1 (1<<32)
+#define VIRTIO_F_NOTIFY_ON_EMPTY (1ULL<<24)
+#define VIRTIO_F_RING_INDIRECT_DESC (1ULL<<28)
+#define VIRTIO_F_RING_EVENT_IDX (1ULL<<29)
+#define VIRTIO_F_BAD_FEATURE (1ULL<<30)
+#define VIRTIO_F_VERSION_1 (1ULL<<32)
/* device status bits */
#define VIRTIO_CONFIG_DEVICE_STATUS_RESET 0
diff --git a/sys/dev/pv/virtiovar.h b/sys/dev/pv/virtiovar.h
index da1351b6ac3..0872fb02791 100644
--- a/sys/dev/pv/virtiovar.h
+++ b/sys/dev/pv/virtiovar.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: virtiovar.h,v 1.11 2019/03/24 18:17:24 sf Exp $ */
+/* $OpenBSD: virtiovar.h,v 1.12 2019/03/24 18:21:12 sf Exp $ */
/* $NetBSD: virtiovar.h,v 1.1 2011/10/30 12:12:21 hannken Exp $ */
/*
@@ -151,7 +151,7 @@ struct virtio_ops {
uint16_t (*read_queue_size)(struct virtio_softc *, uint16_t);
void (*setup_queue)(struct virtio_softc *, struct virtqueue *, uint64_t);
void (*set_status)(struct virtio_softc *, int);
- uint32_t (*neg_features)(struct virtio_softc *, uint32_t, const struct virtio_feature_name *);
+ uint64_t (*neg_features)(struct virtio_softc *, uint64_t, const struct virtio_feature_name *);
int (*poll_intr)(void *);
};
@@ -164,7 +164,7 @@ struct virtio_softc {
int sc_ipl; /* set by child */
- uint32_t sc_features;
+ uint64_t sc_features;
int sc_indirect;
int sc_nvqs; /* set by child */
@@ -224,7 +224,7 @@ int virtio_start_vq_intr(struct virtio_softc *, struct virtqueue *);
const char *virtio_device_string(int);
#if VIRTIO_DEBUG
-void virtio_log_features(uint32_t, uint32_t, const struct virtio_feature_name *);
+void virtio_log_features(uint64_t, uint64_t, const struct virtio_feature_name *);
void virtio_vq_dump(struct virtqueue *vq);
#endif
int virtio_nused(struct virtqueue *vq);
diff --git a/sys/dev/pv/vmmci.c b/sys/dev/pv/vmmci.c
index ac44e542885..23c4930d7bc 100644
--- a/sys/dev/pv/vmmci.c
+++ b/sys/dev/pv/vmmci.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: vmmci.c,v 1.3 2017/05/02 09:50:38 mlarkin Exp $ */
+/* $OpenBSD: vmmci.c,v 1.4 2019/03/24 18:21:12 sf Exp $ */
/*
* Copyright (c) 2017 Reyk Floeter <reyk@openbsd.org>
@@ -72,9 +72,9 @@ struct cfattach vmmci_ca = {
#define VMMCI_CONFIG_TIME_USEC 12
/* Feature bits */
-#define VMMCI_F_TIMESYNC (1<<0)
-#define VMMCI_F_ACK (1<<1)
-#define VMMCI_F_SYNCRTC (1<<2)
+#define VMMCI_F_TIMESYNC (1ULL<<0)
+#define VMMCI_F_ACK (1ULL<<1)
+#define VMMCI_F_SYNCRTC (1ULL<<2)
struct cfdriver vmmci_cd = {
NULL, "vmmci", DV_DULL
@@ -94,7 +94,7 @@ vmmci_attach(struct device *parent, struct device *self, void *aux)
{
struct vmmci_softc *sc = (struct vmmci_softc *)self;
struct virtio_softc *vsc = (struct virtio_softc *)parent;
- uint32_t features;
+ uint64_t features;
if (vsc->sc_child != NULL)
panic("already attached to something else");