Commit Graph

16075 Commits

Author SHA1 Message Date
chuck 63c14f2d75 MAJOR CHANGES: [contributed by Chuck Cranor <chuck@ccrc.wustl.edu> and
Anne Hutton <hutton@isi.edu>]:
   - add support for Adaptec 155 PCI ATM cards (e.g. ANA-5940)
          - add sc->is_adaptec to handle differences between cards.
          - break out MID_MK_TXQ/MID_MK_RXQ seperate macros to handle
                  the new Adaptec format TXQ/RXQ.
          - adjust en_dqneed to return 1 on ADP (since the Adaptec can
                  DMA anything in one DRQ/DTQ!)
          - add hook for a bus specific reset function (adaptec has
                  a seperate reset register that needs to be hit when
                  resettting the midway).
          - adjust DMA test to not worry about burst sizes on the
                  adaptec (since it handles it all for us!) and to handle
                  the new DTQ/DRQ format.
          - add Adaptec DMA support to en_txlaunch() and en_service()


BUG FIXES:
   - fixed receiver panic under heavy load ("lost mbuf in slot 0!").
          when the reassembly buffer overflows, the T-bit is set in
          the RDB and the data field is empty.  en_service() sets up
          a 4-byte (RDB size) dummy DMA without IF_ENQUEUE.  but the
          recv intr handling in en_intr() always does IF_DEQUEUE.
          as a result, a successive recv intr loses its mbuf and
          leads to a panic.  the solution is to only IF_DEQUEUE if
          the interrupt has non-zero length (indicating that there
          is an mbuf to get).   in order for this to work, EN_DQ_MK
          must always be non-zero.   we do this by or'ing in an unused
          bit (0x80000).
                  reported by: Kenjiro Cho <kjc@csl.sony.co.jp>

   - fix setting of transmit channel when txspeed[] is non-zero
          (e.g. traffic shaping).    the old scheme didn't work
          properly (it allowed the same VCI to use multiple tx channels
          thus defeating the txspeed[] parameter).   the new scheme
          statically assigns a VC to a channel when txspeed[] is set.
          [note that the code to set txspeed[] isn't in the driver right
          now since a MI interface to do this hasn't been made yet]
          we add sc->txvc2slot[] and sc->txslot[n].nref for this.
                  reported by: Kenjiro Cho <kjc@csl.sony.co.jp>,
                                  Milind M Buddihikot <milind@ccrc.wustl.edu>,
                                  Dong Lin <dong@eecs.harvard.edu>

   - when doing SRAM copies, be sure to round up the length to the next
          largest word (otherwise the driver will try to do a byte clean
          up DMA and then get an ID error interrupt).


MINOR CLEANUPS:
   - clean up loops in DMA test
                  contributed by: Kenjiro Cho <kjc@csl.sony.co.jp>

   - restructure and cleanup of en_read/en_write macros/inlines

   - clean up some byte ordering stuff so that we are consistant throughout
          the driver
1997-03-20 21:34:42 +00:00
chuck aeee0bf5a5 add support for adaptec PCI atm cards (see midway.c log for details) 1997-03-20 21:30:46 +00:00
jeremy 4882df57ff Change location of if_ether.h to net/ from netinet/. 1997-03-20 21:21:00 +00:00
pk 5718c246fd Define various no-op functions. 1997-03-20 21:16:20 +00:00
pk 7cf0d72881 Add a `no-op' function that the compiler can not touch. 1997-03-20 21:10:31 +00:00
chuck e64066a694 regen 1997-03-20 20:22:17 +00:00
chuck 088d71a793 - add Adaptec ATM ID's (0x5900, 0x5905). still trying to find out how they
correspond to the ANA numbers...  certainly includes ANA-5940.
 - add Efficient Nets product 0x0000.  according to linux pci.h
	the 0x0000 is an FPGA version of the midway card and the 0x0002
	is the ASIC version.
1997-03-20 20:18:43 +00:00
mycroft b89990fba6 Oops; fix pasto. 1997-03-20 20:18:40 +00:00
mycroft 4f9648674a Make sure we round the block size to a multiple of the sample size. 1997-03-20 20:15:24 +00:00
scottr 1c9987dab4 Several minor changes:
- Indent some comments appropriately per KNF.
 - Output all diagnostics using the device name rather than a static string.
 - Fix a (mostly marmless) bug in snintr(), where loss of heartbeat wasn't
   properly ignored and could mask the `receive descriptors exhausted'
   diagnostic.
1997-03-20 17:47:51 +00:00
mycroft 7a55cafeeb Implement set_format. 1997-03-20 16:51:38 +00:00
gwr a4b8e33b2b This needs muli-include protection now. 1997-03-20 16:21:10 +00:00
is 6c55a345c6 Make this compile with NetBSD-1.2D (if_ether.h location changed). 1997-03-20 16:15:15 +00:00
is 5df51f68f4 Make this compile with 1.2D (if_ether.h location changed) 1997-03-20 16:14:22 +00:00
mycroft 2c6048e49f Make sure to recalculate the block size after changing the
sampling rate.  Also, nuke the global variable audio_blocksize.
1997-03-20 16:13:55 +00:00
mycroft b1a3eda88c Copy back the format we set in SNDCTL_DSP_SETFMT. 1997-03-20 16:11:29 +00:00
mycroft e0b3534b6c Remove bogus block rounding code. If the application sets a
block size explicitly, it had better know what it's doing.  From
PR 2587, by Robert Baron.
1997-03-20 16:04:22 +00:00
gwr c3f299a527 Now using dev/ic/ncr53c9x.c 1997-03-20 16:01:36 +00:00
gwr c921c9b954 This needs muli-include protection now. 1997-03-20 15:56:44 +00:00
matthias 0f3c811db6 * Remove the unused variable fsr in ieee_invop. 1997-03-20 12:04:08 +00:00
matthias a366400675 * clock and rtc are real devices now. 1997-03-20 12:03:27 +00:00
matthias 5efc40089c * Add new file arch/pc532/pc532/mainbus.c.
* Remove arch/pc532/pc532/icuinit.c.
* clock and rtc are real devices now.
* Change all uses of needs-count to needs-flag.
1997-03-20 12:03:24 +00:00
matthias c44822f0e3 * Add "-Wall -Wstrict-prototypes -Wmissing-prototypes -Wno-format"
to CWARNFLAGS.
1997-03-20 12:03:23 +00:00
matthias ed42b2c9d3 * Remove uk driver, add se driver. 1997-03-20 12:03:20 +00:00
matthias b49a214439 * Don't reference NSCN.
* Use machine/conf.h not sys/conf.h to get the prototypes for the
  scn cdev functions.
* Include <sys/kgdb.h> to get prototypes for kgdb_connect and kgdb_attach.
* Add missing prototypes for some functions.
* Make ddb work before the console was opend. Thank's to Ian Dall
  for this change. His comment:
	Also, ddb doesn't work if a break is set before the console
	is opened. That is because DTR and RTS are not asserted. It
	would probably work if the console is wired to ingnore DTR
	or RTS. The change below is probably not very correct.
	Proabably the state of DTR and RTS should be saved and DTR
	and RTS asserted on the start of a polled serial input and
	the saved values restored on exiting polled input
* Remove unused function scn_ei.
1997-03-20 12:03:03 +00:00
matthias 80502accfe * Remove unused ncr_minphys prototype.
* Add prototype for ncr_ready.
* Add ncr_wait_not_req function from Ian Dall:
	The ncr_wait_not_req business is to avoid a potential race.
	When the pseudo DMA finishes, the target may not have
	lowered REQ yet. If we just charge ahead, we eventually test
	for phase when REQ is high. However, if REQ has not yet gone
	low for the last byte transferred, this will be the wrong
	phase. This is taken from the dp8490 application notes. The
	last ACK is not deasserted until the dma is completed.
	Deasserting the last ACK should be delayed until the last
	REQ is deasserted. I am not sure if there are ever devices
	this slow, but I believe the code is "more correct".
1997-03-20 12:03:01 +00:00
matthias dd38be40dc * Add prototypes for pmap_pte, pmap_testbit and pmap_changebit.
* Remove PTDpaddr. This is no longer in use.
1997-03-20 12:02:42 +00:00
matthias 5bb951d4d4 * Remove IEDGE and IPLOARITY. These constants are no longer in use. 1997-03-20 12:02:40 +00:00
matthias 1e27bb59c8 * Add prototypes for kdb_trap and db_dasm_ns32k. 1997-03-20 12:02:37 +00:00
matthias 8462078c2a * Add prototypes for ieee_handle_exception, ram_size, restore_fpu_context
and save_fpu_context.
* Remove prototypes for cpu_reset (it is local to machdep.c) and
  startrtclock (it does no longer exist).
1997-03-20 12:02:36 +00:00
matthias 98eb9b47ea * New file. This contains the definitions used to fill the cdev and
bdev switches for devices unique to the pc532.
1997-03-20 12:02:34 +00:00
matthias bcdbce6d4f * Initialize the interrupt controller part of the ICU in intr_init.
* Move softnet and the establishing of the softclock and softnet
  interrupts to machdep.c.
* Fix some printf format strings.
1997-03-20 12:02:00 +00:00
matthias 8a6b052853 * New file that contains the match/attach/print function for the mainbus
device.
* Some generic ICU initialization is now done in mbattach.
1997-03-20 12:01:23 +00:00
matthias 715cb6f3df * Include sys/ptrace.h to get prototypes for process_read_regs and
process_read_fpregs.
* Remove extern definitions for proc_trampoline and pmap_pte. We
  get prototypes for these from some headerfiles.
1997-03-20 12:01:03 +00:00
matthias 6a7e85766c * Include sys/kgdb.h to get prototypes for kgdb_trap.
* Fix some printf format strings.
1997-03-20 12:00:59 +00:00
matthias 0f39516c71 * Remove unused local variable in sys_sysarch. 1997-03-20 12:00:58 +00:00
matthias a9e83c741a * Include sys/proc.h, sys/fcntl.h and machine/conf.h to get some missing
prototypes.
* Get rid of RTC_DEV. All rtc support now lives in clock.c.
1997-03-20 12:00:56 +00:00
matthias 2608cc4aff * Remove stale rcsid string.
* Add missing prototypes.
* Move over softnet() from intr.c.
* Establish softnet and softclock interrupts in init532.
* Misc cleanup to get it compiled with the new CWARNFLAGS.
1997-03-20 12:00:54 +00:00
matthias 62d993de87 * Remove trailing newline. 1997-03-20 12:00:51 +00:00
matthias 5e6e424a62 * Initialize the interrupt controller part of the ICU in intr_init.
* Move softnet and the establishing of the softclock and softnet
  interrupts to machdep.c.
* Fix some printf format strings.
1997-03-20 12:00:50 +00:00
matthias 5e1cac29c9 * Include sys/systm.h and netinet/in.h to get missing prototypes. 1997-03-20 12:00:47 +00:00
matthias 855084814b * Include <sys/disk.h> to get prototypes for dk_establish.
* Fix definition of strat arg for {read,write}disklabel.
1997-03-20 12:00:46 +00:00
matthias bd1c07266e * add missing prototypes.
* Fix some printf format strings.
* Remove unused Debugger() definition.
1997-03-20 12:00:43 +00:00
matthias 79e491a855 * Add missing prototypes and casts.
* Fix a printf format string.
1997-03-20 12:00:42 +00:00
matthias 0b6fa5346b * Add missing prototypes. 1997-03-20 12:00:40 +00:00
matthias 966187a7e0 * Add missing prototypes.
* Reconstruct a piece of text that got lost in the past.
* Make the output for undefined instructions more consistent.
1997-03-20 12:00:37 +00:00
matthias 4712de3be8 * Do not call all the *_decl macros. This is done by <sys/conf.h> and
<machine/conf.h>.
1997-03-20 12:00:34 +00:00
matthias b677f20e5d * Make the rtc and the clock real devices. Initialize the clock parts
of the ICU in clock_attach.
* Pull over (and reformat) rtc_rw from mem.c.
* Convert the rtc driver to use /sys/dev/clock_subr.c (partially by
  stealing code from the sun3 port).
1997-03-20 12:00:33 +00:00
matthias fa30cfc066 * Remove all the mainbus stuff. This is in mainbus.c now.
* The clock is no longer started by startrtclock. This is done by
  clock_attach now.
1997-03-20 12:00:30 +00:00
mycroft a2f33a43c2 Turn off a debugging printf(). 1997-03-20 11:04:51 +00:00
mycroft 95abb133dc Add 16-bit DRQ support on PnP, and enable 16-bit output. 1997-03-20 11:03:10 +00:00
mycroft ab86334267 Second DRQ is at 0x75, not 0x72. 1997-03-20 10:48:02 +00:00
thorpej 12c0a8c5c8 Correct keyboard map references in the default case. From
Klaus Klein <kleink@layla.inka.de>, PR #3361.
1997-03-20 08:07:01 +00:00
thorpej 21c7befacf Back out part of the previous patch - not only does stuffing a sizeof()
into 8 bits generate (bogus) warnings on some architectures, but the
change to pad on "scsi inquiry" is no longer needed, apparently.
Thanks to Matthias Pfaller for pointing the latter out to me.
1997-03-20 07:13:07 +00:00
mycroft c1cc14fa25 Combine set_encoding and set_precision into a single set_format interface. 1997-03-20 06:48:48 +00:00
mycroft 41bbc3f5b6 SOUND_PCM_WRITE_CHANNELS -> SNDCTL_DSP_CHANNELS, to match current Linux code. 1997-03-20 04:21:31 +00:00
mycroft de69173e77 Fix oversights in previous. 1997-03-20 03:56:11 +00:00
mycroft 8b4878a6ba Fill in silence-padded blocks so we don't get gaps. From PR 3357,
by Lennart Augustsson.
1997-03-20 03:19:53 +00:00
mycroft 4cba0b41af cpu_reset(): Improve the triple-fault code, and use it by default for now. 1997-03-19 22:39:25 +00:00
mycroft da53c636bc ether.h -> arp.h
NETHER -> NARP
1997-03-19 20:32:11 +00:00
mycroft a283cb636c Check for errors returned by AD1848 routines. 1997-03-19 19:54:44 +00:00
cgd 2cde9c6e69 fix multi-function device support, add new known classes/subclasses,
and clean up class/subclass printing.  From brb@brig.com via PR 3359.
1997-03-19 19:38:46 +00:00
mycroft 2b72395bfc ad1848_commit_settings(): Don't set the speed/format register if the
parameters haven't changed.  From PR 3360, by Jason Baker.

Also, clean up several overly-complex interfaces.
1997-03-19 19:31:15 +00:00
sommerfe 62852f4d92 If we're "degraded", say just *how* degraded we are.. 1997-03-19 18:18:02 +00:00
sommerfe 9fefd40478 In 16-bit mode, mov %ax,%bx is interpreted as mov %eax,%ebx; this
breaks zero-extension of the 16-bit memory size return from the BIOS.
on at least one system, the trash left in the upper half of %eax
causes the kernel to crash during VM system initialization when it
thinks it has on the order of 2**31 bytes of memory to play with.

We now *say* mov %eax,%ebx, but *mean* mov %ax,%bx..
1997-03-19 18:12:10 +00:00
gwr b5afc4b28d Change arg two of all the match functions back to struct cfdata
now that __BROKEN_INDIRECT_CONFIG has been removed.
1997-03-19 16:24:38 +00:00
is 33d80a37da Deal with AF_ARP on transmission --- without it, the new ARP code doesn't
work.
1997-03-19 16:17:04 +00:00
scottr 1c0a3c8ce7 Several more changes to move us toward MI-ness:
- Use more consistent and portable types in the softc.
 - Map registers using an array of bus_size_t offsets, and set up the
   mapping in the attach code (thanks to Jason Thorpe for suggesting
   this!).
 - Disable the ae-specific watchdog, which is no longer necessary in
   the general case.

Still remaining:  split out functions used to copy data to/from the
card, and retain a way to have a local driver name with the MI code.
1997-03-19 08:04:38 +00:00
mikel eb7e30aa3d normalize off-by-four ad1848 register offsets.
also silence probe unless debugging is enabled.
1997-03-19 06:47:37 +00:00
mikel 80a8a81608 normalize off-by-four ad1848 register offsets. 1997-03-19 06:45:21 +00:00
mycroft aa5b127136 e_wmesg doesn't need to be NUL-terminated; give it an extra byte instead. 1997-03-19 05:36:26 +00:00
mycroft eb41ccd5fe Emulate the SOUND_PCM_WRITE_CHANNELS ioctl. From PR 3356, by Lennart
Augustsson.  Also add hooks for mixer ioctls.
1997-03-19 05:12:13 +00:00
mycroft ef083dd857 fill_eproc(): Fill in e_login. From PR 3351, by Geoff Wing. 1997-03-19 04:55:07 +00:00
mycroft ff6b9e27ce Do not permit the user to set the nested task flag. 1997-03-19 03:52:02 +00:00
mycroft 139d254f6a Handle user TSS faults. 1997-03-19 03:19:01 +00:00
mark 82de5bb16d Add missing ifp variable in eaintr() following new ARP merge. 1997-03-19 02:45:06 +00:00
mark e8e11b85c0 Fix missing bracket introduced in new ARP system merge. 1997-03-19 02:43:03 +00:00
thorpej 914022ca23 Resolve conflicts from merge. 1997-03-19 02:37:36 +00:00
gwr 4663c4fa2a Sync with the sun3 version. 1997-03-18 23:49:07 +00:00
gwr 63176de160 Moved eeprom_uio to machdep.h 1997-03-18 23:39:20 +00:00
gwr 9f13c3afe5 Read the EEPROM once at attach time, then do user I/O on the copy.
Make /dev/eeprom support normal "read to EOF" behaviour.
Removed ee_console, ee_get_byte (dead code).
1997-03-18 23:31:59 +00:00
gwr dee24f1082 Moved the _KERNEL declarations to machdep.h 1997-03-18 23:26:38 +00:00
gwr 1161fcc583 Add /dev/leds, and allow both that and /dev/eeprom to
return EOF when you read to the end of the device.
Garbage collect some dead code after the switch.
1997-03-18 23:21:04 +00:00
gwr c960be72aa Add /dev/leds (closes PR#2172 from der Mouse) 1997-03-18 22:21:50 +00:00
thorpej 98730721d9 Use std.mvme68k, which contains non-optional "options" (a'la other ports). 1997-03-18 21:41:49 +00:00
thorpej 03ecf5dce7 Use our own db_memrw.c 1997-03-18 21:39:01 +00:00
thorpej 7b668f11c8 Use the hp300 db_memrw.c, which works with read-only kernel text. 1997-03-18 21:34:52 +00:00
thorpej dc401484c4 When mapping kernel text, always make it PG_RO. 1997-03-18 21:31:48 +00:00
thorpej 5bf83341cf - Add a few prototypes.
- cpu_startup() - mark pre-text pages VM_PROT_NONE and kernel text pages
  VM_PROT_READ|VM_PROT_EXECUTE in kernel_map, to avoid strange things like
  COW'ing the kernel text (from hp300 port)
- Fix dumpsys() to conform to the new dump bdevsw calling convention.
1997-03-18 21:30:24 +00:00
thorpej c50ed28c3c Get rid of __BROKEN_INDIRECT_CONFIG. 1997-03-18 21:21:52 +00:00
thorpej 73a0fb50d2 Get rid of __BDEVSW_DUMP_OLD_TYPE and __BROKEN_INDIRECT_CONFIG. 1997-03-18 21:17:18 +00:00
christos dd64e55c90 PR/3353: From Alistair G. Crooks: move to the new arp world. 1997-03-18 18:58:12 +00:00
christos 4fe8f4e95f PR/3354: From Michael Eriksson; I_SETSIG did not handle O_ASYNC properly
and we would never get asynchronous events back. This affected the java
SDK. Also GC O_RAIOSIG which was a Dell/SVR4'ism which is now RIP.
1997-03-18 18:57:19 +00:00
veego 2cae836714 Remove NAE, put the revision into ae_softc and fixes from dev/ic/am7990.c:
>Signed shifts are evil.
>Thanks to Michael Smith for reporting, Jason Thorpe for pointing to the
>report, doing a quick workaround which pointed me to the right code part and
>for testing the final fix.
1997-03-18 18:44:53 +00:00
is 7cdbc9038e If we #ifdef NARP, we should also #include "arp.h", not "ether.h".
Bug report and remote debugging by Bernd Ernesti.
1997-03-18 18:29:06 +00:00
mycroft c14b8539e0 Make active_user_pmap() DTRT while a process is exiting. 1997-03-18 16:39:30 +00:00
mycroft d19eaa3d4f Add an active_user_pmap() macro, and use it as appropriate. 1997-03-18 14:13:55 +00:00
mycroft 1068c83731 Check for curproc being null before dereferencing it in more cases. 1997-03-18 13:01:07 +00:00
cgd c944e200eb fix up new-arp goofups 1997-03-18 07:27:58 +00:00
cgd a8bb00476f ioctl commands are u_longs 1997-03-18 07:14:45 +00:00