Subject: Re: apic timing/clock problem in 4.0_RC3, MacBook 2x2.0
To: Jared D. McNeill <jmcneill@invisible.ca>
From: Marco Trillo <marcotrillo@gmail.com>
List: port-i386
Date: 11/10/2007 22:03:09
Hi,

On 11/10/07, Jared D. McNeill <jmcneill@invisible.ca> wrote:
> On Sat, 10 Nov 2007, Juan RP wrote:
> > Clearly SMBIOS is the way to go. I think you can use smbios_find_table()
> > and smbios_get_string() for this (I haven't used SMBIOS yet), they are
> > defined in x86/include/smbiosvar.h.
>
> The pm branch provides a facility for devices to access this information
> already; ie:
>
>         const char *platform = pnp_get_platform("system-product-name");
>

Nice :-) .
One thing that comes to mind... are these values initialized before
startrtclock() is called?

In the diff I posted earlier, the autoconf.c::cpu_configure() function
is patched to call bios32_init() as the first function -- before
starrtclock(), so the SMBIOS is initialized and the other init
functions, startrtclock in this case, can use the smbios_xxx()
functions.

In this case the smbios_get_string() function is used; all of this
SMBIOS functions are available in the netbsd-4 (in fact the patch is
against the netbsd-4 branch) so the patch can be applied to NetBSD 4.
A diff for -current should use the pnp_get_platform, then...

     -Marco