| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
newbus for referencing device interrupt handlers.
- Move the 'struct intrec' type which describes interrupt sources into
sys/interrupt.h instead of making it just be a x86 structure.
- Don't create 'ithd' and 'intrec' typedefs, instead, just use 'struct ithd'
and 'struct intrec'
- Move the code to translate new-bus interrupt flags into an interrupt thread
priority out of the x86 nexus code and into a MI ithread_priority()
function in sys/kern/kern_intr.c.
- Remove now-uneeded x86-specific headers from sys/dev/ata/ata-all.c and
sys/pci/pci_compat.c.
|
|
|
|
|
|
| |
interrupts at the proper time.
- Remove an uneeded test and just always set the MTX_RECURSE bit when
recursing on a sleep lock.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
re-enable interrupts when actually releasing the lock.
- Bring across some fixes to propagate_priority from the x86 code.
(It still doesn't work properly, however.)
- Use the SMTX state when putting a process that blocks on a mutex to sleep.
- Use mi_switch instead of cpu_switch so that accounting works properly as
well as other things.
- Bring across DDB protection of the spinlock timeout panic which is useful
in a multiple CPU system when 1 CPU enters the debugger holding the
sched_lock so that the other CPU doesn't panic as well resulting in all
sorts of fun things.
- Bring across various other small changes in format strings and comments
to sync up with the x86 code.
|
|
|
|
|
| |
fixes a problem where cpu_switch() wasn't properly saving and restoring
the recursion count for sched_lock.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
in the boot. The cleanup must be done in one of the few ways that
db_numargs() understands, so that early backtraces in ddb don't underrun
the stack. The underruns caused reboots a few years ago when there
was an unmapped page above the stack (trapping to abort the command
doesn't work early).
Cleaned up some nearby code.
|
|
|
|
|
| |
lock. The quick fix in trap.c was not quite the version tested and had no
effect; back it out.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
filesystem may hold the lock. Otherwise unavoidable deadlock will occur.
This shouldn't have any side effects as long as we hold vfs lock.
Obtained from: NetBSD
|
|
|
|
|
| |
It doesn't seem to work, but at least is identified correctly. Minor
tree housekeeping on my part.
|
|
|
|
|
| |
design. This includes integrated Dell RAID controllers, the Dell
PERC 2/QC and the HP NetRAID-4M.
|
|
|
|
| |
on a spin lock for more then 5 seconds.
|
|
|
|
| |
with and without holding the Giant mutex.
|
|
|
|
|
|
|
|
|
|
|
| |
fixes a serious problem with the previous version where an input could
have been placed in the same register as an output which would stop
the inline from working properly.
* Redo atomic_{set,clear,add,subtract}_{32,64} as inlines since the code
sequence is shorter than the call sequence to the code in atomic.s.
I will remove the functions from atomic.s after a grace period to allow
people to rebuild kernel modules.
|
| |
|
| |
|
|
|
|
|
| |
changes anything (in theory), just better document it. I'm waiting for
the final word before I tackle the man pages.
|
|
|
|
|
| |
quite right on i386 as the CPU who runs statclock() doesn't have a valid
clockframe to calculate statistics with.
|
|
|
|
|
|
| |
curproc was initialized. curproc == NULL was interpreted as matching
the process holding Giant... Just skip mtx_enter() and mtx_exit() in
trap() if (curproc == NULL && cold) (&& cold for safety).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The cookie buffer was usually overrun by a large amount whenever
cookies were used. Cookies are used by nfs and the Linuxulator, so
this bug usually caused panics whenever an ext2fs filesystem was nfs
mounted or a Linux utility that calls readdir() was run on an ext2fs
filesystem.
The directory buffer was sometimes overrun by a small amount. This
sometimes caused panics and wrong results even for FreeBSD utilities,
but it was usually harmless because FreeBSD utilities use a large
enough buffer size (4K). Linux utilities usually triggered the bug
since they use a too-small buffer size (512 bytes), at least with the
old RedHat utilities that I tested with.
PR: 19407 (this fix is incomplete or for a slightly different bug)
|
|
|
|
| |
Noted by: knu
|
|
|
|
|
|
|
|
|
|
|
|
| |
don't take an arg, but swi_generic() is special in order to avoid one
whole conditional branch in the old SWI dispatch code. The new SWI
dispatch code passed it a garbage arg. Bypass swi_generic() and call
swi_dispatcher() directly, like the corresponding alpha code has always
done.
The panic was rare because because it only occurred if more than one
of the {sio,cy,rc} drivers was configured and one was active, and the
cy driver doesn't even compile.
|
|
|
|
|
| |
(I didn't realise that it was this easy!)
Submitted by: jhb
|
|
|
|
|
|
|
|
| |
hangover from previous experimentation. Remove it. This will clean
up gratuitous needs for forward references and other namespace
pollution.
Moaned about by: bde
Brought to my attention by: bp
|
|
|
|
|
|
| |
This should solve the problems people were seeing with this driver.
Reported by: phk & others.
|
|
|
|
|
|
|
| |
They will be used by nullfs and other stacked filesystems to support full
cache coherency.
Reviewed in general by: mckusick, dillon
|
|
|
|
|
| |
elsewhere.
Reminded by: Mike Smith
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- In ufs_extattr_enable(), return EEXIST instead of EOPNOTSUPP
if the caller tries to configure an attribute name that is
already configured
- Throughout, add IO_NODELOCKED to VOP_{READ,WRITE} calls to
indicate lock status of passed vnode. Apparently not a
problem, but worth fixing.
- For all writes, make use of IO_SYNC consistent. Really,
IO_UNIT and combining of VOP_WRITE's should happen, but I
don't have that tested. At least with this, it's
consistent usage. (pointed out by: bde)
- In ufs_extattr_get(), fixed nested locking of backing
vnode (fine due to recursive lock support, but make it
more consistent with other code)
- In ufs_extattr_get(), clean up return code to set uio_resid
more consistently with other pieces of code (worked fine,
this is just a cleanup)
- Fix ufs_extattr_rm(), which was broken--effectively a nop.
- Minor comment and whitespace fixes.
Obtained from: TrustedBSD Project
|
| |
|
|
|
|
| |
the alpha.
|
|
|
|
| |
this check. It looks like it doesn't work on at least the 466 controllers.
|
|
|
|
| |
/sys/modules for alpha, and it compiles on beast.
|
| |
|
|
|
|
| |
Nobody said it broke their system.
|
|
|
|
|
|
|
|
| |
to syscons. I have a man page to follow describing the format of the
kbdmap file.
PR: 19273
Reviewed by: sheldonh
|
| |
|
| |
|
|
|
|
| |
Requested by: bde
|
|
|
|
|
|
| |
both yarrow.c and harvest.c can use them.
Approved by: markm
|
|
|
|
|
|
|
|
| |
It causes a panic when/if snd_una is incremented elsewhere (this
is a conservative change, because originally no rollback occurred
for any packets at all).
Submitted by: Vivek Sadananda Pai <vivek@imimic.com>
|
|
|
|
|
|
| |
A couple of new warnings may be emitted during boot if drivers DTWT.
Tested by: George Cox <gjvc@gjvc.com>
|
|
|
|
|
|
| |
A couple of new warnings may be emitted during boot if drivers DTWT.
Tested by: George Cox <gjvc@gjvc.com>
|
|
|
|
|
|
| |
unload the bktr driver.
Change the sub-section from SI_SUB_PSEDUO to SI_SUB_DRIVERS to make
sure the module initialises before the bktr module
|
|
|
|
| |
In the near future the bktr module will need the bktr_mem module too.
|
|
|
|
|
| |
the bktr module if both are loaded at the same time (eg in the boot
loader)
|
|
|
|
| |
bktr_mem module
|
| |
|