| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
ioctls passing integer arguments should use the _IOWINT() macro.
This fixes a lot of ioctl's not working on sparc64, most notable
being keyboard/syscons ioctls.
Full ABI compatibility is provided, with the bonus of fixing the
handling of old ioctls on sparc64.
Reviewed by: bde (with contributions)
Tested by: emax, marius
MFC after: 1 week
|
|
|
|
|
|
|
|
| |
- Add a new function linker_release_module() as a more intuitive complement
to linker_reference_module() that wraps linker_file_unload().
linker_release_module() can either take the module name and version info
passed to linker_reference_module() or it can accept the linker file
object returned by linker_reference_module().
|
|
|
|
|
|
|
| |
was accidentally added in 1.55 and resulted in an extra reference count
being held on the linker file.
MFC after: 1 week
|
| |
|
|
|
|
|
|
|
| |
for a larger number of chained port modules.
PR: kern/55018
Submitted by: Cyrill Shevchuk <cyrill at cyrills.net>
|
|
|
|
|
|
|
| |
o unload module if symbol lookup fails
Noticed by: Coverity Prevent analysis tool (null ptr deref)
Reviewed by: bms, imp, dwhite
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
modes on a tty structure.
Both the ".init" and the current settings are initialized allowing
the function to be used both at attach and open time.
The function takes an argument to decide if echoing should be enabled.
Echoing should not be enabled for regular physical serial ports
unless they are consoles, in which case they should be configured
by ttyconsolemode() instead.
Use the new function throughout.
|
| |
|
|
|
|
| |
customization of an error message.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a MOD_QUIESCE event for modules. This should return error (EBUSY)
of the module is in use.
MOD_UNLOAD should now only fail if it is impossible (as opposed to
inconvenient) to unload the module. Valid reasons are memory references
into the module which cannot be tracked down and eliminated.
When kldunloading, we abandon if MOD_UNLOAD fails, and if -force is
not given, MOD_QUIESCE failing will also prevent the unload.
For backwards compatibility, we treat EOPNOTSUPP from MOD_QUIESCE as
success.
Document that modules should return EOPNOTSUPP for unknown events.
|
|
|
|
| |
Move dtrwait logic to the generic TTY level.
|
|
|
|
|
|
| |
Change the return type for t_break to void.
Add t_ioctl (more about this later).
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
The big lines are:
NODEV -> NULL
NOUDEV -> NODEV
udev_t -> dev_t
udev2dev() -> findcdev()
Various minor adjustments including handling of userland access to kernel
space struct cdev etc.
|
|
|
|
| |
Bump __FreeBSD_version accordingly.
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
| |
linesw[] directly to using the ttyld...() functions
The ttyld...() functions ar inline so there is no performance hit.
|
|
|
|
| |
the linedisc directly.
|
|
|
|
| |
->l_close() did it and ttyclose certainly will.
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
our already cached copy.
|
|
|
|
|
|
|
| |
ushort. In most of these files, there was a mixture of both styles and
this change just makes them self-consistent.
Requested by: bde (kern_ktrace.c)
|
|
|
|
| |
Ditch the D_KQFILTER flag which was used to prevent calling NULL pointers.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
| |
|
|
|
|
| |
Approved by: trb
|
|
|
|
| |
Merge M_NOWAIT/M_DONTWAIT into a single flag M_NOWAIT.
|
|
|
|
|
|
| |
static in its prototype, mark it static at the definition too.
Inspired by: FlexeLint warning #512
|
|
|
|
|
|
|
|
| |
loop is inversly proportional to hz.
This makes things more sane for configurations with hz > 100.
Submitted by: Peter Jeremy <peter.jeremy@alcatel.com.au>
|
|
|
|
| |
irrespective of whether tsleep() or DELAY() is used.
|
|
|
|
| |
sane.
|
|
|
|
|
|
|
|
|
| |
the card for command completion.
digi_delay() uses either tsleep() or DELAY() depending on the value of
``cold''.
Pointed in the right direction by: jhb
|
|
|
|
|
|
|
|
| |
Add the card name to the error message for the first initialisation
failure, giving us more info about what was actually discovered.
This code has been tested by Robert Suetterlin <robert@mpe.mpg.de>
to work on a PCI Xem card.
|
|
|
|
|
|
|
|
|
|
| |
mod_depend * (which may be NULL). The only consumer of this
function at the moment is digi_loadmoduledata(), and that passes
a NULL mod_depend *.
In linker_reference_module(), check to see if we've already got
the required module loaded. If we have, bump the reference count
and return that, otherwise continue the module search as normal.
|
|
|
|
|
| |
Without these, the kern_linker interface doesn't record these pseudo-drivers,
making them unavailable via modlist_lookup2*().
|
|
|
|
|
|
|
|
|
|
|
|
| |
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@
|
| |
|
|
|
|
| |
entry so that it actually can do something.
|
|
|
|
|
|
|
|
|
|
|
|
| |
be compiled. Old tty ioctls are still used (possibly ifdef'ed) in at
least the following programs in the src tree:
atc des ee fontedit gdb gdbserver lock ntp perl5 tcsh telnet top vttest
rp.c:
Unremoved used variables so that the support for old ioctls actually
compiles.
Not tested at runtime by: bde
|
|
|
|
| |
by anything else.
|
|
|
|
|
|
| |
should be M_WAITOK.
Spotted by: des
|
| |
|
|
|
|
|
|
|
|
|
| |
we're at least consistent with what tcsendbreak(3) is documented
to do.
MFC after: 2 weeks
Note, the MFC will be to sys/dev/dgb/dgm.c on the RELENG_4 branch
|