Commit Graph

4883 Commits

Author SHA1 Message Date
Kazutaka YOKOTA
59f5eaf466 - A new semaphore: font_loading_in_progress.
Don't touch/update the screen while manipulating font data.
Possibly related to PR: kern/4271

- Set up VGA in alphanumeric mode rather than graphics mode when
loading font into video memory. This will drastically reduce flicker.
PR: bin/2977

- Set up scp->font_size properly during video mode switch caused by
ioctl.
1998-02-11 15:00:24 +00:00
Kazutaka YOKOTA
f8a35e9cef - Break scrn_timer() into two pieces. Now screen update is done in a
separate routine: scupdate() called from scrn_timer().

- Make sure that the screen is updated for the low-level console
routines sccngetc() and sccncheckc().  A new routine, sccnupdate(),
is introduced and will call scupdate() above.
Requested by: bde and msmith

OKed by: sos
1998-02-11 14:58:15 +00:00
Kazutaka YOKOTA
4930cbfa04 - Ignore KBD_RAW_MODE and KBD_CODE_MODE in scgetc() when it's called
from the low-level console routines sccngetc() and sccncheckc().
Submitted by: bde (a long time ago)

- Don't try to ring bell and immediately return from do_bell() while
device probe is in progress at boot time; the timeout queue is not
functional yet.
PR: kern/2424

- Stop running the screen saver after panic() is called: check
if `panicstr' is non-NULL during scrn_timer().
PR: kern/5314

- A new option: SC_DISABLE_REBOOT
The reboot key (usually Ctl-Alt-Del) will be ignored if this option
is defined. You may still have the reboot key defined in the keymap and
it won't cause error when the keymap is loaded, but it will be quietly
treated as nop.

OKed by: sos
1998-02-11 14:56:02 +00:00
Eivind Eklund
d131a704ed De-staticize enough to make all the LKMs work again. Add comments where
deemed relevant.
1998-02-11 01:46:50 +00:00
Eivind Eklund
cebe467c61 Back out statification and restore a declaration that got lost. 1998-02-10 21:51:00 +00:00
Eivind Eklund
b265178126 Fix warning after previous staticization. 1998-02-10 17:30:26 +00:00
KATO Takenori
c8d28276a8 Support C-NET(98)S ethernet card (PC-98 only).
Submitted by:	Chiharu Shibata <chi@rd.njk.co.jp>
1998-02-10 03:22:20 +00:00
KATO Takenori
9148904aaa Staticize. 1998-02-10 02:51:32 +00:00
Mike Smith
f1353e56ee If the kernel was built with USERCONFIG_BOOT, and the '-c' (RB_CONFIG) flag
was supplied to the kernel when booting, ignore any 'quit' commands in the
userconfig script.

This provides an escape mechanism whereby a broken userconfig script may
be worked around.
1998-02-10 00:10:35 +00:00
Peter Wemm
4390eccf7a Un-staticize. 1998-02-09 16:20:42 +00:00
KATO Takenori
a5b88b0149 NULL and UMAP filesystems also unstable. 1998-02-09 15:03:38 +00:00
Eivind Eklund
303b270b0a Staticize. 1998-02-09 06:11:36 +00:00
Eivind Eklund
5589ae9dfd Remove warnings from f00f_hack. 1998-02-09 04:45:53 +00:00
Mike Smith
dad3b88ae3 In the words of the submitter:
----
I've worked to enhance the connect() patches.

I've just tested this with the Linux JDK appletviewer on an applet
that does a lot of connects, and it works as well as during my
previous tests.

The connect() patch is now a merge between my older patch and the
OpenBSD stuff. It ensures that any async error is returned by
connect() instead of getsockopt(SOL_SOCKET, SO_ERROR) as reasonnable
systems do.

There are also minor patches to implement IPPROTO_TCP for
get/setsocktopt(). These are also tested (with Linux Apache).
----

I would appreciate any feedback regarding these changes, as they'd
be very useful in 2.2.6.

Submitted by:	pb@fasterix.freenix.org (Pierre Beyssac)
1998-02-07 02:13:27 +00:00
Eivind Eklund
0b08f5f737 Back out DIAGNOSTIC changes. 1998-02-06 12:14:30 +00:00
Eivind Eklund
09ae1abd69 Add PnP support to if_ed.c. 1998-02-05 04:08:41 +00:00
John Dyson
95461b450d 1) Start using a cleaner and more consistant page allocator instead
of the various ad-hoc schemes.
2)	When bringing in UPAGES, the pmap code needs to do another vm_page_lookup.
3)	When appropriate, set the PG_A or PG_M bits a-priori to both avoid some
	processor errata, and to minimize redundant processor updating of page
	tables.
4)	Modify pmap_protect so that it can only remove permissions (as it
	originally supported.)  The additional capability is not needed.
5)	Streamline read-only to read-write page mappings.
6)	For pmap_copy_page, don't enable write mapping for source page.
7)	Correct and clean-up pmap_incore.
8)	Cluster initial kern_exec pagin.
9)	Removal of some minor lint from kern_malloc.
10)	Correct some ioopt code.
11)	Remove some dead code from the MI swapout routine.
12)	Correct vm_object_deallocate (to remove backing_object ref.)
13)	Fix dead object handling, that had problems under heavy memory load.
14)	Add minor vm_page_lookup improvements.
15)	Some pages are not in objects, and make sure that the vm_page.c can
	properly support such pages.
16)	Add some more page deficit handling.
17)	Some minor code readability improvements.
1998-02-05 03:32:49 +00:00
Eivind Eklund
47cfdb166d Turn DIAGNOSTIC into a new-style option. 1998-02-04 22:34:03 +00:00
Eivind Eklund
4c890f3b43 Remove old, commented-out option SUIDDIR after Julian added a proper
entry for it.
1998-02-04 22:03:27 +00:00
Eivind Eklund
346ebe5115 Change LINT_PCCARD_HACK to COMPILING_LINT, and put it in its own header file
"opt_lint.h".  This should prevent the next person needing the same trick
from inventing their own option, too.
1998-02-04 04:41:37 +00:00
Eivind Eklund
cecc50bcd3 Make SPX_HACK a new-style option. 1998-02-04 04:12:29 +00:00
Eivind Eklund
7dff14331f Make FAILSAFE a new-style option. 1998-02-04 03:47:16 +00:00
Bruce Evans
44429dc4f7 Converted DISABLE_PSE to a new-style option.
Fixed some formatting in options.i386.
1998-02-03 22:09:01 +00:00
Bruce Evans
a8961a8284 Ifdefed some SMP and VM86 code. Note that although VM86 is not a global
option, the ifdef on it in a header works because only the name of the
VM86 extension is hidden.
1998-02-03 21:27:50 +00:00
Bruce Evans
318ed3ed7a Forward declare a union so that this file is self-sufficient.
Cleaned up ifdefs.
1998-02-03 20:46:18 +00:00
Bruce Evans
b9759fe4f9 Fixed a gratuitous ANSIism. 1998-02-03 20:37:29 +00:00
Bruce Evans
7a1a679ecb Ifdefed use of a GNU feature. 1998-02-03 20:32:38 +00:00
Bruce Evans
65fa467e59 Moved misplaced idempotency ifdef. Multiple inclusion was fatal since
there was a typedef outside the ifdef.

Fixed syntax error after the #endif for this ifdef.

Didn't fix the usual style bugs for this ifdef...
1998-02-03 20:24:13 +00:00
Bruce Evans
98a6e74553 Changed inline' to __inline' so that this file can be compiled by
`gcc -ansi'.

Changed NULL to 0 so that this file is more self-sufficient (now
only <sys/types.h> is a prerequisite).
1998-02-03 20:14:35 +00:00
Bruce Evans
eafe3040d4 Don't declare prototypes for driver functions unless KERNEL is defined. 1998-02-03 20:07:02 +00:00
Bruce Evans
919de96974 Fixed conflicts between <machine/console.h> and <machine/pcvt_ioctl.h>,
so that it is possible for kdump and truss to include them both.  Use
#defines from pcvt_ioctl.h in conflicting cases, since pcvt_ioctl.h
gives a hint about the bogus third arg to _IO().  Ifdef the common
typedefs.  Export `struct key_t' from pcvt_ioctl.h so pcvt_ioctl.h is
bug for bug compatible with console.h (now both are broken in C++
mode).
1998-02-03 19:57:46 +00:00
Amancio Hasty
2b1973e8ad Bugs/Enhancements:
1. Takeshi Ohashi <ohashi@atohasi.mickey.ai.kyutech.ac.jp> submitted
   code to support bktr_read . /usr/src/share/examples/rgb24.c now works 8)

2. Flemming Jacobsen <fj@schizo.dk.tfs.com> submitted code to support
   radio available with in some bt848 based cards;additionally, wrote
   code to correctly recognized his bt848 card.
3. Roger Hardiman <roger@cs.strath.ac.uk> submitted various fixes to smooth
   out the microcode and made all modes consistent.

4. Added supported for yuv12 so we know can capture raw streams and feed it
   to mpeg_encoder . The upshot is that we can now mpeg encode more and save
   nearly 100 percent of the disk requirements previously for programs such
   as fxtv first save the raw video image to disk then converted to a
   format suitable for mpeg_encode.
1998-02-02 13:09:12 +00:00
Bruce Evans
af3b301b36 Fixed disordering of busdma* and swi_vm. 1998-02-01 23:00:53 +00:00
Bruce Evans
e29b867bd6 Fixed a recently broken comment. 1998-02-01 22:45:23 +00:00
Bruce Evans
b8c7cb30ab Don't set even parity uselessly in the line control register (parity
is not enabled).

Saved a few bytes by reusing the line control register bits and not
loading the speed in the wrong (cpu) register.
1998-02-01 22:39:24 +00:00
Bruce Evans
da171a03a8 Use <machine/*.h> instead of <i386/include/*.h>. 1998-02-01 22:23:18 +00:00
Bruce Evans
9d00d065d6 Fixed a sloppy common-style declaration again. 1998-02-01 22:14:24 +00:00
Bruce Evans
f0791ddea7 Fixed disordering of *cam* and splsoftvm. 1998-02-01 22:04:58 +00:00
Bruce Evans
909696cc72 Removed unused #includes. 1998-02-01 21:57:49 +00:00
Bruce Evans
8bcc577e92 Forward declare more structs that are used in prototypes here - don't
depend on <sys/types.h> forward declaring common ones.
1998-02-01 20:08:39 +00:00
Bruce Evans
b163ce2f65 Fixed the search for free wd drives. The search was terminated
prematurely when there was a hole (for a cdrom or an unused
interface) in the sequence of wd drives.  This caused non-free
wd units to be probed as atapi drives.  There was no problem
provided the atapi probe failed correctly.
1998-02-01 19:10:04 +00:00
Bruce Evans
76d0502a56 Declare printf() instead of including <stdio.h>, so that this doesn't
depend on anything outside of "sys".

Removed an unused include.

Don't use `extern' in a function declaration.
1998-02-01 18:53:09 +00:00
Bruce Evans
2625bd3484 Declare printf() instead of including <stdio.h>, so that this doesn't
depend on anything outside of the "sys" tree.
1998-02-01 18:47:56 +00:00
Kazutaka YOKOTA
2c2491393e Make RAWBOOT functional again; don't read boot.config' and boot.help'
if RAWBOOT is defined.
Reviewed by: bde
Submitted by: Takeshi Amaike <amaike@iri.co.jp>
1998-02-01 05:24:24 +00:00
Julian Elischer
cb800e3451 add the SUIDDIR option and tell people what it is for. (And when NOT to use it) 1998-01-31 19:41:27 +00:00
John Dyson
eaf13dd73a Change the busy page mgmt, so that when pages are freed, they
MUST be PG_BUSY.  It is bogus to free a page that isn't busy,
because it is in a state of being "unavailable" when being
freed.  The additional advantage is that the page_remove code
has a better cross-check that the page should be busy and
unavailable for other use.  There were some minor problems
with the collapse code, and this plugs those subtile "holes."

Also, the vfs_bio code wasn't checking correctly for PG_BUSY
pages.  I am going to develop a more consistant scheme for
grabbing pages, busy or otherwise.  For now, we are stuck
with the current morass.
1998-01-31 11:56:53 +00:00
Eivind Eklund
3f2076daf5 Make the debug options new-style.
This also zaps a DPT option from lint; it wasn't referenced from
anywhere.
1998-01-31 07:23:16 +00:00
Eivind Eklund
e0d781f3a5 Make POWERFAIL_NMI, PPS_SYNC and NATM new style options.
This also fixes a couple of defunct options; submitted by bde.
1998-01-31 05:00:21 +00:00
Eivind Eklund
c6b60f62de Add support for cleandepend, ${DESTDIR}, and there not being a file named
${DESTDIR}/kernel.
1998-01-31 04:23:15 +00:00
Eivind Eklund
c6de6a69a1 Add various options people have ignored.
Submitted by:	bde
1998-01-31 03:33:51 +00:00
Eivind Eklund
828084926f Skip probing devices which have already probed true. 1998-01-31 03:29:00 +00:00
Eivind Eklund
5212dc9c0b Include "opt_nfs.h"
Pointed out by: Eric L. Hernes <erich@lodgenet.com>
1998-01-31 02:53:41 +00:00
Eivind Eklund
26d8676da5 Include "opt_devfs.h". 1998-01-31 02:50:37 +00:00
Kazutaka YOKOTA
daf09234ec Synchronize with ../biosboot/Makefile.
- Remove reference to the obsolete options: BOOT_PROBE_KEYBOARD,
  BOOT_PROBE_KEYBOARD_LOCK and BOOT_FORCE_COMCONSOLE.
- Add reference to BOOT_COMCONSOLE_SPEED.
1998-01-31 01:20:56 +00:00
John Hay
40f001c97d Don't clobber pp_flags when PP_KEEPALIVE must be set. 1998-01-30 19:49:54 +00:00
Poul-Henning Kamp
c5b193bfba Retire LFS.
If you want to play with it, you can find the final version of the
code in the repository the tag LFS_RETIREMENT.

If somebody makes LFS work again, adding it back is certainly
desireable, but as it is now nobody seems to care much about it,
and it has suffered considerable bitrot since its somewhat haphazard
integration.

R.I.P
1998-01-30 11:34:06 +00:00
John Dyson
0621c31aaf Make the bounce buffer code a little more robust when space isn't
available.  If there isn't bounce space available, the bounce code
is disabled.  This will allow most large systems to run properly
when the bounce space is mistakenly allocated above 16MB.
1998-01-30 10:26:26 +00:00
Paul Traina
5a00d1c6ed Remove obsolete strategy code that was replaced by the disk slice mapping code.
FreeBSD filesystems could be dammaged by repeatedly mounting and unmounting
several partitions.
1998-01-29 19:02:51 +00:00
Mike Smith
4a8aee409f Correct usage of unit to t->lun. This fixes the DEVFS case and the
"buggy Zip" message.
Suggested by:	Pedro A M Vazquez <vazquez@IQM.Unicamp.BR>
1998-01-29 06:42:12 +00:00
Poul-Henning Kamp
53dd848c82 APM calls inittodr(0) which is stupid, but at least stop setting the
clock back to when Dennis had a good idea.
1998-01-28 10:41:33 +00:00
Kazutaka YOKOTA
ef65ade83a Define CTL-ALT-ESC as the debug' key, CTL-ALT-SPACE as the suspend'key
in all built-in keymaps.
1998-01-28 08:45:18 +00:00
Mike Smith
0b771fd153 Symlink bootblocks for 'wfd' disks as well. 1998-01-27 16:56:43 +00:00
Mike Smith
c67d7e8aa2 Fix operation with the Iomega Zip 100 ATAPI.
All known versions of this drive (firmware 21.* and 23.*) will lock up
if presented with a read/write request of > 64 blocks.  In the presence
of such a unit, I/O requests of > 64 blocks are fragmented to avoid
this.
1998-01-27 16:49:35 +00:00
Mike Smith
facf6a3fbe Check the status port after waiting for DRQ; some drives seem to be very
slow coming off the bus (eg. Iomega's ATAPI Zip).  Failure to do
this results in a false probe of an ATAPI device with garbage
data.
1998-01-27 16:45:23 +00:00
KATO Takenori
5be975adf0 Execute cpuid if BIOS disables cpuid instruction of Cyrix 6x86MX CPU. 1998-01-27 08:12:09 +00:00
Julian Elischer
3458e54ac1 Move DPT related options out of i386 specific files
so DPT devices can be used on other PCI (alpha?) machines.

Suggested by: several people
1998-01-26 18:31:18 +00:00
Julian Elischer
16094866e7 Add the DPT driver and options.
GENERIC with dpt may wait a few days if required.
1998-01-26 06:33:48 +00:00
Julian Elischer
b37c91fdc7 Add Simon Shapiro's DPT driver
this shouldn't break anything existing.
Userland utilities to follow.
1998-01-26 06:11:18 +00:00
Peter Wemm
7ee3907f2a re-sort back into order 1998-01-26 04:44:32 +00:00
Peter Wemm
855b08ed7b Add missing definition for swi_vm 1998-01-26 04:41:23 +00:00
KATO Takenori
e881afe741 Undo previous commit. The cpuid symbol has been already used by SMP
stuff.

Pointed-out by:	Manfred Antar <root@mantar.slip.netcom.com>
1998-01-25 23:45:41 +00:00
KATO Takenori
31e6b13443 Added cpuid instruction. 1998-01-25 17:02:00 +00:00
KATO Takenori
2f5a8c876a Execute cpuid if BIOS disables cpuid instruction of Cyrix 6x86MX CPU,
and store its result into cpu_id and cpu_feature variables.

Tested by:	Simon Coggins <chaos@ultra.net.au>
1998-01-25 17:01:31 +00:00
KATO Takenori
88a92ff10e Even though BIOS writer's guide recommends cpuid instruction of Cyrix
6x86MX CPU is enabled (BIOS should not disable it), some BIOS disables
it via CCR4.  In this case, cpu variable becomes CPU_486 and
identblue() is called.  Because Cyrix 6x86MX has MSR and doesn't have
MSR1002, wrmsr instruction generates general protection fault.

Tested by:	Simon Coggins <chaos@ultra.net.au>
1998-01-25 12:01:38 +00:00
Eivind Eklund
bed196b4e2 Turn CLK_USE_TSC_CALIBRATION into a new-style option. 1998-01-25 04:37:47 +00:00
Eivind Eklund
c007c0bc64 Remove the FDSEEKWAIT option and description.
The functionality was present for two days in october/november 1994
before being backed out; I don't think we can consider it really
critical ;-)
1998-01-25 03:55:47 +00:00
Kazutaka YOKOTA
a364145b79 Small adjustment in sync check code. 1998-01-24 12:12:32 +00:00
Eivind Eklund
7b778b5e61 Make all file-system (MFS, FFS, NFS, LFS, DEVFS) related option new-style.
This introduce an xxxFS_BOOT for each of the rootable filesystems.
(Presently not required, but encouraged to allow a smooth move of option *FS
to opt_dontuse.h later.)

LFS is temporarily disabled, and will be re-enabled tomorrow.
1998-01-24 02:54:56 +00:00
John Dyson
50ce7ff499 Add better support for larger I/O clusters, including larger physical
I/O.  The support is not mature yet, and some of the underlying implementation
needs help.  However, support does exist for IDE devices now.
1998-01-24 02:01:46 +00:00
John Dyson
2d8acc0f4a VM level code cleanups.
1)	Start using TSM.
	Struct procs continue to point to upages structure, after being freed.
	Struct vmspace continues to point to pte object and kva space for kstack.
	u_map is now superfluous.
2)	vm_map's don't need to be reference counted.  They always exist either
	in the kernel or in a vmspace.  The vmspaces are managed by reference
	counts.
3)	Remove the "wired" vm_map nonsense.
4)	No need to keep a cache of kernel stack kva's.
5)	Get rid of strange looking ++var, and change to var++.
6)	Change more data structures to use our "zone" allocator.  Added
	struct proc, struct vmspace and struct vnode.  This saves a significant
	amount of kva space and physical memory.  Additionally, this enables
	TSM for the zone managed memory.
7)	Keep ioopt disabled for now.
8)	Remove the now bogus "single use" map concept.
9)	Use generation counts or id's for data structures residing in TSM, where
	it allows us to avoid unneeded restart overhead during traversals, where
	blocking might occur.
10)	Account better for memory deficits, so the pageout daemon will be able
	to make enough memory available (experimental.)
11)	Fix some vnode locking problems. (From Tor, I think.)
12)	Add a check in ufs_lookup, to avoid lots of unneeded calls to bcmp.
	(experimental.)
13)	Significantly shrink, cleanup, and make slightly faster the vm_fault.c
	code.  Use generation counts, get rid of unneded collpase operations,
	and clean up the cluster code.
14)	Make vm_zone more suitable for TSM.

This commit is partially as a result of discussions and contributions from
other people, including DG, Tor Egge, PHK, and probably others that I
have forgotten to attribute (so let me know, if I forgot.)

This is not the infamous, final cleanup of the vnode stuff, but a necessary
step.  Vnode mgmt should be correct, but things might still change, and
there is still some missing stuff (like ioopt, and physical backing of
non-merged cache files, debugging of layering concepts.)
1998-01-22 17:30:44 +00:00
Jordan K. Hubbard
9d8d61fb4d Add entry for SMC 9432TX cards (tx driver). 1998-01-21 19:25:49 +00:00
Jordan K. Hubbard
ec4f65d24f Add entries for tx card. 1998-01-21 18:34:47 +00:00
Justin T. Gibbs
44be5ce870 Add prototypes for swi_vm, setsoftvm, schedsoftvm, and splsoftvm that were
missed when I originally committed the bus dma code.
1998-01-21 18:28:49 +00:00
John Birrell
013239afdf Suggested by: bde
Move sigjmp_buf and jmp_buf structure definitions to machine/setjmp.h
so that i386 can continue to use int as the basic register type and
alpha can use long. Bruce was concerned about possible differing
alignment. I've left the definition of _JBLEN in machine/setjmp.h
even though Bruce's example used the number directly. I don't know if
any other code relies on _JBLEN, so I left it to avoid potential
breakage.
1998-01-20 09:09:24 +00:00
Kazutaka YOKOTA
6c401d343f - Add binary compatibility support for obsolete console/mouse ioctls
so that existing programs which were compiled before the introduction
  of the new mouse code and use these ioctls will run unmodified.

Suggested by msmith.
1998-01-20 03:37:27 +00:00
Tor Egge
281c79d603 Nondestructive attempts to get simple locks when SL_DEBUG is defined. 1998-01-19 17:33:08 +00:00
Tor Egge
95f67de2e3 The removal of a page from the free queue in vm_page_zero_idle was
imcomplete. Also set m->queue, in order to prevent vm_page_select_free
from selecting the page being zeroed.
1998-01-19 04:16:16 +00:00
Tor Egge
75d515b755 Don't throw away bootp reply packets that are shorter than our extended-length
bootp query packet.
PR:		5512
1998-01-18 18:53:46 +00:00
John Dyson
4722175765 Tie up some loose ends in vnode/object management. Remove an unneeded
config option in pmap.  Fix a problem with faulting in pages.  Clean-up
some loose ends in swap pager memory management.

The system should be much more stable, but all subtile bugs aren't fixed yet.
1998-01-17 09:17:02 +00:00
Paul Traina
61584b4680 Fix misleading comment about major # 1998-01-16 22:43:33 +00:00
Paul Traina
aaf862068b Bring in IDE ATAPI floppy support.
This is Junichi's v1.0 driver.

NOTE: Major device numbers have been changed to avoid conflict with other
      FreeBSD 3.0 devices.  The new numbers should be considered "official."
      This driver is still considered "beta" quality, although we have been
      playing with it.  Please submit bugs to junichi and myself.

Submitted by:	junichi@astec.co.jp
1998-01-16 22:13:07 +00:00
KATO Takenori
8f856e3156 Synchronize with NetBSD/pc98 based on NetBSD/i386 version 1.3G patch
level 117.

Reviewed by:	Naofumi Honda <honda@Kururu.math.sci.hokudai.ac.jp>
1998-01-16 11:32:13 +00:00
Philippe Charnier
85dace5d59 Add rcsid. Remove unused vars. Use err(3) and change exit(-1). 1998-01-16 07:20:34 +00:00
Justin T. Gibbs
99117bb6ec Addition of splsoftvm and a VM SWI to handle bus dma related callbacks.
This SWI may be useful for other, defered, VM tasks.
1998-01-15 07:34:01 +00:00
Justin T. Gibbs
e1a1bba4fa Implementation of Bus Space for FreeBSD-x86.
Obtained From: NetBSD
1998-01-15 07:32:56 +00:00
Justin T. Gibbs
57d7d7b3be Implementation of Bus DMA for FreeBSD-x86. This is sufficient to do
page level bounce buffering, but there are still some issues left to
address.
1998-01-15 07:32:21 +00:00
Justin T. Gibbs
c8877437a0 Add entry for i386/i386/busdma_machdep.c 1998-01-15 07:30:54 +00:00
Poul-Henning Kamp
595f63412b Add and document PPS_SYNC 1998-01-14 19:41:36 +00:00
KATO Takenori
d81278e36e Fix typo. 1998-01-14 08:08:42 +00:00
Kazutaka YOKOTA
4d76195ef5 Fix illegal numeric expressions: 08 and 09. 1998-01-12 23:54:51 +00:00
John Dyson
43bdc1e901 Adjust upwards the size of exec map in order to take into account the
additional PAGE_SIZE needed for exec operatino.
1998-01-12 05:16:03 +00:00
Julian Elischer
ad26ea348f Add some devfs entries
(patch origianlly from luigi)
1998-01-12 03:45:58 +00:00
Julian Elischer
eae4f847a7 add devfs entries for a few more syscons devices (e.g. sysmouse) 1998-01-12 03:28:36 +00:00
Jordan K. Hubbard
efae35abc0 Add ppp, at long last, back to GENERIC. We have enough room in the
kernel for it and I'm tired of reading the "This system lacks kernel
support for PPP..." line in people's tech support messages.
1998-01-11 02:16:38 +00:00
John Birrell
a1db8c36a5 Add a machine dependent header for the i386 jmp_buf size instead of piling
machine dependent definitions into src/include/setjmp.h.
1998-01-10 23:04:51 +00:00
KATO Takenori
a424913c23 Added PnP I/O port address of NEC PC-98.
Submitted by:	Takahashi Yoshihiro <nyan@wyvern.cc.kogakuin.ac.jp>
1998-01-10 07:41:43 +00:00
Kazutaka YOKOTA
363f670991 - Produce the accent letter if the user hits the accent key twice.
(accent_key + space does still print the accent letter too, as in
  the previous commit.)
  Requested by a couple of users.
- Clear the accent flag when the next_screen key is pressed.
- Added some comment lines regarding accent key processing.
1998-01-09 09:06:55 +00:00
Eivind Eklund
e4f4247a08 Make the BOOTP family new-style options (in opt_bootp.h) 1998-01-09 03:21:07 +00:00
Eivind Eklund
1d5e9e2255 Make INET a proper option.
This will not make any of object files that LINT create change; there
might be differences with INET disabled, but hardly anything compiled
before without INET anyway.  Now the 'obvious' things will give a
proper error if compiled without inet - ipx_ip, ipfw, tcp_debug.  The
only thing that _should_ work (but can't be made to compile reasonably
easily) is sppp :-(

This commit move struct arpcom from <netinet/if_ether.h> to
<net/if_arp.h>.
1998-01-08 23:42:31 +00:00
John-Mark Gurney
6cc3943ff0 update the AWE32 wave table driver to Iwai's 0.4.2c version. This also
includes the patches to make it work under -current from Randall Hopper.

Remove the old AWE driver.
1998-01-08 23:13:22 +00:00
Atsushi Murai
844451dc95 1. Supporting a bogus 16550A compatible PCMCIA CARD stuffs
- IIR_TXRDY is never off even if reading a IIR register.
    - Know as PIAFS "Palido 321S", "DC-*S" oemed by Sharp corp.

 2. Omiting a restrict probing if it's already probed by pccardd.
    Note: Define a new id_flags as follows

           0x40000 - NO PROBE (Already probed as serial)
           0x80000 - Has a bogus IIR_TXRDY register

	Sato Junichi <junichi@astec.co.jp>
	Nrihiro Kumagai <kuma@slab.tnr.sharp.co.jp>
	Hirao Tetsuya <ai.cs.fujitsu.co.jp>
	Toshiharu Asai <asai@mbc.infoshere.or.jp>
	Shin'ya Kumabuchi <kumabu@t3.rim.or.jp>
        Freebsd-users-jp@jp.freebsd.org
	bsd-nomads@ai.cs.fujitsu.co.jp
1998-01-08 04:53:43 +00:00
Alexander Langer
eb794faa90 Define integer types added by POSIX.1g. We already had int8_t, int16_t,
and int32_t -- this adds their unsigned counterparts uint8_t, uint16_t,
and uint32_t.  Bruce has noted that C9x also defines these types (in a
different file), so this may have to be revisited with some ifdefs at a
later date.

Reviewed by:	bde
1998-01-08 00:27:34 +00:00
Kazutaka YOKOTA
a3bd3dac25 Added accent (dead) key support to syscons and kbdcontrol.
With a keymap with accent key definitions loaded to syscons, you press
an accent key followed by a regular letter key to produce an accented
letter.  Press an accent key followed by the space bar to get the
accent letter itself.

Code is based on the ideas and work by jmrueda@diatel.upm.es and
totii@est.is.

PR: i386/4016

console.h
- Defined structures and constants for accent (dead) keys.

syscons.c, kbdtables.h
- When an accent key is pressed, set the corresponding index to
  `accents'.  If the next key is the space key, produce the accent char
  itself.  Otherwise search the accent key map entry, indexed by
  `accents', for a matching pair of a regular char and an accented char.
- Added ioctl functions to set and get the accent key map (PIO_DEADKEYMAP
  and GIO_DEADKEYMAP).
1998-01-07 08:40:34 +00:00
Jamil J. Weatherbee
b3add67273 documentation changes. 1998-01-06 09:27:37 +00:00
John Dyson
95e5e988e0 Make our v_usecount vnode reference count work identically to the
original BSD code.  The association between the vnode and the vm_object
no longer includes reference counts.  The major difference is that
vm_object's are no longer freed gratuitiously from the vnode, and so
once an object is created for the vnode, it will last as long as the
vnode does.

When a vnode object reference count is incremented, then the underlying
vnode reference count is incremented also.  The two "objects" are now
more intimately related, and so the interactions are now much less
complex.

When vnodes are now normally placed onto the free queue with an object still
attached.  The rundown of the object happens at vnode rundown time, and
happens with exactly the same filesystem semantics of the original VFS
code.  There is absolutely no need for vnode_pager_uncache and other
travesties like that anymore.

A side-effect of these changes is that SMP locking should be much simpler,
the I/O copyin/copyout optimizations work, NFS should be more ponderable,
and further work on layered filesystems should be less frustrating, because
of the totally coherent management of the vnode objects and vnodes.

Please be careful with your system while running this code, but I would
greatly appreciate feedback as soon a reasonably possible.
1998-01-06 05:26:17 +00:00
Jonathan M. Bresler
080ea93df2 sigh....forgot to update the DEBUG printf
to show both the path and the length args
	to linux emulation truncate()

Submitted by:		jmb
1998-01-05 01:17:42 +00:00
Jonathan M. Bresler
1c4faf8bb9 length argument to truncate() in linux emulation
was not being set copied to the bsd arguments..
	frequently, resulting in files of over 100MB of NULs

PR:	386/5044
Reviewed by:		jmb
Submitted by:		(Richard Winkel) rich@math.missouri.edu
1998-01-05 01:05:15 +00:00
David E. O'Brien
aa5ce62c01 AMD calls the PR166 and PR200, models 2 and 3 respectively. 1998-01-03 05:43:37 +00:00
David E. O'Brien
7a124dd5b4 Update AMD URL for CPU recognition docs. 1998-01-03 05:36:40 +00:00
KATO Takenori
1ba2a54313 Fix typo. Option `CPU_SUSP_HLT' didn't work on Cyrix 486DX box.
Submitted by:	nyan@wyvern.cc.kogakuin.ac.jp (Takahashi Yoshihiro)
1998-01-03 05:35:51 +00:00
Mike Smith
d20358b3bd Don't try to call into BIOS32 handlers outside the normal ROM
address range.  They may have been trashed earlier in the boot
process, or the directory header may simply be bogus.

PR:		5140
Submitted by:	Joel Faedi <Joel.Faedi@esial.u-nancy.fr>
Brought-to-attention-by: Derek Inksetter <derek@saidev.com>, bde
1998-01-01 13:26:55 +00:00
Bruce Evans
d92b2035e3 Fixed cosmetic bugs:
- wrong name in .file statement.
- stale comment about CONSPEED.
- style bugs in comments.
- inconsistent defaulting of operand sizes (should never depend on default).
- inconsistent choosing between je and jz (should always use je).
1998-01-01 13:01:31 +00:00
Bruce Evans
d35d7514ac Removed unused #includes. 1998-01-01 12:41:44 +00:00
Bruce Evans
82d86d3750 Moved the SMP declarations of INTREN() and INTRDIS() to the correct header,
i.e., the same header as corresponding non-SMP #defines.
1998-01-01 08:47:17 +00:00
David E. O'Brien
9bc192de1d Explain that MAXMEM maynot be nessicary for detection of >64MB RAM. 1997-12-31 21:46:17 +00:00
Poul-Henning Kamp
cf26fc706f Fix a race condition I introduced.
Reviewed by: bde (with only minor complaints :-)
1997-12-30 20:11:01 +00:00
Poul-Henning Kamp
681299a26e Fix a include gottcha in the SMP case.
Submitted by: Simon Shapiro <Shimon@Simon-Shapiro.ORG>
1997-12-29 23:36:56 +00:00
Steve Price
2487b1e072 Add back a #include <sys/types.h> so that this header is
self-sufficient again.  This is a quick fix that should
really be remedied by removing all of the gratuitous changes
made in revision 1.20.

PR:		5351
1997-12-28 22:31:59 +00:00
Poul-Henning Kamp
0f12aa9ffd More cleanup relating to our use of the TSC.
Look in the cpu_feature (CPUID output) to see if we have it.
1997-12-28 17:33:10 +00:00
Poul-Henning Kamp
d46e059f94 wash, sort and put in order various nits from the i586_ctr -> tsc
commit.

Pointed out by: bde
1997-12-28 13:36:09 +00:00
Bruce Evans
88754aaf0e Fixed initialization of the divisor latch. We depended on siocnopen()
initializing it for the (usual) (siocniobase != 0) case, but
siocnopen() doesn't initialize it if the latch registers already
have the correct values.
1997-12-28 06:36:35 +00:00
Bruce Evans
abee4d9808 YAMFsio.c (always call ttwwakeup() before returning from comstart()). 1997-12-28 06:23:03 +00:00
Bruce Evans
e932603093 Always call ttwwakeup() before returning from comstart(). It isn't
necessary to call it when the tty layer's output state has not been
changed, but siostop() sometimes changes the TS_BUSY state and then
calls comstart() mainly for its side effect of calling ttwwakeup().
1997-12-28 06:20:47 +00:00
Bruce Evans
ab9bca19b8 Removed unnecessary (and broken) wakeup code in rpstart(). There is no
need to do it directly, since ttwwakeup() is always called just before
returning from rpstart().  The brokenness was waking up the wrong address
after clearing TS_SO_OLOWAT.  It's not clear how processes waiting for
output to drain below low water ever got woken up.

Found by:	when I fixed longstanding warts in output watermark
		handling, this was the only driver that knew too much
		(anything) about the watermarks
1997-12-28 05:45:07 +00:00
Bruce Evans
a4c0a67553 Removed stale comment about printf's deficiencies and rewrote the code
that worked around them for the CLI devtab listing.

Print the `conflicts' flag in the CLI devtab listing.
1997-12-28 05:20:59 +00:00
Jordan K. Hubbard
0031f3a90b Update comment to match updated sb0 line (conflicts keyword no longer needed
at IRQ 5).
1997-12-28 00:28:46 +00:00
Peter Wemm
388610239f Back out previous commit, the so-called "unused code" was most definately
used, and caused a reference to an uninitialised variable (state).
I think I've fixed it now, but since nothing in the tree seems to use it,
I'm not sure.
1997-12-27 03:00:59 +00:00
Bruce Evans
675ea6f083 Unspammed nested include of <vm/vm_zone.h>. 1997-12-27 02:56:39 +00:00
Peter Wemm
19d768b80b #include "opt_user_ldt.h" so that the #ifdef USER_LDT checks can work, as
commented about at length in the PR audit trail.

PR: 2412
1997-12-27 02:28:28 +00:00
Jordan K. Hubbard
43b651a5e7 Change major number to match the one actually used (whoops!).
Submitted by:	Steve Gericke <steveg@comtrol.com>
1997-12-26 23:11:13 +00:00
Poul-Henning Kamp
71f461f86a Rename "i586_ctr" to "tsc" (both upper and lower case instances).
Fix a couple of printfs too.

Warning: This changes the names of a couple of kernel options!
1997-12-26 20:42:37 +00:00
Poul-Henning Kamp
cb0a3a9533 ename "i586_ctr" to "tsc" (both upper and lower case instances).
Fix a couple of printfs too.

Warning: This changes the names of a couple of kernel options!
1997-12-26 20:41:08 +00:00
Poul-Henning Kamp
0b0e40da7a Reorder to a more conventional if/then/else/endif structure. 1997-12-26 20:15:03 +00:00
Nate Williams
e1d6dc656d This patch causes the "calltodo" timer list to be decremented by the amount
of time that the laptop was suspending.  Thus, select() calls that might have
suspended rather than firing  at 1hr + "time suspended" since the timer was
posted.

Adding:

    options  APM_FIXUP_CALLTODO

to the kernel config enables the patch.

[
This patch was slightly modified to use a consistant indent style and
I removed some unused local variables.  After this has been tested a
few weeks we'll make the options the default, so for now I'm now
documenting it in LINT.  Mike can later if he wants.
]

Reviewed by:	Mike Smith <msmith@freebsd.org>
Submitted by:	Ken Key  <key@cs.utk.edu>
1997-12-23 16:32:35 +00:00
Kazutaka YOKOTA
3e176bdf69 Document `flags' for the psm driver. 1997-12-23 08:01:16 +00:00
John Dyson
841fc3681b Correct my previous fix for the UPAGES problem. 1997-12-22 10:06:09 +00:00
John Dyson
adbf9b6f86 Hopefully fix the problem with the TLB not being updated correctly.
Problem tracked down by bde@freebsd.org, but this is an attempted
efficient fix.
1997-12-22 00:36:48 +00:00
Stefan Eßer
8277ac255e Make the class code checks in function pci_cfgcheck less strict.
It failed to recognize the PCI bus in a system that had only an
old chip-set (class code 000000) and a Cyclom multiport serial
card on PCI bus 0, but no VGA card or disk or network controller.

PR:		i386/5300
Submitted by:	Nickolay N. Dudorov <nnd@itfs.nsk.su>
1997-12-20 09:04:25 +00:00
Bruce Evans
8cd077a7fd Augment $PATH to ensure searching of /sbin and /usr/sbin for sysctl
instead of using an absolute path to sysctl.
Problem reported by: ache
1997-12-18 21:03:04 +00:00
Peter Wemm
9b73941153 Add missing references to Xcpuast, get_isrlock and checkstate_probed_cpus 1997-12-18 02:09:29 +00:00
KATO Takenori
76ef01374e Regenerate (fix argument of linux_nice). 1997-12-17 03:16:11 +00:00
KATO Takenori
c7da3245da I should not edit linux_prot.h directly. Fix the argument of linux_nice.
Pointed out by:	Eivind Eklund <eivind@FreeBSD.ORG>
	NOPROTO	LINUX	{ int getpgrp(void); }
66	NOPROTO	LINUX	{ int setsid(void); }
67	STD	LINUX	{ int linux_sigaction(int sig, \
			    struct linux_sigaction *nsa, \
			    struct linux_sigaction *osa); }
68	STD	LINUX	{ int linux_siggetmask(void); }
69	STD	LINUX	{ int linux_sigsetmask(linux_sigset_t mask); }
70	NOPROTO	LINUX	{ int setreuid(int ruid, int euid); }
71	NOPROTO	LINUX	{ int setregid(int rgid, int egid); }
72	STD	LINUX	{ int linux_sigsuspend(int restart, \
			    linux_sigset_t oldmask, linux_sigset_t mask); }
73	STD	LINUX	{ int linux_sigpending(linux_sigset_t *mask); }
74	NOPROTO	LINUX	{ int osethostname(char *hostname, \
			    u_int len);}
75	NOPROTO	LINUX	{ int osetrlimit(u_int which, \
			    struct ogetrlimit *rlp); }
76	NOPROTO	LINUX	{ int ogetrlimit(u_int which, \
			    struct ogetrlimit *rlp); }
77	NOPROTO	LINUX	{ int getrusage(int who, struct rusage *rusage); }
78	NOPROTO	LINUX	{ int gettimeofday(struct timeval *tp, \
			    struct timezone *tzp); }
79	NOPROTO	LINUX	{ int settimeofday(struct timeval *tp, \
			    struct timezone *tzp); }
80	NOPROTO	LINUX	{ int getgroups(u_int gidsetsize, gid_t *gidset); }
81	NOPROTO	LINUX	{ int setgroups(u_int gidsetsize, gid_t *gidset); }
82	STD	LINUX	{ int linux_select(struct linux_select_argv *ptr); }
83	STD	LINUX	{ int linux_symlink(char *path, char *to); }
84	NOPROTO	LINUX	{ int ostat(char *path, struct ostat *up); }
85	STD	LINUX	{ int linux_readlink(char *name, char *buf, \
			    int count); }
86	STD	LINUX	{ int linux_uselib(char *library); }
87	NOPROTO	LINUX	{ int swapon(char *name); }
88	NOPROTO	LINUX	{ int reboot(int opt); }
89	STD	LINUX	{ int linux_readdir(int fd, struct linux_dirent *dent, \
			    unsigned int count); }
90	STD	LINUX	{ int linux_mmap(struct linux_mmap_argv *ptr); }
91	NOPROTO	LINUX	{ int munmap(caddr_t addr, int len); }
92	STD	LINUX	{ int linux_truncate(char *path, long length); }
93	NOPROTO	LINUX	{ int oftruncate(int fd, long length); }
94	NOPROTO	LINUX	{ int fchmod(int fd, int mode); }
95	NOPROTO	LINUX	{ int fchown(int fd, int uid, int gid); }
96	NOPROTO	LINUX	{ int getpriority(int which, int who); }
97	NOPROTO	LINUX	{ int setpriority(int which, int who, int prio); }
98	NOPROTO	LINUX	{ int profil(caddr_t samples, u_int size, \
			    u_int offset, u_int scale); }
99	STD	LINUX	{ int linux_statfs(char *path, \
			    struct linux_statfs_buf *buf); }
100	STD	LINUX	{ int linux_fstatfs(int fd, \
			    struct linux_statfs_buf *buf); }
101	STD	LINUX	{ int linux_ioperm(unsigned int lo, \
			    unsigned int hi, int val); }
102	STD	LINUX	{ int linux_socketcall(int what, void *args); }
103	STD	LINUX	{ int linux_ksyslog(int what); }
104	STD	LINUX	{ int linux_setitimer(u_int which, \
			    struct itimerval *itv, struct itimerval *oitv); }
105	STD	LINUX	{ int linux_getitimer(u_int which, \
			    struct itimerval *itv); }
106	STD	LINUX	{ int linux_newstat(char *path, \
			    struct linux_newstat *buf); }
107	STD	LINUX	{ int linux_newlstat(char *path, \
			    struct linux_newstat *buf); }
108	STD	LINUX	{ int linux_newfstat(int fd, struct linux_newstat *buf); }
109	STD	LINUX	{ int linux_uname(struct linux_old_utsname *up); }
110	STD	LINUX	{ int linux_iopl(int level); }
111	STD	LINUX	{ int linux_vhangup(void); }
112	STD	LINUX	{ int linux_idle(void); }
113	STD	LINUX	{ int linux_vm86(void); }
114	STD	LINUX	{ int linux_wait4(int pid, int *status, \
			    int options, struct rusage *rusage); }
115	STD	LINUX	{ int linux_swapoff(void); }
116	STD	LINUX	{ int linux_sysinfo(void); }
117	STD	LINUX	{ int linux_ipc(int what, int arg1, int arg2, int arg3, \
			    caddr_t ptr); }
118	NOPROTO	LINUX	{ int fsync(int fd); }
119	STD	LINUX	{ int linux_sigreturn(struct linux_sigcontext *scp); }
access
1997-12-17 03:12:35 +00:00
Eivind Eklund
8438b90fd3 Make hidden COMPAT_43 dependencies explict. Options in headers is a
pain in the backside.
1997-12-16 18:49:23 +00:00
Eivind Eklund
5591b823d1 Make COMPAT_43 and COMPAT_SUNOS new-style options. 1997-12-16 17:40:42 +00:00
Eivind Eklund
430df5f4b7 Throw options IPX, IPXIP and IPTUNNEL into opt_ipx.h.
The #ifdef IPXIP in netipx/ipx_if.h is OK (used from ipx_usrreq.c and
ifconfig.c only).

I also fixed a typo IPXTUNNEL -> IPTUNNEL (and #ifdef'ed out the code
inside, as it never could have compiled - doh.)
1997-12-15 20:31:25 +00:00
Mike Smith
7ebfc603cf As described by the submitter:
These patches enables us to play quake2 .

Support linux keyboard ioctl for setting RAW, MEDIUMRAW and XLATE.

Support linux virtual terminal operations:
 OPENQRY, GETMODE, SETMODE, GETSTATE, ACTIVATE, and WAITACTIVE.

Submitted by:	Amancio Hasty <hasty@rah.star-gate.com>
1997-12-15 06:09:11 +00:00
Tor Egge
5c623cb649 Add support for low resolution SMP kernel profiling.
- A nonprofiling version of s_lock (called s_lock_np) is used
    by mcount.

  - When profiling is active, more registers are clobbered in
    seemingly simple assembly routines. This means that some
    callers needed to save/restore extra registers.

  - The stack pointer must have space for a 'fake' return address
    in idle, to avoid stack underflow.
1997-12-15 02:18:35 +00:00
Tor Egge
549a42942d Don't forward hardclock or statclock to stopped cpus. Disable forwarding
when a panic has occured.
1997-12-15 01:14:10 +00:00
Mike Smith
f2477ae13d As described by the submitter:
- emulate Linux IP_HDRINCL behaviour in sendto(): byte order fixed
	  Note that we do an extra getsockopt() on every sendto()
	  to check if the option is set because we don't keep state
	  in the emulator code. Is there a better way to implement
	  this?
	- correct a bug (value of "name" not passed) with
	  getsockopt()

Submitted by:	pb@fasterix.freenix.org (Pierre Beyssac)
1997-12-14 03:17:54 +00:00
John Dyson
8256655132 After one of my analysis passes to evaluate methods for SMP TLB mgmt, I
noticed some major enhancements available for UP situations.  The number
of UP TLB flushes is decreased much more than significantly with these
changes.  Since a TLB flush appears to cost minimally approx 80 cycles,
this is a "nice" enhancement, equiv to eliminating between 40 and 160
instructions per TLB flush.

Changes include making sure that kernel threads all use the same PTD,
and eliminate unneeded PTD switches at context switch time.
1997-12-14 02:11:23 +00:00
Tor Egge
80db913bd6 Add needed #include.
Problem found by: Bruce Evans <bde@zeta.org.au>
1997-12-12 21:45:23 +00:00
Peter Wemm
5eaf45f67b I've been using these tweaks to enable the sound driver to talk to the
(mutant) Crystal CSS4236 chip on the Intel PR440FX SMP motherboard.

XXX this uses some rather ugly PnP bootstrap code that is *NOT* compatable
with 'controller pnp0' or *ANY* other PnP devices.  If you use some other
PnP devices, enabling css0 will burn your house down. :-]  The
"simplified" PnP init sequence directly blats your config(8) settings onto
the chip.  I'm pretty sure 'css0' will conflict with 'mss0', this whole
area desperately needs a cleanup.

I have been using the following with some success on the PR440FX:
controller   snd0
device css0  at isa? port 0x534 irq 5 drq 1 flags 0x08 vector adintr
device opl0  at isa? port 0x388
device mpu0  at isa? port 0x330 irq 10 vector mpuintr
1997-12-12 14:08:50 +00:00
Jamil J. Weatherbee
6aa5dc4099 eliminated a previously unnoticde compile warning about use of
__inline, not good to use anyway ?!?!!
1997-12-09 12:41:13 +00:00
Jamil J. Weatherbee
4fdababa9f the alog.c file respectively, added in wrong order by accident 1997-12-09 12:07:50 +00:00
Jamil J. Weatherbee
a1e9e3087e add entry in LINT for alog driver
added line to files.i386 to compile in alog.c optionally as a driver
1997-12-09 12:04:49 +00:00
Kazutaka YOKOTA
b8e63afa1c Remove obsolete psm driver options: PSM_ACCEL, PSM_EMULATION,
PSM_CHECKSYNC.
1997-12-09 11:56:19 +00:00
Jamil J. Weatherbee
dd2cb0618e Added major 86 for the alog driver. 1997-12-09 10:51:11 +00:00
Steve Passe
eae8fc2c8a The improvements to clock statistics by Tor Egge
Wrappered and enabled by the define BETTER_CLOCK (on by default in smpyests.h)

Reviewed by:	smp@csn.net
Submitted by:	Tor Egge <Tor.Egge@idi.ntnu.no>
1997-12-08 23:00:24 +00:00
Steve Passe
baf41202ca The improvements to clock statistics by Tor Egge
Wrappered and enabled by the define BETTER_CLOCK (on by default in smpyests.h)

apic_vector.s also contains a small change I (smp) made to eliminate
the double level INT problem.  It seems stable, but I haven't the tools
in place to prove it fixes the problem.

Reviewed by:	smp@csn.net
Submitted by:	Tor Egge <Tor.Egge@idi.ntnu.no>
1997-12-08 22:59:39 +00:00
Steve Passe
a39e666dbc Removed the annoying "apic_ipi might be stuck" message.
Added commentary about the real problem and what needs to be done.
1997-12-08 18:36:02 +00:00
Kazutaka YOKOTA
c6d1bed112 - Add support for the following mice to psm/moused/sysmouse:
MS IntelliMouse, Kensington Thinking Mouse, Genius NetScroll,
  Genius NetMouse, Genius NetMouse Pro, ALPS GlidePoint, ASCII
  MieMouse, Logitech MouseMan+, FirstMouse+

- The `psm' driver is made to recognize various models of PS/2 mice
and enable their extra features so that their additional buttons and
wheel/roller are recognized. The name of the detected model will be
printed at boot time.

- A set of new ioctl functions are added to the `psm', `mse' and
`sysmouse' drivers so that the userland program (such as the X server)
can query device information and change driver settings.

- The wheel/roller movement is handled as the `Z' axis movement by the
mouse drivers and the moused daemon. The Z axis movement may be mapped
to another axis movement or buttons.

- The mouse drivers support a new, standard mouse data format,
MOUSE_PROTO_SYSMOUSE format which can encode x, y, and x axis movement
and up to 10 buttons.

/sys/i386/include/mouse.h
- Added some fields to `mousestatus_t' to store Z axis movement
  and flag bits.
- Added the field `model' to `mousehw_t' to store mouse model code.
  Defined model codes.
- Extended `mousemode_t'.
- Added new protocols and some constants for them.
- Added new ioctl functions and structures.
- Removed obsolete ioctl definitions.

/sys/i386/include/console.h
- Added `dz' field to the structure `mouse_data' to pass Z axis movement
  to `syscons/sysmouse'.
- Removed LEFT_BUTTON, MIDDLE_BUTTON and RIGHT_BUTTON.  Use button bits
  defined in `mouse.h' instead.

/sys/i386/isa/psm.c
- Added a set of functions to detect various mice which have additional
  features (wheel and buttons) unavailable in the standard PS/2 mouse.
- Refined existing ioctl functions and added new ones.  Most important
  of all is MOUSE_SETLEVEL which manipulates the output level of the driver.
  While the output level remains zero, the output from the `psm' driver is
  in the standard PS/2 mouse format (three bytes long).  When the level
  is set to one, the `psm' driver will send data in the extended format.
  At the level two the driver uses the format which is native to the
  connected mouse is used. (Meaning that the output from the device is
  passed to the caller as is, unmodified.)  The `psm'  driver will pass
  such extended data format as is to the caller if the output level is
  two, but emulates the standard format if the output level is zero.
- Added kernel configuration flags to set initial resolution
  (PSM_CONFIG_RESOLUTION) and acceleration (PSM_CONFIG_ACCEL).
- Removed the compile options PSM_ACCEL, PSM_CHECKSYNC and PSM_EMULATION.
  Acceleration ratio is now specified by the kernel configuration flags
  stated above.  Sync check logic is refined and now standard.
  The sync check can be turned off by the new kernel configuration flags
  PSM_CONFIG_NOCHECKSYNC (0x100).  PSM_EMULATION has been of little use.
- Summer clean up :-)  Removed unused code and obsolete comments.

/sys/i386/isa/mse.c
- Created mseioctl() to deal with ioctl functions MOUSE_XXXX.
  Most importantly, the MOUSE_SETLEVEL ioctl will change the
  output format from the 5 byte format to the new, extended format
  so that the caller can take advantage of Z axis movement and additional
  buttons.
- Use constants defined in `mouse.h' rather than magic numbers.

/sys/i386/isa/syscons.c
- Changed scioctl() to reflect the new `console.h' and some of the new
  ioctls defined in `mouse.h'.  Most importantly, the MOUSE_SETLEVEL
  ioctl will change the `sysmouse' output format from the MouseSystems
  5 byte format to the new, extended format so that the caller can
  take advantage of Z axis movement and additional buttons.
- Added support for double/triple click actions of the left button and
  single click action of the right button in the virtual console.  The
  left button double click will select a word under the mouse pointer.
  The triple click will select a line and the single click of the right
  button will extend the selected region to the current position of
  the mouse pointer.  This will make the cut/paste support more compatible
  with xterm.

/sys/i386/isa/kbdio.h
- Added PSM_INTELLI_ID.
1997-12-07 08:09:19 +00:00
Kazutaka YOKOTA
821ecb1944 Removed obsolete options: PSM_CHECKSYNC, PSM_ACCEL and PSM_EMULATION. 1997-12-07 08:07:17 +00:00
Bruce Evans
df1c78063c Use ENOIOCTL instead of -1 (= ERESTART) for diskslice ioctls that are
not handled at a particular level.
1997-12-06 14:27:56 +00:00
Bruce Evans
239b7b699e Use ENOIOCTL instead of -1 (= ERESTART) for tty ioctls that are
not handled at a particular level.  This fixes mainly restarting
of interrupted TIOCDRAINs and TIOCSETA{W,F}s.
1997-12-06 13:25:01 +00:00
Andrey A. Chernov
90a5affc0a Add AWE32 description to visualconfig 1997-12-06 08:20:00 +00:00
Andrey A. Chernov
a76d828674 Attach messages: remove unneded newlines and add
missing conf_printf
1997-12-06 07:48:22 +00:00
Sean Eric Fagan
2a024a2b05 Changes to allow event-based process monitoring and control. 1997-12-06 04:11:14 +00:00
Bruce Evans
1cd52ec333 Don't include <sys/lock.h> in headers when only `struct simplelock' is
required.  Fixed everything that depended on the pollution.
1997-12-05 19:55:52 +00:00
Joerg Wunsch
3bb99eb225 Finally, implement a mini-parser for RockRidge alternative filenames,
so the filenames can be displayed and selected in full beauty.  If RR
is present, the match is now case-sensitive, if RR is missing, the
match is case-insensitive (as it used to be before).
1997-12-04 21:52:47 +00:00
John-Mark Gurney
4d9deedb49 document and make the NO_F00F_HACK a proper option...
also, sort some option includes while I'm here..

Forgotten by:	sef
1997-12-04 21:21:26 +00:00
John-Mark Gurney
b0050656a7 document and make the NO_F00F_HACK a proper option...
Forgotten by:	sef
1997-12-04 21:20:58 +00:00
Jordan K. Hubbard
e41b6f2db7 After consultation with David, change
#ifndef NO_F00F_HACK
to
#if defined(I586_CPU) && !defined(NO_F00F_HACK)
1997-12-04 14:35:40 +00:00
KATO Takenori
4ec099d2b3 Use the argmument `port' instead of hard coded address in atapi_probe.
Submitted by:	kura@melchior.q.t.u-tokyo.ac.jp (Tomohiko Kurahashi)
1997-12-04 13:15:16 +00:00
Warner Losh
861570bb45 The Libretto's BIOS doesn't set edx on the APM_GETPWSTATUS call, so
the barrery time remaining is reported as a random number.  Initialize
edx to 0xffff in this case, and to 0 in all other cases.  This change
should be benign on other machines.
Reviewed by:	jdp
1997-12-04 02:40:00 +00:00
Sean Eric Fagan
34883582bc Make has_f00f_bug extern, and get rid of some unused code in the f00f
code.

Submitted by:	Mikael Karpberg & Cy Schubert
1997-12-03 16:27:33 +00:00
Sean Eric Fagan
c4fbf2774d Work around for the Intel Pentium F00F bug; this is Intel's recommended
workaround.  Note that this currently eats up two pages extra in the system;
this could be alleviated by aligning idt correctly, and then only dealing with
that (as opposed to the current method of allocated two pages and copying the
IDT table to that, and then setting that to be the IDT table).
1997-12-03 02:45:50 +00:00
Joerg Wunsch
660ee160b9 Fix a bug that caused cdboot to stop reading the root directory at the
end of the first block.

Problem found by:	Kenneth Merry <ken@plutotech.com>
1997-12-02 21:13:59 +00:00
Poul-Henning Kamp
ab3f746966 In all such uses of struct buf: 's/b_un.b_addr/b_data/g' 1997-12-02 21:07:20 +00:00
Amancio Hasty
9e41c7c31e Include sound_timer.c for mss device and added
sound_timer.c, opl3.c, ad1848.c, adlib_card.c to trix device.
trix is a driver for an AudioTrix Pro.
1997-12-01 09:29:50 +00:00
John-Mark Gurney
857c08d17c fix a few style nites...
make isa_dmacascade, isa_dmastart, isa_dmadone, and find_isadev MUCH
easier to be found by starting them at the beginging of the line...

remove braces inside of ifdef RESOURCE_CHECK... found by % in vi...
1997-11-30 09:44:28 +00:00
KATO Takenori
ead6305baa Recognize 3C569 network interface when `PC98' is defined.
Submitted by:	HAMADA Naoki <hamada@astec.co.jp>
1997-11-27 12:59:46 +00:00
Joerg Wunsch
81df9bbcd5 Removed an unused line of code, that caused an ``maybe used uninitialized''
warning.

Found by:	Simon Shapiro
1997-11-26 22:45:47 +00:00
Mark Murray
61ca849927 From the author:
Here are the remanding changes required to support the Ensoniq
Soundscape using FreeBSD 3.0-current.

Notes:

  1) ad1848_init already has code to detect if DMA_DUPLEX should
     be set so it is not necessary (and is in fact a mistake) to
     hard code setting it.  Not all soundcards (i.e. the current
     sscape driver) are capable of using DMA_DUPLEX.

  2) The other changes are hopefully self explanatory.  Feel free
     to let me know if you need additional information.

Submitted by:	john@feith.com (John Wehle)
1997-11-25 19:30:38 +00:00
Søren Schmidt
0690c6fe58 Move the hardware currsor off screen when getting back from an
unknown mode.
Fix warning on uninitialized var.
1997-11-25 12:44:44 +00:00
Bruce Evans
17788a0aef Fixed multiple definitions of boothowto. 1997-11-24 18:35:11 +00:00
Bruce Evans
043e37feab Added a sysctl (machdep.cputime_clock) to select the clock used by
"high resolution" profiling.  The available clocks are:
- the i8254 clock
- on non-SMP i586's and i686's: the TSC
- on systems with I586_PMC_GUPROF configured, and PERFMON configured
  and available: all the performance counters.
This is unfinshed (there are problems with locking out the PERFMON
device driver, and with losing calibration after switching the clock),
but better than static configuration or writing to kmem.

Changed ifdefs to avoid generating code for non-working option
combinations.
1997-11-24 18:16:23 +00:00
Bruce Evans
21e5241572 Fixed some #include messes.
Hid the check of the user %cs in syscall() under `#ifdef DIAGNOSTIC'.
1997-11-24 13:25:37 +00:00
Amancio Hasty
b237a8422d Fixed poll related problem which was exhibited by running
amp (audio mpeg player) and with cards such as SB.
1997-11-24 07:31:20 +00:00
Amancio Hasty
6eca7bce6c Fixed an acquired dma problem with respect to sb cards only. 1997-11-23 22:49:50 +00:00
Amancio Hasty
f8f6afaf7c minor code clean up to sb_dsp.c and fix compile error with uart6850.c 1997-11-23 20:31:20 +00:00
Amancio Hasty
0a8fa5851f Missing part of my last sb_dsp.c sb16_dsp.c commit. 1997-11-23 19:05:01 +00:00
Amancio Hasty
26ed678ef9 Fixed acquired dma channel problem. 1997-11-23 07:35:06 +00:00
John-Mark Gurney
60dc9be97b update of Luigi's sound drivers...
this updates to 971117 plus a small sb change that was after that release..
1997-11-23 07:03:21 +00:00
Jonathan Lemon
b20f1ceeee Correct CPU_CYRIX_NO_LOCK fix.
PR:		5121
Pointed out by:	Matthew Hunt
1997-11-21 22:33:52 +00:00
Bruce Evans
b361bff536 Fixed setting of `safepri'. It should be SWI_AST_MASK most of the
time, but was left at 0.  This caused the "can't happen" case in
splz_swi to happen for panics when tsleep() calls splx(safepri)
and there is a SWI_AST pending.  This was harmless because the
the error handling happens to be right.  Debugging this was tricky
because debugger traps force SWI_AST_MASK on in `cpl'.
1997-11-21 18:27:15 +00:00
Bruce Evans
cc8ae84672 Moved splhigh()/spl0() calls from isa_configure() to configure() so that
there is a natural place to initialize `safepri' in a future commit.
Spinoffs:
- spl0() gets called in the unlikely event that isa is not configured.
- configure() has better control over enabling interrupts.
- it is now less unclear that interrupts aren't actually enabled early.
  Rev.1.48 of autoconf.c seems to have done the opposite of what was
  intended - moving the isa_configure() call delayed the spl0() side
  effect.
Added some comments about the bogons.  Removed the splhigh() call since
it is a no-op.
1997-11-21 18:14:02 +00:00
Kazutaka YOKOTA
10974dbd20 Make comp_vgaregs() less strict about VGA register values when
checking the BIOS video mode paramter table.  Now syscons uses the
parameter table even if some bits in the table are different from the
current VGA register settings.

Even if comp_vgaregs() finds that the BIOS video parameter table looks
totally unfamiliar to it, syscons allows the user to change the
current video mode to some modes which are based on the VGA 80x25
mode. They are VGA 80x30, VGA 80x50, VGA 80x60. In this case the user
will be warned, during boot, that video mode switching is only
paritally supported on his machine.

PR: bin/4477
1997-11-21 11:37:07 +00:00
Kazutaka YOKOTA
358e851a59 Fix for a PS/2 mouse model from MouseSystems. It now appears that
this mouse can correctly operate only in the high resolution mode.

If the mouse pointer jumps to the top or left edge or the top-left
corner of the screen, try defining PSM_MSCKLUDGE in the kernel
configuration file. This option will put the mouse in the high
resolution mode during device initialization.
1997-11-21 11:36:21 +00:00
Peter Wemm
617d73c29d Previous commit refers to SWAP_PART, which is only defined if the include
file that it's in is #included...
1997-11-21 05:44:07 +00:00
Bruce Evans
d447dbee36 Removed a duplicate (sloppy common-style) definition.
Fixed some style bugs.
1997-11-20 19:41:20 +00:00
Bruce Evans
96a73b4063 Moved some extern declarations to header files (unused ones to /dev/null). 1997-11-20 19:30:35 +00:00
Bruce Evans
b7a2b1ff66 Avoid passing some more `retval's. 1997-11-20 18:43:55 +00:00
Bruce Evans
eb0fb17ea5 Fixed wrong limits for the kernel text in db_numargs(). The
interval [VM_MIN_KERNEL_ADDRESS, etext] was used instead of
[btext, etext).  Added a comment about this being completely
wrong for LKMs.  This only affects interpreting the instructions
after the return to attempt decide the number of args.  The
attempt usually fails anyway.
1997-11-20 18:24:52 +00:00
Bruce Evans
af2f22807f Fixed write enabling of the kernel text section. The overlap
checking was mostly wrong at the boundaries.  For the lower limit,
VM_MIN_KERNEL_ADDRESS was used instead of btext and there was an
off-by-(`size' - 1) error.  For the upper limit, &etext was used
instead of etext and there was an off-by-1 error.  The bugs were
harmless because `size' is not too large and some memory is mapped
just beyond the ends.  We still depend on the former to avoid
having to handle the case where the memory range covers the whole
text section, and on the latter to prevent problems when we map
just beyond an end to allow writing an address range that overlaps
the end.

Fixed placement of a nearby comment.
1997-11-20 18:09:36 +00:00
Bruce Evans
e6af3c69e8 Don't allow setting the dump device to any partition except the
one traditionally reserved for swap devices.  The restrictions
should now be the same as the ones for dumpsys().  The restriction
on the partition should be removed someday, and dumpsys() shouldn't
repeat all the checks.
1997-11-20 17:07:21 +00:00
Nate Williams
133c8c2f49 - Renamed <pccard/card.h> -> <pccard/cardinfo.h>.
Forgotten by:		me
Reminded by:		Bruce
1997-11-20 15:48:41 +00:00
Bruce Evans
4a162126e5 Removed unused #includes.
Fixed bugs in rev.1.35:
- nonblocking mode was per-device instead of per-file.
- lots of style bugs.
1997-11-18 16:01:15 +00:00
Bruce Evans
f2a6e0bc19 Get select stuff by including <sys/select.h> instead of <sys/proc.h>,
and don't include <sys/fcntl.h>.  (The select -> poll changes replaced
fcntl macros by poll macros.)

Use <machine/*.h> instead of <i386/include/*.h>.

Fail the probe instead of crashing in the unlikely event that malloc()
fails.
1997-11-18 12:21:32 +00:00
Bruce Evans
8318e21b25 Don't #include <i386/isa/isa_device.h>. It is now a prerequisite. 1997-11-18 11:47:04 +00:00
Bruce Evans
9b54c25692 Removed unused #includes.
Fixed #include order.  <i386/isa/isa_device.h> will soon be a prerequisite
for <i386/isa/pnp.h>.  Including both in alphebetical order gets this
right naturally.
1997-11-18 11:45:26 +00:00
Bruce Evans
e0605ebd12 Removed an unused #included.
Ifdefed #includes that are not used in the SMP case.
1997-11-18 11:32:31 +00:00
Bruce Evans
3b29bc9d27 Get select stuff by #including <sys/select.h> instead of <sys/proc.h>. 1997-11-18 11:30:10 +00:00
Bruce Evans
41d022ae9c Removed #unused includes.
Added a used #include (don't depend on yet to be fixed namespace pollution).
1997-11-18 11:16:56 +00:00
Bruce Evans
494bc6f09d Removed code for the !KERNEL case. It hasn't been maintained for 4
years and gives a "laugh"able number of compile-time errors (see the
comment).  main() just printed the struct sizes.  This can be done
better by compiling with -g and reading off the sizes from the stabs.

Sorted #includes.

Fixed an unsigned vs signed comparison.
1997-11-18 10:56:41 +00:00
Bruce Evans
8fa40736f6 Don't #include <machine/smp.h> even in the SMP case. Fixed the one
place that depended on it.  The "bazillion warnings" mentioned in the
log for rev.1.45 apparently aren't a problem any more.  It is hard
to be sure because the SIMPLELOCK_DEBUG option turns off (and breaks)
things in the SMP case.
1997-11-18 09:27:23 +00:00
Alexander Langer
e43a990070 Typo fix.
PR:		5068
Submitted by:	Studded@dal.net
1997-11-17 13:57:40 +00:00
John-Mark Gurney
8e9ddffa97 fix Jonathan Mini's email address per his request 1997-11-17 07:58:23 +00:00
Amancio Hasty
53eaeb96ba Added support for linux sound ioctls:
LINUX_SNDCTL_DSP_GETOPTR
LINUX_SNDCTL_DSP_GETIPTR
LINUX_SNDCTL_DSP_SETTRIGGER
LINUX_SNDCTL_DSP_GETCAPS

With this rev level the linux realaudio player 5 and xquake should work.
1997-11-17 04:00:32 +00:00
Søren Schmidt
c2fc1574ce Device # for Jonathan Mini's VESA support. 1997-11-16 10:02:13 +00:00
Andrey A. Chernov
811be69f59 Restore diagnostic fix spammed after merging 1997-11-16 06:23:29 +00:00
Amancio Hasty
9fdd6eda1d Reviewed by: Amancio Hasty
Submitted by:	Amancio Hasty <hasty@star-gate.com>
Added yuv12 support for mpeg encoding and Randall Hopper's fixed for Temporal
Decimation
1997-11-16 04:52:29 +00:00
John Polstra
56fac9328e Expand the APMIO_GETINFO ioctl to return the estimated remaining
battery time.  For backward compatibility with old binaries, I
assigned a new ioctl number for this call, and retained the old
one as APMIO_GETINFO_OLD.  I also added eight words of padding and
a version field, so that future enhancements won't require jumping
through this hoop again.
1997-11-12 04:12:51 +00:00
Nate Williams
3dbeebf69c - Added PSM_HOOKAPM & PSM_RESETAFTERSUSPEND options.
OK'd by:	Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>
1997-11-11 00:47:01 +00:00
Mark Murray
b41c00fa66 Fix conflicts. 1997-11-10 18:31:35 +00:00
Bruce Evans
326b780b04 Fixed chip_offsets[] which I broke in rev.1.53. The offsets aren't
actually offsets, they are offsets scaled by dividing by 2^cy_align.
I use different values for cy_align since the -current values are
unnaturally scaled, so I need different offsets, and the wrong
offsets got committed.

Reported by:	nnd@itfs.nsk.su (N.Dudorov)
1997-11-10 15:46:33 +00:00
Nate Williams
aaa7085e4b - Convert c++ comment to c comment.
Noted by: 	Bruce
1997-11-10 14:38:08 +00:00
Mike Smith
3da4461a71 Assign 84 to Andrew Gordon <arg@arg1.demon.co.uk> for the 'ttxt' Unitext
teletext decoder.
1997-11-10 03:50:29 +00:00
Tor Egge
31e5225482 Use UPAGES when setting up private pages for SMP (which includes idle stack). 1997-11-07 19:58:34 +00:00
Poul-Henning Kamp
0abc78a697 Rename some local variables to avoid shadowing other local variables.
Found by: -Wshadow
1997-11-07 09:21:01 +00:00
Poul-Henning Kamp
4a11ca4e29 Remove a bunch of variables which were unused both in GENERIC and LINT.
Found by:	-Wunused
1997-11-07 08:53:44 +00:00
Poul-Henning Kamp
cb226aaa62 Move the "retval" (3rd) parameter from all syscall functions and put
it in struct proc instead.

This fixes a boatload of compiler warning, and removes a lot of cruft
from the sources.

I have not removed the /*ARGSUSED*/, they will require some looking at.

libkvm, ps and other userland struct proc frobbing programs will need
recompiled.
1997-11-06 19:29:57 +00:00
Mark Murray
8274fc64c2 Add the IOCTL for Luigi's BT848 -> I2C bus driver. 1997-11-06 07:00:45 +00:00
Mike Smith
41631559ba Bump configvers to 300003 to account for the crd->card (and related)
namespace changes.
1997-11-06 03:11:40 +00:00
KATO Takenori
39f451d763 Identify MediaGX CPU correctly. Old MeidaGX CPU and GXm CPU are
distinguished.  CPU-classes of MeidaGX CPU and GXm CPU are 486-class
and 586-class, respectively.

PR:		4936
1997-11-06 03:10:28 +00:00
Søren Schmidt
b113690ced Oops, forgot to count non-changer drives..
Broken by: sos
Reported by: phk
1997-11-05 21:32:00 +00:00
KATO Takenori
f9c1acbf97 Fix rare 6x86 CPU whose DIR0 = 0x20 - 0x28 case. 1997-11-05 15:12:44 +00:00
Andrey A. Chernov
dc185d2298 Do not print config details twice (first variant comes from isa)
Format config messages properly (with initial snd0: prefix)
1997-11-05 00:23:26 +00:00
Steve Price
0f1d6a82dd Note that the Intel EtherExpress' driver is ie(4). 1997-11-04 21:11:14 +00:00
Nate Williams
a61408ab2c - Update the email address in the copyrights. 1997-11-04 18:12:51 +00:00
Nate Williams
5796e497dc - If the APM BIOS fails to suspend the system after running the
suspend hooks, run the resume hooks to re-configure the system back
  to where it was.
1997-11-04 17:37:52 +00:00