VirtualBox + VIMAGE

Brandon Gooch jamesbrandongooch at gmail.com
Wed Mar 2 21:09:24 UTC 2011


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.

-Brandon


More information about the freebsd-emulation mailing list