aboutsummaryrefslogtreecommitdiff
path: root/usr.sbin
diff options
context:
space:
mode:
authorPeter Grehan <grehan@FreeBSD.org>2014-01-09 07:17:21 +0000
committerPeter Grehan <grehan@FreeBSD.org>2014-01-09 07:17:21 +0000
commitd68f0bd6185977245a3442d08b0046aef7b50fb9 (patch)
treeaf8fbd786d537ccb6e53d26db95cf1853ce6c407 /usr.sbin
parentadd611fd4c7c19534db49c14f02ced1705f5819f (diff)
downloadsrc-d68f0bd6185977245a3442d08b0046aef7b50fb9.tar.gz
src-d68f0bd6185977245a3442d08b0046aef7b50fb9.zip
Fix issue with the virtio descriptor region being truncated
if it was above 4GB. This was seen with CentOS 6.5 guests with large RAM, since the block drivers are loaded late in the boot sequence and end up allocating descriptor memory from high addresses. Reported by: Michael Dexter MFC after: 3 days
Notes
Notes: svn path=/head/; revision=260469
Diffstat (limited to 'usr.sbin')
-rw-r--r--usr.sbin/bhyve/virtio.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/usr.sbin/bhyve/virtio.c b/usr.sbin/bhyve/virtio.c
index c26272bc0711..bd98990d6975 100644
--- a/usr.sbin/bhyve/virtio.c
+++ b/usr.sbin/bhyve/virtio.c
@@ -160,7 +160,7 @@ vi_vq_init(struct virtio_softc *vs, uint32_t pfn)
vq = &vs->vs_queues[vs->vs_curq];
vq->vq_pfn = pfn;
- phys = pfn << VRING_PFN;
+ phys = (uint64_t)pfn << VRING_PFN;
size = vring_size(vq->vq_qsize);
base = paddr_guest2host(vs->vs_pi->pi_vmctx, phys, size);