From owner-freebsd-virtualization@freebsd.org Tue Apr 9 14:40:17 2019 Return-Path: Delivered-To: freebsd-virtualization@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7E6351582A40 for ; Tue, 9 Apr 2019 14:40:17 +0000 (UTC) (envelope-from darkfiberiru@gmail.com) Received: from mail-oi1-x230.google.com (mail-oi1-x230.google.com [IPv6:2607:f8b0:4864:20::230]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 896DA8FC65 for ; Tue, 9 Apr 2019 14:40:16 +0000 (UTC) (envelope-from darkfiberiru@gmail.com) Received: by mail-oi1-x230.google.com with SMTP id i21so13712238oib.11 for ; Tue, 09 Apr 2019 07:40:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=lEz4ZSK9ckvOUDSc1mrryrtpnPwS89T5sTbabddC4ns=; b=sivf3nw3Om+9j9YTrbx0u1HCIkNtSiIb9tQHCvFR1gM7X+q7zizkwlDdCLallqd1m1 +mIDe/Pi9eM9aj4i5nAm9CcrNvfqi/pTRMSmFpfPvwmIlvwLQdO8iovX52vnpQz7AoI6 V2Kw1ovLn0wkyzahYOJo52tafMei0HdQ3vQQibc3XdotqWEW/DtTC+vIociH985ynSZa kqJvNspa37OR1Ls40bTFKImUFpDFpD0fEnaaeecz5aSchJ0Ou9mcWjYkSkHswKS7Apmw s2+S6v3oOFBmob5caRbvz3cfEm9MB0qGnox1SlfoplDvwK0LPZvk/o1beiuxLIEcrTw3 rNrg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=lEz4ZSK9ckvOUDSc1mrryrtpnPwS89T5sTbabddC4ns=; b=rfAeSzZ/yoPR8M6fT+JIUtQ5cuQ0V0CPhAjixZnWzJxDT04J1Y5rvQO1zAORABf6pf tP7VODqTKQgxPgAK6namPulStP0DIxQCp0fvvdp3TJMtYjxrPrCnNka8BcmwCUWFEdvL kfrz3YI34kEAepKDzDVUHPhC0bHRdUiCfjEPQXITtEfePPpwalOjzsBmzYHRN+wdx+Rw VCfgsjm3tSSsi5e+VI3zVuSrixV8S4Gp3U7HXCcNjg7pz44prGRLI+usgLrxn7rEzXi1 gdOMbtpgwsjxLAgNu/poxSReVBPms48r6bDLT/aYFR4PF7K7ke75czIdsAtjxcf6JRmV bxPw== X-Gm-Message-State: APjAAAVwl+u75CiLw0Ry0WHXourDfRDz7kcdBFlnDyMRp3O26MzCS8vm xEgVLGLarZCk48931E1/z69b5Q4SA4CDa/N/8KA= X-Google-Smtp-Source: APXvYqxWQvMhv9Lcqmm6CEfJS2jmZGqw4ck0f52lWTxcycV+CrYMYsuTE8EuK52bfyMMvYqDD3f1BVhd0iBTBN2Wuz8= X-Received: by 2002:aca:c4cc:: with SMTP id u195mr20308192oif.40.1554820815580; Tue, 09 Apr 2019 07:40:15 -0700 (PDT) MIME-Version: 1.0 References: <20190328220234.GA52232@bsdpad.com> In-Reply-To: From: Nick Wolff Date: Tue, 9 Apr 2019 10:40:07 -0400 Message-ID: Subject: Re: GPU passthrough: mixed success on Linux, not yet on Windows To: Robert Crowston Cc: Ruslan Bukin , "freebsd-virtualization@freebsd.org" X-Rspamd-Queue-Id: 896DA8FC65 X-Spamd-Bar: ------ Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20161025 header.b=sivf3nw3; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of darkfiberiru@gmail.com designates 2607:f8b0:4864:20::230 as permitted sender) smtp.mailfrom=darkfiberiru@gmail.com X-Spamd-Result: default: False [-6.86 / 15.00]; TO_DN_EQ_ADDR_SOME(0.00)[]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36]; FREEMAIL_FROM(0.00)[gmail.com]; DKIM_TRACE(0.00)[gmail.com:+]; MX_GOOD(-0.01)[cached: alt3.gmail-smtp-in.l.google.com]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; NEURAL_HAM_SHORT(-0.99)[-0.988,0]; FREEMAIL_TO(0.00)[protonmail.com]; FROM_EQ_ENVFROM(0.00)[]; RCVD_TLS_LAST(0.00)[]; MIME_TRACE(0.00)[0:+,1:+]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; DWL_DNSWL_NONE(0.00)[gmail.com.dwl.dnswl.org : 127.0.5.0]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20161025]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; 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)[0.3.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.b.8.f.7.0.6.2.list.dnswl.org : 127.0.5.0]; IP_SCORE(-2.86)[ip: (-9.10), ipnet: 2607:f8b0::/32(-2.95), asn: 15169(-2.18), country: US(-0.06)]; RCVD_COUNT_TWO(0.00)[2] Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 09 Apr 2019 14:40:17 -0000 Robert, I'm hoping that the set of commits done for https://reviews.freebsd.org/D19646 will fix the pcie reset problems. Apparently pcie wasn't auto retraining after reset. I don't know if connected to that review but wanted to let you know. On Wed, Apr 3, 2019 at 7:42 PM Robert Crowston via freebsd-virtualization < freebsd-virtualization@freebsd.org> wrote: > To get Windows to boot I think the only hacks I needed were in bhyve/mem.= c > (this is not production ready!) > > Diff'd against 12.0-release > > -- /tmp//sh-np.vFXFJd 2019-04-04 00:29:32.752990000 +0100 > +++ mem.c 2019-03-02 22:27:14.500906000 +0000 > @@ -101,20 +101,22 @@ > } > > static int > -mmio_rb_add(struct mmio_rb_tree *rbt, struct mmio_rb_range *new) > +mmio_rb_add(struct mmio_rb_tree *rbt, struct mmio_rb_range *new_element) > { > struct mmio_rb_range *overlap; > > - overlap =3D RB_INSERT(mmio_rb_tree, rbt, new); > + overlap =3D RB_INSERT(mmio_rb_tree, rbt, new_element); > > + printf("mmio_rb_add: %lx:%lx\n", new_element->mr_base, > new_element->mr_end); > + > if (overlap !=3D NULL) { > -#ifdef RB_DEBUG > - printf("overlap detected: new %lx:%lx, tree %lx:%lx\n", > - new->mr_base, new->mr_end, > +//#ifdef RB_DEBUG > + printf("overlap detected: new_element %lx:%lx, tree > %lx:%lx\n", > + new_element->mr_base, new_element->mr_end, > overlap->mr_base, overlap->mr_end); > -#endif > +//#endif > > - return (EEXIST); > +// return (EEXIST); > } > > return (0); > @@ -336,6 +338,8 @@ > assert((mr->flags & MEM_F_IMMUTABLE) =3D=3D 0); > RB_REMOVE(mmio_rb_tree, &mmio_rb_root, entry); > > + printf("unregister: %lx:%lx\n", mr->base, > mr->base+mr->size); > + > /* flush Per-vCPU cache */ > for (i=3D0; i < VM_MAXCPU; i++) { > if (mmio_hint[i] =3D=3D entry) > @@ -348,7 +352,12 @@ > if (entry) > free(entry); > > - return (err); > + if (err) > + fprintf( stderr, "Unregister mem errno %d for range > %lx:%lx.\n", err, > + memp->base, memp->base + memp->size ); > + > + return 0; > + //return (err); > } > > > > > =E2=80=90=E2=80=90=E2=80=90=E2=80=90=E2=80=90=E2=80=90=E2=80=90 Original = Message =E2=80=90=E2=80=90=E2=80=90=E2=80=90=E2=80=90=E2=80=90=E2=80=90 > On Thursday, 28 March 2019 22:02, Ruslan Bukin wrote: > > > Hi Robert: > > > > On Sun, Mar 17, 2019 at 04:22:29PM +0000, Robert Crowston via > freebsd-virtualization wrote: > > > > > Is it worth me continuing to hack away at these problems---of course > I'm happy to share anything I come up with---or is there an official > solution to GPU support in the pipe about to make my efforts redundant :)= ? > > > > Could you share your patch/hacks somewhere? > > I would like to try it with AMD graphics card and Windows. > > > > Ruslan > > _______________________________________________ > freebsd-virtualization@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-virtualization > To unsubscribe, send any mail to " > freebsd-virtualization-unsubscribe@freebsd.org" >