em problem in virtualbox since the weekend

John Baldwin jhb at freebsd.org
Wed Jul 20 15:15:01 UTC 2011


On Wednesday, July 20, 2011 10:33:19 am Niclas Zeising wrote:
> 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.

Yes, that is the same bug.  The old PCI code is less stringent (but also
less functional in other cases as a result).

-- 
John Baldwin


More information about the freebsd-current mailing list