bhyve userboot -- lack of inb()/outb() in ficl

Peter Grehan grehan at freebsd.org
Thu Aug 14 00:58:55 UTC 2014


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.



More information about the freebsd-virtualization mailing list