Commit Graph

811 Commits

Author SHA1 Message Date
thorpej a180cee23b Pool deals fairly well with physical memory shortage, but it doesn't
deal with shortages of the VM maps where the backing pages are mapped
(usually kmem_map).  Try to deal with this:

* Group all information about the backend allocator for a pool in a
  separate structure.  The pool references this structure, rather than
  the individual fields.
* Change the pool_init() API accordingly, and adjust all callers.
* Link all pools using the same backend allocator on a list.
* The backend allocator is responsible for waiting for physical memory
  to become available, but will still fail if it cannot callocate KVA
  space for the pages.  If this happens, carefully drain all pools using
  the same backend allocator, so that some KVA space can be freed.
* Change pool_reclaim() to indicate if it actually succeeded in freeing
  some pages, and use that information to make draining easier and more
  efficient.
* Get rid of PR_URGENT.  There was only one use of it, and it could be
  dealt with by the caller.

From art@openbsd.org.
2002-03-08 20:48:27 +00:00
enami 147331af13 Fix broken indentation. 2002-02-21 05:30:30 +00:00
thorpej 3e9025cfbf Remove a pretty much useless autoconfiguration message. 2002-02-10 23:28:27 +00:00
bouyer 3ba24c2b42 IF we change the ATA modes, also reset the device, so that we can retry
the command with the new mode.
2002-01-27 22:00:40 +00:00
uwe 2536236e11 Add notag quirk for Seagate "ST11200N SUN1.05". 2002-01-23 18:13:08 +00:00
bouyer f03445a59f For fixed block drive, for invalid sense error code, set info to
xs->datalen / st->blksize instead of xs->datalen; as code assume later
that info is a block number.
Should fix kern/2727.
2002-01-12 20:30:11 +00:00
tsutsui 1267bddc09 Call malloc(9) with M_ZERO flag instead of memset() after malloc(). 2002-01-12 16:29:30 +00:00
drochner dcea5d31ee -don't apply scsipi_strvis() twice, it tries to octal-print the string
terminating zero and uninitialized dada following
-use use the "vendor" field for the name which is used in the default
 disklabel, the "product" field is meaningless or not existing for ATAPI
 (serial number)
2002-01-09 18:48:18 +00:00
thorpej 229efaff69 Add ioctls to get (DIOCGCACHE) and set (DIOCSCACHE) cache enables
on disks in a generic way.  Implement these ioctls for SCSI disks.

This is not fully fleshed-out yet, but it allows people to experiment
with disk caches more easily.
2002-01-09 04:12:11 +00:00
augustss 8164bd8bae Move some USB device quirks to the umass_quirk table. 2001-12-29 14:06:18 +00:00
augustss b965a7d6eb Remove some quirk entries that are handled in umass_quirk now. 2001-12-29 13:55:02 +00:00
nathanw 5dbef63175 Use PQUIRK_ONLYBIG for all Olympus cameras, not just the C-1.
Use PQUIRK_ONLYBIG for the PQI TravelFlash.
2001-12-27 18:57:46 +00:00
gehenna 59c47ef767 The FujiFilm USB storage drive doesn't have a flex geom page and
doesn't know REQUEST SENSE.
2001-12-22 13:29:50 +00:00
nathanw 8d1585affa The Olympus C-1 engine cameras seem to need the PQIRK_ONLYBIG quirk. 2001-12-14 22:15:52 +00:00
veego 9d39bbf3a8 Support for dvd region code (RPC). 2001-12-09 22:56:10 +00:00
yamt 272f471ee0 add detach support for st. 2001-12-07 11:26:30 +00:00
bouyer bfc80822c7 Update my copyrigth. 2001-12-03 00:20:22 +00:00
bouyer 65768c08e2 No need to include atavar.h here. 2001-12-02 22:59:40 +00:00
bouyer 4809ad42cb Clean up attach of wd/atapibus:
kill ata_atapi_attach. Change atapibus to use a struct scsipi_channel instead
of ata_atapi_attach as attach arch. Create a ata_device, compatible with
scsipi_channel, to attach wd.
2001-12-02 22:44:32 +00:00
bouyer c6c2c476eb Hum, no need to print a message each time we're waiting for the drive. 2001-12-01 00:05:04 +00:00
bouyer e6922f82d6 Various quirks for the ATAPI OnStream DI-30, mostly from the FreeBSD driver.
Many thanks to Chris Pinnock for giving me remote access to his hardware.
2001-12-01 00:03:45 +00:00
bouyer cd8d64fe2b For ATAPI tape drives, poll for DSC (using a callout), to get the real
status of the command, and make sure the drive is ready for the next one.
2001-12-01 00:00:29 +00:00
lukem ecb81c3f6d - convert usage of "defopt" to "defflag" where the relevant option does
not support a value (e.g., it's to be used as "options FOO" instead of
  "options FOO=xxx"). options that take a value were converted to
  defparam recently.
- minor whitespace & formatting cleanups
2001-11-28 10:21:10 +00:00
fredette 4fd267f75d Added the new defopt SCSI_OLD_NOINQUIRY; this is used instead
of sun2 to wrap code that conjures up INQUIRY responses for
certain specific old devices.
2001-11-28 01:04:49 +00:00
fredette 83c021b2a7 Added quirk entries for Adaptec and Emulex SCSI interposer boards.
Decode a limited set of SASI/SCSI-1 sense codes, and under sun2
only, conjure up INQUIRY responses for these boards.
2001-11-26 20:39:29 +00:00
lukem 0fa231134c - replace "defopt" with "defparam" for options which must take a value,
as config(8) will warn for value-less defparam options
- minor whitespace/formatting cleanup
- consolidate opt_tcp_recvspace.h and opt_tcp_sendspace.h into opt_tcp_space.h
2001-11-20 14:34:18 +00:00
tsutsui 859356d03b Add a new quirk value PQUIRK_CAP_SYNC for SCSI1 devices which support
sync transfers, and set PERIPH_CAP_SYNC for them in scsi_probe_device().
As per discussion on tech-kern.
2001-11-19 22:50:00 +00:00
soren eefc317219 Remove duplicate struct scsipi_start_stop. 2001-11-19 17:18:08 +00:00
soren 27e3d258cd Floptical drive needs PQUIRK_NODOORLOCK as well. 2001-11-19 16:54:20 +00:00
soren ae27210d46 Insite Floptical drive needs PQUIRK_NOLUNS. 2001-11-19 00:22:47 +00:00
tsutsui c8f45396b3 Fix formatting of scsi_quirk_patterns[] and wrap long lines. 2001-11-18 17:22:43 +00:00
lukem 2565646230 don't need <sys/types.h> when including <sys/param.h> 2001-11-15 09:47:59 +00:00
lukem 7ba10b3532 add RCSIDs 2001-11-13 06:54:32 +00:00
augustss a1ba73d6c3 Add a quirk for a USB CD/RW. 2001-11-06 13:31:20 +00:00
tsutsui 5e6dd3ae03 Add common macro to check message length. 2001-11-04 12:03:03 +00:00
tsutsui f82eb7bfa1 Replace a magic number with macro. 2001-11-03 15:52:03 +00:00
bouyer da77194a02 We can't have XS_CTL_DATA_OUT and XS_CTL_DATA_IN at the same time.
Pointed out by Bernd Ernesti.
2001-10-22 16:16:00 +00:00
mjl 51a4b6098f Add ST15150N to quirk table, as per PR/13817. 2001-10-21 23:25:04 +00:00
christos 070d583bb3 PR/14256: Kevin P. Neal: Add quirk for micropolis drive. 2001-10-16 13:33:02 +00:00
bouyer 69fff4726e Refuse to register a callback if the completion thread isn't started yet. 2001-10-14 21:17:41 +00:00
bouyer a84535fd3e Call ADAPTER_REQ_GROW_RESOURCES from the completion thread, if possible.
This allows HBA drivers to call bus_dmamem_map() safely.
2001-10-14 20:31:24 +00:00
bouyer ce6aaa187a Split channel flags in chan_flags used for communications between
scsipi and HBA, and chan_tflags used for communications between scsipi
and its kernel thread. No functionnal change.
2001-10-14 19:03:43 +00:00
mjacob 87a8b82ae9 Restore previous functionality- in scsipi_periph_timed_thaw check to
make sure the completion thread is running before you try to schedule
it.

Fixes port-i386/14013
2001-09-27 18:11:06 +00:00
mjacob 79d74959da Restore previous definitions. 2001-09-27 18:07:51 +00:00
fvdl 000902fbf6 Unfortunately, the previous change seems to make most (all?) configurations
using the ahc driver hang when probing scsi devices. The problem may be in
the ahc driver and not in this change, but back it out until this has been
fixed anyway.
2001-09-21 13:54:47 +00:00
mjacob 849eac52f2 Rather than run a periph's queue from scsipi_periph_timed_thaw which is
called via a callout, kick the completion thread to run it for us (uses
a new flag, SCSIPI_CHAN_KICK).

If we've received BUSY status and we haven't started the completion
thread yet, don't freeze do a callout to scsipi_periph_timed_thaw which
then will try and kick the completion thread- instead treat the command
as if it were a polled command and just call delay for 1 second.

If DIAGNOSTIC is defined, and the periph qfreeze count is less than
zero, panic because some HBA has corrupted the periph structure's
accounting.
2001-09-18 20:20:26 +00:00
enami 750c07de04 Pass the correct pointer to atapibusprint(). 2001-09-13 06:27:23 +00:00
thorpej f7a403a447 Define more caching parameters from SCSI-3. 2001-09-03 17:14:49 +00:00
thorpej 3ac8a43f8b Comment what the PF bit means in the MODE SELECT command, and
define a scsipi_mode_page_header, which has the common fields
(page code and page length) of all mode pages.
2001-09-02 22:06:16 +00:00
thorpej dda09e1b39 Add the Force Unit Access and Disable Page Out bits to the
READ(10) and WRITE(10) commands.
2001-09-02 20:17:04 +00:00