summaryrefslogtreecommitdiffstats
path: root/sys/dev/hyperv
diff options
context:
space:
mode:
authormarius <marius@FreeBSD.org>2014-05-28 09:06:36 +0000
committermarius <marius@FreeBSD.org>2014-05-28 09:06:36 +0000
commit9dc1c502483e7b4e232e9b286bf7843190986d13 (patch)
treefe065fe8dd2b5f496c17360d7b2ad0271dd88f6d /sys/dev/hyperv
parent357551c7e10fab9433eb757bde6ff1f02a30ee19 (diff)
downloadFreeBSD-src-9dc1c502483e7b4e232e9b286bf7843190986d13.zip
FreeBSD-src-9dc1c502483e7b4e232e9b286bf7843190986d13.tar.gz
MFC: r264177
Make some unwise casts. On i386 these casts wind up being safe. Rather than disturb the API, go with these casts to shut gcc up.
Diffstat (limited to 'sys/dev/hyperv')
-rw-r--r--sys/dev/hyperv/netvsc/hv_net_vsc.c20
-rw-r--r--sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c6
-rw-r--r--sys/dev/hyperv/netvsc/hv_rndis_filter.c5
-rw-r--r--sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c16
4 files changed, 26 insertions, 21 deletions
diff --git a/sys/dev/hyperv/netvsc/hv_net_vsc.c b/sys/dev/hyperv/netvsc/hv_net_vsc.c
index aeee94d..8f814cd 100644
--- a/sys/dev/hyperv/netvsc/hv_net_vsc.c
+++ b/sys/dev/hyperv/netvsc/hv_net_vsc.c
@@ -24,6 +24,8 @@
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * $FreeBSD$
*/
/**
@@ -179,7 +181,7 @@ hv_nv_init_rx_buffer_with_net_vsp(struct hv_device *device)
/* Send the gpadl notification request */
ret = hv_vmbus_channel_send_packet(device->channel, init_pkt,
- sizeof(nvsp_msg), (uint64_t)init_pkt,
+ sizeof(nvsp_msg), (uint64_t)(uintptr_t)init_pkt,
HV_VMBUS_PACKET_TYPE_DATA_IN_BAND,
HV_VMBUS_DATA_PACKET_FLAG_COMPLETION_REQUESTED);
if (ret != 0) {
@@ -277,7 +279,7 @@ hv_nv_init_send_buffer_with_net_vsp(struct hv_device *device)
/* Send the gpadl notification request */
ret = hv_vmbus_channel_send_packet(device->channel, init_pkt,
- sizeof(nvsp_msg), (uint64_t)init_pkt,
+ sizeof(nvsp_msg), (uint64_t)(uintptr_t)init_pkt,
HV_VMBUS_PACKET_TYPE_DATA_IN_BAND,
HV_VMBUS_DATA_PACKET_FLAG_COMPLETION_REQUESTED);
if (ret != 0) {
@@ -331,7 +333,7 @@ hv_nv_destroy_rx_buffer(netvsc_dev *net_dev)
ret = hv_vmbus_channel_send_packet(net_dev->dev->channel,
revoke_pkt, sizeof(nvsp_msg),
- (uint64_t)revoke_pkt,
+ (uint64_t)(uintptr_t)revoke_pkt,
HV_VMBUS_PACKET_TYPE_DATA_IN_BAND, 0);
/*
@@ -399,7 +401,7 @@ hv_nv_destroy_send_buffer(netvsc_dev *net_dev)
ret = hv_vmbus_channel_send_packet(net_dev->dev->channel,
revoke_pkt, sizeof(nvsp_msg),
- (uint64_t)revoke_pkt,
+ (uint64_t)(uintptr_t)revoke_pkt,
HV_VMBUS_PACKET_TYPE_DATA_IN_BAND, 0);
/*
* If we failed here, we might as well return and have a leak
@@ -461,7 +463,7 @@ hv_nv_negotiate_nvsp_protocol(struct hv_device *device, netvsc_dev *net_dev,
/* Send the init request */
ret = hv_vmbus_channel_send_packet(device->channel, init_pkt,
- sizeof(nvsp_msg), (uint64_t)init_pkt,
+ sizeof(nvsp_msg), (uint64_t)(uintptr_t)init_pkt,
HV_VMBUS_PACKET_TYPE_DATA_IN_BAND,
HV_VMBUS_DATA_PACKET_FLAG_COMPLETION_REQUESTED);
if (ret != 0)
@@ -505,7 +507,7 @@ hv_nv_send_ndis_config(struct hv_device *device, uint32_t mtu)
/* Send the configuration packet */
ret = hv_vmbus_channel_send_packet(device->channel, init_pkt,
- sizeof(nvsp_msg), (uint64_t)init_pkt,
+ sizeof(nvsp_msg), (uint64_t)(uintptr_t)init_pkt,
HV_VMBUS_PACKET_TYPE_DATA_IN_BAND, 0);
if (ret != 0)
return (-EINVAL);
@@ -577,7 +579,7 @@ hv_nv_connect_to_vsp(struct hv_device *device)
/* Send the init request */
ret = hv_vmbus_channel_send_packet(device->channel, init_pkt,
- sizeof(nvsp_msg), (uint64_t)init_pkt,
+ sizeof(nvsp_msg), (uint64_t)(uintptr_t)init_pkt,
HV_VMBUS_PACKET_TYPE_DATA_IN_BAND, 0);
if (ret != 0) {
goto cleanup;
@@ -827,10 +829,10 @@ hv_nv_on_send(struct hv_device *device, netvsc_packet *pkt)
if (pkt->page_buf_count) {
ret = hv_vmbus_channel_send_packet_pagebuffer(device->channel,
pkt->page_buffers, pkt->page_buf_count,
- &send_msg, sizeof(nvsp_msg), (uint64_t)pkt);
+ &send_msg, sizeof(nvsp_msg), (uint64_t)(uintptr_t)pkt);
} else {
ret = hv_vmbus_channel_send_packet(device->channel,
- &send_msg, sizeof(nvsp_msg), (uint64_t)pkt,
+ &send_msg, sizeof(nvsp_msg), (uint64_t)(uintptr_t)pkt,
HV_VMBUS_PACKET_TYPE_DATA_IN_BAND,
HV_VMBUS_DATA_PACKET_FLAG_COMPLETION_REQUESTED);
}
diff --git a/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c b/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c
index 1542660..ba3eac4 100644
--- a/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c
+++ b/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c
@@ -344,7 +344,7 @@ netvsc_xmit_completion(void *context)
struct mbuf *mb;
uint8_t *buf;
- mb = (struct mbuf *)packet->compl.send.send_completion_tid;
+ mb = (struct mbuf *)(uintptr_t)packet->compl.send.send_completion_tid;
buf = ((uint8_t *)packet) - HV_NV_PACKET_OFFSET_IN_BUF;
free(buf, M_DEVBUF);
@@ -494,7 +494,7 @@ retry_send:
/* Set the completion routine */
packet->compl.send.on_send_completion = netvsc_xmit_completion;
packet->compl.send.send_completion_context = packet;
- packet->compl.send.send_completion_tid = (uint64_t)m_head;
+ packet->compl.send.send_completion_tid = (uint64_t)(uintptr_t)m_head;
/* Removed critical_enter(), does not appear necessary */
ret = hv_rf_on_send(device_ctx, packet);
@@ -682,7 +682,7 @@ netvsc_recv(struct hv_device *device_ctx, netvsc_packet *packet)
*/
for (i=0; i < packet->page_buf_count; i++) {
/* Shift virtual page number to form virtual page address */
- uint8_t *vaddr = (uint8_t *)
+ uint8_t *vaddr = (uint8_t *)(uintptr_t)
(packet->page_buffers[i].pfn << PAGE_SHIFT);
hv_m_append(m_new, packet->page_buffers[i].length,
diff --git a/sys/dev/hyperv/netvsc/hv_rndis_filter.c b/sys/dev/hyperv/netvsc/hv_rndis_filter.c
index 691cf7e..4197c16 100644
--- a/sys/dev/hyperv/netvsc/hv_rndis_filter.c
+++ b/sys/dev/hyperv/netvsc/hv_rndis_filter.c
@@ -26,6 +26,9 @@
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+
#include <sys/param.h>
#include <sys/mbuf.h>
#include <sys/socket.h>
@@ -334,7 +337,7 @@ hv_rf_on_receive(struct hv_device *device, netvsc_packet *pkt)
return (EINVAL);
/* Shift virtual page number to form virtual page address */
- rndis_hdr = (rndis_msg *)(pkt->page_buffers[0].pfn << PAGE_SHIFT);
+ rndis_hdr = (rndis_msg *)(uintptr_t)(pkt->page_buffers[0].pfn << PAGE_SHIFT);
rndis_hdr = (void *)((unsigned long)rndis_hdr
+ pkt->page_buffers[0].offset);
diff --git a/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c b/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c
index 7021f66..e847678 100644
--- a/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c
+++ b/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c
@@ -296,7 +296,7 @@ hv_storvsc_channel_init(struct hv_device *dev)
dev->channel,
vstor_packet,
sizeof(struct vstor_packet),
- (uint64_t)request,
+ (uint64_t)(uintptr_t)request,
HV_VMBUS_PACKET_TYPE_DATA_IN_BAND,
HV_VMBUS_DATA_PACKET_FLAG_COMPLETION_REQUESTED);
@@ -330,7 +330,7 @@ hv_storvsc_channel_init(struct hv_device *dev)
dev->channel,
vstor_packet,
sizeof(struct vstor_packet),
- (uint64_t)request,
+ (uint64_t)(uintptr_t)request,
HV_VMBUS_PACKET_TYPE_DATA_IN_BAND,
HV_VMBUS_DATA_PACKET_FLAG_COMPLETION_REQUESTED);
@@ -361,7 +361,7 @@ hv_storvsc_channel_init(struct hv_device *dev)
dev->channel,
vstor_packet,
sizeof(struct vstor_packet),
- (uint64_t)request,
+ (uint64_t)(uintptr_t)request,
HV_VMBUS_PACKET_TYPE_DATA_IN_BAND,
HV_VMBUS_DATA_PACKET_FLAG_COMPLETION_REQUESTED);
@@ -389,7 +389,7 @@ hv_storvsc_channel_init(struct hv_device *dev)
dev->channel,
vstor_packet,
sizeof(struct vstor_packet),
- (uint64_t)request,
+ (uint64_t)(uintptr_t)request,
HV_VMBUS_PACKET_TYPE_DATA_IN_BAND,
HV_VMBUS_DATA_PACKET_FLAG_COMPLETION_REQUESTED);
@@ -482,7 +482,7 @@ hv_storvsc_host_reset(struct hv_device *dev)
ret = hv_vmbus_channel_send_packet(dev->channel,
vstor_packet,
sizeof(struct vstor_packet),
- (uint64_t)&sc->hs_reset_req,
+ (uint64_t)(uintptr_t)&sc->hs_reset_req,
HV_VMBUS_PACKET_TYPE_DATA_IN_BAND,
HV_VMBUS_DATA_PACKET_FLAG_COMPLETION_REQUESTED);
@@ -547,14 +547,14 @@ hv_storvsc_io_request(struct hv_device *device,
&request->data_buf,
vstor_packet,
sizeof(struct vstor_packet),
- (uint64_t)request);
+ (uint64_t)(uintptr_t)request);
} else {
ret = hv_vmbus_channel_send_packet(
device->channel,
vstor_packet,
sizeof(struct vstor_packet),
- (uint64_t)request,
+ (uint64_t)(uintptr_t)request,
HV_VMBUS_PACKET_TYPE_DATA_IN_BAND,
HV_VMBUS_DATA_PACKET_FLAG_COMPLETION_REQUESTED);
}
@@ -634,7 +634,7 @@ hv_storvsc_on_channel_callback(void *context)
&request_id);
while ((ret == 0) && (bytes_recvd > 0)) {
- request = (struct hv_storvsc_request *)request_id;
+ request = (struct hv_storvsc_request *)(uintptr_t)request_id;
KASSERT(request, ("request"));
if ((request == &sc->hs_init_req) ||
OpenPOWER on IntegriCloud