When booting from a PCIe ExpressModule or a Fabric Expansion Module (FEM), the system might hang because it runs out of MSI interrupt vectors.
Workaround
In the GRUB configuration, set pci=nomsi.
Boot a non-Xen kernel.
Edit the file /boot/grub/menu.lst.
Add the following text to the Xen kernel init line stanza:
pci=nomsi
For example:
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/sda3
# initrd /initrd-version.img
#boot=/dev/sda
default=1
timeout=5
serial --unit=0 --speed=115200
terminal --timeout=5 serial console
title Enterprise Linux Server (2.6.18-194.el5xen)
root (hd0,0)
kernel /xen.gz-2.6.18-194.el5 com1=115200 console=com1
module /vmlinuz-2.6.18-194.el5xen ro root=LABEL=/
console=ttyS0,115200 debug pci=nomsi
module /initrd-2.6.18-194.el5xen.img
title Enterprise Linux Server-base (2.6.18-194.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-194.el5 ro root=LABEL=/
earlylprintk=ttyS0,115200 console=ttyS0,115200 debug
initrd /initrd-2.6.18-194.el5.img
or
Reboot the Xen kernel.