Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 29 Jun 1998 11:38:06 +0200 (MET DST)
From:      Josef Belkovics <belkovic@albert.osu.cz>
To:        freebsd-hackers@FreeBSD.ORG
Subject:   Re: BROKEN_KEYBOARD_RESET
Message-ID:  <Pine.BSF.3.95q.980629113722.1110A-100000@albert.osu.cz>

next 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().

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 ?)

Code will be on place of invltbl() in vm_machdep.c. This is only cca 10
instructions. Maybe it would try more experienced FreeBSD hacker. (Good
example I saw in /sys/boot/biosboot. (I did hier quick hack to change vga
palette register for white and green - the change in ?.h file for
syscons.c left _white_ cursor - terrible.))

Josef Belkovics



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?Pine.BSF.3.95q.980629113722.1110A-100000>