Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 07 Jul 2014 12:14:10 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-bugs@FreeBSD.org
Subject:   [Bug 191693] New: Macboook 4,1 kernel panic on boot - with workaround and fix
Message-ID:  <bug-191693-8@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D191693

            Bug ID: 191693
           Summary: Macboook 4,1 kernel panic on boot - with workaround
                    and fix
           Product: Base System
           Version: 10.0-RELEASE
          Hardware: amd64
                OS: Any
            Status: Needs Triage
          Severity: Affects Some People
          Priority: ---
         Component: kern
          Assignee: freebsd-bugs@FreeBSD.org
          Reporter: walker.aj325@gmail.com

My macbook 4.1 panics on boot when SMP enabled. Setting the following in
loader.conf fixes the problem: " smbios.system.product=3D"MacBook3,1" ". Th=
is is
an ugly work-around.

There is a high probability the following change to machdep.c will fix the
problem permanently:

    /*
     * On MacBooks, we need to disallow the legacy USB circuit to
     * generate an SMI# because this can cause several problems,
     * namely: incorrect CPU frequency detection and failure to
     * start the APs.
     * We do this by disabling a bit in the SMI_EN (SMI Control and
     * Enable register) of the Intel ICH LPC Interface Bridge.=20
     */
    sysenv =3D getenv("smbios.system.product");
    if (sysenv !=3D NULL) {
        if (strncmp(sysenv, "MacBook1,1", 10) =3D=3D 0 ||
            strncmp(sysenv, "MacBook3,1", 10) =3D=3D 0 ||
>		    strncmp(sysenv, "MacBook4,1", 10) =3D=3D 0 ||
            strncmp(sysenv, "MacBookPro1,1", 13) =3D=3D 0 ||
            strncmp(sysenv, "MacBookPro1,2", 13) =3D=3D 0 ||
            strncmp(sysenv, "MacBookPro3,1", 13) =3D=3D 0 ||
            strncmp(sysenv, "Macmini1,1", 10) =3D=3D 0) {
            if (bootverbose)
                printf("Disabling LEGACY_USB_EN bit on "
                    "Intel ICH.\n");
            outl(ICH_SMI_EN, inl(ICH_SMI_EN) & ~0x8);
        }
        freeenv(sysenv);
    }

Right now the loader.conf change is serving me just fine, but there may be a
few other potential users affected by this bug.

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-191693-8>