3040 Commits

Author SHA1 Message Date
nate
d62eaacadc Whee. Fix two bugs which ended up cancelling each other out.
apm_setup.s was storing apm_cs16_base and apm_cs32_base addresses in
each others slots, and apm.c was reversing the result so the bugs
cancelled out, but the code looked wrong.

No functional differences unfortunately.

Submitted by:	dave edmondson <davided@sco.com>
1996-07-10 15:09:48 +00:00
jkh
89712746cb Clean out some historical cruft. 1996-07-10 03:35:59 +00:00
julian
1fe8db25ff make the NAMEBLOCK changes conditional on that preprocessor variable,
and add more documentation of the option in the Makefile
also CORRECT the variable mentioned in the README.
1996-07-09 02:28:20 +00:00
wollman
f94ea926ed Fix something that's been bugging me for a long time: move the CPU
type identification code out of machdep.c and into a new file of its
own.  Hopefully other grot can be moved out of machdep.c as well
(by other people) into more descriptively-named files.
1996-07-08 19:44:39 +00:00
joerg
e4d7a0d7a1 Add the ability to specify bootflags. This is similar to boot_i386(8),
except for the root f/s options that don't seem to be useful.
1996-07-06 14:18:56 +00:00
julian
1777d0fcc2 Obtained from: Whistle Communications
Add code to the boot blocks to allow the user to place default boot strings
on block 1 of the disk (2nd block), should the correct magic numbers be present.

If the correct options are used it will 'delete' the name used from block1,
thereby assuring that if the boot fails it won't be stuck in an infinite loop.

the boot strings are set by the utility "nextboot"
(not yet checked in, but being tested.)
By default these changes should have no effect on existing installations
and if compiled without the NAMEBLOCK option should be essentially identical
to the old ones.
1996-07-05 19:55:05 +00:00
jhay
a3554dc700 This driver supports the SDL Communications RISCom/N2 ISA cards that is
based on the HD64570 chip. Both the 1 and 2 port cards is supported.

Line speeds of up to 2Mbps is possible. At this speed about 95% of the
bandwidth is usable with 486DX processors.

The standard FreeBSD sppp code is used for the link level layer. The
default protocol used is PPP. The Cisco HDLC protocol can be used by
adding "link2" to the ifconfig line in /etc/sysconfig or where ever
ifconfig is run.

At the moment only the X.21 interface is tested. The others may need
tweaks to the clock selection code.
1996-07-05 18:51:59 +00:00
bde
017c920ce3 Added or restored #include of <machine/md_var.h>. Some declarations
moved from <machine/cpufunc.h> to better places.
1996-07-01 20:29:10 +00:00
bde
325165ab60 Fixed lots of warnings about unportable casts of pointers to volatile
variables: don't depend on the compiler generating atomic code to set
the variables - use inline asm to specify the atomic instruction(s)
explicitly.
1996-07-01 20:16:10 +00:00
bde
9f2f4504f0 Moved declarations of non-cpu things from <machine/cpufunc.h> to better
places.
1996-07-01 18:12:24 +00:00
bde
35ba85a4fd Use the standard timer (interrupt) frequency while calibrating the clocks.
Testing with the high frequency of 20000 Hz (to find problems) only found
the problem that this frequency is too high for slow i386's.

Disable interrupts while setting the timer frequency.  This was unnecessary
before rev.1.57 and forgotten in rev.1.57.  The critical (i8254) interrupts
are disabled in another way at boot time but not in the sysctl to change
the frequency.
1996-07-01 18:00:47 +00:00
joerg
17f10d8a38 Enable ktrace by default, accompanied by a small reminder about the
implications (4 KB bloat, slight slowdown of syscalls).

Reviewed by:	freebsd-hackers
1996-06-30 09:39:29 +00:00
peter
792c06a513 Fix typo that prevented the initial/lock state devices from working
correctly (accessing the lock device was not possible).
1996-06-30 04:56:05 +00:00
joerg
02519a6da0 Bump various timeouts in scprobe(). This finally fixes the broken
keyboard reset one of my earlier commits has been causing.
1996-06-27 21:36:11 +00:00
gpalmer
c308570548 Correct comment relating to pty's. There can be 256 (probably
higher actually, but that's all our MAKEDEV supports at this time)
1996-06-26 19:42:06 +00:00
sos
5c1df79acf Fixed bug in pasting 8bit char (ache).
Added linefeeds in cuts that extend beyond one line.
Prepared for the mousefunctions to be used in nontext modes.
1996-06-26 13:04:53 +00:00
dyson
ff984cd1a5 When page table pages were removed from process address space, the
resident page stats were not being decremented.  This mode corrects
that problem.
1996-06-26 05:05:52 +00:00
bde
a89f142f6f Added #include of <machine/md_var.h>. This will be needed when
some declarations are moved from <machine/cpufunc.h> to better
places.
1996-06-25 20:31:01 +00:00
bde
b78ec1326f trap.c:
Fixed profiling of system times.  It was pre-4.4Lite and didn't support
statclocks.  System times were too small by a factor of 8.

Handle deferred profiling ticks the 4.4Lite way: use addupc_task() instead
of addupc().  Call addupc_task() directly instead of using the ADDUPC()
macro.

Removed vestigial support for PROFTIMER.

switch.s:
Removed addupc().

resourcevar.h:
Removed ADDUPC() and declarations of addupc().

cpu.h:
Updated a comment.  i386's never were tahoe's, and the deferred profiling
tick became (possibly) multiple ticks in 4.4Lite.

Obtained from:	mostly from NetBSD
1996-06-25 20:02:16 +00:00
bde
3d80cb8e5e Save John Polstra's initial fix for profiling for reference. The
multiplication in addupc() overflowed for addresses >= 256K, assuming
the usual profil(2) scale parameter of 0x8000.  addupc() will go away
soon.

Submitted by:	John Polstra <jdp@polstra.com>
1996-06-25 19:25:25 +00:00
sos
860f339c72 Change the way moused talk to syscons, now its only delivering mouseevents
via an ioctl (MOUSE_ACTION).
Fixed a couple of bugs (destructive cursor, uncut, jitter).
Now applications can use the mouse via the MOUSE_MODE ioctl, its
possible to have a signal sent on mouseevents, makeing an event loop
in the application take over mouseevents.
1996-06-25 08:54:57 +00:00
dyson
63f9541399 Limit the scan for preloading pte's to the end of an object. 1996-06-25 00:39:21 +00:00
gibbs
9cec97d942 Fix problem with scb flag handing that crept in with the SCB paging support.
This only affected userland initiated device resets (using the reset command
from cdplay for instance).

Convert some spaces to tabs.
1996-06-23 20:02:37 +00:00
ache
f4993d64b7 Oops, forget the fact that LINT compiles (fixing previos PAS commi) 1996-06-23 19:46:46 +00:00
ache
d1f1d89e8c Describe the way how to add OPL for PAS without conflict 1996-06-23 19:41:34 +00:00
bde
c2649372bd Moved declarations of static functions to the correct file. This fixes
hundreds of warnings from -Wunused in lkm/syscons/*.
1996-06-23 17:12:05 +00:00
bde
d8b3bab318 Removed unused #include. Linux doesn't support SCO consoles. 1996-06-23 17:08:11 +00:00
bde
5258916985 Don't (re)define or use ACTUALLY_LKM_NOT_KERNEL - use the existing
definition of QCAM_MODULE for everything involving LKM'ness.

Makefile:
Don't add -I/sys to CFLAGS.  bsd.kmod.mk adds the correct (relative)
path.
1996-06-23 14:41:55 +00:00
bde
890f295931 Describe MAXMEM better. Enable it by default. (It's a positive option.
Only negative options in LINT should be enabled.)
1996-06-23 13:28:04 +00:00
peter
64533786b2 When writing the settings for stop bits and output hardware flow control,
things tend to work better if you write the settings to the correct
register.. (*blush*).  This subtle bug has been haunting me for ages, and
will solve a few problems that have been reported to me.

Also, take a shot at fixing the serial BREAK processing, what was there
before never really worked.  (There is a PR on this I think)
1996-06-21 21:35:01 +00:00
sos
f27aeea657 Oops, fix a bug that caused updates to the screen to happen, without
anything actually changed, in this case the mousepointer logic.
1996-06-21 11:31:09 +00:00
sos
e0038ca9ca Some news for syscons (long overdue):
Real support for a Textmode mousecursor, works by reprogramming the
charset. Together with this support for cut&paste in text mode.
To use it a userland daemon is needed (moused), which provides
the interface to the various mice protokols.
Bug fixes here and there, all known PR's closed by this update.
1996-06-21 07:19:18 +00:00
dg
10c0c08c64 Properly account for non-page aligned buffers. 1996-06-20 08:07:30 +00:00
dg
ecc3ffe7bb Minor KNF formatting change to vmapbuf() and vunmapbuf(). 1996-06-20 01:47:21 +00:00
nate
9eb36038bf Macro expressions should be fully parenthesized! Fix the MAXMEM
definition although it would work as it was written.

options        "MAXMEM=(128*1024)"

Suggested by:	bde
1996-06-19 15:37:52 +00:00
dyson
318ee3519d Clean up vmapbuf and vunmapbuf significantly. The previous code was
very rough.
1996-06-19 03:39:24 +00:00
nate
36a6e52703 Document MAXMEM option.
[ Closes PR#1334, slightly modified by me ]

Submitted by:	James Raynard <james@jraynard.demon.co.uk>
1996-06-18 23:21:28 +00:00
julian
ed39fae1fc As we have appletalk protocol support we might as well show
how to get it..
1996-06-18 10:20:16 +00:00
dyson
01d0667f09 Clean-up the new VM map procfs code, and also add support for executable
format file "etype".  It contains a description of the binary type for
a process.
1996-06-18 05:16:00 +00:00
bde
097df5e884 Removed unused #includes of <i386/isa/icu.h> and <i386/isa/icu.h>. icu.h
is only used by the icu support modules and by a few drivers that know
too much about the icu (most only use it to convert `n' to `IRQn').  isa.h
is only used by ioconf.c and by a few drivers that know too much about
isa addresses (a few have to, because config is deficient).
1996-06-18 01:22:40 +00:00
peter
de8c38805b This time, get rid of the struct copies that were really causing gcc to
call memcpy..  It seems that gcc would not inline the implicit call
when copying from a volatile...
1996-06-17 18:52:53 +00:00
wpaul
428c5c7e45 Stomp another compiler warning: sc_devfs_token[] should only be declared
if DEVFS is #defined.
1996-06-17 17:21:35 +00:00
bde
209ea16ce9 Reduced nesting of #includes in random.h and adjusted isa/random_machdep.c
to match (pc98/random_machdep.c probably requires a similar change).  This
is a problem area for the PC98 merge - all PC98 ifdefs in <machine/*.h> are
kludges to work around incorrect layering.
1996-06-17 16:47:43 +00:00
bde
4e855e9322 Added support for TIOCDCDTIMESTAMP (enable/get timestamp of last DCD rise).
Original version by John Hay.

Simplified timestamp code by reading the time exactly when necessary.
This may slow down the interrupt handler with extra calls to microtime(),
but only in bad configurations - the input fifo should normally be
disabled if timestamps on input are being used, since otherwise the
timestamp won't be precisely associated with any particular input event.
The interrupt handler remains slowed down by one test and branch for
each input (and now DCD change) event - avoiding this is not practical
yet.

The simplifications also fixed:
- timestamps for input sometimes being clobbered by output and modem
  status interrupts.
- valid timestamps not being available unless the port is configured with
  vector siointrts.  siointrts no longer exists.
- compiler warnings about siointr* in some configurations.

Simplified timestamp and probe code by depending on recent changes in
microtime() and DELAY() to preserve the interrupt enable flag.
1996-06-17 14:23:39 +00:00
bde
ab552bbee7 In getit(), use read_eflags()/write_eflags() to preserve the interrupt
enable flag instead of enable_intr() to restore it to its usual state.
getit() is only called from DELAY() so there is no point in optimising
its speed (this wasn't so clear when it was extern), and using
enable_intr() made it inconvenient to call DELAY() from probes that need
to run with interrupts disabled.
1996-06-17 12:50:22 +00:00
bde
5010447286 In microtime(), use pushfl/popfl to preserve the interrupt enable flag
instead of sti to it restore to its usual state.  pushfl/popfl is
actually faster in protected mode on Pentiums (4+3 cycles instead of 9),
and using sti made it extremely inconvenient to call microtime() from
fast interrupt handlers.  pushfl/popfl is a couple of cycles slower than
sti on 486's and a couple more cycles slower on 386's, but the relative
cost of using it is not large since microtime() has to use slow i/o
instructions on the old cpus.
1996-06-17 12:43:04 +00:00
dyson
5cd11c9038 Several bugfixes/improvements:
1) Make it much less likely to miss a wakeup in vm_page_free_wakeup
	2) Create a new entry point into pmap: pmap_ts_referenced, eliminates
	   the need to scan the pv lists twice in many cases.  Perhaps there
	   is alot more to do here to work on minimizing pv list manipulation
	3) Minor improvements to vm_pageout including the use of pmap_ts_ref.
	4) Major changes and code improvement to pmap.  This code has had
	   several serious bugs in page table page manipulation.  In order
	   to simplify the problem, and hopefully solve it for once and all,
	   page table pages are no longer "managed" with the pv list stuff.
	   Page table pages are only (mapped and held/wired) or
	   (free and unused) now.  Page table pages are never inactive,
	   active or cached.  These changes have probably fixed the
	   hold count problems, but if they haven't, then the code is
	   simpler anyway for future bugfixing.
	5) The pmap code has been sorely in need of re-organization, and I
	   have taken a first (of probably many) steps.  Please tell me
	   if you have any ideas.
1996-06-17 03:35:40 +00:00
joerg
787546bf1d Explain the options for the `od' driver. 1996-06-16 20:04:47 +00:00
peter
d797e8dc06 Fix cut/paste error; a read-only variable should have been read/write. 1996-06-16 13:32:16 +00:00
nate
e8ea5a7e2f Whoops, I accidentally deleted a necessary ":" which is part of the
parameters to printf() using the "D" format.  (Why this even worked on
my box during testing I don't know, but as soon as I powered it on/off
it quite working.)
1996-06-15 00:43:03 +00:00