summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Document when this function came into FreeBSD.obrien2004-08-211-1/+3
|
* Don't bother calling the module event handlers from module_shutdown()truckman2004-08-201-0/+3
| | | | | | | | | | | | | | in the shutdown_final state if the RB_NOSYNC flag is set. The specific motivation in this case is that a system panic in an interrupt context results in a call to module_shutdown(), which calls g_modevent(), which calls g_malloc(..., M_WAITOK), which results in a second panic. While g_modevent() could be fixed to not call malloc() for MOD_SHUTDOWN events (which it doesn't handle in any case), it is probably also a good idea to entirely skip the execution of the module shutdown handlers after a panic. This may be a MFC candidate for RELENG_5.
* Don't attempt to trigger the syncer thread final sync code in thetruckman2004-08-201-0/+3
| | | | | | | | | | shutdown_pre_sync state if the RB_NOSYNC flag is set. This is the likely cause of hangs after a system panic that are keeping crash dumps from being done. This is a MFC candidate for RELENG_5. MFC after: 3 days
* Correct the args to busdma, mostly cosmetic.sos2004-08-201-6/+5
|
* Remove some dead code under a straggling APIC_IO #ifdef that I missedjhb2004-08-201-7/+1
| | | | back before 5.2.
* Use the new start for the offset, not the old end.njl2004-08-201-1/+1
|
* Add description of raidtest tool.pjd2004-08-201-0/+1
|
* Correctly handle BIOS resources that are duplicated (!). There are manynjl2004-08-201-4/+49
| | | | | | | | | | | | | | | | | | | | | systems that have overlapping regions specified in their sysresource objects. This patch fixes ATA DMA and acpi_timer allocation for such sysctems. It should eventually be moved to resource_list_add() if it is a valid generalized approach. The minimal approach for 5.3 is: "Loop through all current resources to see if the new one overlaps any existing ones. If so, the old one always takes precedence and the new one is adjusted (or rejected). We check for three cases: 1. Tail of new resource overlaps head of old resource: truncate the new resource so it is contiguous with the start of the old. 2. New resource wholly contained within the old resource: error. 3. Head of new resource overlaps tail of old resource: truncate the new resource so it is contiguous, following the old." Tested by: Radek Kozlowski <radek_at_raadradd.com> Discussed with: imp MFC after: 4 days
* Remove a check that is too strict. With BIOSen that specify an IO/ctl portnjl2004-08-201-4/+0
| | | | | | | | | | of 0x3f2-0x3f5,0x3f7 the ports are not 7 bytes apart. This should fix floppy probing on such systems. (We handle the case of adjusting for a start of 0x3f2 -> 0x3f0 separately, although that code should still be checked if there are still floppy problems for others.) Tested by: Sarunas Vancevicius <vsarunas_at_eircom.net> MFC after: 3 days
* Back out uipc_socket.c:1.208, as it incorrectly assumes that allrwatson2004-08-201-3/+1
| | | | | | | | | | | | sockets are connection-oriented for the purposes of kqueue registration. Since UDP sockets aren't connection-oriented, this appeared to break a great many things, such as RPC-based applications and services (i.e., NFS). Since jmg isn't around I'm backing this out before too many more feet are shot, but intend to investigate the right solution with him once he's available. Apologies to: jmg Discussed with: imp, scottl
* Remove unused file.phk2004-08-201-67/+0
|
* Rewrite of the floppy driver to make it MPsafe & GEOM friendly:phk2004-08-209-2031/+1484
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Centralize the fdctl_wr() function by adding the offset in the resource to the softc structure. Bugfix: Read the drive-change signal from the correct place: same place as the ctl register. Remove the cdevsw{} related code and implement a GEOM class. Ditch the state-engine and park a thread on each controller to service the queue. Make the interrupt FAST & MPSAFE since it is just a simple wakeup(9) call. Rely on a per controller mutex to protect the bioqueues. Grab GEOMs topology lock when we have to and Giant when ISADMA needs it. Since all access to the hardware is isolated in the per controller thread, the rest of the driver is lock & Giant free. Create a per-drive queue where requests are parked while the motor spins up. When the motor is running the requests are purged to the per controller queue. This allows requests to other drives to be serviced during spin-up. Only setup the motor-off timeout when we finish the last request on the queue and cancel it when a new request arrives. This fixes the bug in the old code where the motor turned off while we were still retrying a request. Make the "drive-change" work reliably. Probe the drive on first opens. Probe with a recal and a seek to cyl=1 to reset the drive change line and check again to see if we have a media. When we see the media disappear we destroy the geom provider, create a new one, and flag that autodetection should happen next time we see a media (unless a specific format is configured). Add sysctl tunables for a lot of drive related parameters. If you spend a lot of time waiting for floppies you can grab the i82078 pdf from Intels web-page and try tuning these. Add sysctl debug.fdc.debugflags which will enable various kinds of debugging printfs. Add central definitions of our well known floppy formats. Simplify datastructures for autoselection of format and call the code at the right times. Bugfix: Remove at least one piece of code which would have made 2.88M floppies not work. Use implied seeks on enhanced controllers. Use multisector transfers on all controllers. Increase ISADMA bounce buffers accordingly. Fall back to single sector when retrying. Reset retry count on every successful transaction. Sort functions in a more sensible order and generally tidy up a fair bit here and there. Assorted related fixes and adjustments in userland utilities. WORKAROUNDS: Do allow r/w opens of r/o media but refuse actual write operations. This is necessary until the p4::phk_bufwork branch gets integrated (This problem relates to remounting not reopening devices, see sys/*/*/${fs}_vfsops.c for details). Keep PC98's private copy of the old floppy driver compiling and presumably working (see below). TODO (planned) Move probing of drives until after interrupts/timeouts work (like for ATA/SCSI drives). TODO (unplanned) This driver should be made to work on PC98 as well. Test on YE-DATA PCMCIA floppy drive. Fix 2.88M media. This is a MT5 candidate (depends on the bioq_takefirst() addition).
* Immortalize the words of a -current reader.des2004-08-201-0/+3
|
* - fflush() standard output before fork()ing.pjd2004-08-201-2/+2
| | | | - Remove redundant 'break'.
* Add the raidtest tool, which can be used for performance tests of storage ↵pjd2004-08-203-0/+454
| | | | | | | devices. It uses random offsets, random requests size and random operation type (READ or WRITE). It also allows to run many processes to send I/O requests in parallel.
* Add my birthday.lesi2004-08-201-0/+1
| | | | Approved by: anholt (mentor)
* Remove a couple of warnings and tweak an error message.des2004-08-201-3/+1
|
* Copy open_locked() from tinderbox.pl and use it to optionally acquire ades2004-08-202-3/+63
| | | | lock file upon startup. If this fails, tbmaster will simply terminate.
* document that the sk driver now supports the Belkin F5D5005 gige card.jmg2004-08-201-1/+3
|
* fix LOR's in sk. Original patch from dwhite. This moves the memoryjmg2004-08-204-88/+112
| | | | | | | allocation earlier on in sk_attach so we don't have to lock until a bit later. PR: 69752
* DONT PANICsos2004-08-201-1/+2
| | | | Only call dmainit() if there is a valid busmaster resource.
* Revert the previous change. It works great for 4BSD but causes majorscottl2004-08-201-4/+0
| | | | problems for ULE. The reason is quite unknown and worrisome.
* Replace the ERRORS section with a DIAGNOSTICS section.trhodes2004-08-201-21/+21
| | | | Requested by: ru
* In maybe_preempt(), ignore threads that are in an inconsistent state. Thisscottl2004-08-201-0/+4
| | | | | | | | is an effective band-aid for at least some of the scheduler corruption seen recently. The real fix will involve protecting threads while they are inconsistent, and will come later. Submitted by: julian
* put function's name at begining of column...jmg2004-08-202-2/+4
|
* Replace the ERRORS section with a DIAGNOSTICS section.trhodes2004-08-201-15/+9
| | | | Requested by: ru
* add pci id for Belkin F5D5005 Gigabit ethernet card.jmg2004-08-204-0/+22
|
* Fix a few style nits.trhodes2004-08-201-11/+14
| | | | Noticed by: Mr. mdoc(7) himself, ru
* make sure that the socket is either accepting connections or is connectedjmg2004-08-201-1/+3
| | | | | | when attaching a knote to it... otherwise return EINVAL... Pointed out by: benno
* Align netgraph message fields ready for 64-bit (and 128 bit :-) machines.julian2004-08-204-10/+14
| | | | | | | | | | requires a recompile of netgraph users. Also change the size of a field in the bluetooth code that was waiting for the next change that needed recompiles so it could piggyback its way in. Submitted by: jdp, maksim MFC after: 2 days
* Fix a stupid typo which prevented an ipfw KLD unload from successfully cleaningandre2004-08-201-1/+1
| | | | | | | up its remains. Do not terminate 'if' lines with ';'. Spotted by: claudio@OpenBSD.ORG (sitting 3m from my desk) Pointy hat to: andre
* build libthr on amd64.davidxu2004-08-191-2/+1
|
* Adjust code to support AMD64, on AMD64, thread needs to set fsbase bydavidxu2004-08-193-7/+31
| | | | | itself before it can execute any other code, so new thread should be created with all signals are masked until after fsbase is set.
* Add AMD64 support code.davidxu2004-08-192-0/+106
|
* When unloading ipfw module use callout_drain() to make absolutely sure thatandre2004-08-191-1/+1
| | | | | all callouts are stopped and finished. Move it before IPFW_LOCK() to avoid deadlocking when draining callouts.
* - Remove note about device listings going away.simon2004-08-193-54/+30
| | | | | | | | - Add a note about possibility for duplicate listing of devices. - Auto generate device listings for the following drivers: ncr, sym, umodem, and uscanner MFC after: 3 days
* Add a HARDWARE section which lists supported devices based on thesimon2004-08-191-1/+14
| | | | | | Hardware Notes. MFC after: 3 days
* Add a HARDWARE section which lists supported devices.simon2004-08-191-95/+188
| | | | MFC after: 3 days
* Add a HARDWARE section which lists supported devices.simon2004-08-192-68/+75
| | | | MFC after: 3 days
* Unconditionally support the AMD64 GART HW.obrien2004-08-198-34/+2
|
* Move listing of DTC 3290 to aha(4).simon2004-08-193-4/+2
| | | | MFC after: 3 days
* For IPv6 access pointer to tcpcb only after we have checked it is valid.andre2004-08-192-2/+8
| | | | Found by: Coverity's automated analysis (via Ted Unangst)
* Add a newline.njl2004-08-191-1/+1
|
* Temporary bandaid to help sparc64 systems with ATA disks boot. Recentkensmith2004-08-191-1/+3
| | | | | | | | | | | changes to the ATA driver cause a kernel crash, no fault of the ATA code. Work is in progress to add the necessary feature to the sparc64 kernel and this commit will be backed out when it is complete. This bandaid is being put in mostly in the interests of getting the first release snapshot done and out the door. Tested on: Ultra-10 exhibiting the insta-panic. MFC: Real Soon
* Add bioq_takefirst().phk2004-08-192-6/+13
| | | | | | | | | | | | | | | | | | | | | | If the bioq is empty, NULL is returned. Otherwise the front element is removed and returned. This can simplify locking in many drivers from: lock() bp = bioq_first(bq); if (bp == NULL) { unlock() return } bioq_remove(bp, bq) unlock to: lock() bp = bioq_takefirst(bq); unlock() if (bp == NULL) return;
* Fix spelling error in my last blurb.andre2004-08-191-1/+1
| | | | Pointed out by: ru
* - Note that Adaptec 3940UW won't be recognised by the 164sx SRMwilko2004-08-191-1/+4
| | | | - Warn that 164SX is a picky customer with regards to DIMMs.
* 86 new vendor ID's from USB.org, and 3 corrections of existing vendor ID's.obrien2004-08-192-9/+88
|
* Put in a note about the ipfw to pfil_hooks conversion and the requirementandre2004-08-191-0/+8
| | | | of having said in the kernel to be able to use ipfw.
* Disable interrupts after using pmap_enter() to add the identity mapping.njl2004-08-191-1/+1
| | | | | | | | | | | Since pmap_enter() calls pmap_invalidate_page(), which needs interrupts enabled in the SMP case, we defer the disable to right before saving the register context. This has been incorrect for about a year but caused no real problems because the identity page never actually replaces a previously mapped page and suspend/resume on SMP systems has been uncommon. Tested by: sos MFC after: 3 days
OpenPOWER on IntegriCloud