Commit Graph

9594 Commits

Author SHA1 Message Date
dyson
b1d65d1edc Add new (very useful) tunable for pageout daemon. The flag changes
the maximum pageout rate:

sysctl -w vm.vm_maxlaunder=n

 1 < n < inf.

If paging heavily on large systems, it is likely that a performance
improvement can be achieved by increasing the parameter.  On a large
system, the parm is 32, but numbers as large as 128 can make a big
difference.  If paging is expensive, you might try decreasing the
number to 1-8.
1997-12-05 05:41:06 +00:00
dyson
0f54a3a55f Some fixes from John Hood:
1) Fix the initialization of malloc structure that changed
		due to perf opt.
	2) Remove unneeded include.
	3) An initialization assert added to malloc.
Submitted by:	John Hood <cgull@smoke.marlboro.vt.us>
1997-12-05 05:36:58 +00:00
joerg
a341ea0681 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
jmg
81a1ed7d07 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
jmg
877aac3cb4 document and make the NO_F00F_HACK a proper option...
Forgotten by:	sef
1997-12-04 21:20:58 +00:00
dyson
cd720ec73b Support applications that need to resist or deny use of swap space.
sysctl -w vm.defer_swap_pageouts=1
	Causes the system to resist the use of swap space.  In low memory
	conditions, performance will decrease.
sysctl -w vm.disable_swap_pageouts=1
	Causes the system to mostly disable the use of swap space.  In
	low memory conditions, the system will likely start killing
	processes.
1997-12-04 19:00:56 +00:00
jkh
5409c159ea 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
b2913f2f29 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
dg
2214184fec shuffle structs for better cacheline behavior. 1997-12-04 07:29:17 +00:00
imp
c184b14291 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
bde
4060d58634 Fixed corruption of the per-group used directories count. It wasn't
decremented when directories were removed because rev.1.12 broke the
fixup of the i_mode of the inode being removed.
1997-12-03 16:46:21 +00:00
sef
e32f8f106f 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
kato
185fb48052 Sync with sys/i386/i386/machdep.c and trap.c revisions 1.275 and
1.116, respectively.
1997-12-03 09:46:34 +00:00
sef
27c596e1ed 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
nate
f62923dce9 - Remove the code that cleared out the registers (previously enabled by the
option PCIC_NOCLRREGS).  This is now the default behavior since it's
  apparently required for the CLPD6832, and doesn't negatively affect
  any of my test machines.

Requested by:	Ted Faber <faber@ISI.EDU>
1997-12-02 23:23:14 +00:00
se
842c591aef Fix size of start queue to 32 entries, independent of the default
number of tags (NCR_SCSI_DFLT_TAGS), which is 0 in the FAILSAFE case.
This should fix the incompatibility between kernel and ncrcontrol,
which is the result of FAILSAFE being defined in the kernel config
file, invisible to the build of ncrcontrol. (See kern/5133, which
should be fixed by this change.)
1997-12-02 22:37:58 +00:00
nate
efe10091d3 - Add necessary include files and fix bugs in last. 1997-12-02 22:27:58 +00:00
nate
781ba4a835 - Bring in code removed from /sys/pccard/pcic.c, including DEVICE IDs, and
more bootverbose code.
- Style nits.

No significant functional changes.
1997-12-02 22:13:59 +00:00
nate
90dedcdd03 - Remove PCI code from here, now that the PCI framework lives in /sys/pci. 1997-12-02 21:31:35 +00:00
dyson
c114ee21a7 Define MS_SYNC for compatibility. 1997-12-02 21:30:03 +00:00
nate
56dacb56e8 - Framework for PCI/CardBus controllers running in PCMCIA emulation
mode.  Currently, the only supported controller is the Cirrus Logic
  PD6832, but others can be supported with docs on them.

Submitted by:	Ted Faber <faber@ISI.EDU>
1997-12-02 21:26:41 +00:00
phk
f86993e3c3 Fix the copyright and attribution on this file. I forgot this
when the file was cloned.
1997-12-02 21:20:06 +00:00
joerg
8b0ccba9ec 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
phk
a1bfb618d9 In all such uses of struct buf: 's/b_un.b_addr/b_data/g' 1997-12-02 21:07:20 +00:00
bde
f2b643602b `nextgennumber' can go away now that is no longer (ab)used by foreign
fs's.
1997-12-02 11:43:45 +00:00
bde
c7448527e1 Use the same algorithm as ffs for generation numbers. 1997-12-02 11:42:28 +00:00
bde
e5bce5c78c Fix a small style bug in the generation number change (rev.1.33) before
copying the change to other fs's.
1997-12-02 11:21:16 +00:00
bde
588c9db8ef Removed __FreeBSD__ ifdefs. 1997-12-02 10:39:42 +00:00
bde
65d8d62f59 Cleaned up __getcwd(). This should be cosmetic except disabled calls
are now counted.

Reviewed by:	phk
1997-12-02 10:32:21 +00:00
kato
a4d6fae045 Sync with sys/i386/conf/files.i386 revision 1.180. 1997-12-02 08:20:34 +00:00
dyson
ded4973e92 Fix a serious problem during resizing buffers where old buffers
address space wasn't being properly reclaimed.
Submitted by:	Bruce Evans <bde@freebsd.org>
1997-12-01 19:04:00 +00:00
dyson
ba00c38faa Fix a problem when creating a new kernel thread. In some cases, aio_read
or aio_write can return the pid of the new thread.  This is due to the
way that return values from system calls being passed by side-effect in
the proc structure now.  This commit fixes the problem with aio_read and
aio_write.
1997-12-01 18:41:08 +00:00
julian
86b96f6423 Cleanup my last patch here
Reviewed by: sef@kthrup.com and phk@freebsd.org
1997-12-01 11:34:41 +00:00
kato
6ab1ef8c0a Sync with sys/i386/isa/isa.c revision 1.108. 1997-12-01 09:37:26 +00:00
ahasty
7f15bbbd08 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
dyson
f6a7ea5e3a Fix error handling for VCHR type I/O. Also, fix another spl problem, and
remove alot of overly verbose debugging statements.
ioproclist {
	int aioprocflags;			/* AIO proc flags */
	TAILQ_ENTRY(aioproclist) list;		/* List of processes */
	struct proc *aioproc;			/* The AIO thread */
	TAILQ_HEAD (,aiocblist) jobtorun;	/* suggested job to run */
};

/*
 * data-structure for lio signal management
 */
struct aio_liojob {
	int lioj_flags;
	int	lioj_buffer_count;
	int	lioj_buffer_finished_count;
	int	lioj_queue_count;
	int	lioj_queue_finished_count;
	struct sigevent lioj_signal;	/* signal on all I/O done */
	TAILQ_ENTRY (aio_liojob) lioj_list;
	struct kaioinfo *lioj_ki;
};
#define	LIOJ_SIGNAL			0x1 /* signal on all done (lio) */
#define	LIOJ_SIGNAL_POSTED	0x2	/* signal has been posted */

/*
 * per process aio data structure
 */
struct kaioinfo {
	int	kaio_flags;			/* per process kaio flags */
	int	kaio_maxactive_count;	/* maximum number of AIOs */
	int	kaio_active_count;	/* number of currently used AIOs */
	int	kaio_qallowed_count;	/* maxiumu size of AIO queue */
	int	kaio_queue_count;	/* size of AIO queue */
	int	kaio_ballowed_count;	/* maximum number of buffers */
	int	kaio_queue_finished_count;	/* number of daemon jobs finished */
	int	kaio_buffer_count;	/* number of physio buffers */
	int	kaio_buffer_finished_count;	/* count of I/O done */
	struct proc *kaio_p;			/* process that uses this kaio block */
	TAILQ_HEAD (,aio_liojob) kaio_liojoblist;	/* list of lio jobs */
	TAILQ_HEAD (,aiocblist)	kaio_jobqueue;	/* job queue for process */
	TAILQ_HEAD (,aiocblist)	kaio_jobdone;	/* done queue for process */
	TAILQ_HEAD (,aiocblist)	kaio_bufqueue;	/* buffer job queue for process */
	TAILQ_HEAD (,aiocblist)	kaio_bufdone;	/* buffer done queue for process */
};

#define KAIO_RUNDOWN 0x1		/* process is being run down */
#define KAIO_WAKEUP 0x2			/* wakeup process when there is a significant
								   event */


TAILQ_HEAD (,aioproclist) aio_freeproc, aio_activeproc;
TAILQ_HEAD(,aiocblist) aio_jobs;			/* Async job list */
TAILQ_HEAD(,aiocblist) aio_bufjobs;			/* Phys I/O job list */
TAILQ_HEAD(,aiocblist) aio_freejobs;		/* Pool of free jobs */

static void aio_init_aioinfo(struct proc *p) ;
static void aio_onceonly(void *) ;
static int aio_free_entry(struct aiocblist *aiocbe);
static void aio_process(struct aiocblist *aiocbe);
static int aio_newproc(void) ;
static int aio_aqueue(struct proc *p, struct aiocb *job, int type) ;
static void aio_physwakeup(struct buf *bp);
static int aio_fphysio(struct proc *p, struct aiocblist *aiocbe, int type);
static int aio_qphysio(struct proc *p, struct aiocblist *iocb);
static void aio_daemon(void *uproc);

SYSINIT(aio, SI_SUB_VFS, SI_ORDER_ANY, aio_onceonly, NULL);

static vm_zone_t kaio_zone=0, aiop_zone=0,
	aiocb_zone=0, aiol_zone=0, aiolio_zone=0;

/*
 * Single AIOD vmspace shared amongst all of them
 */
static struct vmspace *aiovmspace = NULL;

/*
 * Startup initialization
 */
void
aio_onceonly(void *na)
{
	TAILQ_INIT(&aio_freeproc);
	TAILQ_INIT(&aio_activeproc);
	TAILQ_INIT(&aio_jobs);
	TAILQ_INIT(&aio_bufjobs);
	TAILQ_INIT(&aio_freejobs);
	kaio_zone = zinit("AIO", sizeof (struct kaioinfo), 0, 0, 1);
	aiop_zone = zinit("AIOP", sizeof (struct aioproclist), 0, 0, 1);
	aiocb_zone = zinit("AIOCB", sizeof (struct aiocblist), 0, 0, 1);
	aiol_zone = zinit("AIOL", AIO_LISTIO_MAX * sizeof (int), 0, 0, 1);
	aiolio_zone = zinit("AIOLIO",
		AIO_LISTIO_MAX * sizeof (struct aio_liojob), 0, 0, 1);
	aiod_timeout = AIOD_TIMEOUT_DEFAULT;
	aiod_lifetime = AIOD_LIFETIME_DEFAULT;
	jobrefid = 1;
}

/*
 * Init the per-process aioinfo structure.
 * The aioinfo limits are set per-process for user limit (resource) management.
 */
void
aio_init_aioinfo(struct proc *p)
{
	struct kaioinfo *ki;
	if (p->p_aioinfo == NULL) {
		ki = zalloc(kaio_zone);
		p->p_aioinfo = ki
1997-12-01 07:01:45 +00:00
dg
00fb029b24 Reorder struct callout for better cacheline behavior. 1997-12-01 05:45:15 +00:00
dyson
4f2c953311 Correct a last minute code change. Would have been an infinite loop under
certain error conditions.
Submitted by:	pst@shockwave.com
1997-11-30 23:21:08 +00:00
dyson
f2ef972c8c Fix an spl nit. 1997-11-30 21:47:36 +00:00
jmg
3d6622e13f 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
dyson
eb130e286e Finish up the vast majority of the AIO/LIO functionality. Proper signal
support was missing in the previous version of the AIO code.  More
tunables added, and very efficient support for VCHR files has been added.
Kernel threads are not used for VCHR files, all work for such files is
done for the requesting process directly.  Some attempt has been made to
charge the requesting process for resource utilization, but more work
is needed.  aio_fsync is still missing (but the original fsync system
call can be used for now.)  aio_cancel is essentially a noop, but that
is okay per POSIX.  More aio_cancel functionality can be added later,
if it is found to be needed.

The functions implemented include:
	aio_read, aio_write, lio_listio, aio_error, aio_return,
	aio_cancel, aio_suspend.

The code has been implemented to support the POSIX spec 1003.1b
(formerly known as POSIX 1003.4 spec) features of the above.  The
async I/O features are truly async, with the VCHR mode of operation
being essentially the same as physio (for appropriate files) for
maximum efficiency.  This code also supports the signal capability,
is highly tunable, allowing management of resource usage, and
has been written to allow a per process usage quota.

Both the O'Reilly POSIX.4 book and the actual POSIX 1003.1b document
were the reference specs used.  Any filedescriptor can be used with
these new system calls.  I know of no exceptions where these
system calls will not work.  (TTY's will also probably work.)
1997-11-30 04:36:31 +00:00
dg
208bdc6cb3 Shuffle things a bit for better cacheline behavior. 1997-11-29 08:11:01 +00:00
dyson
bdc807a3bb Disable the VCHR optimization for AIO until I have implemented it. Just in
case anyone wants to play with the POSIX AIO/LIO stuff.  (As it is, it should
work with ANY vnode, on UP systems only, for now.)
1997-11-29 02:57:46 +00:00
dyson
6781e003d5 Fix and complete the AIO syscalls. There are some performance enhancements
coming up soon, but the code is functional.  Docs will be forthcoming.
1997-11-29 01:33:10 +00:00
jdp
944609b233 Remove the prototypes for dlopen and related functions. They don't
belong here.  The standard place for them is <dlfcn.h>, and there is
already another copy of the prototypes there.
1997-11-28 19:05:11 +00:00
kato
9d800149c5 Recognize 3C569 network interface when `PC98' is defined.
Submitted by:	HAMADA Naoki <hamada@astec.co.jp>
1997-11-27 12:59:46 +00:00
kato
ffb62a2a81 Sync with sys/i386/i386/userconfig.c revision 1.97. 1997-11-27 10:15:48 +00:00
kato
fd0b5d3750 Sync with sys/i386/conf/files.i386 revision 1.179. 1997-11-27 10:14:54 +00:00
kato
f3d796a0d2 Sync with sys/i386/isa/syscons.c revision 1.240. 1997-11-27 10:14:11 +00:00
joerg
3544475d0b 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
markm
24487ca3ea 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
sos
494f67f706 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
kato
2c74c3d3ed Sync with sys/i386/i386/machdep.c revision up to 1.274. 1997-11-25 09:54:36 +00:00
kato
57d6b2a9cf Sync with sys/i386/i386/trap.c revision 1.115. 1997-11-25 09:53:44 +00:00
kato
119e87395f Sync with sys/i386/isa/isa.c revision 1.107. 1997-11-25 09:52:29 +00:00
kato
255967927e Sync with sys/i386/isa/syscons.c and syscons.h revisions 1.229 and
1.36, respectively.
1997-11-25 09:51:46 +00:00
kato
9999450f21 Sync with sys/i386/isa/if_ed.c, if_fe.c and sio.c revisions 1.129,
1.35 and 1.189, respectively.
1997-11-25 09:42:26 +00:00
julian
cf4eb29e47 Shift a few SYSINT() calls around.
this results in a few functions becoming static, and
the SYSINITs being close to the code they are related to.
setting up the dump device is with dumpsys() and
kicking off the scheduler is with the scheduler.
Mounting root is with the code that does it.

Reviewed by: phk
1997-11-25 07:07:48 +00:00
bde
5549d2f6ef Fixed missing #include of "opt_quota.h".
Sorted the functions into the same order as in ufs_vnops.c so that this
can be compared with the latter without getting 2627 lines of diffs.
Now we get only 1920 lines of diffs.
1997-11-24 19:25:24 +00:00
bde
bb7d16f7d4 Fixed multiple definitions of boothowto. 1997-11-24 18:35:11 +00:00
bde
67ac522ce5 Fixed multiple definitions of boothowto.
Fixed bitrot in the read-only access to kern.boottime.
1997-11-24 18:35:04 +00:00
bde
c447676070 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
bde
f48794b9f5 Fixed overflow in ufs_getblns(). For ufs on systems with 32-bit ints,
triple indirect blocks only worked for block sizes of 4K, since
MNINDIR(ump)**3 overflows for larger block sizes (e.g.,
(8192/4)**3 = 2**33 > INT_MAX).  This fix is not the obvious one of
changing some types to 64 bits.  It rearranges the code to avoid some
unnecessary 64-bit calculations.

Reviewed by:	Kirk McKusick <mckusick@McKusick.COM>
1997-11-24 16:33:03 +00:00
bde
17589a0467 Removed all traces of P_IDLEPROC. It was tested but never set. 1997-11-24 15:15:33 +00:00
bde
c729ff1df2 Don't #define max() to get a version that works with vm_ooffset's.
Just use qmax().

This should be fixed more generally using overloaded functions.
1997-11-24 15:03:13 +00:00
bde
a323d6696a Don't call malloc(..., M_WAITOK) at splnet(). Doing so is often
a mistake (since softnet interrupts may occur if malloc() waits),
and doing it harmlessly but unnecessarily here interfered with
detection of the mistaken cases.
1997-11-24 14:18:00 +00:00
bde
62082c7f65 Unstaticized rn_delete() and rn_lookup(). They are used in dark corners
of netatalk (if NETATALKDEBUG is configured).

Removed stray semicolons.
1997-11-24 13:50:24 +00:00
bde
48ccf62b8e Fixed some #include messes.
Hid the check of the user %cs in syscall() under `#ifdef DIAGNOSTIC'.
1997-11-24 13:25:37 +00:00
ahasty
f43c396ac1 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
dyson
0c60b939c7 Avoid manipulating the buffer map at interrupt time by deferring bfreekva
to getnewbuf, and remove from brelse.
Reviewed by:	dg@root.com
1997-11-24 06:18:27 +00:00
dyson
99ebdb0835 Fix the buffer flag frobbing. Note: It is invalid to gratuitiously modify
b_flags, and this patch removes unneeded modifications.  Only the needed b_flags
bits are modified now.  (Specifically, it is usually wrong to zero b_flags.)
Submitted by:	bde@freebsd.org
1997-11-24 04:14:21 +00:00
ahasty
e67a68e115 Fixed an acquired dma problem with respect to sb cards only. 1997-11-23 22:49:50 +00:00
ahasty
07652281b5 minor code clean up to sb_dsp.c and fix compile error with uart6850.c 1997-11-23 20:31:20 +00:00
ahasty
122f3728bc Missing part of my last sb_dsp.c sb16_dsp.c commit. 1997-11-23 19:05:01 +00:00
bde
608663aedf Fixed a missing conversion of retval to p_retval in disabled code.
Fixed overflow of FFLAGS() in fcntl(F_SETFL, ...).  This was not
a security hole, but gave wrong results for silly flags values.
E.g., it make fcntl(F_SETFL, -1) equivalent to fcntl(F_SETFL, 0).
POSIX requires ignoring the open mode bits in fcntl() (even if
they would be invalid for open()).
1997-11-23 12:24:59 +00:00
bde
f885907fbd Fixed misuse of O_ACCMODE. Cosmetic.
Not fixed in:	sound driver
1997-11-23 11:56:18 +00:00
bde
97507ffc6d Fixed the sector size frobbing in sd_strategy() at least not to
break for the usual sector size.  dscheck() adjusts b_bcount to
handle EOF, so we must scale it and not preserve it.  i/o beyond
the end of partitions has been broken since rev.1.96.

Not fixed in:	od driver
1997-11-23 11:30:42 +00:00
bde
6c224bdd6e Fixed duplicate definitions of M_FILE (one static). 1997-11-23 10:43:49 +00:00
bde
4f5d10af43 Fixed some style bugs in the poll() code.
Removed dead code to "Avoid inadvertently sleeping forever".  hzto()
never returns 0.
1997-11-23 10:30:50 +00:00
ahasty
eadfeb14ed Fixed acquired dma channel problem. 1997-11-23 07:35:06 +00:00
jmg
348887306a 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
bde
975c3797b1 Staticized. 1997-11-22 08:35:46 +00:00
bde
3304eb82bb Unremoved prtrealloc and the declaration of ffs_clusteralloc(). These
are used in the `#ifdef notyet' case :-).  This case is used except in
the `#if !defined (not_yes)' case :-|.  This has something to do with
the `#ifdef notyet_block_reallocation_enabled' case in vfs_cluster.c :-(.
1997-11-22 07:00:40 +00:00
bde
7c364505b9 Ifdefed a conditionally used #include.
Staticized.
1997-11-22 06:45:57 +00:00
bde
241618cb5b Staticized.
Use OID_AUTO instead of a magic number for the debug.syncprt sysctl.
(This sysctl doesn't actually work.  FreeBSD nuked it, but parts
of it were mismerged from Lite2.  It is not very good, but better
than nothing.)
1997-11-22 06:41:21 +00:00
msmith
1b51cd0c3c Add Winbond W89C940 ID to the list.
Submitted by:	Micha Class <michael_class@hpbbse.bbn.hp.com>
1997-11-22 06:19:59 +00:00
bde
6f8218994c Fixed some style and contents bugs in comments. Copied comments are
usually wrong.
1997-11-22 06:18:54 +00:00
bde
7b2acd5a85 Fixed rev.1.81. mp->mnt_kern_flag was restored in the non-error case of
`mount -u'.  This only matters for `mount -u' competing with unmounts.
If I understand the locking correctly: if mount() blocks, then unmount()
may run and set mp->kern_flag for the same mp.  Then unmount() blocks
waiting for mount() to finish.  When unmount() continues, its MNTK flags
(MNTK_UNMOUNT and MNTK_MWAIT) may have been clobbered.

Didn't fix old bugs:
- restoring mp->mnt_kern_flag is wrong for the same reasons in the error
  case.
- the error case of unmount() seems to be broken too:
  (a) MNTK_UNMOUNT gets clobbered, although another unmount() may have
      set it.  Perhaps it shouldn't be set until after the full lock is
      aquired.
  (b) MNTK_MWAIT isn't honoured.

Fixed a nearby style bug.
1997-11-22 06:10:36 +00:00
brian
13d351d261 const correctness for dl*() 1997-11-22 03:34:46 +00:00
jlemon
1934934619 Correct CPU_CYRIX_NO_LOCK fix.
PR:		5121
Pointed out by:	Matthew Hunt
1997-11-21 22:33:52 +00:00
bde
a1c70f26ad 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
bde
63e63c0d00 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
yokota
60fadeeab4 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
bde
c98d25ed0e Const poisoning from ks_shortdesc. 1997-11-21 11:37:03 +00:00
yokota
37c3c27aaa 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
e74dd6943e 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
bde
8feb0ae525 Fixed a sloppy common-style definitions. 1997-11-20 20:07:59 +00:00
wollman
390341dca5 Add Matt Dillon's quick fix hack for the self-connect DoS.
PR:		5103
1997-11-20 20:04:49 +00:00
bde
2ba2c6e5da Removed a duplicate (sloppy common-style) definition.
Fixed some style bugs.
1997-11-20 19:41:20 +00:00
bde
d1b702788e Moved some extern declarations to header files (unused ones to /dev/null). 1997-11-20 19:30:35 +00:00
bde
56bbe83370 Avoid passing a `retval' to wait1()
Disallow wait options that are not a combination of the standard POSIX
options WUNTRACED and WNOHANG, as is required by POSIX.  BSD doesn't
have any extensions here, but the code was `#ifdef notyet' for some
reason.
1997-11-20 19:09:43 +00:00
bde
4d907b31d0 Avoid passing some more `retval's. 1997-11-20 18:43:55 +00:00
bde
40314588fd 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
bde
dfbf1ec5a9 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
bde
dbdea37b84 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
bde
2001000d90 Use consistent description strings for M_EXT2NODE. This also fixes a
spelling error in the unused string.
1997-11-20 16:56:25 +00:00
bde
7cd32186da Cleaned up revs.1.19-1.21: 1997-11-20 16:53:23 +00:00
bde
f1a47dd32b Removed unused includes.
Staticized.

Avoid passing a `retval' to fork1().

Fixed some style bugs.
1997-11-20 16:36:17 +00:00
bde
04bace1624 Fixed marking of access time for special files and fifos (don't do
it if the file system is mounted noatime).  Not fixed: the access
time is marked at the start of a read() and not marked on successful
completion.  I think this should be handled at the vfs level.

Print a better panic message for missing vops.  Don't use printf()
before panic(), since the printf()ed part isn't shown by gdb.
This actually loses a little with the current gdb, since gdb just
prints the fmt arg to panic, so %'s aren't expanded.  gdb should
fetch the full message from the message buffer if possible.

Fixed default vop function for vop_getpages_desc.  It needs to
just return EOPNOTSUPP so that the vnode pager can get the pages
in using a general method.  Panicing broke exec'ing of files on
ext2fs file systems.  ffs works because it doesn't use the default.

Fixed nearby style bugs.
1997-11-20 16:08:56 +00:00
nate
35689e7efe - Renamed <pccard/card.h> -> <pccard/cardinfo.h>.
Forgotten by:		me
Reminded by:		Bruce
1997-11-20 15:48:41 +00:00
kato
753755c943 Sync with sys/i386/isa/pcaudio.c revision 1.38. 1997-11-19 11:37:06 +00:00
kato
aa874d5343 Sync with sys/i386/isa/npx.c revision 1.54. 1997-11-19 11:36:24 +00:00
kato
c5a1f033cb Sync with sys/i386/isa/mse.c revision 1.35. 1997-11-19 11:35:52 +00:00
kato
6f23e07618 Synchronize with sys/i386/isa/clock.c revision 1.104. 1997-11-19 11:35:22 +00:00
kato
97136206e7 Sync with sys/i386/conf/majors.i386 revision up to 1.22. 1997-11-19 11:34:22 +00:00
nate
74865cf25a - Renamed 'card.h' to 'cardinfo.h', to avoid namespace collisions with
the card.h that config builds.

[ Repository renaming done in the background to save the card.h history ]
1997-11-18 21:04:01 +00:00
bde
c5e51f2d51 Removed now-unused blocking mode flag. 1997-11-18 16:37:04 +00:00
bde
dc32197ca9 Removed unused #includes.
Fixed gratuitous ANSIisms.

Fixed nonblocking mode.  It was per-device instead of per-file.
1997-11-18 16:36:15 +00:00
bde
ad58459587 Removed unused #includes.
Fixed nonblocking mode.  It was per-device instead of per-file.  This
also fixes clobbering of bd_rtout by overloading it to hold a wrong
version of the blocking flag.  I hope nothing depends on the bugs.
1997-11-18 16:29:53 +00:00
bde
f4aec38b05 Fixed nonblocking mode. It was per-device instead of per-file. 1997-11-18 16:13:06 +00:00
bde
8fb85116d4 Removed unused #includes. Ifdefed a conditionally used #include.
Fixed nonblocking mode.  It was per-device instead of per-file.

Don't depend on gcc's misfeature of rewriting char args in old-style
function definitions to match wrong prototypes.  Break K&R1 support
to fix this quickly.
1997-11-18 16:12:51 +00:00
bde
5c59f2f9f5 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
bde
4addf72045 Staticized boot(). 1997-11-18 15:16:54 +00:00
bde
f5a5851d98 Get buffer stuff by #including <sys/buf.h> instead of <sys/vnode.h>.
Staticized boot().

Fixed a gratuitous ANSIism.
1997-11-18 15:16:43 +00:00
bde
2017ace608 Removed an unused #include in the `#ifdef KERNEL' case.
Fixed a comment to match the code.  The code is still wrong
(ffs_checkoverlap() should be staticized and called from a
ddb command).
1997-11-18 15:10:38 +00:00
phk
db4618638e Staticize. 1997-11-18 15:07:35 +00:00
phk
907dcc5c04 Staticize a few things. 1997-11-18 14:40:36 +00:00
phk
c1b747455e There is no ccdread() nor ccdwrite(). 1997-11-18 14:39:04 +00:00
phk
0d44468a48 unifdef -UEXT2FS 1997-11-18 14:20:09 +00:00
phk
9edb1e0f35 Give ext2fs it's own VOP_REMOVE, VOP_LINK, VOP_RENAME, VOP_MKDIR, VOP_RMDIR,
VOP_CREATE, VOP_MKNOD, VOP_SYMLINK and ext2_makeinode().
1997-11-18 14:19:44 +00:00
bde
966333c05d Removed unused #includes.
Police <> vs "" #include style.
1997-11-18 14:14:34 +00:00
bde
2d38bf3ef0 Don't test for conflicting combinations of PPP_FILTER/BPFILTER here.
Testing in if_ppp.c is good enough.

Added comments about bogus #includes and #defines.

Removed unused #includes.

Don't depend on gcc's misfeature of rewriting short args in old-style
function definitions to match wrong prototypes.  I just changed the
function definition to match the prototype, since this is easy to
verify automatically (it causes no changes in the object code), but
it breaks K&R1 support and doesn't fix the pessimal type.
1997-11-18 14:08:51 +00:00
bde
1c02ba3261 Cleaned up PPP_FILTER/NBPFILTER ifdefs.
Use gettime() instead of microtime() to set if_lastchange for i/o's.
microtime() is probably too expensive.  However, setting if_lastchange
for i/o's may be wrong.
1997-11-18 13:52:41 +00:00
bde
f3b73cd796 Use gettime() instead of assignment from time'. (time' is too
volatile to use outside of splclock().  microtime() is probably too
expensive to use for every i/o.  However, setting ifi_lastchange for
every i/o is just wrong according to the comment about ifi_lastchange
in <net/if.h>.  It is set then for atm, fddi and the latest version
of ppp.)
1997-11-18 13:37:56 +00:00
bde
04ec9f4541 Removed an unused #include.
Fixed a style bug (one of many KNF breakages in vfs_subr.c moved here).
1997-11-18 13:03:48 +00:00
bde
ac8e352bef Get tty ioctl numbers by #including <sys/ttycom.h> instead of
<sys/tty.h>.  Don't #include <sys/fcntl.h> (the select -> poll
changes removed all dependencies on it).
1997-11-18 12:59:09 +00:00
bde
69969b08fe Removed an unused #include. Added an unsed #include of <sys/ucred.h>
to prepare for not including it in <sys/param.h>.  Moved conditionally
used #includes inside an ifdef.
1997-11-18 12:52:10 +00:00
bde
dc3224e818 Removed an unused #include. Ifdefed a conditionally used #include. 1997-11-18 12:43:41 +00:00
bde
3fae0f6929 Removed unused #include. 1997-11-18 12:24:22 +00:00
bde
2445838f45 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
bde
fe379def7d Don't #include <i386/isa/isa_device.h>. It is now a prerequisite. 1997-11-18 11:47:04 +00:00
bde
99365eb10b 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
bde
dcdbeebf14 Removed an unused #included.
Ifdefed #includes that are not used in the SMP case.
1997-11-18 11:32:31 +00:00
bde
050f62450b Get select stuff by #including <sys/select.h> instead of <sys/proc.h>. 1997-11-18 11:30:10 +00:00
bde
17497cdb02 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
bde
e38ebd73b3 Removed unused #include of <sys/malloc.h>. This file now uses only
zalloc().  Many more cases like this are probably obscured by not
including <vm/zone.h> explicitly (it is spammed into <sys/malloc.h>).
1997-11-18 11:02:19 +00:00
bde
5ca06c2220 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
bde
a9d75411ee Get locking stuff by #including <sys/lock.h> instead of <sys/vnode.h>. 1997-11-18 10:02:40 +00:00
bde
50390b0fa2 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
bde
fca2b41ef4 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.

Don't forward declare structs that are already implicitly forward declared.

Fixed a disordered declaration.
1997-11-18 09:26:50 +00:00
bde
eca4cb0b58 Don't #include <sys/types.h>. I mistakenly #included it unconditionally
to fix some broken application.  Application breakage is now hidden by a
recently introduced wrong #include of <sys/types.h> in <sys/time.h>.
<sys/time.h> is a prerequisite for <sys/resource.h>, so the <sys/types.h>
prereqisite is automatically supplied.

Cast RLIM_INFINITY to the correct (signed) type.
1997-11-18 08:07:37 +00:00
bde
be5bd975ea Fixed pedantic syntax errors caused by trailing semicolon in the
__ELF__ case of the definition of MAKE_SET() and in the PSEUDO_LKM
case of the definition of PSEUDO_SET().
1997-11-18 07:23:40 +00:00
bde
88c9c6e6af Fixed pedantic syntax errors caused by the trailing semicolon in the
definition of DOMAIN_SET().
1997-11-18 06:48:43 +00:00
peter
49b9936776 Don't generate new prototype files with the extra int retval[] arg at
the end since pdk deleted them.

Forgotten by: phk
1997-11-18 03:34:39 +00:00
alex
8683d5257e Typo fix.
PR:		5068
Submitted by:	Studded@dal.net
1997-11-17 13:57:40 +00:00
jmg
d892def2d0 fix Jonathan Mini's email address per his request 1997-11-17 07:58:23 +00:00
ahasty
1938134234 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
sos
d2f586c713 Device # for Jonathan Mini's VESA support. 1997-11-16 10:02:13 +00:00
ache
b00e10eac7 Restore diagnostic fix spammed after merging 1997-11-16 06:23:29 +00:00
peter
e636aaead9 This commit was generated by cvs2svn to compensate for changes in r31187,
which included commits to RCS files with non-trunk default branches.
1997-11-16 05:55:52 +00:00
peter
4b965aa581 Import kernel parts of ipfilter-3.2.1 1997-11-16 05:55:52 +00:00
peter
7a56344e6a Import kernel parts of ipfilter-3.2.1 1997-11-16 05:55:52 +00:00
ahasty
5493f20cc0 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
nate
0bdadfcd1b MF22:
(update_intr_masks might not need to be done in 3.X, but the new generic
 interrupt code is incomplete w/regard to support for the PCCARD code, so
 to avoid any potential problems use it.  It can't hurt).

- Correctly register pcic_imask with the system interrupt code.

- Call update_intr_masks() so that pcic_imask modifications that occur
  when card interrupts are registered get updated in the system
  interrupt code.
1997-11-15 14:20:31 +00:00
tegge
08d3982b7d Simplify map entries during user page wire and user page unwire operations in
vm_map_user_pageable().

Check return value of vm_map_lock_upgrade() during a user page wire operation.
1997-11-14 23:42:10 +00:00
tegge
5ba8a227e1 Don't try to obtain an excluive lock on the vm map, since a deadlock might
occur if the process owning the map is wiring pages.
1997-11-14 22:57:46 +00:00
julian
83b3321520 Submitted by: Archie cobbs (IPDIVERT author)
close small security hole where an atacker could sendpackets with
IPDIVERT protocol, and select how it would be diverted thus bypassing
the ipfirewall.  Discovered by inspection rather than attack.
(you'd have to know how the firewall was configured (EXACTLY) to
make use of this but..)
1997-11-13 22:57:57 +00:00
julian
4cc5f1d2de oops, fix left out semicolon in code I patched by hand. 1997-11-13 01:48:30 +00:00
julian
c931d11d3f Reviewed by: hackers@freebsd.org in general
Obtained from: Whistle Communications tree

Add an option to the way UFS works dependent on the SUID bit of directories
This changes makes things a whole lot simpler on systems running as
fileservers for PCs and MACS. to enable the new code you must
1/ enable option SUIDDIR on the kernel.
2/ mount the filesystem with option suiddir.
hopefully this makes it difficult enough for people to
do this accidentally.
see the new chmod(2) man page for detailed info.
1997-11-13 00:28:51 +00:00
tegge
3e11b7299f Set return value for the correct process in ptrace(). 1997-11-12 12:28:12 +00:00
julian
ae22df605c Reviewed by: various.
Ever since I first say the way the mount flags were used I've hated the
fact that modes, and events, internal and exported, and short-term
and long term flags are all thrown together. Finally it's annoyed me enough..
This patch to the entire FreeBSD tree adds a second mount flag word
to the mount struct. it is not exported to userspace. I have moved
some of the non exported flags over to this word. this means that we now
have 8 free bits in the mount flags. There are another two that might
well move over, but which I'm not sure about.
The only user visible change would have been in pstat -v, except
that davidg has disabled it anyhow.
I'd still like to move the state flags and the 'command' flags
apart from each other.. e.g. MNT_FORCE really doesn't have the
same semantics as MNT_RDONLY, but that's left  for another day.
1997-11-12 05:42:33 +00:00
jdp
53247589eb 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
wollman
7a4162b11b Attempt to tell the user precisely what sort of VGA-like PCI device is
in their system.  The list comes originally from XFree86's SuperProbe
program.
1997-11-11 01:50:06 +00:00
nate
60d28796bd - 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
markm
1a385f5cdc Fix conflicts. 1997-11-10 18:31:35 +00:00
bde
53af1df4e6 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
cddcd93a80 - Convert c++ comment to c comment.
Noted by: 	Bruce
1997-11-10 14:38:08 +00:00
kato
a354c4cbb3 Sync with sys/i386/conf/majors.i386 revision 1.20. 1997-11-10 13:46:38 +00:00
msmith
c5875a8dbd Assign 84 to Andrew Gordon <arg@arg1.demon.co.uk> for the 'ttxt' Unitext
teletext decoder.
1997-11-10 03:50:29 +00:00
wosch
e736d68c30 Remove the comments hat just list the nested includes.
The lists don't provide significantly more information than
grep '\.include', and grep gives lists that are actually correct.
Submitted by: Bruce
1997-11-09 15:03:15 +00:00
msmith
67ba7220fd A better fix for the ddb command history buffer problem; use a static
buffer instead of trying to use malloc() in the input routine.
Submitted by:	john hood <cgull@smoke.marlboro.vt.us>
1997-11-09 06:30:29 +00:00
jkh
b820ab9845 MF22: MSG_EOR bug fix.
Submitted by:	wollman
1997-11-09 05:07:40 +00:00
julian
554abdcebf fix slight breakages from PHK's VFS work.
also remove irrelevant copyright, now that all that code has gone away.
1997-11-08 19:02:28 +00:00
peter
84ea1e1ecb Merge 971020 stuff.. Check 21142? SROM CRC. 1997-11-08 14:46:58 +00:00
tegge
cd60b5872c Use UPAGES when setting up private pages for SMP (which includes idle stack). 1997-11-07 19:58:34 +00:00
kato
81bbaff831 Sync with following files:
- sys/i386/i386/machdep.c revision 1.271
	- sys/i386/i386/trap.c revision 1.114
	- sys/i386/isa/if_ed.c revision 1.128
	- sys/i386/isa/if_fe.c revision 1.34
	- sys/i386/isa/syscons.c revision 1.238.
	- sys/i386/isa/wd.c revision 1.144
1997-11-07 12:54:01 +00:00
phk
ccc7e7fa9f Rename some local variables to avoid shadowing other local variables.
Found by: -Wshadow
1997-11-07 09:21:01 +00:00
phk
4d26888936 Remove a bunch of variables which were unused both in GENERIC and LINT.
Found by:	-Wunused
1997-11-07 08:53:44 +00:00
msmith
cfad384768 Don't try to do anything with the input history if MALLOC() for the buffer
failed.

This broke early debugging.
1997-11-07 02:34:50 +00:00
markm
45a9d49a7f Rats. Committed the wrong version.
Move the declarations to the top of the ioctl() function so this compiles.
1997-11-06 20:06:19 +00:00
phk
4c8218a5c7 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
kato
363a7ddf85 Sync with sys/i386/conf/Makefile.i386 revision 1.105. 1997-11-06 09:51:34 +00:00
dyson
bae55d2661 Fix the "missing page" problem. Also, improve the performance of page
allocation in common cases.
1997-11-06 08:35:50 +00:00
joerg
7fafb4ffea Make the Nakamichi CD-ROM changer detection detect more recent devices,
too.
1997-11-06 08:29:50 +00:00
markm
9b85573701 1) Add the IOCTL for Luigi's BT848 -> I2C bus driver.
2) Fix temporal decimation, disable it when
   doing CAP_SINGLEs, and in dual-field capture, don't
   capture fields for different frames

Submitted by: Luigi Rizzo & Randall Hopper
1997-11-06 07:04:08 +00:00
markm
f55cfbd1d8 Add the IOCTL for Luigi's BT848 -> I2C bus driver. 1997-11-06 07:00:45 +00:00
msmith
a70940419f Bump configvers to 300003 to account for the crd->card (and related)
namespace changes.
1997-11-06 03:11:40 +00:00
kato
a254837af9 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
sos
e0049830ed Oops, forgot to count non-changer drives..
Broken by: sos
Reported by: phk
1997-11-05 21:32:00 +00:00
joerg
0bc9255aaa Make IPDIVERT a supported option. Alas, in_var.h depends on it, i
hope i've found out all files that actually depend on this dependancy.
IMHO, it's not very good practice to change the size of internal
structs depending on kernel options.
1997-11-05 20:17:23 +00:00
kato
81b353e477 Fix rare 6x86 CPU whose DIR0 = 0x20 - 0x28 case. 1997-11-05 15:12:44 +00:00
julian
e0b506942b Return the entire if info, rather than just the index number. (at least try)
Interface index numbers are an abomination that should go away
(at least in that form)
1997-11-05 02:51:32 +00:00
ache
66620581f2 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
1106c3e010 Note that the Intel EtherExpress' driver is ie(4). 1997-11-04 21:11:14 +00:00
nate
741ef8dac5 - Update the email address in the copyrights. 1997-11-04 18:12:51 +00:00
nate
dc73737576 - Reset the pcic controller interrupt 'poll' timeout *after* we call the
interrupt routine.
1997-11-04 17:50:23 +00:00
nate
b865ee4190 - 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
kato
675448121b Sync with sys/i386/isa/wd.c revision 1.142. 1997-11-04 12:58:48 +00:00
kato
80e26d12da Sync with sys/i386/conf/Makefile.i386 revision 1.104. 1997-11-04 12:58:20 +00:00
phk
abef5e0744 dk_altport is initialized in wdprobe(), but not in wdattach(), this
breaks wdreset(), wdunwedge() &c &c.

Should be examined in detail by:	dyson
1997-11-04 09:28:54 +00:00
kato
7fee134339 Use same address for USERCONFIG_BOOT on PC-98 as IBM-PC.
Submitted by:	H. Nokubi <h-nokubi@nmit.tmg.nec.co.jp>
Forgotten by:	kato
1997-11-04 03:19:25 +00:00
guido
9e1a11429b Test if kvm_kernel.db exists before moving it. Otherwise installing
a kernel, booting single user and reinstalling a kernel fails.
1997-11-03 21:48:31 +00:00
kato
c22960aa65 Sync with sys/i386/isa/sio.c revision 1.188. 1997-11-03 02:30:45 +00:00
kato
c08005ca1f Sync with sys/i386/i386/userconfig.c revision 1.96. 1997-11-03 02:29:44 +00:00
kato
fe4a71d319 Sync with sys/i386/isa/if_fe.c revision 1.33. 1997-11-03 02:28:39 +00:00
kato
b0b955ecbe Sync with sys/i386/isa/if_ed.c revision 1.127. 1997-11-03 02:27:36 +00:00
nate
f792549af6 - MF22: (I reversed these). Simplify code. 1997-11-02 21:26:14 +00:00
jkh
baf2cb04b3 Add ide_pci device. 1997-11-02 20:35:07 +00:00
gibbs
7b9f919ed2 Correct the definition of CIRCLEQ_EMPTY. It would give a false positive
if the queue contained only one element.

Submitted by:	Greg Ansley <gja@ansley.com>
1997-11-02 19:41:16 +00:00
dg
cd43239919 Sigh, kill setting of 0WS...it breaks more machines than it fixes. 1997-11-02 07:12:52 +00:00
tegge
388b273b9d Move declaration of M_MFSNODE from mfs_vnops.c to mfsnode.h. 1997-11-01 20:40:14 +00:00
tegge
755c4dea3d Bring back mfs_reclaim(), which is used to reclaim the master vnode in MFS. 1997-11-01 20:19:44 +00:00
nate
a9b0ad62d6 - Example config file for laptop/PCCARD support. 1997-11-01 18:54:10 +00:00
jseger
1f886000f4 Change comments about ijppp to iijppp.
PR:		conf/4905
Submitted by:	takas-su@is.aist-nara.ac.jp
1997-10-31 22:10:09 +00:00
markm
5f92dabd2c Bring our sound sources up to the level of Amancio's latest-and-greatest.
This corresponds to Voxware 3.5-alpha-<something> and Amancio's guspnp21.
There was a bit of a FUBAR during the commmit, so not all files are
mentioned in this commit's mail.

X-rant:	I have just started to _*HATE*_ CVS...
1997-10-31 17:25:35 +00:00
jmg
01dd9f96d6 This updates Luigi's sound code to the basic code in snd971023...
changes:
    o rip the old select from his distribution to prevent extra pollution
    o the code now uses audio dma, helps reduce clicks
    o improved card support, should work in full duplex on sb16 cards
    o add better voxware ioctl support pointed out by Joao Carlos Mendes
       Luis <jonny@coppe.ufrj.br>
    o remove an unused file that I included for more complete history
    o and MANY other changes

I have personally tested this code with a CS4237 based card and an AWE32
(non-PnP).  Both cards worked fine in 8bit and 16bit mode.
1997-10-31 12:24:28 +00:00
dg
21bec5640c Fixed bug in RTM_ADD where rmx_locks weren't being set on the new route,
preventing "route add default 1.2.3.4 -lock -mtu 1500" from working as
expected (which is, BTW, to disable Path MTU Discovery).
1997-10-31 08:53:13 +00:00
markm
be4808f6e2 Upgrade the sound sources to Amancio Hasty's latest-and-greatest.
This is based on Voxware 3.5, and corresponds to Amancio's `guspnp21'.

Bug reports to Amancio, please!
1997-10-31 06:30:22 +00:00
eivind
dbc432c0d0 Improve PAL support and fix mux selector values.
This make the Miro PCTV work for me, including audio, and should
hopefully fix the other audio problems some people have been having.

Reviewed by:	ahasty & Luigi Rizzo (freebsd-multimedia)
1997-10-30 18:20:26 +00:00
kato
44b39f89cb Securelevel and formatting fixes, and trapframe simplification.
Reviewed by:	sos
Submitted by:	bde
1997-10-30 10:53:30 +00:00
sos
226ae63eab First cut at supporting multi-CD CDROM drives (changers).
Very rudimentary, lots of error checks missing, but it works.
Dont do an ls on two different CD's though, it will eat your
changer mechanism for lunch :), this clearly needs some more
thought. Until then this will enable those with changers to
mount their multible CD's and doing "sensible" work....

Thanks to Andrew Gordon <arg@arg1.demon.co.uk> for donating a drive
(a NEC CDR-C251 4x4) that makes this possible to develop.
1997-10-29 22:11:00 +00:00
nate
bdd6ae07d8 - Make sure we include <sys/kernel.h> to pick up the definitions of DATA_SET()
Noticed by:	bde
1997-10-29 15:54:19 +00:00
kato
cfc3d1cfdf Implement linux_iopl and linux_nice. 1997-10-29 08:17:14 +00:00
kato
df76a9fc09 Sync with sys/i386/isa/if_ed.c revision 1.126. 1997-10-29 08:14:56 +00:00
kato
d50e1b9be0 Synchronize with sys/i386/i386/microtime.s revision 1.34. 1997-10-29 08:13:32 +00:00
julian
9482e3b53d didn't even know fddi had the atalk support.
fix it here too. (really needs more of the fixes from the ethernet)
1997-10-29 07:59:27 +00:00
jdp
addd7d2b5d The previous change added a use of the DATA_SET macro, but forgot
to define it by including <sys/kernel.h>.  That broke PC-CARD
support for this driver, producing the dreaded "device allocation
failed" message.  Surprisingly, the missing include caused only
two compiler warnings.  The compilation still "succeeded" anyway.
1997-10-29 00:51:50 +00:00
julian
827244dc7a Fix various problems with netatalk kernel support.
Some of these changes are a bit rough and will become
more polished later.  the changes to if_ethersubr should largely be moved
to within the appletalk code, but that will happen later.
A few of these were related to network-byteorder problems,
and more were related to loopback failures.
1997-10-29 00:30:52 +00:00
nate
f6deed1a05 - More style nits (sorry, I should have done this last time). 1997-10-28 20:58:53 +00:00
nate
44f2868788 - Style nit. 1997-10-28 20:50:58 +00:00
phk
349f4dfe03 Remove the long description from the in-kernel datastructure.
Put a magic field in there instead, to help catch uninitialized
malloc types.
1997-10-28 19:01:02 +00:00
guido
1e49b12039 Fix bugs from my previous commit
Submitted by:	Bruce Evans
1997-10-28 18:55:21 +00:00
nate
2e553bc250 - Disable cards when doing a suspend by emulating that they have been
removed.  Add a new state 'suspend' so we 'fake' insertion events at
  resume time for the cards that have been suspended.

[
The code still works if you remove the card during suspend, switch the
card during suspend, or combinations of both.
]

Reviewed by:	frf@xocolatl.com
1997-10-28 17:51:25 +00:00
bde
fb826377ff Removed unused #includes. 1997-10-28 15:59:26 +00:00
kato
547810c3e7 Synchronize with sys/i386/isa/npx.c and clock.c revisions 1.53 and
1.103, respectively.
1997-10-28 14:30:47 +00:00
kato
0be80e84d3 Synchronize with sys/i386/conf/files.i386 revision 1.178. 1997-10-28 14:29:23 +00:00
bde
974f2bea15 Don't #include <nfs/nfs.h> in <nfs/nfs_node.h> if KERNEL is defined.
Fixed everything that depended on the nested include.
1997-10-28 14:06:25 +00:00
bde
a2efd30a4b This depends on option TCP_DEBUG for some reason, so include
opt_tcp_debug.h so that the option is visible again.

Restored a used #include.
1997-10-28 12:24:26 +00:00
bde
561cc79f50 Don't include <machine/cputypes.h> or declare cputype/class interfaces
in <machine/cpu.h>.  Moved the declarations to <machine/cputypes.h>.
Fixed style bugs in the moved code.  Fixed everything that depended on
the nested include.  Don't include <machine/cpu.h> (in the changed files)
unless something in it is used directly.
1997-10-28 11:43:57 +00:00
kato
c2c827e04f Implement linux_semop, linux_semget and linux_semctl.
PR:		4355
1997-10-28 10:50:02 +00:00