Subject: Re: apic timing/clock problem in 4.0_RC3, MacBook 2x2.0
To: None <port-i386@netbsd.org>
From: Marco Trillo <marcotrillo@gmail.com>
List: port-amd64
Date: 11/24/2007 00:08:48
Hi,

On 11/10/07, Marco Trillo <marcotrillo@gmail.com> wrote:
> OK, the following patch uses the SMBIOS product identification to
> disable the 'legacy USB SMI' bit only when a MacBook is found.
> In addition, defining the USB_SMI_DISABLE preprocessor symbol causes
> it to be always disabled -- this is to make it easy to enable it in a
> system which is suspected to have the problem.
>
> The patch also causes the SMBIOS support to be compiled always, and
> not only when ipmi(4) is compiled (I guess that ipmi was the only user
> of the SMBIOS stuff so it was not compiled by default). Some SMBIOS
> strings such as vendor, machine and version are printed if available.

More recent news: it seems that this issue does not only affect the original
revision of the MacBook as I originally thought, but also newer versions (for
example the latest ones released two weeks ago). According to these
messages, the
patch that disables the SMI generation works for these models too:

<http://marc.info/?l=freebsd-hardware&m=119541044317852&w=2>
<http://marc.info/?l=freebsd-current&m=119541694725861&w=2>

The patch that I attached earlier is for i386; however, it should be
easy to make
it work on amd64 too, just by making the same changes there.  I don't have a
64-bit MacBook to test, though.

Also:

> +			usb_smi_disable = usb_smi_disable ||
> +				 (strcmp(product, "MacBook1,1") == 0);

this should be replaced by (strncmp(product, "MacBook", 7) == 0) so all MacBooks
are matched.

By the way, in the time I've been running the patch the system is
working perfectly.

At the moment I couldn't reproduce the messed boot ('lost interrupts')
problem. But it
may not have anything to do with this.

Thanks,
Marco.