Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 20 Jul 2011 16:33:19 +0200
From:      Niclas Zeising <niclas.zeising@gmail.com>
To:        Bernhard Froehlich <decke@FreeBSD.org>
Cc:        Steve Wills <swills@freebsd.org>, freebsd-current@freebsd.org
Subject:   Re: em problem in virtualbox since the weekend
Message-ID:  <4E26E72F.9060703@gmail.com>
In-Reply-To: <565082b8e8b3e358266054e58e591e12@bluelife.at>
References:  <4E263EFE.3040200@FreeBSD.org> <201107200741.26362.jhb@freebsd.org> <565082b8e8b3e358266054e58e591e12@bluelife.at>

next in thread | previous in thread | raw e-mail | index | archive | help
On 2011-07-20 14:33, Bernhard Froehlich wrote:
> On Wed, 20 Jul 2011 07:41:26 -0400, John Baldwin wrote:
>> On Tuesday, July 19, 2011 10:35:42 pm Steve Wills wrote:
>>> Hi,
>>>
>>> While testing some other things, I found -CURRENT from yesterday doesn't
>>> work with the em0 in my VirtualBox 4.0.8 (a little out of date
>>> admittedly). It worked Friday or Saturday I think. Anyone else seen this
>>> or should I open a PR? Has the code changed or am I perhaps
>>> misremembering dates? The error reported is:
>>>
>>> em0: Unable to allocate bus resource: memory
>>> em0: Allocation of PCI resources failed
>>
>> This is due to a bug in VirtualBox's BIOS implementation.  Someone
>> should file
>> a bug report with VirtualBox to ask them to fix their BIOS.  The problem is 
>> that they claim that the Host-PCI bridge in their system only decodes 
>> addresses 0xa0000-0xbffff (i.e. the VGA window) via the "Producer" resources 
>> in the _CRS method of the Host-PCI bridge device.  This tells the OS
>> that all
>> the existing PCI devices are using invalid memory address ranges but that 
>> there is also no available address space to allocate for PCI devices such as 
>> em0.
>>
>> You can workaround this by setting "debug.acpi.disabled=hostres" until 
>> VirtualBox fixes their code.  I'm happy to provide further
>> clarification to an
>> existing VirtaulBox bug report if needed.
> 
> Thanks a lot for the analysis! I've talked to one of the virtualbox
> developers about that but they are not aware of such problems with Linux
> or Windows guests yet. So they are currently unsure if it's a VirtualBox
> or FreeBSD fault and if it's their fault why it works fine with other
> guests. I'm also unsure because I haven't heard of that problem before
> and now multiple people complain. That looks more like a FreeBSD related
> problem on current or stable.
> 
> I think it would be good if someone could try to reproduce that with
> emulators/virtualbox-ose-legacy which is 3.2.12 to get some vbox dev
> look into the problem again.
> 

This may or may not be related, apologies if it is not.
My FreeBSD VirtualBox guest, running inside vbox under Windows, is
having trouble mounting it's root partition, mountroot dies with error
19 (which is ENODEV, I've come to understand). I can also see in the
dmesg prior to this ahci, ehci and ohci not being able to allocate
resources properly, or something similar. Rebuilding the kernel with
nooptions NEW_PCIB solves the immediate issue (i.e. the machine boots
and can find filesystems, etc.).
It is probably so, that if there is a bug in vbox bios, the old pci code
masks that bug, but the new version is more stringent and therefore dies
on it. This can be the reason no one has seen this issue up until now.
Why it works for Linux and Windows guests, I have no idea.
I hope this helps someone, or at least can shed some light on the issue
at hand.

Regards!
-- 
Niclas Zeising



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4E26E72F.9060703>