From owner-freebsd-virtualization@freebsd.org Fri Jul 19 14:43:23 2019 Return-Path: Delivered-To: freebsd-virtualization@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 56036A453A for ; Fri, 19 Jul 2019 14:43:23 +0000 (UTC) (envelope-from mgrooms@shrew.net) Received: from mx2.shrew.net (mx2.shrew.net [38.97.5.132]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 52FBD706C1 for ; Fri, 19 Jul 2019 14:43:22 +0000 (UTC) (envelope-from mgrooms@shrew.net) Received: from mail.shrew.net (mail.shrew.prv [10.24.10.20]) by mx2.shrew.net (8.15.2/8.15.2) with ESMTP id x6JEhK1K041041 for ; Fri, 19 Jul 2019 09:43:20 -0500 (CDT) (envelope-from mgrooms@shrew.net) Received: from [10.16.32.30] (unknown [172.126.77.65]) by mail.shrew.net (Postfix) with ESMTPSA id 87286195EB4 for ; Fri, 19 Jul 2019 09:43:15 -0500 (CDT) Subject: Re: New video BIOS for bhyve To: freebsd-virtualization@freebsd.org References: From: Matthew Grooms Message-ID: Date: Fri, 19 Jul 2019 09:43:14 -0500 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.6.2 (mx2.shrew.net [10.24.10.11]); Fri, 19 Jul 2019 09:43:20 -0500 (CDT) X-Rspamd-Queue-Id: 52FBD706C1 X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; spf=pass (mx1.freebsd.org: domain of mgrooms@shrew.net designates 38.97.5.132 as permitted sender) smtp.mailfrom=mgrooms@shrew.net X-Spamd-Result: default: False [-4.23 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(-0.20)[+mx]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-virtualization@freebsd.org]; TO_DN_NONE(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; RCVD_COUNT_THREE(0.00)[3]; RCVD_TLS_LAST(0.00)[]; MX_GOOD(-0.01)[cached: mx1.shrew.net]; NEURAL_HAM_SHORT(-0.92)[-0.924,0]; RCVD_IN_DNSWL_NONE(0.00)[132.5.97.38.list.dnswl.org : 127.0.10.0]; IP_SCORE(-1.00)[ip: (-9.53), ipnet: 38.0.0.0/8(2.82), asn: 174(1.77), country: US(-0.05)]; DMARC_NA(0.00)[shrew.net]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:174, ipnet:38.0.0.0/8, country:US]; MID_RHS_MATCH_FROM(0.00)[] 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: Fri, 19 Jul 2019 14:43:23 -0000 On 7/19/2019 5:02 AM, Henrik Gulbrandsen wrote: > In the last few months, I have been extending the video support in bhyve > to allow booting from live ISO images, which sometimes lack UEFI loaders. Hi Henrick, Wow. This looks impressive. Thanks for taking it on :) > There was already a video BIOS with dormant support for VGA, but I could > not use that, because the X11 int10 module runs a real-mode x86 emulator > that aborts when it tries to enter the C code running in protected mode. I wonder if this could be related to your CPU not supporting unrestricted guest mode? I know it's required for some bhyve functionality. > > Instead, I added support for PCI Expansion ROMs to bhyve and wrote a new > SVGA video BIOS from scratch in 8086 assembly code. The current features > include VGA modes 3 and 12h, 24-bit and 32-bit VESA modes from 640x480 to > 1920x1200, and enough BIOS functions to boot a typical Linux desktop. > > At this point, I think it's good enough for a preliminary release, so if > you are interested, you will find all patch files at the following URL: > >     https://www.gulbra.net/freebsd-bhyve/ > > My apologies for the 15-year-old web layout, which will probably break > horribly on modern smartphones. Also, I hope I have not duplicated the > work of someone else. I didn't want to announce this before it worked. > Are you maintaining your changes in a public repo somewhere? If so, it would be great if you could share the location. Thanks, -Matthew