From owner-freebsd-current@FreeBSD.ORG Tue Sep 22 01:17:56 2009 Return-Path: Delivered-To: current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5D011106566B; Tue, 22 Sep 2009 01:17:56 +0000 (UTC) (envelope-from delphij@delphij.net) Received: from tarsier.delphij.net (delphij-pt.tunnel.tserv2.fmt.ipv6.he.net [IPv6:2001:470:1f03:2c9::2]) by mx1.freebsd.org (Postfix) with ESMTP id EACC78FC13; Tue, 22 Sep 2009 01:17:55 +0000 (UTC) Received: from tarsier.geekcn.org (tarsier.geekcn.org [211.166.10.233]) (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by tarsier.delphij.net (Postfix) with ESMTPS id C2BC25C06F; Tue, 22 Sep 2009 09:17:54 +0800 (CST) Received: from localhost (tarsier.geekcn.org [211.166.10.233]) by tarsier.geekcn.org (Postfix) with ESMTP id 8A95C55CE12F; Tue, 22 Sep 2009 09:17:54 +0800 (CST) X-Virus-Scanned: amavisd-new at geekcn.org Received: from tarsier.geekcn.org ([211.166.10.233]) by localhost (mail.geekcn.org [211.166.10.233]) (amavisd-new, port 10024) with ESMTP id sDk0Pfaigkj7; Tue, 22 Sep 2009 09:17:49 +0800 (CST) Received: from charlie.delphij.net (adsl-76-237-33-62.dsl.pltn13.sbcglobal.net [76.237.33.62]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by tarsier.geekcn.org (Postfix) with ESMTPSA id 8976455CE0F8; Tue, 22 Sep 2009 09:17:47 +0800 (CST) DomainKey-Signature: a=rsa-sha1; s=default; d=delphij.net; c=nofws; q=dns; h=message-id:date:from:reply-to:organization:user-agent: mime-version:to:cc:subject:references:in-reply-to: x-enigmail-version:openpgp:content-type; b=XnaRtj7fT54HXrtlRsVX8tdrSAjaeDbp6uX9h8sZtDgR9NsRjtI0pAelPca7UOqA2 zxRjTGFsxVt1/shMFCyCg== Message-ID: <4AB825B6.6010602@delphij.net> Date: Mon, 21 Sep 2009 18:17:42 -0700 From: Xin LI Organization: The FreeBSD Project User-Agent: Thunderbird 2.0.0.22 (X11/20090803) MIME-Version: 1.0 To: d@delphij.net References: <4AB7D081.8090203@FreeBSD.org> <4AB82303.9030109@delphij.net> In-Reply-To: <4AB82303.9030109@delphij.net> X-Enigmail-Version: 0.96.0 OpenPGP: id=18EDEBA0; url=http://www.delphij.net/delphij.asc Content-Type: multipart/mixed; boundary="------------040308040409010903050609" Cc: Anonymous , paradox , current@freebsd.org, Joel Dahl Subject: Re: svn rev 197392 hangs during boot X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: d@delphij.net List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Sep 2009 01:17:56 -0000 This is a multi-part message in MIME format. --------------040308040409010903050609 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Xin LI wrote: > Hi, > > Joel Dahl wrote: >> Fresh FreeBSD 9-CURRENT (svn 197392) hangs at: > >> atkbd: the current kbd controller command byte 0047 >> atkbd: keyboard ID 0x41ab (2) >> kbdc: RESET_KBD return code:00fa >> kbdc: RESET_KBD status:00aa > > Will reverting revision 197384 help? Forgot the attachment. Cheers, - -- Xin LI http://www.delphij.net/ FreeBSD - The Power to Serve! -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.12 (FreeBSD) iEYEARECAAYFAkq4JbYACgkQi+vbBBjt66CPcQCgkT5NhuvHM58YdGUmO3Ik4C98 ZkkAnimYMDjawA/4/ptfNfdK86yOlhiO =aLKm -----END PGP SIGNATURE----- --------------040308040409010903050609 Content-Type: text/plain; name="197384-revert.diff" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="197384-revert.diff" Index: sys/conf/files =================================================================== --- sys/conf/files (revision 197384) +++ sys/conf/files (revision 197383) @@ -2828,8 +2828,8 @@ dev/xen/xenpci/xenpci.c optional xenpci dev/xen/xenpci/evtchn.c optional xenpci dev/xen/xenpci/machine_reboot.c optional xenpci -dev/x86bios/x86bios.c optional x86bios | atkbd | dpms | vesa -dev/x86bios/x86bios_alloc.c optional x86bios | atkbd | dpms | vesa -contrib/x86emu/x86emu.c optional x86bios | atkbd | dpms | vesa -contrib/x86emu/x86emu_util.c optional x86bios | atkbd | dpms | vesa +dev/x86bios/x86bios.c optional x86bios | dpms | vesa +dev/x86bios/x86bios_alloc.c optional x86bios | dpms | vesa +contrib/x86emu/x86emu.c optional x86bios | dpms | vesa +contrib/x86emu/x86emu_util.c optional x86bios | dpms | vesa Index: sys/dev/atkbdc/atkbd.c =================================================================== --- sys/dev/atkbdc/atkbd.c (revision 197384) +++ sys/dev/atkbdc/atkbd.c (revision 197383) @@ -44,10 +44,10 @@ #include #include -#if defined(__i386__) || defined(__amd64__) +#ifdef __i386__ #include #include -#include +#include #include #include @@ -55,7 +55,7 @@ #include #include -#endif /* __i386__ || __amd64__ */ +#endif /* __i386__ */ #include #include @@ -1089,33 +1089,34 @@ static int get_typematic(keyboard_t *kbd) { -#if defined(__i386__) || defined(__amd64__) +#ifdef __i386__ /* * Only some systems allow us to retrieve the keyboard repeat * rate previously set via the BIOS... */ - x86regs_t regs; - vm_offset_t p; + struct vm86frame vmf; + u_int32_t p; - regs.R_AX = 0xc000; - x86biosCall(®s, 0x15); - if ((regs.R_EFLG & PSL_C) || regs.R_AH) + bzero(&vmf, sizeof(vmf)); + vmf.vmf_ax = 0xc000; + vm86_intcall(0x15, &vmf); + if ((vmf.vmf_eflags & PSL_C) || vmf.vmf_ah) return ENODEV; - p = BIOS_PADDRTOVADDR((regs.R_ES << 4) + regs.R_BX); + p = BIOS_PADDRTOVADDR(((u_int32_t)vmf.vmf_es << 4) + vmf.vmf_bx); if ((readb(p + 6) & 0x40) == 0) /* int 16, function 0x09 supported? */ return ENODEV; - regs.R_AX = 0x0900; - x86biosCall(®s, 0x16); - if ((regs.R_AL & 0x08) == 0) /* int 16, function 0x0306 supported? */ + vmf.vmf_ax = 0x0900; + vm86_intcall(0x16, &vmf); + if ((vmf.vmf_al & 0x08) == 0) /* int 16, function 0x0306 supported? */ return ENODEV; - regs.R_AX = 0x0306; - x86biosCall(®s, 0x16); - kbd->kb_delay1 = typematic_delay(regs.R_BH << 5); - kbd->kb_delay2 = typematic_rate(regs.R_BL); + vmf.vmf_ax = 0x0306; + vm86_intcall(0x16, &vmf); + kbd->kb_delay1 = typematic_delay(vmf.vmf_bh << 5); + kbd->kb_delay2 = typematic_rate(vmf.vmf_bl); return 0; #else return ENODEV; -#endif /* __i386__ || __amd64__ */ +#endif /* __i386__ */ } static int --------------040308040409010903050609--