From owner-freebsd-hackers Fri Mar 17 15:23:18 2000 Delivered-To: freebsd-hackers@freebsd.org Received: from mass.cdrom.com (mass.cdrom.com [204.216.28.184]) by hub.freebsd.org (Postfix) with ESMTP id A005437B6EF; Fri, 17 Mar 2000 15:23:13 -0800 (PST) (envelope-from msmith@mass.cdrom.com) Received: from mass.cdrom.com (localhost [127.0.0.1]) by mass.cdrom.com (8.9.3/8.9.3) with ESMTP id PAA00910; Fri, 17 Mar 2000 15:25:30 -0800 (PST) (envelope-from msmith@mass.cdrom.com) Message-Id: <200003172325.PAA00910@mass.cdrom.com> X-Mailer: exmh version 2.1.1 10/15/1999 To: sperber@informatik.uni-tuebingen.de (Michael Sperber [Mr. Preprocessor]) Cc: Mike Smith , "Brian J. McGovern" , brent@kearneys.ca, questions@freebsd.org, hackers@freebsd.org, jfn@enteract.com Subject: Re: AMD Athlon and booting In-reply-to: Your message of "17 Mar 2000 14:35:49 +0100." Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Mime-Version: 1.0 Content-Transfer-Encoding: quoted-printable Date: Fri, 17 Mar 2000 15:25:30 -0800 From: Mike Smith Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG > >>>>> "Mike" =3D=3D Mike Smith writes: > = > Mike> This has nothing to do with Athlon processors and everything to d= o with = > Mike> buggy BIOS code that doesn't set the "extended keyboard present" = bit. = > Mike> Feel free to check the (very simple) code in boot2 that performs = keyboard = > Mike> detection, and if you've got any better ideas on how to make this= work = > Mike> properly, we're all ears. 8) > = > This is untrue, at least in general. It is a timing problem at least > on some Athlon boards. On the MSI 6195, if you increase the timing > parameters in probe_keyboard.c, the keyboard will get detected just fin= e. I don't know what you're smoking, but there is no "probe_keyboard.c" = involved in this. The keyboard probe code is in boot2.c, and it looks = like this: 313 if (opts & 1 << RBX_PROBEKBD) { 314 i =3D *(uint8_t *)PTOV(0x496) & 0x10; 315 printf("Keyboard: %s\n", i ? "yes" : "no"); 316 if (!i) 317 opts |=3D 1 << RBX_DUAL | 1 << RBX_SERIAL; 318 opts &=3D ~(1 << RBX_PROBEKBD); 319 } There aren't any timing parameters there either. Either bit 4 in the = byte at 0x400:96 is set, or it's not. -- = \\ Give a man a fish, and you feed him for a day. \\ Mike Smith \\ Tell him he should learn how to fish himself, \\ msmith@freebsd.org \\ and he'll hate you for a lifetime. \\ msmith@cdrom.com To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message