From nobody Tue Feb 8 17:17:06 2022 X-Original-To: freebsd-virtualization@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 2798819C779B for ; Tue, 8 Feb 2022 17:17:19 +0000 (UTC) (envelope-from aryeh.friedman@gmail.com) Received: from mail-yb1-xb2f.google.com (mail-yb1-xb2f.google.com [IPv6:2607:f8b0:4864:20::b2f]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4JtV7L1G8bz4jlx for ; Tue, 8 Feb 2022 17:17:18 +0000 (UTC) (envelope-from aryeh.friedman@gmail.com) Received: by mail-yb1-xb2f.google.com with SMTP id v186so51972181ybg.1 for ; Tue, 08 Feb 2022 09:17:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=jq9WtT80YUbOu9CQ4eR2n27Ijwjvm9sPjpfn1Zw+h3I=; b=kI2oSAukIOkIEr5g73n0tYHBHtyHHu/rIHx6f8vu4Xvl2WPF6kETGHgl/VUrGuyvdp 1EyNqXqcmlHm5NlK4rMV7fpndRFjwQOqQGFx28SQPyzX5/qoilrKTrLQ5FuLav2DI+FH +YsQhfbAwwFIPX0qd1LtsYp8kOI+2FvYyC1x+MreR7WXlNVpbJdiTOA5mEm3lXA/Op+A lBtXu3HBO7eiW9x3s7mQxBHthiDYOWuedE82Q7ls9hOBOC8y8fVYc5bvItde24pBUjXW BjCuap3vDkBa1kkdhjFJiAwGQfWfl+e9QvYQdX+B/ZgqggK9Y3/r+qZkjPYbHS/aadVv mV9A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=jq9WtT80YUbOu9CQ4eR2n27Ijwjvm9sPjpfn1Zw+h3I=; b=WetJbJFmU8LKg6xiQ2QOVUz3okf2R0EplNsWkWmhEV52K5j5rZe6Lg9H/NglesE3Jv 8NDLHrJp+s0DBZElhQOvEJH1LjVGXa2mDqe1ffOz0sDajeTCID2JmlYaD8h2hyFKHCMB em/08W85WyLLJqTHPyTMybKonF4mcTVJdWOio5DXvoVJNp7Aj8yU6ePT76i/MM7lRHGh aslb6JwSoHC22dSu2FgSIUOLG/gCRva8c3u6v+42kO5mV/tJ12ucbfKRVWjMIlI+yJ15 u+CQ50mRBXvh+IU3wNed2LiPklYEuc/4V9qYO1bluxtuSJlXUaoEb7TMfYz3Z4nsA4TS 8QWg== X-Gm-Message-State: AOAM532qUX1hoYbw7gUv8Z1GX89y1PWnNDoX984ANpdu308Nl9HHsMLl YSk6OgwUBZm6ofqCi+cvo1E7nCF0fJsSlOxbM3O4LcZg X-Google-Smtp-Source: ABdhPJxZeb4zp2d5Lk93mlu8jb2jRw7Cwz+BCKxa+lsoMEoJoOJu5GhRYRpYXXeMTTdGvdrmcwbSxI+T59zcAUrndMs= X-Received: by 2002:a25:ef12:: with SMTP id g18mr5664364ybd.581.1644340637645; Tue, 08 Feb 2022 09:17:17 -0800 (PST) List-Id: Discussion List-Archive: https://lists.freebsd.org/archives/freebsd-virtualization List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-virtualization@freebsd.org X-BeenThere: freebsd-virtualization@freebsd.org MIME-Version: 1.0 References: In-Reply-To: From: Aryeh Friedman Date: Tue, 8 Feb 2022 12:17:06 -0500 Message-ID: Subject: Re: Multiple bugs on bhyve present on FreeBSD 13R p7 while passing thru USB controller and graphic card To: Mario Marietto Cc: FreeBSD virtualization Content-Type: multipart/alternative; boundary="00000000000098be9605d784e3b8" X-Rspamd-Queue-Id: 4JtV7L1G8bz4jlx X-Spamd-Bar: - Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20210112 header.b=kI2oSAuk; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of aryehfriedman@gmail.com designates 2607:f8b0:4864:20::b2f as permitted sender) smtp.mailfrom=aryehfriedman@gmail.com X-Spamd-Result: default: False [-2.00 / 15.00]; FREEMAIL_FROM(0.00)[gmail.com]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36]; MID_RHS_MATCH_FROMTLD(0.00)[]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[gmail.com:+]; RCPT_COUNT_TWO(0.00)[2]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; FREEMAIL_TO(0.00)[gmail.com]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:~]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; TAGGED_FROM(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com:dkim]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20210112]; FROM_HAS_DN(0.00)[]; NEURAL_SPAM_SHORT(1.00)[1.000]; NEURAL_HAM_LONG(-1.00)[-1.000]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-virtualization@freebsd.org]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::b2f:from]; MLMMJ_DEST(0.00)[freebsd-virtualization]; RCVD_COUNT_TWO(0.00)[2]; RCVD_TLS_ALL(0.00)[] X-ThisMailContainsUnwantedMimeParts: N --00000000000098be9605d784e3b8 Content-Type: text/plain; charset="UTF-8" > I'm using bhyve on FreeBSD 13R p7 and I'm trying to pass thru my usb > controller and / or my graphic card while at the same time I'm trying to > boot 3 operating systems (Ubuntu,Windows and FreeBSD 13) installed on a > SATA and / or NVME disk using the virtio-blk driver and the ahci-hd driver. > It is my understand for devices to be successfully passed through (based on my own semi-working attempts and research) the device must meet the following two conditions: 1. Be used exclusively by the guest OS and not the host OS 2. The host OS needs to not even load drivers for the device(s) For example on the GPU this means you would need to boot the host from a serial port and/or GPU that is not used by the host and not loaded at boot time and then, and only then, can you pass it through to the guest OS (wither or not the guest OS recognizes it is an other question though). As to good stable bhyve invocation I recommend you look at the source code/output of either the shell based ports for making bhyve VM's or at PetiteCloud (if you do the second I would be very interested in the results so I can incorporate them into a future version of PC). -- Aryeh M. Friedman, Lead Developer, http://www.PetiteCloud.org --00000000000098be9605d784e3b8 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable

I&= #39;m using bhyve on FreeBSD 13R p7 and I'm trying to pass thru my usb = controller and / or my graphic card while at the same time I'm trying t= o boot 3 operating systems (Ubuntu,Windows and FreeBSD 13) installed on a S= ATA and / or NVME disk using the virtio-blk driver and the ahci-hd driver. =

It is my understand = for devices to be successfully passed through (based on my own semi-working= attempts and research) the device must meet the following two conditions:<= /div>

1. Be used exclusively by the guest OS and not the= host OS
2. The host OS needs to not even load drivers for the de= vice(s)

For example on the GPU this means you woul= d need to boot the host from a serial port and/or GPU that is not used by t= he host and not loaded at boot time and then, and only then, can you pass i= t through to the guest OS (wither or not the guest OS recognizes it is an o= ther question though).

As to good stable bhyve inv= ocation I recommend you look at the source code/output of either the shell = based ports for making bhyve VM's or at PetiteCloud (if you do the seco= nd I would be very interested in the results so I can incorporate them into= a future version of PC).


--
Aryeh M. Friedman, L= ead Developer, htt= p://www.PetiteCloud.org
--00000000000098be9605d784e3b8--