amd64/67745: boot fails on compaq presario r3000z
Jung-uk Kim
jkim at niksun.com
Mon Aug 9 09:40:27 PDT 2004
The following reply was made to PR amd64/67745; it has been noted by GNATS.
From: Jung-uk Kim <jkim at niksun.com>
To: freebsd-gnats-submit at FreeBSD.org, newntrbr at ucla.edu
Cc:
Subject: Re: amd64/67745: boot fails on compaq presario r3000z
Date: Mon, 9 Aug 2004 12:31:04 -0400
On Saturday 07 August 2004 11:30 am, Scott Long wrote:
> The following reply was made to PR amd64/67745; it has been noted
> by GNATS.
>
> From: Scott Long <scottl at samsco.org>
> To: freebsd-gnats-submit at FreeBSD.org, newntrbr at ucla.edu
> Cc:
> Subject: Re: amd64/67745: boot fails on compaq presario r3000z
> Date: Sat, 07 Aug 2004 09:27:18 -0600
>
> I'd like to get this fixed for 5.3 but I also don't feel
> comfortable with completely turning off the keyboard and aux port
> tests. Can someone experiment to see if both test_kbd_port() and
> test_aux_port() need to be disabled?
I think test_kbd_port() patch is necessary. However, like I said
before, you can add a keyboard controller driver option to minimize
any impact on other platforms, e. g., hint.atkbdc.0.flags, in
dev/kbd/atkbdc.c. Or simply, you can extend the meaning of the
existing keyboard driver option, e. g., KB_CONF_NO_RESET
(hint.atkbd.0.flags="0x2"), or add another option (KB_CONF_NO_TEST?)
not to call test_kbd_port() from dev/atkbd.c. After that, all we
have to do is documentation. ;-)
test_aux_port() patch is not absoulutely necessary AFAIK. If you
don't turn it off, aux port doesn't work. I have gut feeling that
the following commit fixed the problem, though.
http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/isa/psm.c.diff?r1=1.23.2.8&r2=1.23.2.9
I cannot verify it any more because I don't have the laptop any
more. :-(
> Also, both functions are called from several places; it would be
> useful to find out if they can actually be called from certain
> places but not others.
Unfortunately the keyboard controller driver is a big mess. :-( Any
way, this function is only used in two files, i. e., dev/kbd/atkbd.c
and isa/psm.c. isa/psm.c uses it to recover from error, i. e.,
recover_from_error(). However, this is only for aux port. In fact,
this is really ugly hack. Comment from the recover_from_error()
speaks for itself:
/*
* NOTE: somehow diagnostic and keyboard port test commands bring the
* keyboard back.
*/
This is very wrong and aux port driver must not touch keyboard port at
all, IMHO. However, this problem may not exist any more because of
the above commit, i. e., no error -> no recovery. ;-)
Thanks,
Jung-uk Kim
> Scott
More information about the freebsd-amd64
mailing list