| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
bus_setup_intr()
o add an int return code to all fast handlers
o retire INTR_FAST/IH_FAST
For more info: http://docs.freebsd.org/cgi/getmsg.cgi?fetch=465712+0+current/freebsd-current
Reviewed by: many
Approved by: re@
Notes:
svn path=/head/; revision=166901
|
|
|
|
|
|
|
|
| |
intr_event_remove_handler().
- Remove tty: prefix from a couple of swi handler names.
Notes:
svn path=/head/; revision=151700
|
|
|
|
| |
Notes:
svn path=/head/; revision=151690
|
|
|
|
| |
Notes:
svn path=/head/; revision=151383
|
|
|
|
| |
Notes:
svn path=/head/; revision=139749
|
|
|
|
| |
Notes:
svn path=/head/; revision=136210
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
Notes:
svn path=/head/; revision=132226
|
|
|
|
|
|
|
| |
Move dtrwait logic to the generic TTY level.
Notes:
svn path=/head/; revision=131981
|
|
|
|
|
|
|
|
|
| |
Change the return type for t_break to void.
Add t_ioctl (more about this later).
Notes:
svn path=/head/; revision=131373
|
|
|
|
|
|
|
|
|
|
|
| |
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.
Notes:
svn path=/head/; revision=131134
|
|
|
|
| |
Notes:
svn path=/head/; revision=131096
|
|
|
|
|
|
|
| |
Bump __FreeBSD_version accordingly.
Notes:
svn path=/head/; revision=130585
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
Notes:
svn path=/head/; revision=130096
|
|
|
|
| |
Notes:
svn path=/head/; revision=130095
|
|
|
|
|
|
|
|
|
| |
linesw[] directly to using the ttyld...() functions
The ttyld...() functions ar inline so there is no performance hit.
Notes:
svn path=/head/; revision=130077
|
|
|
|
|
|
|
| |
the linedisc directly.
Notes:
svn path=/head/; revision=130057
|
|
|
|
|
|
|
| |
->l_close() did it and ttyclose certainly will.
Notes:
svn path=/head/; revision=129939
|
|
|
|
| |
Notes:
svn path=/head/; revision=129879
|
|
|
|
|
|
|
|
| |
Submitted by: Mark Santcroos <marks@ripe.net>
Reviewed by: imp, dfr, bde
Notes:
svn path=/head/; revision=127135
|
|
|
|
|
|
|
|
|
|
|
| |
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.
Notes:
svn path=/head/; revision=126080
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
Notes:
svn path=/head/; revision=126078
|
|
|
|
|
|
|
|
|
|
| |
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.
Notes:
svn path=/head/; revision=126076
|
|
|
|
|
|
|
|
|
|
| |
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)
Notes:
svn path=/head/; revision=118607
|
|
|
|
|
|
|
| |
Reviewed by: mike (mentor)
Notes:
svn path=/head/; revision=111899
|
|
|
|
|
|
|
| |
Ditch the D_KQFILTER flag which was used to prevent calling NULL pointers.
Notes:
svn path=/head/; revision=111821
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
Notes:
svn path=/head/; revision=111815
|
|
|
|
| |
Notes:
svn path=/head/; revision=111748
|
|
|
|
|
|
|
|
| |
Basically, as soon as we have run out of events to handle in the swi,
we stop looping through all the channels in a for loop.
Notes:
svn path=/head/; revision=111564
|
|
|
|
| |
Notes:
svn path=/head/; revision=111002
|
|
|
|
|
|
|
| |
driver more portable.
Notes:
svn path=/head/; revision=106653
|
|
|
|
|
|
|
|
| |
Tested on: alpha
Reported by: marcel (on an ia64)
Notes:
svn path=/head/; revision=105960
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Add detach support to the driver so that you can kldunload the module.
Note that currently rc_detach() fails to detach a unit if any of its
child devices are open, thus a kldunload will fail if any of the tty
devices are currently open.
- sys/i386/isa/ic/cd180.h was moved to sys/dev/ic/cd180.h as part of
this change.
Requested by: rwatson
Tested by: rwatson
Notes:
svn path=/head/; revision=105806
|
|
|
|
|
|
|
| |
Spotte by: FlexeLint.
Notes:
svn path=/head/; revision=105224
|
|
|
|
| |
Notes:
svn path=/head/; revision=96970
|
|
|
|
|
|
|
|
|
|
| |
make_dev() to create device nodes for each of the serial port channels
(ttym%d and cuam%d respectively, as borrowed from MAKEDEV). This allows
the rc driver to work in 5.0. I've tested it with only one card, but
will try sticking in a second card tomorrow and see what happens.
Notes:
svn path=/head/; revision=96969
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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@
Notes:
svn path=/head/; revision=93593
|
|
|
|
|
|
|
|
|
| |
not removing tabs before "__P((", and not outdenting continuation lines
to preserve non-KNF lining up of code with parentheses. Switch to KNF
formatting and/or rewrap the whole prototype in some cases.
Notes:
svn path=/head/; revision=93024
|
|
|
|
| |
Notes:
svn path=/head/; revision=92765
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
mutex releases to not require flags for the cases when preemption is
not allowed:
The purpose of the MTX_NOSWITCH and SWI_NOSWITCH flags is to prevent
switching to a higher priority thread on mutex releease and swi schedule,
respectively when that switch is not safe. Now that the critical section
API maintains a per-thread nesting count, the kernel can easily check
whether or not it should switch without relying on flags from the
programmer. This fixes a few bugs in that all current callers of
swi_sched() used SWI_NOSWITCH, when in fact, only the ones called from
fast interrupt handlers and the swi_sched of softclock needed this flag.
Note that to ensure that swi_sched()'s in clock and fast interrupt
handlers do not switch, these handlers have to be explicitly wrapped
in critical_enter/exit pairs. Presently, just wrapping the handlers is
sufficient, but in the future with the fully preemptive kernel, the
interrupt must be EOI'd before critical_exit() is called. (critical_exit()
can switch due to a deferred preemption in a fully preemptive kernel.)
I've tested the changes to the interrupt code on i386 and alpha. I have
not tested ia64, but the interrupt code is almost identical to the alpha
code, so I expect it will work fine. PowerPC and ARM do not yet have
interrupt code in the tree so they shouldn't be broken. Sparc64 is
broken, but that's been ok'd by jake and tmm who will be fixing the
interrupt code for sparc64 shortly.
Reviewed by: peter
Tested on: i386, alpha
Notes:
svn path=/head/; revision=88900
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
Notes:
svn path=/head/; revision=83366
|
|
|
|
| |
Notes:
svn path=/head/; revision=76650
|
|
|
|
|
|
|
| |
the bit-bucket.
Notes:
svn path=/head/; revision=74810
|
|
|
|
|
|
|
| |
Backwards compatible approach suggested by: peter
Notes:
svn path=/head/; revision=72521
|
|
|
|
| |
Notes:
svn path=/head/; revision=72244
|
|
|
|
|
|
|
|
|
|
|
|
| |
<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>.
Notes:
svn path=/head/; revision=67893
|
|
|
|
|
|
|
| |
Noticed by: phk
Notes:
svn path=/head/; revision=67585
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
type of software interrupt. Roughly, what used to be a bit in spending
now maps to a swi thread. Each thread can have multiple handlers, just
like a hardware interrupt thread.
- Instead of using a bitmask of pending interrupts, we schedule the specific
software interrupt thread to run, so spending, NSWI, and the shandlers
array are no longer needed. We can now have an arbitrary number of
software interrupt threads. When you register a software interrupt
thread via sinthand_add(), you get back a struct intrhand that you pass
to sched_swi() when you wish to schedule your swi thread to run.
- Convert the name of 'struct intrec' to 'struct intrhand' as it is a bit
more intuitive. Also, prefix all the members of struct intrhand with
'ih_'.
- Make swi_net() a MI function since there is now no point in it being
MD.
Submitted by: cp
Notes:
svn path=/head/; revision=67551
|
|
|
|
| |
Notes:
svn path=/head/; revision=67164
|
|
|
|
|
|
|
| |
to <sys/ipl.h>.
Notes:
svn path=/head/; revision=66824
|
|
|
|
|
|
|
| |
COMPAT_ISA_DRIVER() so that we can get rid of the evil isa_compat.h table.
Notes:
svn path=/head/; revision=61011
|