From nobody Mon Feb 16 15:44:29 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fF6XF6zCxz6RxgZ for ; Mon, 16 Feb 2026 15:44:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fF6XF5K7Dz4PV4 for ; Mon, 16 Feb 2026 15:44:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1771256669; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bqGGs2Bc25lJJPdaLaddduyArcoDmCA5GO2sn2RGMDQ=; b=j92anvl0VD+BIWqhYyT5340fnafDzV40zfLt6sn/5R9u64cEBPklkNB3ge/QxQAmRnzUjX RfnK1sd5Irgx1dNLOZkH8qj0c1NzbzqJ0HQdK1d48SrsuyCrY/PLqW+8fsjCN2RlhDdzL1 NGz8yztG6DS80pVssQB/lfUK40McXwQycEjazxiBFwzWLfx/p+jh52qqBHTX6v7esgpmqJ lUASGE8w0+8V5VHGnxSUPFNWdpSDRHbY7YR1BG8WSSPsaCdsh0wglrzr3dFc8YKXZcxGH7 OCGjLq9vZCjrGNvJCs3kgBSz+nAGDRVa0G3BFKCPyYN3zZ2pCiJB1S2WTl03Fg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1771256669; a=rsa-sha256; cv=none; b=j7EA4Ro5OLNhvYOBoJadDUsC3+yK8NrrSQWxjPO3W+pu0VbOhdBeIj89fJE0lGDVL9LTHP NMt7A+yB0Rwgn7WtLwDGL6Cx3MFEQr9OXWkgr7XZkC1YJBaWT9O2Clw1a4Q93pTZ3ULi6W EoAuYsUp5/9UVzLEk/YCYc/1sxYXbGqKseqSV+IWz3CpCUiJ2G0ayhj/SELNUkQ9x80bbP A3Ue7C4osDxTCyXHS9o4kDj+pgufJpoid1khfDHwVhF1i4uSq2B8jbNwMuvc4PNNNaQP6k s1POsLo+EI8xnf+YFKek9E0Pj8IZYdC60Fkqy7MPt23tmRPgZcrIyuSzt/TIag== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1771256669; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bqGGs2Bc25lJJPdaLaddduyArcoDmCA5GO2sn2RGMDQ=; b=qN625sHaIj+u/jdBAgMzRVqehU9kJ73UzOKuNIfFKzMfT4kP8qib2Py6dDbT90txuLpxds /N4dl9mvsgXU4h/sx/5YaUkUZ5zqZCBQaWQO0Z8rKt3lbU/JXiJBY/TH5Zd16OoDMpP7mj Cjk4hcBAojx4Fu9tuymTTGC7HjeDo5bW5EBJUawIOETMgrH2lLbJrcl4Ad4Q14H1I0FJkg 0JwvuHq/SY14RIYmRNxllhYnt0S5dAJWjlro0cNZzaemfBvgaYFApvVJs4zoAHFPL18X3y ybjKsKgTHiqsIPy3oyiOXlDQM5NScVz/L2LcwSQudC6YWy5skaCUy++x9ucNXQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fF6XF481lzTsR for ; Mon, 16 Feb 2026 15:44:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1eee7 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 16 Feb 2026 15:44:29 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: David Marker From: Mark Johnston Subject: git: cf39d5888f41 - stable/15 - vmrun.sh: add option for sharing directory via p9fs to bhyve List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: cf39d5888f418b0341dbdf07c9cb27817ce706bd Auto-Submitted: auto-generated Date: Mon, 16 Feb 2026 15:44:29 +0000 Message-Id: <69933b5d.1eee7.304f366b@gitrepo.freebsd.org> The branch stable/15 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=cf39d5888f418b0341dbdf07c9cb27817ce706bd commit cf39d5888f418b0341dbdf07c9cb27817ce706bd Author: David Marker AuthorDate: 2026-02-07 21:28:58 +0000 Commit: Mark Johnston CommitDate: 2026-02-16 13:42:11 +0000 vmrun.sh: add option for sharing directory via p9fs to bhyve Reviewed by: markj MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D55100 (cherry picked from commit 525d00dcf45f6f83b188cf1ad7bfcfcc8ea39eca) --- share/examples/bhyve/vmrun.sh | 34 ++++++++++++++++++++++++++++++---- 1 file changed, 30 insertions(+), 4 deletions(-) diff --git a/share/examples/bhyve/vmrun.sh b/share/examples/bhyve/vmrun.sh index e0052e781dc0..44c905f18625 100755 --- a/share/examples/bhyve/vmrun.sh +++ b/share/examples/bhyve/vmrun.sh @@ -53,8 +53,8 @@ errmsg() { usage() { local msg=$1 - echo "Usage: vmrun.sh [-aAEhiTuvw] [-c ] [-C ]" \ - "[-d ]" + echo "Usage: vmrun.sh [-aAEhiTuvw] [-9 <9p share>=[,]]" + echo " [-c ] [-C ] [-d ]" echo " [-e ] [-f ]" \ "[-F ]" echo " [-G [w][address:]port] [-H ]" @@ -66,6 +66,7 @@ usage() { echo " [-P ] [-t ] " echo "" echo " -h: display this help message" + echo " -9: virtio 9p (VirtFS) device to share directory" echo " -a: force memory mapped local APIC access" echo " -A: use AHCI disk emulation instead of ${DEFAULT_DISK}" echo " -c: number of virtual cpus (default: ${DEFAULT_CPUS})" @@ -128,6 +129,7 @@ disk_total=0 disk_emulation=${DEFAULT_DISK} loader_opt="" pass_total=0 +plan9_total=0 # EFI-specific options efi_mode=0 @@ -144,16 +146,26 @@ uboot_firmware="/usr/local/share/u-boot/u-boot-bhyve-arm64/u-boot.bin" case ${platform} in amd64) bhyverun_opt="-H -P" - opts="aAc:C:d:e:Ef:F:G:hH:iI:l:L:m:n:p:P:t:Tuvw" + opts="9:aAc:C:d:e:Ef:F:G:hH:iI:l:L:m:n:p:P:t:Tuvw" ;; arm64) bhyverun_opt="" - opts="aAc:C:d:e:f:F:G:hH:iI:L:m:n:P:t:uv" + opts="9:aAc:C:d:e:f:F:G:hH:iI:L:m:n:P:t:uv" ;; esac while getopts $opts c ; do case $c in + 9) + plan9_share=${OPTARG%%=*} + plan9_rest=${OPTARG#${plan9_share}=} + plan9_path=${plan9_rest%%,*} + plan9_opts=${plan9_rest#${plan9_path}} + eval "plan9_share${plan9_total}=\"${plan9_share}\"" + eval "plan9_path${plan9_total}=\"${plan9_path}\"" + eval "plan9_opts${plan9_total}=\"${plan9_opts}\"" + plan9_total=$(($plan9_total + 1)) + ;; a) bhyverun_opt="${bhyverun_opt} -a" ;; @@ -387,6 +399,20 @@ while [ 1 ]; do i=$(($i + 1)) done + i=0 + while [ $i -lt $plan9_total ] ; do + eval "share=\$plan9_share${i}" + eval "path=\$plan9_path${i}" + eval "opts=\$plan9_opts${i}" + if [ ! -d ${path} ]; then + echo "virtio-9p \"${path}\" is not a directory" + exit 1 + fi + devargs="$devargs -s $nextslot,virtio-9p,${share}=${path}${opts} " + nextslot=$(($nextslot + 1)) + i=$(($i + 1)) + done + i=0 while [ $i -lt $tap_total ] ; do eval "tapname=\$tap_dev${i}"