#
272461 |
|
02-Oct-2014 |
gjb |
Copy stable/10@r272459 to releng/10.1 as part of the 10.1-RELEASE process.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
256281 |
|
10-Oct-2013 |
gjb |
Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation
|
#
247089 |
|
21-Feb-2013 |
imp |
Remove incorrect comment about splsoftclock.
|
#
193018 |
|
29-May-2009 |
ed |
Last minute TTY API change: remove mutex argument from tty_alloc().
I don't want people to override the mutex when allocating a TTY. It has to be there, to keep drivers like syscons happy. So I'm creating a tty_alloc_mutex() which can be used in those cases. tty_alloc_mutex() should eventually be removed.
The advantage of this approach, is that we can just remove a function, without breaking the regular API in the future.
|
#
188266 |
|
07-Feb-2009 |
wkoszek |
si_cmdname() is defined only when SI_DEBUG is enabled, thus using this function in simple printf() causes compile-time problems. Use conditionally enabled DPRINT() macro instead.
|
#
182871 |
|
08-Sep-2008 |
peter |
Pass 1 of mpsafetty-ifying si(4). It compiles and has basic functionality, but needs a lot more work. In particular, it has no flow control and has a tendency to race when giving commands. It still uses Giant for the tty and driver lock, but this is a keep-it-simple feature for now. Some of the [temporary] proliferation of messages lines are way too long.
|
#
179668 |
|
09-Jun-2008 |
ed |
Remove sicontrol(8)'s "ttystat".
In the FreeBSD base system, there are only two utilities that use struct tty, namely pstat and sicontrol. The sicontrol utility calls the TCSI_TTY ioctl(), which copies struct tty back to userspace.
sicontrol should not have this functionality. The same data is already provided by pstat. If we really want to be able to export these numbers through a file descriptor to userspace, we can export struct xtty, which should provide a better abstraction. The ttystat option was only used as a debugging aid.
This makes sicontrol compile in the mpsafetty branch.
Reviewed by: peter Approved by: philip (mentor)
|
#
179589 |
|
06-Jun-2008 |
peter |
Checkpoint what I've been running for the last year. Tidy up a bunch of loose ends that "can't happen" any more, if they ever could.
|
#
166091 |
|
18-Jan-2007 |
marius |
Wrap the EISA-specific parts of the dpt(4) and si(4) back-ends in the newly added DEV_EISA. This is done so that these back-ends can be compiled on platforms not providing in{b,w,l}()/out{b,w,l}() and friends (but may wish to use them together with bus front-ends other than the EISA one).
|
#
164033 |
|
06-Nov-2006 |
rwatson |
Sweep kernel replacing suser(9) calls with priv(9) calls, assigning specific privilege names to a broad range of privileges. These may require some future tweaking.
Sponsored by: nCircle Network Security, Inc. Obtained from: TrustedBSD Project Discussed on: arch@ Reviewed (at least in part) by: mlaier, jmg, pjd, bde, ceri, Alex Lyashkov <umka at sevcity dot net>, Skip Ford <skip dot ford at verizon dot net>, Antoine Brodin <antoine dot brodin at laposte dot net>
|
#
154081 |
|
06-Jan-2006 |
jhb |
- Fix cards with multiple modules. Prior to this, the ports on the various modules would have overlapping names. - Only create /dev/si_control for unit 0.
Tested by: Joerg Lehners Joerg dot Lehners at informatik dot uni-oldenburg dot de (on 6.x) MFC after: 1 week
|
#
151383 |
|
16-Oct-2005 |
phk |
Eliminate two unused arguments to ttycreate().
|
#
139749 |
|
05-Jan-2005 |
imp |
Start each of the license/copyright comments with /*-, minor shuffle of lines
|
#
136058 |
|
02-Oct-2004 |
phk |
Use generic device/tty adaptation code.
New device names are "{tty|cua}A$(card)$(port)[.init|.lock]"
Put a portname in the port structure if SI_DEBUG is defined to avoid need to inspect minor number to construct name..
Constify some strings.
Remove duplicated DBG_ #defines.
|
#
135367 |
|
17-Sep-2004 |
phk |
Use ttyalloc() instead of ttymalloc(NULL)
|
#
132771 |
|
28-Jul-2004 |
kan |
Avoid casts as lvalues.
|
#
132226 |
|
15-Jul-2004 |
phk |
Preparation commit for the tty cleanups that will follow in the near future:
rename ttyopen() -> tty_open() and ttyclose() -> tty_close().
We need the ttyopen() and ttyclose() for the new generic cdevsw functions for tty devices in order to have consistent naming.
|
#
131981 |
|
11-Jul-2004 |
phk |
Introduce ttygone() which indicates that the hardware is detached.
Move dtrwait logic to the generic TTY level.
|
#
131134 |
|
26-Jun-2004 |
phk |
Pick the hotchar out of the tty structure instead of caching private copies.
No current line disciplines have a dynamically changing hotchar, and expecting to receive anything sensible during a change in ldisc is insane so no locking of the hotchar field is necessary.
|
#
130892 |
|
21-Jun-2004 |
phk |
Put the pre FreeBSD-2.x tty compat code under BURN_BRIDGES.
|
#
130585 |
|
16-Jun-2004 |
phk |
Do the dreaded s/dev_t/struct cdev */ Bump __FreeBSD_version accordingly.
|
#
130344 |
|
11-Jun-2004 |
phk |
Deorbit COMPAT_SUNOS.
We inherited this from the sparc32 port of BSD4.4-Lite1. We have neither a sparc32 port nor a SunOS4.x compatibility desire these days.
|
#
130096 |
|
04-Jun-2004 |
phk |
Centralize the line discipline optimization determination in a function called ttyldoptim().
Use this function from all the relevant drivers.
I belive no drivers finger linesw[] directly anymore, paving the way for locking and refcounting.
|
#
130077 |
|
04-Jun-2004 |
phk |
Machine generated patch which changes linedisc calls from accessing linesw[] directly to using the ttyld...() functions
The ttyld...() functions ar inline so there is no performance hit.
|
#
130057 |
|
04-Jun-2004 |
phk |
Make the remaining serial drivers call ttyioctl() rather than calling the linedisc directly.
|
#
129939 |
|
01-Jun-2004 |
phk |
There is no need to explicitly call the stop function. In all likelyhood ->l_close() did it and ttyclose certainly will.
|
#
126080 |
|
21-Feb-2004 |
phk |
Device megapatch 4/6:
Introduce d_version field in struct cdevsw, this must always be initialized to D_VERSION.
Flip sense of D_NOGIANT flag to D_NEEDGIANT, this involves removing four D_NOGIANT flags and adding 145 D_NEEDGIANT flags.
|
#
126078 |
|
21-Feb-2004 |
phk |
Device megapatch 3/6:
Add missing D_TTY flags to various drivers.
Complete asserts that dev_t's passed to ttyread(), ttywrite(), ttypoll() and ttykqwrite() have (d_flags & D_TTY) and a struct tty pointer.
Make ttyread(), ttywrite(), ttypoll() and ttykqwrite() the default cdevsw methods for D_TTY drivers and remove the explicit initializations in various drivers cdevsw structures.
|
#
126076 |
|
21-Feb-2004 |
phk |
Device megapatch 1/6:
Free approx 86 major numbers with a mostly automatically generated patch.
A number of strategic drivers have been left behind by caution, and a few because they still (ab)use their major number.
|
#
119419 |
|
24-Aug-2003 |
obrien |
Use __FBSDID(). Also some minor style cleanups.
|
#
111899 |
|
05-Mar-2003 |
das |
Make TTYHOG tunable.
Reviewed by: mike (mentor)
|
#
111821 |
|
03-Mar-2003 |
phk |
Make nokqfilter() return the correct return value.
Ditch the D_KQFILTER flag which was used to prevent calling NULL pointers.
|
#
111815 |
|
03-Mar-2003 |
phk |
Gigacommit to improve device-driver source compatibility between branches:
Initialize struct cdevsw using C99 sparse initializtion and remove all initializations to default values.
This patch is automatically generated and has been tested by compiling LINT with all the fields in struct cdevsw in reverse order on alpha, sparc64 and i386.
Approved by: re(scottl)
|
#
111748 |
|
02-Mar-2003 |
des |
More low-hanging fruit: kill caddr_t in calls to wakeup(9) / [mt]sleep(9).
|
#
111002 |
|
16-Feb-2003 |
phk |
Remove #include <sys/dkstat.h>
|
#
105215 |
|
16-Oct-2002 |
phk |
Be consistent about functions being static.
Spotted by: FlexeLint.
|
#
100743 |
|
27-Jul-2002 |
peter |
Make si_debug tunable.
|
#
93593 |
|
01-Apr-2002 |
jhb |
Change the suser() API to take advantage of td_ucred as well as do a general cleanup of the API. The entire API now consists of two functions similar to the pre-KSE API. The suser() function takes a thread pointer as its only argument. The td_ucred member of this thread must be valid so the only valid thread pointers are curthread and a few kernel threads such as thread0. The suser_cred() function takes a pointer to a struct ucred as its first argument and an integer flag as its second argument. The flag is currently only used for the PRISON_ROOT flag.
Discussed on: smp@
|
#
83366 |
|
12-Sep-2001 |
julian |
KSE Milestone 2 Note ALL MODULES MUST BE RECOMPILED make the kernel aware that there are smaller units of scheduling than the process. (but only allow one thread per process at this time). This is functionally equivalent to teh previousl -current except that there is a thread associated with each process.
Sorry john! (your next MFC will be a doosie!)
Reviewed by: peter@freebsd.org, dillon@freebsd.org
X-MFC after: ha ha ha ha
|
#
74810 |
|
26-Mar-2001 |
phk |
Send the remains (such as I have located) of "block major numbers" to the bit-bucket.
|
#
72685 |
|
19-Feb-2001 |
peter |
Use ttymalloc() instead of roll-our-own.
|
#
72521 |
|
15-Feb-2001 |
jlemon |
Extend kqueue down to the device layer.
Backwards compatible approach suggested by: peter
|
#
69781 |
|
08-Dec-2000 |
dwmalone |
Convert more malloc+bzero to malloc+M_ZERO.
Submitted by: josh@zipperup.org Submitted by: Robert Drehmel <robd@gmx.net>
|
#
67893 |
|
29-Oct-2000 |
phk |
Move suser() and suser_xxx() prototypes and a related #define from <sys/proc.h> to <sys/systm.h>.
Correctly document the #includes needed in the manpage.
Add one now needed #include of <sys/systm.h>. Remove the consequent 48 unused #includes of <sys/proc.h>.
|
#
67586 |
|
25-Oct-2000 |
jhb |
This driver doesn't have a software interrupt handler, so don't attempt to schedule a non-existant handler to run.
|
#
67164 |
|
15-Oct-2000 |
phk |
Remove unneeded #include <machine/clock.h>
|
#
56592 |
|
25-Jan-2000 |
peter |
Always leave SP_DCEN on (monitor DCD). Otherwise the firmware *really* does ignore DCD. Even TIOCMGET cannot read DCD as the firmware doesn't report it. This has pretty interesting effects for ppp(8) which runs in clocal mode and polls carrier (!). (Specialix's linux driver does this too)
Also update the firmware to 3.0.6 for the SX cards, as apparently there was a problem with floating (disconnected) DCD pins causing stray carrier transitions, especially at port open time.
It seems to work here, and carrier loss is detected nearly immediately rather than having to wait for a LQR timeout (a few minutes) before ppp(8) gives up.
DCD problem noted by: nsayer
|
#
56505 |
|
24-Jan-2000 |
peter |
A bit more newbusification of si. This still isn't quite finished. Split out the bus attachments so the impact of the bus xxxvar.h files with the inline macros for the ivars are confined to one file each.
|
#
56498 |
|
23-Jan-2000 |
peter |
Initial attempt at newbusification of the specialix si/xio/sx driver. The files were repo copied from their original location and are part way towards being portable. This should unbreak the EISA support in the driver. I have not updated files* yet as I'm not quite finished.
|
#
52033 |
|
08-Oct-1999 |
peter |
Zap cdevsw_add() - the make_dev's take care of it and don't use the cdevsw[] array.
|
#
51756 |
|
28-Sep-1999 |
phk |
Introduce ttyread() and ttywrite() which do the canonical thing.
Use them in many tty drivers.
Reviewed by: julian, bde
|
#
51658 |
|
25-Sep-1999 |
phk |
Remove five now unused fields from struct cdevsw. They should never have been there in the first place. A GENERIC kernel shrinks almost 1k.
Add a slightly different safetybelt under nostop for tty drivers.
Add some missing FreeBSD tags
|
#
51654 |
|
25-Sep-1999 |
phk |
This patch clears the way for removing a number of tty related fields in struct cdevsw:
d_stop moved to struct tty. d_reset already unused. d_devtotty linkage now provided by dev_t->si_tty.
These fields will be removed from struct cdevsw together with d_params and d_maxio Real Soon Now.
The changes in this patch consist of:
initialize dev->si_tty in *_open() initialize tty->t_stop remove devtotty functions rename ttpoll to ttypoll a few adjustments to these changes in the generic code a bump of __FreeBSD_version add a couple of FreeBSD tags
|
#
50671 |
|
30-Aug-1999 |
phk |
Null commit to get last commit message recorded:
Avoid name clash with dev_t member si_tty.
|
#
50669 |
|
30-Aug-1999 |
phk |
*** empty log message ***
|
#
50477 |
|
27-Aug-1999 |
peter |
$Id$ -> $FreeBSD$
|
#
50442 |
|
27-Aug-1999 |
peter |
A few style changes (fixes hopefully) and some more tidying up. Fix (?) the volatile cast warnings.
|
#
50435 |
|
27-Aug-1999 |
peter |
Don't return 0 for an unknown ioctl (!). This was breaking ppp(8). Slight tidy up while here.
|
#
50254 |
|
23-Aug-1999 |
phk |
Convert DEVFS hooks in (most) drivers to make_dev().
Diskslice/label code not yet handled.
Vinum, i4b, alpha, pc98 not dealt with (left to respective Maintainers)
Add the correct hook for devfs to kern_conf.c
The net result of this excercise is that a lot less files depends on DEVFS, and devtoname() gets more sensible output in many cases.
A few drivers had minor additional cleanups performed relating to cdevsw registration.
A few drivers don't register a cdevsw{} anymore, but only use make_dev().
|
#
50016 |
|
18-Aug-1999 |
nsayer |
printf("%x",dev); -> printf("%s",devtoname(dev));
|
#
47640 |
|
31-May-1999 |
phk |
Simplify cdevsw registration.
The cdevsw_add() function now finds the major number(s) in the struct cdevsw passed to it. cdevsw_add_generic() is no longer needed, cdevsw_add() does the same thing.
cdevsw_add() will print an message if the d_maj field looks bogus.
Remove nblkdev and nchrdev variables. Most places they were used bogusly. Instead check a dev_t for validity by seeing if devsw() or bdevsw() returns NULL.
Move bdevsw() and devsw() functions to kern/kern_conf.c
Bump __FreeBSD_version to 400006
This commit removes: 72 bogus makedev() calls 26 bogus SYSINIT functions
if_xe.c bogusly accessed cdevsw[], author/maintainer please fix.
I4b and vinum not changed. Patches emailed to authors. LINT probably broken until they catch up.
|
#
47625 |
|
30-May-1999 |
phk |
This commit should be a extensive NO-OP:
Reformat and initialize correctly all "struct cdevsw".
Initialize the d_maj and d_bmaj fields.
The d_reset field was not removed, although it is never used.
I used a program to do most of this, so all the files now use the same consistent format. Please keep it that way.
Vinum and i4b not modified, patches emailed to respective authors.
|
#
46813 |
|
09-May-1999 |
peter |
Simplify the COMPAT_PCI_DRIVER/DATA_SET hack. We can add: #define COMPAT_PCI_DRIVER(name,data) DATA_SET(pcidevice_set,data) .. to 2.2.x and 3.x if people think it's worth it. Driver writers can do this if it's not defined. (The reason for this is that I'm trying to progressively eliminate use of linker_sets where it hurts modularity and runtime load capability, and these DATA_SET's keep getting in the way.)
|
#
46679 |
|
08-May-1999 |
phk |
Fix some of the places where too much inside knowledge about major/minor layout and dev_t structure is being (ab)used.
|
#
46332 |
|
02-May-1999 |
peter |
These two drivers have not been converted for newbus eisa yet.
|
#
46153 |
|
28-Apr-1999 |
dt |
s/static foo_devsw_installed = 0;/static int foo_devsw_installed;/. (Edited automatically)
|
#
46112 |
|
27-Apr-1999 |
phk |
Suser() simplification:
1: s/suser/suser_xxx/
2: Add new function: suser(struct proc *), prototyped in <sys/proc.h>.
3: s/suser_xxx(\([a-zA-Z0-9_]*\)->p_ucred, \&\1->p_acflag)/suser(\1)/
The remaining suser_xxx() calls will be scrutinized and dealt with later.
There may be some unneeded #include <sys/cred.h>, but they are left as an exercise for Bruce.
More changes to the suser() API will come along with the "jail" code.
|
#
46024 |
|
24-Apr-1999 |
peter |
Use COMPAT_PCI_DRIVER() for registration if it exists. This shouldn't hurt the driver portability to 3.x too much for where drivers are shared.
|
#
43425 |
|
30-Jan-1999 |
phk |
Use suser() to check for super user rather than examining cr_uid directly. Use TTYDEF_SPEED rather than 9600 a couple of places.
Reviewed by: bde, with a few grumbles.
|
#
42546 |
|
11-Jan-1999 |
eivind |
Silence warnings.
|
#
38487 |
|
23-Aug-1998 |
bde |
Fixed printf format errors. `struct eisa_device' uses a strange type for the unit number (like most SCSI drivers).
|
#
38485 |
|
23-Aug-1998 |
bde |
Added D_TTY to the cdevswitch flags for all tty drivers. This is required for the Lite2 fix for always returning EIO in dead_read().
Cleaned up the cdevswitch initializers for all tty drivers.
Removed explicit calls to ttsetwater() from all (tty) drivers. ttsetwater() is now called centrally for opens, not just for parameter changes.
|
#
38353 |
|
15-Aug-1998 |
bde |
Cast an int to (intptr_t) before casting it to (void *).
Don't cast a pointer to a long just to print it.
|
#
38351 |
|
15-Aug-1998 |
bde |
Fixed yet more ioctl breakage due to the type of the `cmd' arg chaninging from int to u_long but not changing here.
|
#
36956 |
|
13-Jun-1998 |
steve |
Add a macro tweak.
PR: 6932 Submitted by: Nick Sayer <nsayer@quack.kfu.com>
|
#
36856 |
|
10-Jun-1998 |
phk |
Correct name and number for sxdc modules PR: 6891 Reviewed by: phk Submitted by: Nick Sayer <nsayer@quack.kfu.com>
|
#
36735 |
|
07-Jun-1998 |
dfr |
This commit fixes various 64bit portability problems required for FreeBSD/alpha. The most significant item is to change the command argument to ioctl functions from int to u_long. This change brings us inline with various other BSD versions. Driver writers may like to use (__FreeBSD_version == 300003) to detect this change.
The prototype FreeBSD/alpha machdep will follow in a couple of days time.
|
#
34928 |
|
28-Mar-1998 |
bde |
Removed unused #includes.
|
#
34832 |
|
23-Mar-1998 |
peter |
Several changes: - Implement proper EISA probing. - Better support for the new transputer based host cards. - use standard termios settings, one can use the intial/lock devices. - use a simple bcopy since some cards/systems apparently don't support 32 bit accesses. - hard reset and halt host card CPU prior to download in case of a soft restart. - recognize new remote module types (ASIC vs. CD1400 based) - a number of cosmetic changes (my fault, not Nick's)
Submitted by: Nick Sayer <nsayer@quack.kfu.com>
|
#
34735 |
|
21-Mar-1998 |
peter |
Merge from 2.2, plus some other changes. In the config file entry, 'vector siintr' isn't used since the handler is assigned internally.
|
#
33395 |
|
15-Feb-1998 |
peter |
Update to support SI/XIO PCI host cards (Z280 based) and the enhanced SXISA and SXPCI host cards (Transputer based).
PR: 4836, 5021, 5654 Submitted by: Nick Sayer <nick@specialix.com>
|
#
33322 |
|
13-Feb-1998 |
phk |
Implement the spirit but not the letter of Terrys hot-char patch.
The differences Terrys patch and this patch are: * Remove a lot of un-needed comments. * Don't put l_hotchar at the front of stuct linesw, there is no need to. * Use the #defines for the hotchar in the SLIP and PPP line disciplines
|
#
32929 |
|
31-Jan-1998 |
eivind |
Make the debug options new-style.
This also zaps a DPT option from lint; it wasn't referenced from anywhere.
|
#
32726 |
|
24-Jan-1998 |
eivind |
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.
|
#
31778 |
|
16-Dec-1997 |
eivind |
Make COMPAT_43 and COMPAT_SUNOS new-style options.
|
#
31577 |
|
06-Dec-1997 |
bde |
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.
|
#
29677 |
|
21-Sep-1997 |
gibbs |
aha1542.c aic6360.c cy.c fd.c ft.c if_ie.c if_wl.c if_zp.c isa.c isa_device.h labpc.c mcd.c ncr5380.c scd.c seagate.c si.c sio.c tw.c ultra14f.c wcd.c wd.c:
Update for changes in the callout interface.
apic_vector.s icu_vector.s ipl.s ipl_funcs.c:
Add CAM software/hardware interrupt support.
|
#
29368 |
|
14-Sep-1997 |
peter |
Update select -> poll in drivers.
|
#
27555 |
|
20-Jul-1997 |
bde |
Removed unused #includes.
|
#
25047 |
|
20-Apr-1997 |
bde |
Fixed the type of timeout functions and removed casts that hid the type mismatches. There was no problem in practice (at least on 386's).
|
#
24207 |
|
24-Mar-1997 |
bde |
Don't include <sys/ioctl.h> in the kernel. Stage 5: include <sys/ioctl_compat.h> and sometimes <sys/filio.h> instead of <sys/ioctl.h> in tty-related files. <sys/ttycom.h> is still usually imported bogusly via <sys/termios.h>.
|
#
24131 |
|
23-Mar-1997 |
bde |
Don't #include <sys/fcntl.h> in <sys/file.h> if KERNEL is defined. Fixed everything that depended on getting fcntl.h stuff from the wrong place. Most things don't depend on file.h stuff at all.
|
#
22975 |
|
22-Feb-1997 |
peter |
Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not ready for it yet.
|
#
21673 |
|
14-Jan-1997 |
jkh |
Make the long-awaited change from $Id$ to $FreeBSD$
This will make a number of things easier in the future, as well as (finally!) avoiding the Id-smashing problem which has plagued developers for so long.
Boy, I'm glad we're not using sup anymore. This update would have been insane otherwise.
|
#
18515 |
|
27-Sep-1996 |
peter |
Some warning cleanups. There were some needless casts that also caused gcc -Wcast-qual to scream. There's still quite a few left, but since I'm cleaning out my tree, I'll commit these now.
|
#
18084 |
|
06-Sep-1996 |
phk |
Remove devconf, it never grew up to be of any use.
|
#
17547 |
|
12-Aug-1996 |
peter |
Extend the poll code so that it can periodically scan the host cards for work regardless of whether there was an interrupt. This needs more work, it should be able to run better when there are more than 3 host cards present, ie: all cards in polling-only mode with no IRQ. (The host cards have a choice of 3 irq's, 11, 12, or 15, or just polling)
|
#
17396 |
|
02-Aug-1996 |
peter |
make si.c compile in kernels without COMPAT_43.
|
#
17291 |
|
26-Jul-1996 |
peter |
ttysleep() can return EWOULDBLOCK, not ETIMEDOUT as the comment in tty.c suggests.
Pointed out by: bde
|
#
17290 |
|
26-Jul-1996 |
peter |
Apply a bandaid to a problem elsewhere in the driver, when the process is blocked in a write() while waiting for the output to drain, sleep only for tp->t_timeout, not forever. This only seems to happen when there is either a modem lockup holding the hardware flow control down, or due to some problem in the driver with processes attempting to write after the modem has hung up (eg: elm, tf).
|
#
16839 |
|
30-Jun-1996 |
peter |
Fix typo that prevented the initial/lock state devices from working correctly (accessing the lock device was not possible).
|
#
16575 |
|
21-Jun-1996 |
peter |
When writing the settings for stop bits and output hardware flow control, things tend to work better if you write the settings to the correct register.. (*blush*). This subtle bug has been haunting me for ages, and will solve a few problems that have been reported to me.
Also, take a shot at fixing the serial BREAK processing, what was there before never really worked. (There is a PR on this I think)
|
#
16444 |
|
17-Jun-1996 |
peter |
This time, get rid of the struct copies that were really causing gcc to call memcpy.. It seems that gcc would not inline the implicit call when copying from a volatile...
|
#
16403 |
|
16-Jun-1996 |
peter |
Fix cut/paste error; a read-only variable should have been read/write.
|
#
16322 |
|
12-Jun-1996 |
gpalmer |
Clean up -Wunused warnings.
Reviewed by: bde
|
#
16214 |
|
08-Jun-1996 |
peter |
Eliminate a struct copy that gcc doesn't inline and ends up as a call to memset().
|
#
16024 |
|
30-May-1996 |
peter |
When estimating the time (in ms) left to drain the output queue based on the baud rate, dont get upset if it's been hung up by setting B0. Instead, sleep for a short time, as the host controller takes a while to go through the state changes.
|
#
15683 |
|
08-May-1996 |
peter |
*blush* How did this slip through?
Fix a dynamic initialiser in a static variable, and make sure sysctl.h is #included.
|
#
15640 |
|
05-May-1996 |
peter |
Change the logic of the interrupt/poll loop. It no longer loops until it empties all of the 256 byte incoming fifo, as it can spend more time processing one port than intended, especially if data is streaming in at 115.2K. The port fifo will be emptied and dumped into the tty system and left until next time. I've been running this for quite some time on one of my systems here. Also, if the tty layer is blocked or full it lets the hardware assert the flow control rather than loosing the data.
|
#
15639 |
|
05-May-1996 |
peter |
Change the compiled-in polling parameters to a sysctl setting.
|
#
14873 |
|
28-Mar-1996 |
scrappy |
Switched from using devfs_add_sw() to using devfs_add_swf()
Reviewed by: julian@freebsd.org
|
#
13630 |
|
25-Jan-1996 |
phk |
Avoid local sprintfs and other printf'isms.
|
#
13469 |
|
16-Jan-1996 |
phk |
Use the new & improved printf rather than homegrown kludges. Proposed by: bde
|
#
13353 |
|
09-Jan-1996 |
peter |
clean up si_dprintf a bit so that it uses vararg argument parsing that does not cause warnings, and uses printf() to do a vprintf()-like output.
|
#
13169 |
|
02-Jan-1996 |
peter |
Fix the number of ports created for devfs.. it had been only creating enough nodes for the number of ports on the last module, not the number of ports _total_ that the driver is managing...
Submitted by: Robert Sanders <rsanders@mindspring.com>
|
#
13166 |
|
02-Jan-1996 |
peter |
Fix last "fix" - I had introduced a fencepost error.. :-(
Happily pointed out by: julian :-)
|
#
13165 |
|
02-Jan-1996 |
peter |
Fix up the DEVFS minor numbers that the Specialix driver registers...
|
#
12888 |
|
16-Dec-1995 |
peter |
Another shot at getting working si DEVFS entries.. Apparently, it didn't understand %02d in it's format string...
|
#
12826 |
|
14-Dec-1995 |
peter |
Update the skeleton DEVFS code to match reality a little closer.. :-)
|
#
12743 |
|
10-Dec-1995 |
bde |
Replaced nxreset by noreset (if the reset function gets called, then the device must be configured. It's hard to tell whether a reset function should be noreset or nullreset since reset functions are never called. Most drivers use nullreset but noreset has the advantage of complaining if somehow gets called).
|
#
12742 |
|
10-Dec-1995 |
bde |
Replaced nxmmap by nommap (if the mmap function gets called, then the device must be configured).
|
#
12731 |
|
10-Dec-1995 |
bde |
Removed new alias d_size_t for d_psize_t.
Removed old aliases d_rdwr_t and d_ttycv_t for d_read_t/d_write_t and d_devtotty_t.
Sorted declarations of switch functions into switch order.
Removed duplicated comments and declarations of nonexistent switch functions.
|
#
12724 |
|
10-Dec-1995 |
phk |
Staticize and cleanup.
|
#
12678 |
|
08-Dec-1995 |
phk |
Julian forgot to make the *devsw structures static.
|
#
12675 |
|
08-Dec-1995 |
julian |
Pass 3 of the great devsw changes most devsw referenced functions are now static, as they are in the same file as their devsw structure. I've also added DEVFS support for nearly every device in the system, however many of the devices have 'incorrect' names under DEVFS because I couldn't quickly work out the correct naming conventions. (but devfs won't be coming on line for a month or so anyhow so that doesn't matter)
If you "OWN" a device which would normally have an entry in /dev then search for the devfs_add_devsw() entries and munge to make them right.. check out similar devices to see what I might have done in them in you can't see what's going on.. for a laugh compare conf.c conf.h defore and after... :) I have not doen DEVFS entries for any DISKSLICE devices yet as that will be a much more complicated job.. (pass 5 :)
pass 4 will be to make the devsw tables of type (cdevsw * ) rather than (cdevsw) seems to work here.. complaints to the usual places.. :)
|
#
12662 |
|
07-Dec-1995 |
dg |
Untangled the vm.h include file spaghetti.
|
#
12659 |
|
06-Dec-1995 |
bde |
Replaced #includes of <sys/user.h> by less gross headers, usually <sys/vm.h>. Many device drivers need only the definition of vtophys() from vm.
Added nearby #includes of <sys/conf.h> where appropriate.
|
#
12624 |
|
04-Dec-1995 |
peter |
aargh! I tested JREMOD, only to discover that the "good oil" part of it for si.c was accidently inside some #ifdef DEBUG code....
|
#
12521 |
|
29-Nov-1995 |
julian |
If you're going to mechanically replicate something in 50 files it's best to not have a (compiles cleanly) typo in it! (sigh)
|
#
12517 |
|
29-Nov-1995 |
julian |
OK, that's it.. That's EVERY SINGLE driver that has an entry in conf.c.. my next trick will be to define cdevsw[] and bdevsw[] as empty arrays and remove all those DAMNED defines as well..
Each of these drivers has a SYSINIT linker set entry that comes in very early.. and asks teh driver to add it's own entry to the two devsw[] tables.
some slight reworking of the commits from yesterday (added the SYSINIT stuff and some usually wrong but token DEVFS entries to all these devices.
BTW does anyone know where the 'ata' entries in conf.c actually reside? seems we don't actually have a 'ataopen() etc...
If you want to add a new device in conf.c please make sure I know so I can keep it up to date too..
as before, this is all dependent on #if defined(JREMOD) (and #ifdef DEVFS in parts)
|
#
12502 |
|
28-Nov-1995 |
julian |
the second set of changes in a move towards getting devices to be totally dynamic.
this is only the devices in i386/isa I'll do more tomorrow. they're completely masked by #ifdef JREMOD at this stage... the eventual aim is that every driver will do a SYSINIT at startup BEFORE the probes, which will effectively link it into the devsw tables etc.
If I'd thought about it more I'd have put that in in this set (damn) The ioconf lines generated by config will also end up in the device's own scope as well, so ioconf.c will eventually be gutted the SYSINIT call to the driver will include a phase where the driver links it's ioconf line into a chain of such. when this phase is done then the user can modify them with the boot: -c config menu if he wants, just like now.. config will put the config lines out in the .h file (e.g. in aha.h will be the addresses for the aha driver to look.) as I said this is a very small first step.. the aim of THIS set of edits is to not have to edit conf.c at all when adding a new device.. the tabe will be a simple skeleton..
when this is done, it will allow other changes to be made, all teh time still having a fully working kernel tree, but the logical outcome is the complete REMOVAL of the devsw tables.
By the end of this, linked in drivers will be exactly the same as run-time loaded drivers, except they JUST HAPPEN to already be linked and present at startup.. the SYSINIT calls will be the equivalent of the "init" call made to a newly loaded driver in every respect.
For this edit, each of the files has the following code inserted into it:
obviously, tailored to suit.. ----------------------somewhere at the top: #ifdef JREMOD #include <sys/conf.h> #define CDEV_MAJOR 13 #define BDEV_MAJOR 4 static void sd_devsw_install(); #endif /*JREMOD */ ---------------------somewhere that's run during bootup: EVENTUALLY a SYSINIT #ifdef JREMOD sd_devsw_install(); #endif /*JREMOD*/ -----------------------at the bottom: #ifdef JREMOD struct bdevsw sd_bdevsw = { sdopen, sdclose, sdstrategy, sdioctl, /*4*/ sddump, sdsize, 0 };
struct cdevsw sd_cdevsw = { sdopen, sdclose, rawread, rawwrite, /*13*/ sdioctl, nostop, nullreset, nodevtotty,/* sd */ seltrue, nommap, sdstrategy };
static sd_devsw_installed = 0;
static void sd_devsw_install() { dev_t descript; if( ! sd_devsw_installed ) { descript = makedev(CDEV_MAJOR,0); cdevsw_add(&descript,&sd_cdevsw,NULL); #if defined(BDEV_MAJOR) descript = makedev(BDEV_MAJOR,0); bdevsw_add(&descript,&sd_bdevsw,NULL); #endif /*BDEV_MAJOR*/ sd_devsw_installed = 1; } } #endif /* JREMOD */
|
#
12501 |
|
28-Nov-1995 |
bde |
Removed all #includes of the unused file <sys/device.h>.
|
#
12496 |
|
28-Nov-1995 |
peter |
Mainly cosmetic cleanups... It now uses more consistant message reporting on the console, and no longer uses "SLXOS" which I suspect may be a trademark... (I'm not sure, but this is not really a SLXOS driver anyway)
|
#
12174 |
|
09-Nov-1995 |
peter |
Sync the public source with what I'm currently running.
Most of this is cleaning up, but there are some functional changes, doc/comment improvements, error checking, gcc -Wall cleanups. Input buffer flushing is enabled now, although I'm still not quite certain it's right.
|
#
12080 |
|
04-Nov-1995 |
bde |
Added `#include "ioconf.h"' to <machine/conf.h> and cleaned up the misplaced extern declarations (mostly prototypes of interrupt handlers) that this exposed. The prototypes should be moved back to the driver sources when the functions are staticalized.
Added idempotency guards to <machine/conf.h>. "ioconf.h" can't be included when building LKMs so define a wart in bsd.kmod.mk to help guard against including it.
|
#
12071 |
|
04-Nov-1995 |
bde |
Moved prototypes for devswitch functions from conf.c and driver sources to <machine/conf.h>. conf.h was mechanically generated by `grep ^d_ conf.c >conf.h'. This accounts for part of its ugliness. The prototypes should be moved back to the driver sources when the functions are staticalized.
|
#
11872 |
|
28-Oct-1995 |
phk |
Remove unused functions and variables, make things static, and other cleanups.
|
#
11609 |
|
21-Oct-1995 |
peter |
Remove bogus #include <sys/device.h>, and the bogus instances of "struct device" and the bogus unit number mentioned in the error message. Some other minor cleanups, all trivial.
|
#
10962 |
|
22-Sep-1995 |
peter |
Add some hooks visible from outside via nlist, so pstat can read the tty state.
|
#
10959 |
|
22-Sep-1995 |
peter |
Remove the "Danger will robinson!" printf's at the start. I'm pretty happy with the driver's stability now. I've not had a single problem with it for weeks.. All that remains is a bit of performance tuning, and finishing the manpages.
|
#
10708 |
|
13-Sep-1995 |
peter |
From Bruce Evans: (prototype related changes, other cleanups)
Add prototypes. Use static for function definitions to match existing prototypes. Otherwise leave functions that should be static as extern. TODO: declare everthing except sidriver and siintr as static. I use some new cdevs registration functions to do this for syscons and pcvt.
Fix siintr() to match its prototype in ioconf.c (don't return anything). This may break the eisa support, but Julian says that eisa interrupts never worked anyway.
(EISA support was never tested anyway - Peter)
Submitted by: bde
|
#
10672 |
|
11-Sep-1995 |
peter |
Restore two checks for TS_ISOPEN.. I managed to panic my machine without them.. I thought TS_CONNECTED implied TS_ISOPEN, but apparently that's not the case.
|
#
10161 |
|
21-Aug-1995 |
peter |
Fix some outstanding bugs in the DCD modem control.. Implement the slip/ppp "hotchar" detection to improve latency Debug the L_RINT bypass code.. Fix an interesting feature that caused 8-bit chars to loose their top bit in some circumstances..
This finishes the remaining outstanding problems that I'm aware of, with the exception of efficiency... Optimizing can come later after it's fully debugged.
|
#
10047 |
|
13-Aug-1995 |
peter |
Slight change to the location of the default termios flags to make them a little easier to change, and revert to the "standard" specialix behavior with CRTSCTS enabled in the initial cflag (but configurable).
|
#
10044 |
|
13-Aug-1995 |
peter |
Next round of cleanups. Some more debugging hooks added, si_softc definition moved to the driver proper, so that <machine/si.h> can be #included by user programs without needing to include stuff from /sys/i386/isa.. Various (now) redundant features removed, eg: the locks on IXANY and HWFLOW as these are now done with the "initial" and "lock" termios devices. Note that it still (for reasons unknown) appears to be masking data to 7-bit with ppp - hence the cleanup to support the debugging via 'sicontrol'
|
#
10018 |
|
10-Aug-1995 |
peter |
Remove a deliberate #warning.. It's not polite, because I listed the the driver in i386/conf/LINT... Reviewed by: Submitted by: Obtained from:
|
#
10015 |
|
09-Aug-1995 |
peter |
Bring in my long-overdue version of the Specialix driver.
This was originally ported to BSDI by Andy Rutter <andy@acronym.co.uk>. At the end of the day, this code has very little in common with Andy's version, or the Specialix SYSV version. Essentially it has been gradually and almost completely rewritten, with LOTS of advice and inspiration from Bruce Evans. There are a couple of missing bits still, but they are minor.
The user-mode "sicontrol" program is in sad shape and will come in soon. Transparent printing died a timely death.. Maybe later..
Jeremy Rolls @ Specialix (Development directory) has confirmed this is OK to distribute, and Andy personally sent me his version that I started from.
Although this driver stood up to a nasty stress-test in this form, I am not confident that there are no nasty bugs lurking.
People are welcome to try it, but dont go out and buy one just yet.. :-) And *DONT* use it on a mission-critical machine... This is ALPHA QUALITY!
|