Date: Tue, 22 Sep 2009 11:09:09 +0400 From: Anonymous <swell.k@gmail.com> To: d@delphij.net Cc: paradox <ddkprog@yahoo.com>, current@freebsd.org, Joel Dahl <joel@FreeBSD.org> Subject: Re: svn rev 197392 hangs during boot Message-ID: <86ab0nxxpm.fsf@gmail.com> In-Reply-To: <4AB825B6.6010602@delphij.net> (Xin LI's message of "Mon, 21 Sep 2009 18:17:42 -0700") References: <4AB7D081.8090203@FreeBSD.org> <4AB82303.9030109@delphij.net> <4AB825B6.6010602@delphij.net>
next in thread | previous in thread | raw e-mail | index | archive | help
--=-=-= Xin LI <delphij@delphij.net> writes: > 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. > Before trying to revert it can make sense to try place back u_int32_t cast first [...] > - p = BIOS_PADDRTOVADDR((regs.R_ES << 4) + regs.R_BX); > + p = BIOS_PADDRTOVADDR(((u_int32_t)vmf.vmf_es << 4) + vmf.vmf_bx); that I accidentally removed here. --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=a.diff Index: sys/dev/atkbdc/atkbd.c =================================================================== --- sys/dev/atkbdc/atkbd.c (revision 197392) +++ sys/dev/atkbdc/atkbd.c (working copy) @@ -1101,7 +1101,7 @@ x86biosCall(®s, 0x15); if ((regs.R_EFLG & PSL_C) || regs.R_AH) return ENODEV; - p = BIOS_PADDRTOVADDR((regs.R_ES << 4) + regs.R_BX); + p = BIOS_PADDRTOVADDR(((uint32_t)regs.R_ES << 4) + regs.R_BX); if ((readb(p + 6) & 0x40) == 0) /* int 16, function 0x09 supported? */ return ENODEV; regs.R_AX = 0x0900; --=-=-=--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?86ab0nxxpm.fsf>