VirtualBox + VIMAGE

Bernhard Froehlich decke at bluelife.at
Thu Mar 17 14:01:18 UTC 2011


On Wed, 2 Mar 2011 15:09:21 -0600, Brandon Gooch wrote:
> On Wed, Mar 2, 2011 at 2:52 PM, Bernhard Froehlich <decke at bluelife.at> wrote:
>> On Wed, 02 Mar 2011 21:31:45 +0100, Bernhard Froehlich wrote:
>>> On Wed, 2 Mar 2011 08:30:01 -0600, Brandon Gooch wrote:
>>>> On Wed, Jan 26, 2011 at 5:19 PM, Bernhard Froehlich
>>>> <decke at freebsd.org> wrote:
>>>>> On Wed, 26 Jan 2011 16:25:28 +0200, Mikolaj Golub wrote:
>>>>>> On Wed, 26 Jan 2011 10:22:40 +0100 Bernhard Froehlich wrote:
>>>>>>
>>>>>>  BF> Sounds like it's my turn now. Which FreeBSD version is required to be
>>>>>>  BF> able to use it?
>>>>>>
>>>>>> As Bjoern noted it is for __FreeBSD_version >= 800500.
>>>>>>
>>>>>>  BF> Is VIMAGE enabled per default and what happens if VIMAGE is disabled -
>>>>>>  BF> does it at least build fine with that patch?
>>>>>>
>>>>>> We have VIMAGE disabled by default.
>>>>>>
>>>>>> I have added to src/VBox/HostDrivers/VBoxNetFlt/freebsd/Makefile:
>>>>>>
>>>>>> .if defined(VIMAGE)
>>>>>>  CFLAGS += -DVIMAGE
>>>>>> .endif
>>>>>>
>>>>>> So to build the driver for VIMAGE enabled kernel one should run
>>>>>>
>>>>>> VIMAGE=1 make
>>>>>>
>>>>>> If VIMAGE variable is not defined the module for VIMAGE disabled kernel will
>>>>>> be built.
>>>>>
>>>>> http://home.bluelife.at/patches/virtualbox-ose-kmod-devel-VIMAGE.diff
>>>>>
>>>>> I've integrated it a bit better into the VirtualBox build system, added
>>>>> the ports stuff and updated the patch for VirtualBox 4.0.2.
>>>>>
>>>>> It is currently unclear to me why you add VIMAGE to CFLAGS but nowhere
>>>>> check for VIMAGE in VBoxNetFlt-freebsd.c. Shouldn't we add a check for
>>>>> VIMAGE in the #if defined line or is this already done somewhere deep in
>>>>> the included headers?
>>>>>
>>>>> --
>>>>> Bernhard Froehlich
>>>>> http://www.bluelife.at/
>>>>
>>>> I managed to completely miss your patch posted this thread, so I just
>>>> gave it a try on bluelife's virtualbox-ose-kmod svn r1239; it's
>>>> working well. I've started each of my guests with bridged networking
>>>> to be sure, and I see no panic (or any other anomaly) during boot or
>>>> normal operation.
>>>>
>>>> Do you have plans on merging the patch soon?
>>>
>>> It's not committed because it doesn't work. What i have tested so far
>>> is with stock 8.2-REL so without VIMAGE.
>>>
>>> enabled VIMAGE option on stock 8.2-REL: bridging works fine
>>> disabled VIMAGE option on stock 8.2-REL: crashes vm with an assert
>>>
>>> Expression: !pPatchToGuestRec
>>> Location  :
>>> /usr/home/decke/blueports/emulators/virtualbox-ose/work/VirtualBox-4.0.4_OSE/src/VBox/VMM/VMMR3/PATM.cpp(116
>>> 6) void patmr3AddP2GLookupRecord(VM*, _PATCHINFO*, uint8_t*, RTRCPTR,
>>> PATM_LOOKUP_TYPE, bool)
>>
>> It looks like that assert is not related to the VIMAGE patch. Works
>> fine now since half an hour.
>>
>>> Could someone with an VIMAGE kernel please test the patch? Just
>>> configure a VM with bridging and let it transfer a few bytes. Once with
>>> the option enabled and once disabled.
> 
> I've had a machine running a linux guest for almost a day, bridging
> with a VIMAGE kernel, while capturing traffic on the virtual interface
> (and performing a few other tasks) -- so far, so good. No panics, and
> no anomalies.
> 
> I surely don't know what the above mentioned assert is about; I
> haven't seen such a panic myself.

Thanks to everyone involved! I have committed it now to our blueports
repository and the patch will come together with the next major
VirtualBox update to 4.0.x.

http://svn.bluelife.at/index.cgi/blueports/revision/?rev=1264

It got also reviewed from upstream and it looks fine so far. Will
hopefully be committed soon.

-- 
Bernhard Fröhlich
http://www.bluelife.at/


More information about the freebsd-virtualization mailing list