FreeBSD-AMD64 on Xeon MP
Don Bowman
don at sandvine.com
Wed Sep 3 17:01:54 UTC 2008
>From Ivan Voras
> Don Bowman wrote:
>
> > I tried putting a call to uhci_dumpregs() there, it hangs as well.
So
> > my assumption Is that a read to 0x3080 is hanging.
> >
> > Anyone have any suggestions?
>
> If the same thing that worked for me works for you (booting Linux
> before soft-rebooting into FreeBSD) than it would look like something
> isn't initialized right.
I am focusing in on SMM emulation.
http://www.ussg.indiana.edu/hypermail/linux/kernel/0407.3/0688.html
suggests something to me.
What if I am executing this on a processor other than the boot
processor,
and the SMM code doesn't expect this?
I'm not sure where I would try this patch in freebsd, but it seems
promising.
Ie I read 0xe090. This trips SMM for legacy(?). SMM is entered, does
something, corrupts, leaves, and then a few instructions later I crash.
The suggested workaround for this (different machine and OS) is to
disable
the legacy mode. FreeBSD seems to do this already I think, calling:
pci_write_config(self, PCI_LEGSUP, PCI_LEGSUP_USBPIRQDEN, 2); in
uhci_pci_attach()
More information about the freebsd-hardware
mailing list