if you try to boot a 32-bit HVM solaris domU that contains the xpv
driver on a 64-bit solaris dom0 then the xpv driver will hang during boot.
this problem is not seen during install because the SUNWxvmpv package
(which contains the xpv driver) is not present in the install miniroot.
after installing this problem is normally not seen because by default
when you boot a domU the bootmode (32 or 64 bit) is chosen to match
the dom0.
i've only seen this problem with matrix-3.1 bits. i haven't tried
to reproduce the problem with pre-matrix-3.1 bits.
here's where we're hanging:
---8<---
stack pointer for thread d4ed6600: d4f0ea68
d4f0ea9c swtch+0x17d()
d4f0eac4 cv_wait_sig+0x12f()
d4f0eae4 xpv`read_reply+0x4b()
d4f0eb20 xpv`xs_talkv+0xf0()
d4f0eb54 xpv`xs_watch+0x46()
d4f0eb8c xpv`register_xenbus_watch+0x7b()
d4f0ebac xpv`i_xvdi_watch_device+0x2e()
d4f0ebc0 xpv`xvdi_watch_devices+0x21()
d4f0ebd4 xpvd`xpvd_attach+0x71()
d4f0ec04 devi_attach+0x6c()
d4f0ec28 attach_node+0x81()
d4f0ec48 i_ndi_config_node+0x8f()
d4f0ec68 i_ddi_attachchild+0x35()
d4f0ec84 devi_attach_node+0x98()
d4f0ecb4 config_immediate_children+0xc9()
d4f0ecdc devi_config_common+0x7f()
d4f0ecf4 ndi_devi_config+0x13()
d4f0ee28 devfs`dv_filldir+0x31()
d4f0eed0 devfs`devfs_readdir+0x90()
d4f0ef14 fop_readdir+0x70()
d4f0ef84 getdents64+0xb3()
d4f0efac sys_sysenter+0x106()
---8<---