Commit Graph

61213 Commits

Author SHA1 Message Date
gendalia 1f71c142cd Add altima (broadcom) AC101L, phy for 3com 3c905cx-tx on nForce2 MCP-T 2003-01-17 06:23:52 +00:00
gendalia 6672d83048 regenerate to match miidevs, added ac101L phy 2003-01-17 06:21:13 +00:00
gendalia 3f50762f0c Add altima (broadcom) AC101L, phy for 3com 3c905cx-tx on nForce2 MCP-T. 2003-01-17 06:20:07 +00:00
lonewolf 628ec7a152 Compiles and works (tested on my A1200) again
XXX scsipi mid layer spews out a few "generic HBA error"s during device probe (no slave device on bus), I don't know how to fix this
XXX This whole thing should die now that we have wdc_amiga
2003-01-17 04:20:38 +00:00
matt f2d6a1d557 Make the DEFPA/DEFEA/DEFTA driver work on big-endian machines such as
powerpc or sparc64.
2003-01-17 02:43:40 +00:00
jonathan 1b7f3ca44b Grr. Fix consistent typo, to match what i actually tested before committing. 2003-01-17 00:24:29 +00:00
jonathan 21cd3a1948 Add register definitions for 5704 internal ASIC revision.
Add cpp definitions for the DMA control register fields needed for
5703/5704 configuration on PCI-X.
Add softc copy of internal"local control" register clobbered by reset.
2003-01-17 00:21:37 +00:00
jonathan a95f2651b7 regen from pcidevs rev 1.497:
Add pcidevs entries for more Broadcom 570x family variants.
2003-01-17 00:19:16 +00:00
jonathan c6f5d9974c Add pcidevs entries for more Broadcom 570x family variants. 2003-01-17 00:17:35 +00:00
jonathan ad77f4e6fb Enable the 5700 DMA bug and producer-pointer fixes, by setting the
quirk on all 5700 revision B devices. (These fixes have not been
tested against NetBSD recently; committing the fix and the enable separately
gives us flexibility about which fixes get pulled into the NetBSD-1.6 branch.)
2003-01-17 00:11:00 +00:00
jonathan 1484718092 Commit accumulated bge fixes:
* Add support for 5704C dual-channel chip with integral copper PHY (tested)
   and 5704S dual-channel SERDES/TBI gbic  (untested).  Add PHY DSP patch
   for 5704.
 * Update PHY DSP-code patch for bcm5401 to match latest Linux driver.

 * Add PHY DSP-code patch for 5703 (untested).

 * Update onchip buffer tunables to recommended values from Linux drivers.

 * Disable MWI access.  This chip family cannot hanlde PCI stalls
   in the middle of an MWI burst. The driver has heuristics to detect PCI
   line size, but under load, some PCI bridges may force stalls which
   the attach-time heruistics do not catch. Some PCI bridges never
   do this, so maybe it should be a  tunable option.

*  bcm5700 rev Bx chips have a race condition, where updating the
   Tx producer pointer goes un-noticed by the chip.  Workaround is to
   write the new producer-pointer value twice.

*  bcm5700 chips rev Bx wedge up if given  DMA descriptors of
   eight bytes or less. Once hit, only reovery is a watchdog timeout/reset.
   If the offending packet is retransmitted, the chip will wedge again...
   Check for teeny fragments in a Tx request, and either fold the
   teeny chunk residue into an adjacent mbuf, or m_dup the entire buffer.
   (NB: quirk not yet enabled; in-place folding tested only on FreeBSD.)

 * Add workaround for revision Bx bcm5700: chip bugs in decoding
   of PCI register writes may leave the hardware in (partial) powersave state,
   such that  writes to "indirect" registers do not work.
   Explicitly force chip into D0 state at attach time.

 * Accessing PHY registers with the bge chip in autopoll mode, when
   link-state is the process of changing, may cause the bge chip to
   assert PCI errors.   Workaround:   when doing miibus register access,
   save autopoll state, disable around access, and restore autopoll state.
   NB: issuing PHY resets may give a window where the problem still occurs.

 * Increase Tx interrupt-coalescing thresholds, to reduce Tx-done interrupts.
2003-01-17 00:02:56 +00:00
petrov 6383ae6ccb Don't do anything if there are no streaming buffer cache. 2003-01-16 21:55:52 +00:00
jonathan 1556fd569d Update first 16-bit word of 5401 DSP patch to match latest Linux drivers.
Add comment  saying what the magic values do: disable tap power management.
2003-01-16 20:02:05 +00:00
jonathan 0ecaf20a9d regen machine-generated files from miidevs rev 1.44 (bcm5704 phy) 2003-01-16 18:46:08 +00:00
jonathan 4b1bc17628 Add PHY entry for bcm5704c (copper) integral phy to miidevs.
Add 5704 phy and dsp patch, and untestsed dsp patch for 5703, to brgphy.c.
2003-01-16 18:43:40 +00:00
matt f00ee1f0a1 Include <sys/ioctl_compat.h> when COMPAT_IBCS2 2003-01-16 18:23:36 +00:00
pk 2252ed574d mp_{pause,resume,halt}_cpus(): check for cpus==NULL. 2003-01-16 17:21:43 +00:00
pk c454f450b1 Define a MP version of callrom(). 2003-01-16 16:58:52 +00:00
pk 7d4c3f7430 Remove some accidental garbage. 2003-01-16 16:58:23 +00:00
pk 72c28f7bb7 Rename the current mp_{pause,resume}_cpus() => mp_{pause,resume}_cpus_ddb().
Implement mp_pause_cpus/mp_resume_cpus on top of the PROM services.
2003-01-16 16:57:43 +00:00
pk 58b50d0643 Read the CPU mailbox in the level 15 soft interrupt handler and respond
to idle and stop requests.
2003-01-16 16:27:48 +00:00
pk b418a6a59d Some PROMs get really uneasy if the prom_reboot() function is called
after the other CPUs have already return into the PROM through prom_cpustop().
So don't do it; try to halt the other CPUs only when an actual `halt'
is requested.

My guess in this case is that the PROM does not expect its original boot
CPU to call prom_cpustop(0), or possibly treats it as the equivalent of
a prom_halt() which is then called again by some other CPU. In any case,
the result is garbage.
2003-01-16 16:20:20 +00:00
pk f312ee5f9a What do you know.. the prom_cpu{stop,idle,resume} function appear to be
returning a success/fail flag. For now, use it to be informative.
2003-01-16 16:10:44 +00:00
scw b8b3ddc479 Add a "kernel_text" label.
Pointed out by Andrew Brown.
2003-01-16 15:52:53 +00:00
kanaoka ebd3830c6f Add support for SMC 8041TX 10/100 Ether PC Card. 2003-01-16 15:21:20 +00:00
kanaoka c3ce5c6811 Regen. Add SMC 8041TX 10/100 Ether PC Card. 2003-01-16 15:20:18 +00:00
kanaoka 424cccc1e5 Add SMC 8041TX 10/100 Ether PC Card. 2003-01-16 15:18:44 +00:00
pk 5e231ddd1c * Implement mp_halt_cpus()
* xcall: use printf_nolog()
2003-01-16 14:49:08 +00:00
pk 72286d4202 Definitions of some OBP generated CPU mailbox messages. 2003-01-16 14:43:07 +00:00
pk 26fa27a910 Fix reboot options handling; now one-letter kernel names can also be booted. 2003-01-16 11:33:21 +00:00
matt 0ccdd339c8 A small LP64 fix. 2003-01-16 09:17:01 +00:00
matt 76fda2e342 Add ISA Floppy (to be consistent with INSTALL). 2003-01-16 07:23:06 +00:00
matt 81d3f59353 Add PLATFORM_IBM_6040 2003-01-16 06:59:19 +00:00
petrov b5be66abcd Move dump_dtlb back under DDB. 2003-01-16 03:01:23 +00:00
matt 72020abb85 Add platform support for the IBM PPS Model 6040 (E) (aka ThinkPad 820). 2003-01-16 02:18:20 +00:00
simonb c018fbe68d Tidy up event counter increments a little. 2003-01-16 01:14:17 +00:00
simonb c69f520bc8 Removed unused register map; this info is now passed in with the attach
args.
2003-01-16 01:05:39 +00:00
gendalia 6fc88ea9a4 Add support for 3com 3c905CX-TX found on nForce2 MCP-T. 2003-01-16 01:02:06 +00:00
gendalia e203560afd add support for nForce2 MCP-T 2003-01-16 01:00:06 +00:00
gendalia 53ab5df4af regen after pcidevs is committed so the correct version number is embedded.
Thanks to wiz.
2003-01-16 00:45:57 +00:00
gendalia 4ae8b800fb Add 3com 3c905CX-TX and Nvidia nForce2 MCP-T ac-97, on the ASUS A7N8X Deluxe
motherboard, Chipset: NVIDIA nForce2 MCP-T
2003-01-16 00:32:46 +00:00
pk c70db21e38 lock_printf(): use vsnprintf/printf_nolog to avoid covertly using the system
log and thereby invoking scheduler code.
2003-01-15 23:11:05 +00:00
pk a5cea9e740 On Hypersparc MP machines, we need to flush the TLB after a page cache flush.
While the pmap functions take care of properly ordering cache and TLB flushes,
not all TLB flush requests are sent to all CPUs (due to per CPU pmap tracking)
while cache flushes are always broadcast.

XXX: need to investigate pmap tracking for cache flush operation as well.
2003-01-15 22:56:32 +00:00
kleink 912ab720a8 Move SIG_HOLD from <sys/signalvar.h> to <sys/signal.h>, since POSIX-2001
wants that name to be exposed.
2003-01-15 22:48:21 +00:00
bouyer 2d7b577657 When padding to URL_MIN_FRAME_LEN, memset the extra buffer space used. 2003-01-15 22:40:34 +00:00
bouyer 93ac594a91 Add a #error message asking to fix frame padding (this driver doesn't
compile anyway).
2003-01-15 22:38:59 +00:00
bouyer 194fbd836f Use a properly zero'd buffer to pad the packet to ETHER_MIN_LEN-ETHER_CRC_LEN 2003-01-15 22:35:47 +00:00
bouyer bcae687139 Zero out the NIC memory when padding packet to ETHER_MIN_LEN-ETHER_CRC_LEN
sc->write_mbuf now return len of buffer, including padding.
Tested with a PCI ne2000.
2003-01-15 22:20:03 +00:00
bouyer fddee95ba4 Ragge said this chip should autopad, so just remove the check. 2003-01-15 22:12:31 +00:00
bouyer 65856947c5 Zero out the extra space stolen from mbuf to pad packet to ETHER_MIN_LEN
XXX should it be ETHER_MIN_LEN - ETHER_CRC_LEN ?
XXX2 we assume there are enouth space in the mbuf for the padding bytes.
     But other places in the code assumes this already.
2003-01-15 22:10:25 +00:00