Date: Mon, 29 Jun 1998 09:05:37 -0700 From: Mike Smith <mike@smith.net.au> To: Josef Belkovics <belkovic@albert.osu.cz> Cc: freebsd-hackers@FreeBSD.ORG Subject: Re: BROKEN_KEYBOARD_RESET Message-ID: <199806291605.JAA00334@dingo.cdrom.com> In-Reply-To: Your message of "Mon, 29 Jun 1998 11:38:06 %2B0200." <Pine.BSF.3.95q.980629113722.1110A-100000@albert.osu.cz>
next in thread | previous in thread | raw e-mail | index | archive | help
> > > My home pc (Cyrix 486DX4) does not a CPU reset via the keyboard controller > > > or via invltbl() (/sys/i386/i386/vm_machdep.c). Is somebody able to say me > > > patch which will reset through bios. Or in some other way. (Don't write - > > > throw it out.) > > > > Write your own, if it matters that much to you. Look at how the VM86 > > stuff calls the BIOS, find a suitable BIOS vector, and try it. > > > And if you manage to do it, please contribute the code! When I was a > > FreeBSD newbie, I was stuck with such a motherboard. I switched to > > FreeBSD from Linux, and I could reboot it with "reboot=bios" in Linux. > > > A friend of mine, and more experienced FreeBSD hacker, made a valiant > > effort to port the code, but we never did get it to work. I've ditched > > that motherboard (and the next one), but enough people still ask about > > this problem that I would like to be able to point to a fix. > > > Does it have a PCI or EISA bus? There are PCI and EISA resets... > > Only ISA bus. > > > I would recommend disassembling the keyboard portion of the BIOS to > > see what it's doing so you can duplicate it... > > Keyboard comes from xt (and has switch for xt/at). Probably its controller > does not know about 'cpu reset' command. And 'cyrix 486dx4' certainly does > not understand idea in invltbl(). The cpu reset command is normally performed by the keyboard controller, not the keyboard itself. > I will try in asembler only following: > a) i change cpu mode from protected to 'normal' > b) i change appropriate segment registers > c) i change appropriate bios constant to enable warm post > d) i will call appropritae bios function (int 19h ?) Sounds pretty good; you may have some fun going back to real mode though - you will have to copy your code down below the 1M mark. Have a look at the way the APM stuff does it, as it has to do basically the same thing (although it saves a lot of state that you can safely discard). -- \\ Sometimes you're ahead, \\ Mike Smith \\ sometimes you're behind. \\ mike@smith.net.au \\ The race is long, and in the \\ msmith@freebsd.org \\ end it's only with yourself. \\ msmith@cdrom.com To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199806291605.JAA00334>