summaryrefslogtreecommitdiffstats
path: root/sys/isa
Commit message (Collapse)AuthorAgeFilesLines
* Fixed the type of timeout functions and removed casts that hid thebde1997-04-201-10/+12
| | | | type mismatches. Not taking an arg in scrn_timer() broke `cc -mrtd'.
* Don't call timeout() for DTR wakeup or busy check if the relevant timeoutbde1997-04-181-5/+11
| | | | | is already active. This fixes "timeout table full" panics under 100% interrupt load and other weird conditions.
* Preserve some bits in the keyboard controller command byte whenyokota1997-04-101-10/+6
| | | | | | | | | | | | resetting the keyboard. Well, sorry, this bug is totally my fault. I DID intend to preserve them, but somehow I failed. The bug puts some old keyboard controllers in a strange state, resulting in keyboard freeze or random key input. The fix closes PR kern/3067.
* Prevent wedging of the stat clock because of missed interrupts.mckay1997-04-061-5/+10
| | | | | | This should cure the "alternate system clock has died!" problem. Discussed with: bde, joerg
* Make MOD_* macros almost consistent:dufault1997-04-061-5/+7
| | | | | | | | | | | | | | | | | | | | Use the name argument almost the same in all LKM types. Maintain the current behavior for the external (e.g., modstat) name for DEV, EXEC, and MISC types being #name ## "_mod" and SYCALL and VFS only #name. This is a candidate for change and I vote just the name without the "_mod". Change the DISPATCH macro to MOD_DISPATCH for consistency with the other macros. Add an LKM_ANON #define to eliminate the magic -1 and associated signed/unsigned warnings. Add MOD_PRIVATE to support wcd.c's poking around in the lkm structure. Change source in tree to use the new interface. Reviewed by: Bruce Evans
* Removed defaults for dead options CONADDR and CONUNIT.bde1997-04-051-15/+1
|
* Use device flags instead of options for serial console configurationbde1997-04-051-23/+53
| | | | | | | | | (see LINT). There is a new low-level console type that is more suitable for use with gdb-remote. Fixed setting of speed at probe time for the serial console (if any). Reviewed by: dfr
* Make the default VERASE key the <-- key and remove root'sbrian1997-04-031-1/+4
| | | | | | | `stty's. 'nuff said. Inventor: joerg@FreeBSD.org Reviewer: sos@FreeBSD.org
* Interim patch/kludge for keyboard lock-up when `kbdcontrol' tries toyokota1997-03-281-3/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | change typematic rate, or the X server (XFree86 or Accelerated X) starts up. So far, there have been two independent reports from Dell Latitude XPi notebook/laptop owners. The Latitude seems to be the only system which suffers from this problem. (I don't know the problem is with the entire Latitude line or with only some Latitude models) No problem report has been heard about other systems (I certainly cannot reproduce the problem in my -current and 2.2 systems). In 3.0-CURRENT, 2.2-RELEASE and 2.2-GAMMA-970310, when programming the keyboard LED/repeat-rate, `set_keyboard()' in `syscons' tells the keyboard controller not to generate keyboard interrupt (IRQ1) and then enable tty interrupts, expecting the keyboard interrupt doesn't occur. It appears that somehow Latitude's keyboard controller still generates the keyboard interrupt thereafter, and `set_keyboard()' doesn't see the return code from the keyboard because it is consumed by the keyboard interrupt handler. The patch entirely disables tty interrupts while setting LED and typematic rate in `set_keyboard()', making the routine behave more like the previous versions of `syscons' (versions in 2.1.X and 2.2-ALPHA, -BETA, and some -GAMMAs). The reporter said this patch eliminated the problem. (I also found another typo/bug, but the reporter and I found that it wasn't the cause of the problem...) This should go into RELENG_2_2.
* Don't include <sys/ioctl.h> in the kernel. Stage 1: don't includebde1997-03-243-6/+3
| | | | | it when it is not used. In most cases, the reasons for including it went away when the special ioctl headers became self-sufficient.
* Don't #include <sys/fcntl.h> in <sys/file.h> if KERNEL is defined.bde1997-03-232-4/+4
| | | | | Fixed everything that depended on getting fcntl.h stuff from the wrong place. Most things don't depend on file.h stuff at all.
* Made set_controller_command_byte() less verbose. It used to print ayokota1997-03-071-6/+2
| | | | | | | debug message whenever one of lock keys were pressed, if the system was started with the `-v' option. Removed a couple of lines of dead code too.
* Move pcvt towards using kbdio (finally!).joerg1997-03-061-2/+3
| | | | | | | | | | Warning: this won't work yet with PCVT_SCANSET=2 along in early console mode (boot -c, or boot -d). A big thanks to Kazutaka, and a word of apologies for delaying the review for that long time... Submitted by: yokota@zodiac.mech.utsunomiya-u.ac.jp (Kazutaka YOKOTA)
* Only print clock calibration messages if the system was booted with -v.bde1997-03-051-8/+16
| | | | Submitted by: partly by gpalmer
* Back out the patch to break up the clock probe lines. Instead, followgpalmer1997-03-051-4/+4
| | | | | Bruce's suggestion of deleting "relative to mc146818A clock ", thus shortening the line ...
* Split the rather long and line-wrapping clock probe messages on boot.gpalmer1997-03-041-5/+5
| | | | | | (2.2?) Submitted by: Mathew Dood <winter@jurai.net>
* make sure that the user supplied signals in struct vt_mode are actuallyjmg1997-03-011-8/+18
| | | | | | | | | | valid signals, else return EINVAL for ioctl VT_SETMODE. this fixes a problem that anybody with vty access can panic the system. 2.2-Candidate (and 2.1.0 I believe) Reviewed-by: sos
* Fixed spelling error in a variable name.bde1997-02-281-2/+2
|
* Removed an obsolete test which prevented mouse movement from quitingyokota1997-02-281-7/+6
| | | | | | screen saver. Added a missing `break' statement in set_normal_mode(). Reviewed by: sos
* Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are notpeter1997-02-2216-16/+16
| | | | ready for it yet.
* Oops, cut/paste could be done on tthe WRONG vty :(sos1997-02-131-1/+1
| | | | pointed out by Kazu.
* This is the kernel Lite/2 commit. There are some requisite userlanddyson1997-02-101-1/+1
| | | | | | | | | | | | | | | changes, so don't expect to be able to run the kernel as-is (very well) without the appropriate Lite/2 userland changes. The system boots and can mount UFS filesystems. Untested: ext2fs, msdosfs, NFS Known problems: Incorrect Berkeley ID strings in some files. Mount_std mounts will not work until the getfsent library routine is changed. Reviewed by: various people Submitted by: Jeffery Hsu <hsu@freebsd.org>
* Fix for the Compaq Armada laptop.yokota1997-02-071-3/+9
| | | | | | | | | | The PS/2 mouse device responds to a reset command with a sequence of ACK(fa), RESULT(aa) and ID(00). Most PS/2 mice immediately returns ACK, but spend sometime before sending RESULT. The Armada takes time before ACK; extra delay is necessary before the call to read ACK. The problem was reported in comp.unix.bsd.freebsd.misc and the patch was tested by the reporter. No PR was filed, by the way.
* Fixed the SMC fifo bug fix. sioopen() hung while input was streaming inbde1997-02-011-3/+15
| | | | | | | | | | with <= 100 usec between each character arrival time. This didn't happen until rev.1.75 of clock.c because DELAY(100) used to delay for closer to 80 usec than 100 usec, and the minimum time between character arrivals is 87.8 usec at the maximum supported speed of 115200 bps 8N1. Clear DCD timestamp flag on close (the input timestamp flag is already cleared).
* Fixed the "switch to next screen" command (normally bound to thesos1997-01-301-1/+10
| | | | | | | key "print scrn". It used to stop at the first non-open vty, now it skips the non-open ones and thereby enable one to cycle around all open vty by pressing "print scrn".
* Estimate an initial overhead of 0 usec instead of 20 usec in DELAY().bde1997-01-291-10/+21
| | | | | | | | | | | | | | | | | | I have code to calibrate the overhead fairly accurately, but there is little point in using it since it is most accurate on machines where an estimate of 0 works well. On slow machines, the accuracy of DELAY() has a large variance since it is limited by the resolution of getit() even if the initial delay is calibrated perfectly. Use fixed point and long longs to speed up scaling in DELAY(). The old method slowed down a lot when the frequency became variable. Assume the default frequency for short delays so that the fixed point calculation can be exact. Fast scaling is only important for small delays. Scaling is done after looking at the counter and outside the loop, so it doesn't decrease accuracy or resolution provided it completes before the delay is up. The comment in the code is still confused about this.
* Fixes and workarounds for Hayes ESP:bde1997-01-291-7/+25
| | | | | | | | | | | | | | | - don't uselessly initialize the fifo "DMA" bit at attach time. - initialize the fifo "DMA" bit at open time. Without this, the device interrupts for every character received, reducing input performance to that of an 8250. - don't uselessly initialize the fifo trigger level to 8 (scaled to 256) at attach time. - don't scale the fifo trigger level to 512 bytes. The driver's pseudo- dma buffer has size 256, so it can't handle bursts of size 512 or 256. It should be able to handle the second lowest ftl (2 scaled to 64). - don't reset the fifos in siostop(). Reset triggers a hardware bug involving wedging of the output interrupt bit This workaround unfortunately requires ESP support to be configured.
* Add save/restore cursor as pr SCO screen(HW) manpage.sos1997-01-232-1/+30
| | | | | | | | Fix ESC[2J to not move cursor home Clear mouse cutmarking on more cases. Minor changes by me. Submitted by: ache
* Fix the bug that caused CTRL & ALT keys to be hanging sometimes aftersos1997-01-201-1/+1
| | | | | | | an X seesion. Really stupid error of me, and I've been looking at this code SO many times. Thanks to Kazutaka YOKOTA for seeing this.. Submitted by: Kazutaka YOKOTA
* Oops, the position of the savefont code was wrong, cur_consolesos1997-01-191-12/+12
| | | | wasn't set yet.
* Oops! I commented out the waiting for retrace loops, because thesos1997-01-181-5/+5
| | | | | | | one in draw_mouse causes spontanious hangs on my p5-100 when I move the mouse excessively. Forgot that on the last commit, so using the mouse or destructive cursor would produce large amounts of flicker..
* Bruce pointed out a bogon:sos1997-01-171-3/+11
| | | | | | | | | | | cur_console is NULL when copy_font() is first called from scinit(). This is apparently harmless when scinit() is called early from sccninit() - page 0 is apparently mapped r/w then, and 0->status contains suitable garbage. However, when there is a serial console, scinit() is first called from scattach() when the page tables are completely initialized, so the NULL pointer causes a panic. Submitted by: bruce
* Guard against the i8254 timer being uninitialzed if DELAY() isbde1997-01-161-5/+22
| | | | | | | | | | | | | | | | | | | | | called early for console i/o. The timer is usually in BIOS mode if it isn't explicitly initialized. Then it counts twice as fast and has a max count of 65535 instead of 11932. The larger count tended to cause infinite loops for delays of > 20 us. Such delays are rare. For syscons and kbdio, DELAY() is only called early enough to matter for ddb input after booting with -d, and the delay is too small to matter (and too small to be correct) except in the PC98 case. For pcvt, DELAY() is not used for small delays (pcvt uses its own broken routine instead of the standard broken one), but some versions call DELAY() with a large arg when they unnecessarily initialize the keyboard for doing console output. The problem is more serious for pcvt because there is always some early console output. Guard against the i8254 timer being partially or incorrectly initialized. This would have prevented the endless loop. Should be in 2.2.
* - Modified for PC-98.kato1997-01-161-5/+34
| | | | - Included IBM-PC specific code in #ifndef PC98.
* Upgrade the kbdio rutines to provide queued kbd & mouse events.sos1997-01-154-285/+840
| | | | | | Minor other updates to syscons by me. Submitted by: Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>
* Make the long-awaited change from $Id$ to $FreeBSD$jkh1997-01-1416-16/+16
| | | | | | | | This will make a number of things easier in the future, as well as (finally!) avoiding the Id-smashing problem which has plagued developers for so long. Boy, I'm glad we're not using sup anymore. This update would have been insane otherwise.
* Use breakpoint() instead of Debugger() in siointr1(). Debugger() doesn'tbde1996-12-231-3/+2
| | | | | work in fast interrupt handlers because it calls db_printf() which uses %es for string stuff and %es isn't initialized.
* Hawaii-Five-Typoalex1996-12-191-3/+3
|
* Disabled half-baked disk statistics support. It didn't actually generatebde1996-12-181-1/+7
| | | | statistics, so it just wasted scarce disk table slots and screen space.
* Fix the broken support for monochrome VGA's.sos1996-12-071-3/+22
| | | | It was MY fault after all, damn..
* Synchronize with the RELENG_2_2 branch.asami1996-12-042-13/+51
| | | | | | Definite 2.2 candidate. Submitted by: The FreeBSD(98) Development Team
* Alot of fixes from kazu:sos1996-12-013-133/+217
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. All the suggestions earlier made by Bruce: renaming some symbols, stricter error checking, removing redundant code, etc. 2. The `psm' driver preserves the default counter resolution and report rate, whatever they are after reset. (Based on reports and suggestion from Nate and Rob Bolin). 3. The `psm' driver now does not check the so-called sync. bit in the first byte of the data packet by default, so that the tapping feature of ALPUS GlidePoint works (based on reports from Louis Mamakos). I tested the code with ALPUS Desktop GlidePoint (M/N GP101) and found no problem; tapping worked. It appears ALPUS produces several models of GlidePoint. I hope the other models are OK too. The check code can still be activated by defining the PSM_CHECKSYNC option in the config file. (The bit checking slightly reduces, if not completely eliminates, weird mouse behavior cased by unsynchronized mouse data packets. It also helps us to detect if the mouse interrupt can ever be lost. But, well, if there are devices which cannot be supported this way...) 4. The `psm' driver does not include the protocol emulation code by default. The code can still be compiled in if the PSM_EMULATION option is specified in the config file. Louis Mamakos suggests the emulation code is putting too much in the kernel, and `moused' works well. I will think about this later and decide if the entire emulation code should be removed. 5. And, of course, the fix in `scprobe()' from Bruce to cure the UserConfig problem. My code in `kbdio.c' is slightly different from his patch, but has the same effect. There still is a possibility that `scprobe()' gets confused, if, for whatever reasons, the user holds down a key for very long time during the boot process. But we cannot cope with everything, can we? Submitted by: Kazutaka YOKOTA (yokota@zodiac.mech.utsunomiya-u.ac.jp)
* Fixed input of BREAKs when IGNPAR is set and IGNBRK is not set. BREAKsbde1996-11-301-27/+32
| | | | | | | | | are always together with Framing Errors and they were incorrectly treated as FE's and discarded. Reorganized the BREAK/FE/PE tests. Found by: NIST-PCTS
* Reset h/w fifos (if any) in siostop(). Now ttyflush() works fairly wellbde1996-11-301-3/+9
| | | | | | | | with sio devices (not perfectly, since there is no way to flush the tx holding register on 8250-16450's. I'm not sure if resetting the fifos flushes the tx shift register). Reminded by: NIST-PCTS
* Fixed sloppy clearing of TS_BUSY. Don't clear it until the transmitterbde1996-11-301-3/+33
| | | | | | | | is completely empty. There is no interrupt for output completion, so poll for it every 10 ms after output is nearly complete. Now ttywait() works right. Reminded by: NIST-PCTS
* Throw away input if CREAD is not set. POSIX requires no characters to bebde1996-11-301-2/+3
| | | | | | received in this case even if the hardware doesn't have a CREAD bit. Found by: NIST-PCTS
* Cleaned up CONSPEED changes. `comdefaultrate' gives the defaultbde1996-11-301-8/+6
| | | | | speed for the "com" console, not for general purpose "com" ports, so there was no need to split it into comdefaultrate and condefaultrate.
* Fix UserConfig w/syscons.nate1996-11-191-2/+2
| | | | | | | | | | | | | The 'getchar' function in syscons (sccngetc) is used by UserConfig to get keyboard input from the user. When it was modified to use the shared keyboard port routines it used the port passed in during the probe routine. Since the probe routine was not yet called, the port was set to 0, which is obviously not going to work. Pre-initialize sc_port to IO_KBD which is really a kludge, but it's how the previous driver did it's job. Found by: remote GDB
* Only poll the keyboard if the data left in the buffer is from thesos1996-11-151-5/+5
| | | | kbd, not if its from the psm device.
* Finally a start at sharing the kdb controller routines betweensos1996-11-143-106/+749
| | | | | | | | | | | | | syscons and psm, curtesy Kazutaka Yokota with minor changes by me. This contains an update of the psm driver as well. This also fixes the breakage that I introduced to the psm driver by making syscons poll for keyboard events in the atempt to fix the hanging keyboard problem. It works perfectly for me, and I'd like to hear from all that have had keyboard/ps/2 mouse problems if this is the cure... Submitted by: Kazutaka YOKOTA (yokota@zodiac.mech.utsunomiya-u.ac.jp)
OpenPOWER on IntegriCloud