Commit Graph

153 Commits

Author SHA1 Message Date
lukem fdc8fec66f allow default colours to be overridden by
PCCONS_DEFAULT_FG PCCONS_DEFAULT_SO_FG
	PCCONS_DEFAULT_BG PCCONS_DEFAULT_SO_BG
2002-04-14 14:20:33 +00:00
atatat 31144d9976 Convert ioctl code to use EPASSTHROUGH instead of -1 or ENOTTY for
indicating an unhandled "command".  ERESTART is -1, which can lead to
confusion.  ERESTART has been moved to -3 and EPASSTHROUGH has been
placed at -4.  No ioctl code should now return -1 anywhere.  The
ioctl() system call is now properly restartable.
2002-03-17 19:40:26 +00:00
thorpej 3835413bc1 Overhaul of the ISA autoconfiguration code to support direct
configuration of devices logically attached to the ISA bus:

* Change the isa_attach_args to have arrays of io, mem, irq, drq
  resources.
* Add a "pnpnames" and a linked list of "pnpcompatnames" to the
  isa_attach_args.  If either of these members are non-NULL,
  direct configuration of the bus is being performed.  Add an
  ISA_DIRECT_CONFIG() macro to test for this.
* Drivers are not allowed to modify the isa_attach_args unless
  direct configuration is not being performed and the probe fucntion
  is returning success.
* Adapt device drivers -- currently, all driver probe routines return
  "no match" if ISA_DIRECT_CONFIG() evaluates to true.
2002-01-07 21:46:56 +00:00
lukem 95c969f245 add RCSID 2001-11-15 07:03:28 +00:00
jdolecek 2b7d2123cd Make console polling (cnpollc/cngetc) work on IBM PS/2 keyboard controller
using level triggered interrupts, which livelocks calling intr routine
if the data register is not read in the interrupt routine, as it's case
when polling after interrupts are enabled during boot.

Block all interrupts when polling for keypress, and modify intr routine
to read and store value from data register. The latter one is to avoid
losing a keypress when one would manage to press a key when kernel is
not in spl-guarded code section.

Tested with classic pccons, 'pcconskbd at pckbc' and 'pckbd at pckbc'
configurations, on i386.
2001-07-31 13:15:28 +00:00
wiz d2cede024b Replace some memcpy()s with probably overlapping arguments with memmove()s. 2001-07-24 22:29:07 +00:00
jdolecek f6af05f407 Back the last revision off, upon Bill Sommerfeld's request 2001-06-02 00:46:00 +00:00
jdolecek 5dbe622e77 When polling, raise priority level to tty, to block keyboard interrupts
when the system is "warm", i.e. interrupts are not blocked anymore.
This seems to be necessary on my PS/2 Model 70 keyboard - without this,
system ends up in endless loop calling the keyboard intr routine if a key
is pressed when polling. This _may_ be just specific to level-triggered
interrupts PS/2 MCA uses, though it's more likely it's just the way the
particular keyboard controller works.

Discussed on tech-kern@.
2001-06-02 00:01:04 +00:00
scw 2963ff5c58 Add `l_poll' to `struct linesw' and provide an xxxpoll() entry point
in each tty driver to indirect through it.

This allows tty line-disciplines to handle poll(2) system calls.
2001-05-02 10:32:08 +00:00
soren 2cc519bba5 <pc/display.h> has been moved to <dev/ic/pcdisplay.h>. 2000-12-01 07:55:10 +00:00
eeh 8c3f6a0d10 Adapt to new line discipline scheme. 2000-11-02 00:37:56 +00:00
hpeyerl 87a8c94ed0 Sanity check the cursor position read from the 6845 and if clearly
off-screen, set it to 0x0.  From dean@huxley.org.
2000-10-12 22:36:30 +00:00
simonb 889c658b5b Change the kernel mmap interface so that the offset to map is an
"off_t" and the return value is a "paddr_t" to allow mappings
at offsets past 2^31 bytes.  Somewhat inspired by FreeBSD, which
only changed the offset to a "vm_offset_t".

Includes updates for the i386, pc532 and sh3 mmmmap from Jason Thorpe.
2000-06-26 04:55:19 +00:00
sommerfeld bcf02ec8ff If rnd is configured into the kernel, do rnd(4) entropy collection
from devices connected to pckbc:
 - Do actual sample collection in pckbc.
 - Add rndsource_element_t to the slot data.
 - Change pckbc_set_inputhandler() to take an additional argument,
the name of the device, which is (eventually) passed into
rnd_attach_source() to identify the source.
 - Change callers of pckbc_set_inputhander() appropriately.
2000-06-05 22:20:54 +00:00
thorpej b667a5a357 New callout mechanism with two major improvements over the old
timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
  resource allocation.
- Insertion and removal of callouts is constant time, important as
  this facility is used quite a lot in the kernel.

The old timeout()/untimeout() API has been removed from the kernel.
2000-03-23 06:30:07 +00:00
thorpej a183d34f04 - Implement cnbell() -- ring the console bell. The cn_bell entrypoint
is optional.
- Add cn_bell to statically allocated consdevs as appropriate.
2000-03-06 21:36:05 +00:00
thorpej 4560ac465a Split the PC-like keyboard controller driver into chip back-end and
bus front-end.
1999-12-03 22:48:22 +00:00
wrstuden f3b3a1b98d If we get into pcclose() without a defined tty, just exit rather than
dereferencing a null pointer.
1999-07-26 19:31:54 +00:00
cgd d00106ee06 if you pull in isavar.h, you don't need isa_machdep.h. 1999-03-19 04:58:45 +00:00
drochner bce7f71843 sort the dependencies between terminal devices a bit and add consistency
checks to catch conflicting devices at compile time
1999-02-06 18:46:21 +00:00
mellon 3cc58a69cc Fix a signed/unsigned thinko (this is cgd's fix) 1998-11-05 15:59:00 +00:00
mycroft cc8a78e783 Assign my copyrights to TNF. 1998-08-15 04:42:42 +00:00
mycroft 6d3d8a1350 Make copyright notices with my name consistent. 1998-08-15 03:02:31 +00:00
rvb d0153a96fe The sense of the pccons_is_console test is backwards 1998-08-13 18:00:05 +00:00
perry 54f97ab9d1 bzero->memset, bcopy->memcpy 1998-08-05 02:28:26 +00:00
perry c4fae2a286 NORVEGIAN -> NORWEGIAN 1998-07-27 23:52:49 +00:00
jonathan d275e56dee * defopt COMPAT_{09,10,11,12,13} and COMPAT_NOMID.
TODO: revisit interaction between native compat and emul compat usage.
1998-07-05 08:49:30 +00:00
jonathan 466e784ee1 defopt DDB. 1998-07-04 22:18:13 +00:00
drochner 543407f7ee use the mi header (dev/pckbc/pckbdreg.h) 1998-04-17 13:09:23 +00:00
cgd 0d0f2a0713 kill unnecessary (unused) definition of partab (char partab[];), which
caused a compiler warning with egcs.
1998-04-02 02:46:02 +00:00
drochner c4a9c8a96e Allow to use pccons with the new MI keyboard controller driver.
This is more or less for testing (it doesn't contribute to the beauty
of the code).
1998-03-22 17:40:08 +00:00
drochner 06471a2eed switch to non-BROKEN_INDIRECT_CONFIG 1998-03-22 12:52:03 +00:00
mycroft 2ada4b4af1 Replace TS_WOPEN with t_wopen, per mail on tech-kern. 1998-03-21 04:02:47 +00:00
thorpej dd4cb910db Generate dependenices on the XSERVER option. 1998-01-22 01:16:23 +00:00
drochner 32d94859ea adapt to changed <dev/ic/i8042reg.h> 1998-01-18 14:45:10 +00:00
thorpej 36760d9d94 Update for changes to config. 1998-01-12 18:59:04 +00:00
mycroft 59ea23516a Increase delays to the required 7us. 1998-01-09 21:28:32 +00:00
christos af27f4e9b5 PR/4506: Andreas Gustafsson: Finnish keyboard mapping for pccons. 1997-11-16 22:05:48 +00:00
mycroft 9870971b35 Format police. 1997-10-31 07:59:52 +00:00
thorpej 1d338698d7 Flush tty input queue when going in and out of X mode, PR #4321,
Chris Demetriou.
1997-10-29 01:39:40 +00:00
enami 6705728ce7 Make sure that vs.color is always initialized. Fix PR#2510.
- separate initialization code in sput() into new function pcinit().
- call pcinit() in both sput() and pcattach() if (crtat == 0).
1997-10-09 02:05:01 +00:00
drochner f596be4ec4 Fix the problem described in PR port-i386/4177: scroll lock could cause
tsleep() to be called from an interrupt handler.
The semantics of the scroll-lock key is changed now: it issues a ^S or
^Q, depending on the current state. (It should probably issue
tp->t_cc[VSTOP] or tp->t_cc[VSTART] instead, but this would require more
serious structural changes because there is not always a tty context
present.)
The "scroll lock" LED is now controlled by pcstart()/pcstop(), so it
will show the real state even if the start/stop characters are remapped
or the normal ^S/^Q are used.
1997-10-01 20:48:59 +00:00
christos 52f4c73570 PR/4189: Matthias Scheler: pccons doesn't compile if national keyboard map
is used
1997-09-30 16:23:21 +00:00
drochner fe882d2810 Put all console initialization into 1 exported function (pccnattach()).
Delay setting of cn_tab->cn_dev until autoconfiguration attach
  to get the minor number right.
Delete unused pccnprobe() and pccninit().
1997-08-23 14:10:12 +00:00
drochner 5a32b608a0 -Export variables needed for system console initialization.
-Because *cnputc()'s second argument is an "int" in cons.h, correct
  pccnputc() accordingly.
1997-08-14 16:02:14 +00:00
perry 8b27678e4e Added CAPS_IS_CONTROL option that switches the caps lock and control
keys on a pccons console keyboard.
submitted in PR 899 by Alistair G. Crooks
Note that I only did this for the US type keyboard maps.
This and all other such options should be documented, and perhaps
rennamed with consistant PCCONS_ prefixes.
1997-08-04 05:29:20 +00:00
perry 6adc9468b2 1) add Matthieu Herrb's support for iso-latin1 and non-U.S. keyboards
o option DISPLAY_ISO8859 enables the display of iso-latin1
       character set (instead of the IBM page code 437)
    o option FRENCH_KBD, GERMAN_KBD or NORVEGIAN_KBD implement
       support for national keyboards (implies DISPLAY_ISO8859).
   Originally supplied in PR #1529
2) Add option PCCONS_REAL_BS which (for US keyboards only) forces
   backspace to really be backspace and not delete. Intended to close
   PR #2264 submitted by Greg Woods. He wanted it changed for everyone
   -- I thought adding a kernel compile option was friendlier.

Note: Both of these sets of options really should be documented in an
i386 specific version of options(4).
1997-08-04 05:05:31 +00:00
drochner d900f01e01 Don't call kernel debugger on CTL-ALT-ESC hotkey if the keyboard doesn't
belong to the actual console. (ie, we have a serial console)
Closes PR port-i386/3131.
1997-07-26 12:32:24 +00:00
mikel acaccdd747 make X support code dependent on XSERVER; PR port-i386/2528. 1996-11-05 06:21:25 +00:00
fvdl 016d7b35dc Make this compile without COMPAT_10 (unused variable). 1996-10-24 12:22:43 +00:00