Date: Wed, 13 Aug 2014 17:58:49 -0700 From: Peter Grehan <grehan@freebsd.org> To: Arthur Mesh <amesh@juniper.net> Cc: freebsd-virtualization@freebsd.org Subject: Re: bhyve userboot -- lack of inb()/outb() in ficl Message-ID: <53EC09C9.7000600@freebsd.org> In-Reply-To: <20140813233202.GT73055@juniper.net> References: <20140813191947.GO73055@juniper.net> <53EBD693.5080407@freebsd.org> <20140813233202.GT73055@juniper.net>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi Arthur, > On Wed, Aug 13, 2014 at 02:20:19PM -0700, Peter Grehan wrote: >> It won't work for bhyveload/userboot - the VM isn't actually >> running at that point so there's nowhere for the commands to go. > > Interesting. Is it really the case that inb/outb need to go through > VM? Yes - the device emulations that process inb/outb vm-exits are in /usr/sbin/bhyve so can only be accessed by a running guest. >> Were you looking at using inb/outb for anything in particular ? > > We're reading/writing x86-specific attributes such as > nextboot,bootcause,etc to RTC memory.. Ah, I suspected as such :( A possible solution might be to fix the lack of RTC nvram save/restore in bhyve, and modify bhyveload so that there is just enough emulation of inb/outb to access the RTC nvram file. The real solution for this, hopefully not too far away, is for bhyveload to disappear and have bhyve boot directly into UEFI (with CSM BIOS emulation). In that case, the guest's boot process would be run directly. later, Peter.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?53EC09C9.7000600>