home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #30 / NN_1992_30.iso / spool / comp / os / linux / 20716 < prev    next >
Encoding:
Text File  |  1992-12-16  |  1.9 KB  |  52 lines

  1. Newsgroups: comp.os.linux
  2. Path: sparky!uunet!mcsun!news.funet.fi!funic!nntp.hut.fi!nntp!jem
  3. From: jem@snakemail.hut.fi (Johan Myreen)
  4. Subject: Re: keyboard problems - v.99
  5. In-Reply-To: ammo@cc.gatech.edu's message of Tue, 15 Dec 1992 02:27:27 GMT
  6. Message-ID: <JEM.92Dec16212729@lk-hp-6.hut.fi>
  7. Sender: usenet@nntp.hut.fi (Usenet pseudouser id)
  8. Nntp-Posting-Host: lk-hp-6.hut.fi
  9. Organization: Helsinki University of Technology, Finland
  10. References: <1992Dec15.022727.27072@cc.gatech.edu>
  11. Date: 16 Dec 92 19:27:29 GMT
  12. Lines: 38
  13.  
  14. In article <1992Dec15.022727.27072@cc.gatech.edu> ammo@cc.gatech.edu (Ammo Goettsch) writes:
  15.  
  16. >Summary: setup.s kbd controller/vga mode bug reported in 89.pl6 is still there
  17.  
  18. >the video mode. Does anybody know whether Johan Myreen's fix that was posted
  19. >for v.89.pl6 will work for v.99?
  20.  
  21. This is strange, because the fix for the problem *is* in 0.99, only
  22. coded a little differently.
  23.  
  24. Is anybody else having trouble with this?
  25.  
  26. On a related note: does anybody know what the following lines in
  27. keyboard.c are good for? The same code (in assembler) is in
  28. boot/setup.S, too. Is this some kind of standard practice?
  29.  
  30.          pt_regs = (struct pt_regs *) int_pt_regs;
  31.          scancode=inb_p(0x60);
  32. !        x=inb_p(0x61);
  33. !        outb_p(x|0x80, 0x61);
  34. !        outb_p(x&0x7f, 0x61);
  35.          if (scancode == 0xe0)
  36.                  set_kbd_flag(KG_E0);
  37.  
  38. The ins and outs toggle a bit in the keyboard controller's RAM. This
  39. RAM location is not documented by IBM, or at least I haven't been able
  40. to find it in the Technical References. The only documented i/o
  41. addresses are 0x60 (data) and 0x64 (status), and the keyboard driver
  42. should work perfectly without this bit fiddling. In fact, I even tried
  43. removing them, with no ill effects.
  44.  
  45. (Yes, I know, the header in kernel/chr_drv/keyboard.c says I wrote
  46. the driver myself :-) But actually I just translated the asm version
  47. into C, and didn't dare to change anything.)
  48.  
  49. --
  50. Johan Myreen
  51. jem@cs.hut.fi
  52.