Skip site navigation (1)Skip section navigation (2)
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>