Commit Graph

668 Commits

Author SHA1 Message Date
cube
ec53a61e98 Add tap(4) support to a random^Wcarefully chosen set of kernel configs.
All those kernels have a line for both tun and bridge, and if either is
commented out, tap is commented out also.  With the exception of i386's
GENERIC_TINY.

XXX:  we _need_ some way of making this more simple.
2005-01-17 15:28:51 +00:00
kent
93293b9ec7 ansify and KNF 2005-01-15 15:19:51 +00:00
skrll
2cd9c39722 Update the emulation names after recent binutils changes. 2005-01-14 08:17:49 +00:00
kent
23b5d91433 merge kent-audio1 branch, which introduces audio filter pipeline to the MI
audio framework


Summary of changes:

* struct audio_params
  - remove sw_code, factor, factor_denom, hw_sample_rate,
hw_encoding ,hw_precision, and hw_channels.  Conversion information
is conveyed by stream_filter_list_t.
  - change the type of sample_rate: u_long -> u_int
  - add `validbits,' which represents the valid data size in
precision bits.  It is required in order to distinguish 24/32bit
from 24/24bit or 32/32bit.

* audio_hw_if
 - add two parameters to set_params()
	stream_filter_list_t *pfil, stream_filter_list *rfil
   A HW driver should set filter recipes for requested formats
 - constify audio_params parameters of trigger_output() and
trigger_input().  They represent audio formats for the hardware.
 - make open() and close() optional
 - add int (AUMODE_PLAY or AUMODE_RECORD) and audio_params_t parameters
 to round_blocksize()

* sw_code is replaced with stream_filter_t.
  stream_filer_t converts audio data in an input buffer and writes
into another output buffer unlike sw_code, which converts data in
single buffer.
  converters in dev/auconv.c, dev/mulaw.c, dev/aurateconv.c,
dev/tc/bba.c, dev/ic/msm6258.c, and arch/arm/iomd/vidcaudio.c are
reimplemented as stream_filter_t

* MI audio
 - audiosetinfo() builds filter pipelines from stream_filter_list_t
filled by audio_hw_if::set_params()
 - audiosetinfo() returns with EINVAL if mmapped and set_params()
requests filters
 - audio_write(), audio_pint(), and audio_rint() invoke a filter
pipeline.
 - ioctl() for FIONREAD, AUDIO_WSEEK, AUDIO_GETIOFFS,
AUDIO_GETOOFFS, and audio_prinfo::{seek,samples} for
AUDIO_GETINFO handle values for a buffer nearest to userland.

* add `struct device *' parameter to ac97_attach()

* all of audio HW drivers follow audio_hw_if and ac97 changes
2005-01-10 22:01:36 +00:00
rumble
067cc4d32d Add commented out pf and pflog pseudo-devices. 2005-01-01 21:20:19 +00:00
rumble
bf88067210 Do not report unexpected interrupts when not debugging. These
seem to occur fairly often under normal operation with HPC1.5.
Also, do not return if the interrupt is unexpected, but see if
there is anything to handle regardless, which appears to always
be the case with HPC1.5.
2004-12-31 22:32:34 +00:00
rumble
801f527111 Prepend HPC3 macros universally with "HPC3_" to distinctly recognise
the corresponding revision and maintain consistency with HPC1.

No functional change intended.
2004-12-30 23:18:09 +00:00
rumble
3de38c1738 Replace the hpc0 base address with the definition from
hpc/hpcregs.h.
2004-12-30 02:41:03 +00:00
rumble
4aa50cac2f Remove a few HPC1 register definitions for ones that don't exist.
Also, HPC1_ENET_INTDELAYVAL isn't a magic number. It turns the
interrupt delay off (by being the timer trigger bit), so name it
more appropriately.
2004-12-30 02:35:41 +00:00
rumble
57329acafa Wrap seeq and hpc register reads and writes in macros for
readability. While here, engage in some KNF and 80-column policing.
No functional changes intended.
2004-12-30 02:26:20 +00:00
rumble
d4734bb3d4 Fix the HPC1 transmit logic, which was previously very broken.
HPC1 does not mark transmitted descriptors like HPC3. We must
query the HPC1 chip to determine what it expects the next
descriptor to be, reclaim used ones, and restart if necessary. Each
revision's corresponding logic now lives in its own
sq_txring_hpc{1,3} function.

HPC1's transmit interrupt conditions also differ from HPC3, so
remove the INTR bits from descriptors when tagging new packets on
to the end of the chain in order to avoid unwanted interrupts.

Also, be extra careful when restarting the transmit ring. Since
transmit interrupts seem to be relatively slow on HPC1, sq_start
may be called while the DMA engine is quiescent, and before a
transmit interrupt is asserted. We cannot behave like HPC3, which
begins transmission from the first packet pulled from IFQ if the
DMA engine is quiescent as this would skip enqueued packets. It
appears that sq_start is never called before HPC3 asserts an
interrupt, which restarts the transmit queue at the appropriate
place. However, this often happens with HPC1 and we cannot assume
that if DMA is inactive in sq_start, then all previously queued
packets have fled the coop.
XXX Is there a similar race possible with HPC3?

HPC3 logic should remain functionally unchanged, and HPC1 should
finally work properly.
2004-12-29 06:57:52 +00:00
rumble
5cf01464f1 HPC1 seems to benefit from larger rings. This should be especially
true on the transmit side, which appears to be significantly slower at
interrupting than HPC3.

XXX I used to be able to occasionally wedge the chip with
SQ_NTXDESC == 32, but have not yet been able to reproduce that
behaviour this evening with a larger value.
2004-12-29 06:28:14 +00:00
rumble
e837411407 Remove the static sq_trace array and make it per-device as
multiple seeq interfaces may exist. While here, add a few trace
actions, move the related macros into sqvar.h, and enhance the
sq_trace_dump output a bit.
2004-12-29 02:11:31 +00:00
sekiya
d7a784e1a7 Recognize mec as a valid netboot device. Add IP12 to the wdsc comment. 2004-12-18 00:51:30 +00:00
sekiya
523a6664f4 Nuke MIPS64; we'll use MIPS3 to indicate the presence of MIPS3 instructions
and _LP64 to indicate that 64-bit is desired.

Pointed out by simonb@
2004-12-17 22:59:49 +00:00
sekiya
d1eab478d8 Remove gratuitous use of MIPS1/MIPS3. 2004-12-13 08:31:54 +00:00
sekiya
d45f3ffb2c MIPS3_CONFIG_SC is an unreliable indicator for SC presence; r5k_enable_sdcache()
will gracefully exit if there is no secondary cache.  Rework #ifdef'd out
r5k cache code to take this into account, and remove pointless r10k case.
2004-12-13 08:30:58 +00:00
thorpej
d5083f78be Use "struct scsipi_command" in internal command structures so that
we have enough space for 16-byte CDBs.
2004-12-07 22:23:45 +00:00
thorpej
7a60e77293 bus_dmamap_load_mbuf(): Skip zero-length mbufs.
kern/24811
2004-11-28 17:34:45 +00:00
jmc
417e73cb35 Retool sgivol into a proper hostool that doesn't depend on disklabel.h.
Assume defaults for file images that match what a vnd would have used.
Native use will still use the standard NetBSD label to get this data.
Fixes PR#25996
2004-11-24 22:01:21 +00:00
jmc
ceb4d24120 Pull host/arch native label information into bootblock.h. Therefore pieces of
this are accessible from host tools.
2004-11-24 21:59:32 +00:00
tsutsui
c6824e7fc3 Fix comment. 2004-11-24 17:31:58 +00:00
sekiya
ad7705ec91 Due to space limitations, we can't embed a three-meg ramdisk installation image
into an IP12 kernel.

Remove; installation procedure will have to be GENERIC kernel using sysinst
from a NFS filesystem.
2004-11-13 09:04:28 +00:00
sekiya
a061928d83 Add INSTALL and GENERIC kernel configuration wrappers for IP12 family.
Note that devices are defined in the IP2x configuration file; the IP12 is
99.5% the same as the IP20/22/24.  Indeed, the only reason to have a separate
config file for IP12 is to sort out the MIPS1/MIPS3 locore bits.

To that end, the wrappers include the IP2x GENERIC config, undefine a few
directives, and define the appropriate bits for IP12.
2004-11-13 03:20:37 +00:00
sekiya
07c1fbd927 Use 8-bit SEEPROM addressing mode on the 4D/3x models. 6-bit might be used
on IP6, but we don't support them (and probably never will).
2004-11-12 23:28:05 +00:00
sekiya
c37efd2daa Print board identification, same as we do on the IP2x machines. 2004-11-12 23:01:01 +00:00
christos
30fc143afa Add COMPAT_BSDPTY to the rest of the config files. 2004-11-10 17:54:02 +00:00
thorpej
e9818f5b5e When adding/deleting multicast addresses, only whack the address
filter if the interface is marked RUNNING.

Fixes kern/27678.
2004-10-30 18:08:34 +00:00
yamt
18f717bb90 constify audio_hw_if, midi_hw_if, and radio_hw_if. 2004-10-29 12:57:15 +00:00
thorpej
dc2f2fbe74 Centralize the declaration of booted_device and booted_partition. 2004-10-23 17:07:37 +00:00
augustss
0c21c79cc5 s/uax/axe/ 2004-10-23 14:00:50 +00:00
he
32dfb50ca9 Track the change of int -> paddr_t for the arguments to the ARCBIOS
routines.
2004-10-04 19:59:51 +00:00
sekiya
2ea60ebc6b s,uint32_t,paddr_t,g. Noticed by tsutsui@ 2004-10-02 08:53:09 +00:00
sekiya
53ad2f0aab Use the mips3 bus functions on IP30. Recognize the IP30 as a supported* SGI
platform.

* For extremely small values of "supported".  arch/mips/* needs a lot of work
  yet for MIPS64.
2004-10-02 03:19:00 +00:00
sekiya
34bdfea7c4 Move the ECOFF definition from the INSTALL kernel to the GENERIC kernel --
it's possible that someone might want to run an IP20 diskless.

Pointed out by simonb@
2004-10-01 07:40:59 +00:00
sekiya
5e061c633c s,#ifdef MIPS3,#if defined(MIPS3) || defined(MIPS64),g 2004-10-01 07:16:57 +00:00
sekiya
82ca9dba92 Create an ecoff kernel only if WANT_ECOFF="yes".
ECOFF kernels are really only useful for netbooting; our disk bootloader handles
ELF.  Therefore, define WANT_ECOFF for INSTALL32_IP2x only.
2004-10-01 07:05:25 +00:00
soren
8d969498b4 Correct the names of a few system types. 2004-09-29 07:37:02 +00:00
sekiya
faa2f31603 Abbreviate identification message to fit in 80 columns. 2004-09-29 05:13:39 +00:00
sekiya
0603553bbb Compile the 64-bit bootloader. 2004-09-29 04:57:31 +00:00
sekiya
d12d5dc3e0 Add a table mapping IPxy to ABI and load address. 2004-09-29 04:27:41 +00:00
sekiya
551d2b9aa9 Use ANSI function declarations. 2004-09-29 04:06:51 +00:00
sekiya
6f2cb625f4 Use C-style comments. 2004-09-29 03:21:14 +00:00
sekiya
8c64b0776c Various fixes:
* clean up EISA detection logic,
* really fix config_found_ia() usage (from drochner@),
* sprinkle a bit of KNF.
2004-09-29 03:11:28 +00:00
sekiya
6a4c72d1af Add COMPAT_20 2004-09-29 02:50:42 +00:00
tsutsui
ef820af6db Rename if_mec_mace.c -> if_mec.c.
This file contains not only an attachment but whole driver functions.
2004-09-23 14:45:20 +00:00
rumble
b1a9752c01 Correct a few comment typos that have propagated through the
tree.
2004-09-16 03:57:10 +00:00
sekiya
8590eac465 Use the mace interrupt handler for PCI interrupts.
From KIYOHARA Takashi
2004-09-06 07:24:06 +00:00
sekiya
7e244e5e53 Oooops, iaa.iaa_name must be initialized. 2004-09-05 13:32:10 +00:00
sekiya
847a930d95 Use config_found_ia() rather than config_found(). 2004-09-05 11:48:34 +00:00