Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 10 Jun 2011 16:42:27 -0700
From:      Jeremy Chadwick <freebsd@jdc.parodius.com>
To:        d@delphij.net
Cc:        freebsd-stable@freebsd.org
Subject:   Re: Unable to boot Lenovo T520
Message-ID:  <20110610234227.GA54846@icarus.home.lan>
In-Reply-To: <4DF2A5AC.6070804@delphij.net>
References:  <20110610221525.A1C791CC0B@ptavv.es.net> <4DF2A5AC.6070804@delphij.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Jun 10, 2011 at 04:15:56PM -0700, Xin LI wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA256
> 
> On 06/10/11 15:15, Kevin Oberman wrote:
> > I am hitting the problem reported some time ago with atkbd and svn
> > 197392.
> > 
> > It's not clear that this has ben finally resolved, but I am still
> > hitting it with -stable on my new T520. I really want to get FreeBSD up
> > on it, but I am dead in the water at this time. I guess I'll have to
> > build a new kernel with any fix and replace the kernel in the ISO.
> > 
> > Also, I am hoping to use it on an amd64 kernel and I am even less sure
> > that any patch will work on that arch.
> > 
> > The original thread was
> > http://freebsd.1045724.n5.nabble.com/svn-rev-197392-hangs-during-boot-td3926276.html
> 
> The fix was not (yet) merged back to 8-STABLE.  You may use a
> 8.0-RELEASE kernel to boot the system temporarily and apply this patch:
> 
> http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/atkbdc/atkbd.c.diff?r1=1.63;r2=1.64
> 
> (If hunk #1 fails to apply, it's Ok to just ignore it).

Specifically:

http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/atkbdc/atkbd.c#rev1.64

-	if (x86bios_get_intr(0x15) == 0 || x86bios_get_intr(0x16) == 0)
+	if (x86bios_get_intr(0x15) != 0xf000f859 ||
+	    x86bios_get_intr(0x16) != 0xf000e82e)

What are these magic numbers?  Where did they come from?  What do they
represent?  Why are they not documented in the source code/commit
itself?  No offence, but this is an open-source project; anyone looking
at this code isn't going to know what those vectors represent.  The
commit message is also lacking (again: magic values not mentioned), and
expecting a developer to dig through commits/annotations to determine
what this piece of code is for is unreasonable.

No I'm not in a bad mood (honest!), I just find this kind of thing
infuriating the more I dig through kernel source code.

-- 
| Jeremy Chadwick                                   jdc@parodius.com |
| Parodius Networking                       http://www.parodius.com/ |
| UNIX Systems Administrator                   Mountain View, CA, US |
| Making life hard for others since 1977.               PGP 4BD6C0CB |




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