summaryrefslogtreecommitdiffstats
path: root/sys
Commit message (Collapse)AuthorAgeFilesLines
* - Remove the inthand2_t type and use the equivalent driver_intr_t type fromjhb2000-09-1332-285/+208
| | | | | | | | | | | | | 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.
* - Fix spinlock exiting to handle recursion properly and only enablejhb2000-09-132-10/+14
| | | | | | interrupts at the proper time. - Remove an uneeded test and just always set the MTX_RECURSE bit when recursing on a sleep lock.
* - Fix spinlock exits to properly handle the recursion count and onlyjhb2000-09-131-43/+59
| | | | | | | | | | | | | | | 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.
* Import the global sched_lock variable instead of using a private copy. Thisjhb2000-09-131-0/+1
| | | | | fixes a problem where cpu_switch() wasn't properly saving and restoring the recursion count for sched_lock.
* Fix a comment, we have mutexes now instead of a single lock.jhb2000-09-131-1/+1
|
* Add back in obtaining/releasing Giant around interrupt handlers.jhb2000-09-131-0/+10
|
* Be more careful about cleaning up the stack after function calls earlybde2000-09-133-33/+48
| | | | | | | | | | 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.
* Fixed hang on booting with -d. mtx_enter() was called on an uninitializedbde2000-09-135-24/+18
| | | | | lock. The quick fix in trap.c was not quite the version tested and had no effect; back it out.
* Merged from sys/isa/sio.c revision 1.312.kato2000-09-132-0/+18
|
* Merged from sys/i386/conf/GENERIC revision 1.275.kato2000-09-131-1/+1
|
* Merged from sys/i386/conf/GENERIC revision 1.274.kato2000-09-131-1/+1
|
* Unlock current directory when calling VFS_ROOT() because underlyingbp2000-09-131-3/+10
| | | | | | | 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
* Add ID for 3C1. It is a etherlink iii in a CompactFlash form factor.imp2000-09-131-1/+4
| | | | | It doesn't seem to work, but at least is identified correctly. Minor tree housekeeping on my part.
* A new driver for PCI:SCSI RAID controllers based on the Adaptec FSAmsmith2000-09-1317-1/+4787
| | | | | design. This includes integrated Dell RAID controllers, the Dell PERC 2/QC and the HP NetRAID-4M.
* Take out some unneeded debugging code and re-enable panic()'ing if we spinjhb2000-09-131-14/+6
| | | | on a spin lock for more then 5 seconds.
* Merge changes from the i386 port to allow userret() to be called bothdfr2000-09-121-11/+37
| | | | with and without holding the Giant mutex.
* * Redo the cmpset inlines to use one less register. This incidentallydfr2000-09-121-22/+156
| | | | | | | | | | | 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.
* Really disable interrupts for spin mutexes instead of just pretending.dfr2000-09-122-16/+12
|
* Use size_t instead of u_int for 4th argument to copyinstr().jhb2000-09-121-1/+1
|
* New world order wrt to kernel location and name. This doesn't actuallydcs2000-09-121-2/+2
| | | | | changes anything (in theory), just better document it. I'm waiting for the final word before I tackle the man pages.
* Clean up process accounting some more. Unfortunately, it is still notjhb2000-09-128-140/+110
| | | | | quite right on i386 as the CPU who runs statclock() doesn't have a valid clockframe to calculate statistics with.
* Quick fix for hang on booting with -d. mtx_enter() was called beforebde2000-09-123-6/+12
| | | | | | 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).
* Fixed some serious bugs in ext2_readdir():bde2000-09-122-22/+44
| | | | | | | | | | | | | | | | | 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)
* Add VOP_*VOBJECT vops, because MFS requires explicit vop specification.bp2000-09-121-0/+3
| | | | Noted by: knu
* Don't panic for delivery of a multiplexed SWI. Most SWI handlersbde2000-09-122-2/+8
| | | | | | | | | | | | 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.
* Turn the /dev/random device into a (pseudo-)device, not an option.markm2000-09-128-13/+13
| | | | | (I didn't realise that it was this easy!) Submitted by: jhb
* The "struct proc" argument to read_random was ill-conceived, and amarkm2000-09-125-7/+5
| | | | | | | | 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
* Move the detection of Linksys PCMCIA cards from attach to probe.ps2000-09-123-4/+7
| | | | | | This should solve the problems people were seeing with this driver. Reported by: phk & others.
* Add three new VOPs: VOP_CREATEVOBJECT, VOP_DESTROYVOBJECT and VOP_GETVOBJECT.bp2000-09-1213-166/+201
| | | | | | | They will be used by nullfs and other stacked filesystems to support full cache coherency. Reviewed in general by: mckusick, dillon
* Back out bktr_mem_load. It is not needed because I'm use MODULE_DEPENDroger2000-09-121-1/+0
| | | | | elsewhere. Reminded by: Mike Smith
* o Variety of extended attribute fixesrwatson2000-09-121-26/+39
| | | | | | | | | | | | | | | | | | | | | | | - 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
* Fix screwup in previous commit.billf2000-09-121-1/+3
|
* Fix some printf format string warnings due to sizeof(int) != sizeof(long) onjhb2000-09-112-12/+12
| | | | the alpha.
* Whoops. The AMR_QUARTZ_GOFASTER option is meant to disable, not enablemsmith2000-09-111-1/+1
| | | | this check. It looks like it doesn't work on at least the 466 controllers.
* Add tx to the list of miibus using network drivers. We already build tx inbillf2000-09-112-0/+2
| | | | /sys/modules for alpha, and it compiles on beast.
* Move tx to the list of drivers that now require miibus.billf2000-09-112-2/+2
|
* Well, this works for me and I can now boot my PC164 again.mjacob2000-09-111-34/+41
| | | | Nobody said it broke their system.
* Add the ability to define a "shutdown" and "shutdown and poweroff" keydwmalone2000-09-114-0/+27
| | | | | | | | to syscons. I have a man page to follow describing the format of the kbdmap file. PR: 19273 Reviewed by: sheldonh
* Sign tx driver as using miibus code.semenu2000-09-112-4/+4
|
* Back out previous revision now that sys/random.h is properly fixed.jhb2000-09-111-2/+0
|
* Forward declare 'struct proc'.jhb2000-09-111-0/+2
| | | | Requested by: bde
* Move the prototypes for random_set_wakeup* from yarrow.c to yarrow.h so thatjhb2000-09-114-4/+4
| | | | | | both yarrow.c and harvest.c can use them. Approved by: markm
* Don't do snd_nxt rollback optimization (rev. 1.46) for SYN packets.archie2000-09-111-3/+2
| | | | | | | | 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>
* revent multiple make_dev() calls on the same dev_t and similar bogosities.phk2000-09-111-0/+16
| | | | | | A couple of new warnings may be emitted during boot if drivers DTWT. Tested by: George Cox <gjvc@gjvc.com>
* Prevent multiple make_dev() calls on the same dev_t and similar bogosities.phk2000-09-112-0/+2
| | | | | | A couple of new warnings may be emitted during boot if drivers DTWT. Tested by: George Cox <gjvc@gjvc.com>
* Make MOD_UNLOAD return EBUSY to prevent it being unloaded automatically when weroger2000-09-111-4/+5
| | | | | | 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
* Add bktr_mem_loader, default to NO.roger2000-09-111-0/+1
| | | | In the near future the bktr module will need the bktr_mem module too.
* Change to SI_ORDER_FIRST to make sure this module runs beforeroger2000-09-111-1/+2
| | | | | the bktr module if both are loaded at the same time (eg in the boot loader)
* Add MODULE_VERSION and MODULE_DEPENDS to make the bktr module load theroger2000-09-112-1/+3
| | | | bktr_mem module
* The alpha doesn't have a eflags register, so don't refer to it here.jhb2000-09-112-4/+0
|
OpenPOWER on IntegriCloud