Description of problem:
When installing Linux (RedHat Enterprise Linux 5.3) in a virtual machine on top of XEN 3.3.1, the Broadcom NIC driver (BNX2) does not recognize the PCI address for the NIC when using the pci pass-through technique to dedicate a NIC. The Broadcom driver (bnx2) doesn't load correctly, and hence the NIC(s) is not available for use within the VM. The driver complains about not being able to map the register space for the PCI addresses passed in to the VM. On the flip-side, using an Intel Pro1000 NIC (e1000e driver) works without problems in the same VM.
Version-Release number of selected component (if applicable):
BASE OS: RedHat Enterprise Linux 5.3 / 184.108.40.206 / XEN 3.3.1
VM OS: RedHat Enterprise Linux 5.3 / 2.6.18-128
BNX2: 1.7.9-1 FAILED
BNX2: 1.8.5b FAILED
BNX2: 1.9.3 (from RHEL 5.4 beta) FAILED
100% - it can easily be reproduced.
Steps to Reproduce:
1. Install base OS, e.g.: Red Hat Enterprise Linux 5.3 (64-bit)
2. Upgrade Xen to 3.3.1 (obtained from xen.org)
3. Create a VM with another instance of Red Hat Enterprise Linux 5.3. (32-bit)
4. Dedicate a Broadcom NIC (e.g.: chipset 5709) to the VM by using pci pass-through.
5. Observe that the bnx2 driver doesn't load, with the following errors:
>> dmesg | grep bnx2
Broadcom NetXtreme II Gigabit Ethernet Driver bnx2 v1.7.9-1 (July> 18,2008)
bnx2 0000:00:00.0: Cannot map register space, aborting.
bnx2: probe of 0000:00:00.0 failed with error -12
Networking not available within the VM.
PCI pass-through would work with the Broadcom NICs.
- Using XEN 3.0.3 seems to work, so something changed in a later version of XEN (~3.3.1) causing the Broadcom driver to not behave well.
- I can provide more detailed steps for how to reproduce this problem if needed.
Red Hat only supports inbox versions of Xen and drivers. Any manual installations of later versions are unsupported by Red Hat. If there are features that require backporting from upstream to 3.0.3 those need to be proposed.