Commit Graph

26900 Commits

Author SHA1 Message Date
bouyer 997074f17c Add a missing 'return' in an error path; noticed by Matthias Drochner. 1998-12-08 13:29:31 +00:00
dbj 54a0e65b02 initialized unused dma registers to 0xdeadbeef instead of 0 to aid debugging. 1998-12-08 09:35:07 +00:00
thorpej 10d50739c7 Actually, restructure scsipi_wait_drain() slightly. 1998-12-08 00:26:22 +00:00
thorpej 8ebf1e8824 Remove xs_free_list; it no longer exists. 1998-12-08 00:20:16 +00:00
thorpej 624619a881 When closing, wait for pending xfers to drain before deleting the reference
to the adapter.
1998-12-08 00:19:27 +00:00
thorpej dcc5f32c2b When closing, wait for pending xfers to drain before unlocking the door,
and wait again before deleting the reference to the adapter.
1998-12-08 00:18:46 +00:00
thorpej 1ddd2ffec0 - When allocating a scsipi_xfer, add it to the specified device's
pending_xfers queue.
- When freeing a scsipi_xfer, remove it from the device's pending_xfers
  queue.  If the queue is empty, and SDEV_WAITDRAIN is set, wakeup
  those waiting for the queue to drain.
- Implement scsipi_wait_drain(), which waits for a device's pending_xfers
  queue to drain.
1998-12-08 00:17:21 +00:00
thorpej 98194169ea When allocating a device's scsipi_link, initialize the pending_xfers
queue.
1998-12-08 00:14:41 +00:00
thorpej 126dc6bfcc - Remove the "free_list" member from scsipi_xfer. Add "adapter_q" and
"device_q" TAILQ entries.  The former is for use by the adapter driver,
  as it sees fit.  The latter is for the scsipi middle layer to track
  pending xfers per device.
- Add a pending_xfers queue to scsipi_link, to track pending xfers per
  device.
- Grow scsipi_link's flags to int, and add SDEV_WAITDRAIN, to indicate that
  we're waiting for the pending_xfers queue to empty.
1998-12-08 00:13:58 +00:00
tsubai ea6bba6b90 Fix a typo. 1998-12-07 17:17:14 +00:00
nisimura 14b18ffcb5 - Remove improper casts mistakenly creeped in the last commit. 1998-12-07 04:21:57 +00:00
tsubai fbeabd992c Implement sparse bus space support. 1998-12-06 15:39:12 +00:00
ragge 5ff97947fe Search for NCR controllers, but not on VS4000/60. 1998-12-06 14:33:54 +00:00
ragge fec054bd9a Simple hack to get at least PIO functionality out of the VS2000/3100 ncr5380.
Fixed by Jens Arvid Nilsson.
1998-12-06 13:55:09 +00:00
mjacob c2e84d0cde What was missing here is the mapping between our booting SCSI bus number
and the parent (hba) path from which we booted from. As a temp fix,
we'll only go with the first match to set altbootdev- not additional matches.
The problem was further exacerbated by the fact that cnpoll doesn't seem
to work on serial consoles.
1998-12-05 21:05:44 +00:00
mjacob 337eb43541 NOMODESENSE for all Seagate ST19171- not just FC 1998-12-05 20:52:47 +00:00
mjacob d610e1ad3f Update BA for new max_lun parameter for SCSIbusses. Clearify maximum luns
for FC HB based upon a SCCLUN define (15 for normal- 255 out of a possible
65535 for SCCLUN). Propagate loopid as adapter_target.

Roll minor platform version. Roll core version number.

Update mailbox definitions with cleaner target mode structure definitions.
Clean up some ENDIAN stuff. Correct botched ISP2100_NVRAM_HARDLOOPID offset.
1998-12-05 19:48:23 +00:00
mjacob 74bc9f26d5 Update HBAs to incorporate the new max_lun property. 1998-12-05 19:43:33 +00:00
mjacob 4b8245a959 Add a max_lun property to match with the max_target property. Shorten
max_target to int16.
1998-12-05 19:41:31 +00:00
mjacob 33fde1ad76 Eliminate the moreluns entry as it makes no sense for fat SCSI busses (e.g,
FC loops). Change the semantics of scsi_probedev so that it returns 1 if
you should continue probing at this target, else 0 for not.

Replace the blanket use of '7' with the use of the new sc_maxlun property
that is now gathered from HBAs. Allocate scsipi_link arrays based upon this.
Fix a really nasty and silly bug that has been there for a while where the
number of first level scsipi_link structures was one less than it needed
to be.
1998-12-05 19:39:23 +00:00
matt 3f225e009d Add Sigma Designs REALmagic Hollywood Plus MPEG-2 decoder 1998-12-05 19:02:14 +00:00
dbj 8f7f8d557d made prototype for debug function wss_dump_regs match its definition. 1998-12-05 10:49:24 +00:00
jonathan 340efce0ea Track PV_REFERENCED bit as for PV_MODIFIED, to make mdsetimage work correctly.
Compatiblity with Mach VM: clear pmap-private bits in pmap_remove() if !UVM.
1998-12-05 09:13:09 +00:00
jonathan aecf708ee3 Clean up kernel PTE allocation. Allocate space for maxproc kernel stacks.
Bump UVM swap-map to avoid panics on large swap machines.
1998-12-05 07:50:12 +00:00
jonathan ea1aa3511c #ifdef _KERNEL around cpu_exec_ecoff_setregs() prototype. 1998-12-05 07:26:11 +00:00
mjacob 9d51ff8e34 Roll to 1.15 f/w level for Qlogic 2100. Leave all flavors in, but control which
one gets compiled in by default. The default is private loop, non-expanded lun.
1998-12-05 00:28:05 +00:00
mjacob 45fb6a3e74 Add in and enable latest SBus ISP Firmware (1.31) 1998-12-05 00:25:26 +00:00
drochner 3a08ae9402 always use unsigned numbers for screen positions (for sanity - the libkern
min() et al. did unsigned comparisions before)
make ROWS_ABOVE / ROWS_BELOW return signed values, the negative results
occur if the cursor is outside the scrolling region
1998-12-04 20:48:04 +00:00
thorpej 7fa243e59e Pass the symbol table size, like a.out. 1998-12-04 20:22:36 +00:00
thorpej 2d7f8f3343 Support both a.out and Elf32 symbols in DDB. 1998-12-04 20:19:22 +00:00
thorpej c89493522f - Make the ddb_init() interface consistent for a.out and ELF.
- Allow DDB to run-time switch for a.out or ELF symbol table support.
1998-12-04 20:18:05 +00:00
drochner 9175cc0ddf The chipset manual doesn't tell the truth about the channel enable
register bits. Replace by experimental result.
1998-12-04 17:30:55 +00:00
bouyer c10f6edafc AT_ERROR should be different from AT_TIMEOUT. pointed out by Matthias Drochner. 1998-12-04 11:17:54 +00:00
bouyer 433c02431e Init the decriptors at boot time rather than at interface attach time.
Now that we have pcmcia hot-plug, it's not the same. Fixes kern/3189.
1998-12-04 11:04:37 +00:00
bouyer cdbe530495 No need to #include malloc.h here. 1998-12-04 11:02:30 +00:00
bouyer 3efc699962 Sanity check a few values in the superblock, to avoid mallocing huge
memory area if we try to mount a corrupted filesystem. Fixes kern/3933.
1998-12-04 11:00:40 +00:00
nisimura 75ff38a27d - Fix an error in primary cache line size detection logic; when IC and/or DC
bit is 1, then line size is 32.  Otherwise, 16.
1998-12-04 10:32:08 +00:00
nisimura 9f33638436 - Fix and improve confusing indentations inside trap().
- Don't make a reference of curproc when it has NULL value.  It causes
double fault upon a fatal panic ocation.
- Macro FETCH_INSTRUCTION() took a value of address 0.
-
1998-12-04 04:35:44 +00:00
sakamoto 0bba7a7eca Not used. 1998-12-04 00:17:49 +00:00
pk 1673c21984 Enable `device_register()' for the sparc. 1998-12-03 23:50:11 +00:00
pk 5d9f86821c Add a device_register() function to determine the boot device.
Use it in addition to the old method for a while, so we can take note
of any glitches easilier.
1998-12-03 23:49:58 +00:00
pk 19f705b094 Cast bus_space_{read,write}_multi arguments. 1998-12-03 23:33:45 +00:00
augustss a68f1ef94c Handle the case where the device does not support GET_PEPORT better. 1998-12-03 20:43:19 +00:00
augustss bedb40a78c Use umodem as the modem driver stub. 1998-12-03 19:58:09 +00:00
bouyer 47ab212504 Rename pio_mode, etc ... to PIO_cap, etc ... for consistency with the
ata_drive_datas struct. Suggested by Soren S. Jorvan.
1998-12-03 18:24:30 +00:00
bouyer 71f33dbfa5 UDMA->Ultra-DMA in a printf 1998-12-03 17:30:32 +00:00
bouyer 334abc06cf Correct definition for SIS_TIM_UDMA_EN macro. Ultra-DMA should now work ... 1998-12-03 17:29:01 +00:00
bouyer e39a5bdc53 Now that vtophy() is no longuer used, re-enable WDCDEBUG, with
wdcdebug_pciide_mask = 0 (so that one can easily patch this variable and give
me more informations :)
1998-12-03 17:27:57 +00:00
bouyer 2b28c858d8 add a udma_mode field to wdc_softc, and use it the same way dma_mode is used
(higthest ultra-dma mode supported). There may be a higther ultra-dma mode
defined ...
1998-12-03 15:38:59 +00:00
oster 1b04131eff Try a bit harder to detect the physical failure of a component, and to
mark that component as dead.  Physical failures are handled much better now.
1998-12-03 15:14:40 +00:00
oster 3f3d8e85e6 If a configuration fails due to a non-existant spare, remember to release
any previously allocated components before bailing.  Credit to Manuel Bouyer
for noticing this.
1998-12-03 15:06:25 +00:00
oster 679de7e878 Fix (potential) referencing of null pointer in (verbose) debugging mode. 1998-12-03 14:58:24 +00:00
bouyer ba90b4b2d3 Add URLs of documentation source (from Matthias Drochner). 1998-12-03 14:06:16 +00:00
bouyer 7d87d6a5f6 Use correct register when disabling the second channel. 1998-12-03 13:50:38 +00:00
bouyer 8ef785add8 Restore changes from revision 1.17:
"If a channel has no drives, do *not* unmap its I/O regions.
 It's not really safe to use them for anything else, and in legacy mode it
 will just cause us to probe the channel again as an ISA device."
1998-12-03 13:30:00 +00:00
bouyer 1af63c0605 Correct a few bogons in the SiS chip initialisation. 1998-12-03 13:25:44 +00:00
bouyer 09408781c9 Ouh ! Correct the 8-bit PCI registers reading/writing functions: need to
multiply the register offset by 8.
1998-12-03 13:24:11 +00:00
tsubai 619952b3ee Not used. 1998-12-03 11:05:18 +00:00
nisimura 3c6a704193 - Use explicite structure member reference with 'struct frame' to alter
register values of exception frame pointed with p->p_md.md_regs.
- Local auto variable 'cpustate' in cpu_coredump() was never used correctly.
1998-12-03 06:28:45 +00:00
sakamoto 64ba00be2c Change r_type bit field size 5 to 6 and reduce unused bit(2 to 1).
Suggested by Mirian Crzig Lennox.
1998-12-03 05:15:06 +00:00
ross 33038ca087 Tweak this so it will build and run on ILP32 hosts, anyway, 0x...LL constants
are blessed by the C9X draft.
1998-12-03 04:16:18 +00:00
augustss 2228eaca8a Add configuration and interface locators. 1998-12-02 22:57:08 +00:00
augustss cf75925c7f Even shorter printfs at attach. 1998-12-02 22:54:52 +00:00
augustss 4b4afb8252 Regen. 1998-12-02 22:51:50 +00:00
augustss 7270b91afe Shorten some vendor names. 1998-12-02 22:49:51 +00:00
augustss e424a174ba Add stub for a modem driver. 1998-12-02 22:47:19 +00:00
thorpej da572a137f Argh, fix the ANSI CPP version of the a.out WARN_REFERENCES(). 1998-12-02 21:16:46 +00:00
thorpej d90b3d3438 Add dump_kmemstats(), callable from DDB to show kmem statistics. From
Chuck Silvers via Chuck Cranor.
1998-12-02 20:35:28 +00:00
augustss fd3af06364 Avoid wrapping lines in attach printfs. 1998-12-02 17:20:20 +00:00
augustss 7d417ca964 Handle compound devices in usbd_get_report_descriptor(). 1998-12-02 17:17:40 +00:00
augustss c4dc0e3950 Regen. 1998-12-02 17:14:53 +00:00
augustss 65145fce2c Fix typo. 1998-12-02 17:11:51 +00:00
augustss 41095ae62a Add some new devices. 1998-12-02 17:02:59 +00:00
bouyer 1d5d5ab40a In struct wdc_xfer, change 'channel' to a pointer to a channel_softc, to avoid
a double-pointer dereference at run-time. Suggested by Matthias Drochner.
1998-12-02 15:53:34 +00:00
tsubai 4cb00b9fe2 Adapt to gcc change (calling sequence). 1998-12-02 14:23:03 +00:00
bouyer ab57245c0f Document the use of flags to set/disable PIO/DMA/UDMA modes. 1998-12-02 10:54:26 +00:00
bouyer 45675ab14b - change drive_flags from u_int8_t to u_int16_t
- keep the modes supported by the drive in struct ata_drive_datas (will be
  later used for downgrading the DMA/PIO mode on error)
- use config flags to force/disable PIO/DMA/UDMA modes
- For the CMD PCI0643/6 setup DMA mode to DMA Read multiple.
1998-12-02 10:52:24 +00:00
bouyer 4787b2ea75 - intentation
- sync LK_* flags with ffs/ufs
1998-12-02 10:44:52 +00:00
bouyer c2912048fc Cosmectic change in a panic(), so that the panic string printed by savecore
has more meaning.
1998-12-02 10:41:01 +00:00
christos a5d7ea15aa Regen. 1998-12-02 09:43:15 +00:00
christos 8692433023 add the compat id for the aha-1542cp 1998-12-02 09:42:57 +00:00
thorpej a6f7e0c05a Implement WARN_REFERENCES(). 1998-12-02 00:58:42 +00:00
sommerfe 57ba10cfab Change ofisa attachment comparable to change drochner made to isa
attachment.  Works at least well enough to allow kernel to build &
boot on diskless shark with wdc controller in it.
1998-12-02 00:18:41 +00:00
kenh cbc0f73bee Update device special file modification times if NODEVMTIME isn't set. 1998-12-01 23:18:48 +00:00
kenh b519a199d6 Pass MNT_NODEVMTIME flag to lower VFS layer. 1998-12-01 23:17:25 +00:00
kenh 9462b1dde5 Add new MNT_NODEVMTIME mount flag. 1998-12-01 23:16:23 +00:00
leo 7cce2beefa Fix the __abs_copy() macro (wrong parameters to __abs_opname). 1998-12-01 15:32:28 +00:00
leo 70249fa2f2 Make this compile again... ('maximum entropy'). 1998-12-01 15:30:01 +00:00
bouyer bef8c343db In ext2fs_sync(), don't flush the vnode if vput() returned an error. Fixes
PR kern/6495.
1998-12-01 14:37:44 +00:00
tsubai 75ed099b01 struct ataparam has endian dependence, so add big-endian case. 1998-12-01 13:06:37 +00:00
thorpej 1e7ec4d50e Use _C_LABEL() to generate C labels in assembly code, don't prepend an
underscore (_) directly.  (XXX Except in a few places, where traditional
CPP's macro evaluation semantics break things, so we test for __ELF__
directly in those places).
1998-12-01 04:30:59 +00:00
ragge 6e9aa26bb0 Fix disk size identifier bug. 1998-11-30 22:27:32 +00:00
sommerfe 14dc6ddfe6 Fix PR6473: allow sends to tun* devices using bpf. 1998-11-30 21:43:11 +00:00
augustss 8ae89c20dc Do untimeout() for the timeouts we set up.
(How can this ever have worked?)
1998-11-30 21:39:20 +00:00
thorpej c969d96715 Change the type of sys_errlist from const char *const [] to const char *const *
and rename it to __sys_errlist14.  This will prevent the size of the exported
symbol from changing when more errors are added to the list.
1998-11-30 20:37:52 +00:00
jtk aeec8f4cb2 regen 1998-11-30 19:47:53 +00:00
jtk cef29c6e94 Per PR/6172 (Johnny Lam, lamj@stat.cmu.edu), fix pcidevs identification
of CL-PD6729.  See <http://www.cirrus.com/products/overviews/pd6729.html>.
1998-11-30 19:47:16 +00:00
christos 02e50c5ac1 Clarify some signed/unsigned confusion with resource limit setting.
Still don't understand you some old binaries try to use 5 for vmem
instead of 6.
1998-11-30 15:46:33 +00:00
leo 7c72f9361b Change comment about isa_intr_establish() as discussed on tech-kern. 1998-11-30 12:57:10 +00:00
pk adbfb3777a Update previous: we don't have the required information all the time. 1998-11-30 07:54:29 +00:00