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