[OpenBIOS] Current States of LinuxBios on SiS 630

Ronald G Minnich rminnich at lanl.gov
Wed May 31 13:31:46 CEST 2000


keyboard issues: the following code hangs right now:

void
pc_keyboard_reset()
{
  volatile unsigned char regval;
  /* reset any keyboard interrupts ... */
  (void) inb(0x60);
  /* test loop ... delete this when things seem to work ... */
  regval = inb(0x64);
  display("regval from kb is "); printint(regval); display("\n");
  regval &= 4;
  outb(0xaa, 0x64);
  while ((inb(0x64) & 1) == 0)
    ;

  display("0x60 has "); printint(inb(0x60)); display("\n");

  outb(0x60, 0x64);

  /* this test was 2, but it never worked, try 1 */
  while((inb(0x64) & 1) == 0)
    ;

  outb(0x61 | regval, 0x60);
  /* this test was 2, but it never worked, try 1 */
  while((inb(0x64) & 1) == 0)
    ;
  
}
#ifdef SIS630_KEYBOARD
void
intel_keyboard_on()
{
  unsigned char regval;

  regval = intel_conf_readb(0x80000847); 
  regval |= 8;
  intel_conf_writeb(0x80000847, regval); 
  pc_keyboard_reset();
}
#endif

The intel_keyboard_on seems to go ok, but the keyboard reset loops hang on
testing the low-order bit. Any ideas here would sure help.

ron

-
To unsubscribe: send mail to majordomo at freiburg.linux.de
with 'unsubscribe openbios' in the body of the message



More information about the openbios mailing list