Commit Graph

684 Commits

Author SHA1 Message Date
yamt
6b2d8b66a4 merge yamt-km branch.
- don't use managed mappings/backing objects for wired memory allocations.
  save some resources like pv_entry.  also fix (most of) PR/27030.
- simplify kernel memory management API.
- simplify pmap bootstrap of some ports.
- some related cleanups.
2005-04-01 11:59:21 +00:00
tsutsui
45bd685dbe mips_sdcache_forceinv has been removed.
XXX Should we check MIPS3_CONFIG_SE in mips3_cp0_config_read() and
XXX call r5k_enable_sdcache() accordingly here?
2005-03-26 10:04:29 +00:00
matt
e5e8c8e489 Adapt to new dm_maxsegsz semantics. 2005-03-11 07:01:55 +00:00
matt
a6db24a485 Add a dm_maxsegsz public member to bus_dmamap_t. This allows a user of the API
to select the maximum segment size for each bus_dmamap_load (up to the maxsegsz
supplied to bus_dmamap_create).  dm_maxsegsz is reset to the value supplied to
bus_dmamap_create when the dmamap is unloaded.
2005-03-09 19:04:43 +00:00
sekiya
8f1c003137 Set mips_sdcache_forceinv to 1 for r5k processors.
We now support secondary cache operation on r5ksc out-of-the-box.
2005-03-01 04:25:00 +00:00
sekiya
5d33b368ef Update TODO list. 2005-03-01 03:17:40 +00:00
sekiya
e6a83e3a96 Replace elf2ecoff with objcopy for ECOFF bootloader creation. Fix a comment
typo while we're here.
2005-03-01 00:20:09 +00:00
sekiya
6c76898b70 Use objcopy instead of (broken) elf2ecoff to create ECOFF kernel. Suggested
by tsutsui@ on port-mips.
2005-02-28 23:44:58 +00:00
sekiya
0baf5763ca Attempt to verify presence of haltwo hardware, rather than just blithely
believing that all hpc3 have a haltwo.  This should help Challenge-S owners.
2005-02-28 07:42:53 +00:00
sekiya
d671c9b8d3 De-__P() 2005-02-28 07:24:51 +00:00
sekiya
b9e63b2210 0 is a success code for ioctl(). Fixes install problem introduced by
revision 1.9 last November.
2005-02-28 06:44:55 +00:00
dsl
4822cbaae2 Invert FFS_SNAPSHOT to FFS_NO_SNAPSHOT 2005-02-18 21:05:50 +00:00
dsl
05e2f6ebdb Add 'option FFS_SNAPSHOT' to most of the config files.
Commented out for kernels that appear to hace space constraints.
2005-02-11 08:25:53 +00:00
hannken
d5fbb6936f Add file system snapshots to kernel configs.
- Ffs internal snapshots get compiled in unconditionally.

- File system snapshot device fss(4) added to all kernel configs that
  have a disk.  Device is commented out on all non-GENERIC kernels.

Reviewed by: Jason Thorpe <thorpej@netbsd.org>
2005-01-31 16:54:32 +00:00
thorpej
a7ba88252d Eliminate use of M_HASFCS. 2005-01-30 19:03:23 +00:00
rumble
de81c2c878 Sprinkle options UFS_DIRHASH on GENERIC kernels. It's presently
commented out and labeled experimental pending further review and
testing.
2005-01-28 03:19:49 +00:00
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