bjh21
1d4ae5d285
Use int_off_save and int_restore rather than int_off and int_on.
2001-08-20 23:28:05 +00:00
bjh21
13f36f67c6
Don't initialise a podule's loader multiple times.
2001-08-20 23:09:12 +00:00
bjh21
a3119c10de
Report link status correctly for 10BASE-T.
2001-08-11 20:42:45 +00:00
bjh21
beb2e3fe5d
Cast size_t argument appropriately for printf format.
2001-08-10 18:51:06 +00:00
bjh21
7a42a10e95
Gratuitous spelling corrections:
...
10base2 -> 10BASE2
10baseT -> 10BASE-T
10baseFL -> 10BASE-FL
2001-06-28 23:01:55 +00:00
bjh21
5dc1e8334c
Fix abuse of bus_space_handles in podloader functions.
2001-06-14 23:09:23 +00:00
bjh21
ca5de264b4
Change the structure of a bus_space_handle_t in a desperate bid to avoid using
...
function pointers. It now contains two base addresses, one for 8-bit
transfers and one for 16-bit transfers. This should make it possible for me
to handle the Castle EtherSCSI card, which uses and address line to select
transfer width to the i82595.
2001-06-12 20:16:22 +00:00
bjh21
bd73477f94
Parentheses around definition of PODULE_GAP.
2001-06-11 19:07:14 +00:00
bjh21
ca2047f7c6
Adapt the dtide driver to the MI podulebus framework, and move it to its new
...
home. It still doesn't actually work, but that's a SMOP.
2001-06-08 20:13:24 +00:00
bjh21
e66c66730e
Remove <arch/arm26/podulebus/podulebus.h>. Podulebus driverd now include
...
<dev/podulebus/podulebus.h>.
2001-04-19 13:47:07 +00:00
bjh21
e0e3b230c1
Remember to initialise the interrupt handle.
...
Bugs like this are my penalty for having my only supported podule in slot 0.
2001-04-14 18:39:20 +00:00
bjh21
d039e70428
Remove the "asc" driver. It's never worked, and we should have an MI version
...
sometime.
2001-04-10 21:33:00 +00:00
bjh21
8bd452c648
Create an MI Ether3 driver. It's derived from the arm26 driver, which uses
...
my MI SEEQ 8005 driver, which is based on the arm32 ea driver.
2001-03-24 00:14:52 +00:00
bjh21
86d6442c28
Move machine-dependent podulebus headers to <machine/podulebus_machdep.h>.
...
<dev/podulebus/podulebus.h> is the canonical file to include, and includes
<machine/podulebus_machdep.h>.
<arch/${MACHINE}/poudulebus/podulebus.h> remains for backward compatibility.
2001-03-20 22:59:39 +00:00
bjh21
0fe2c0aedc
These have moved to sys/dev/podulebus.
2001-03-20 00:13:16 +00:00
bjh21
1c300d3ee8
Make pa_*_base bus_addr_ts.
2001-03-19 21:03:47 +00:00
bjh21
5c98fe3fec
Gratuitous change of signature for podulebus_irq_establish(). It now takes
...
an opaque podulebus_intr_handle_t, which can be found in podulebus_attach_args.
It's actually the slot number, but don't tell anyone.
2001-03-18 15:56:04 +00:00
bjh21
16198f2b92
Podulebus convergence:
...
pa_memc_[th] -> pa_mod_[th]
Add pa_easi_*
Add pa_*_base
Add pa_slot_flags to indicate whether EASI is supported.
2001-03-17 21:56:06 +00:00
bjh21
697e84ed46
Update for new location of podules.h and podule_data.h
2001-03-17 20:34:43 +00:00
bjh21
29e609e3c5
Update for recent changes to the i82586 driver.
2001-03-10 22:32:17 +00:00
bjh21
4acea3a8cc
Don't do arithmetic on void *s.
2001-02-17 19:04:36 +00:00
bjh21
f942342607
Fix a typo in the last change (eh_init_media -> eh_media_init).
2001-02-13 18:20:57 +00:00
thorpej
043e519d55
Adjust the way that media is initialized on DP8390-compatible
...
chips. The dp8390_softc now has media_init and media_fini
function pointers that do the work.
2001-02-12 18:49:03 +00:00
bjh21
3c3ed6cecd
Flush out cf_unit abuses.
...
Also, most device functions related to IRQ handling no longer take a device
pointer. We make so many assumptions about the machine's layout in irq.c that
this just seemed silly.
2001-01-23 23:58:31 +00:00
bjh21
f32fc0fc90
Use evcnts properly for interrupt counting.
...
The architecture here follows that of the vax port -- each device has its
evcnt in its softc, but defers actually incrementing it to the IRQ
dispatcher. This way, devices can attach sub-counts (e.g. Rx and Tx counts
for Ethernet interfaces), but don't all have to have code to increment the
counters.
Drivers deliberately call evcnt_attach_dynamic() before establishing their
interrupt handler so that the establish routine can attach a parent event if
that's appropriate. At present, it isn't.
2001-01-23 22:07:59 +00:00
bjh21
fe3273fbb4
Patch from PR kern/8001, submitted by Rafal Boni.
...
This adds support for EtherExpress/16 cards with 16k of RAM, and in the
process adds general support for PIO mode on these cards. This entails
changing the way the i82586 driver handles bus barriers, since it doesn't
allow for strange cases like this.
This has been tested on the i386 port with the 'ix' driver in both
16KB (which was the source of the problem) and 32KB modes, as well
as with the 'ef' driver. I've tested it (briefly) with 'ei' on arm26
as well. In theory, drivers other than 'ix' should follow precisely the
same code paths as before.
2001-01-22 22:28:43 +00:00
bjh21
d74ad44e33
Document format of various chunk types.
2001-01-12 00:13:26 +00:00
bjh21
2b076072d3
Add a "name" argument to irq_establish and friends, in imitation of arm32.
2001-01-07 15:56:01 +00:00
bjh21
610a127a3d
Fix a stupid = vs == bug that prevented the code working usefully at all.
...
While I'm here, fix all the other GCC warnings too.
2001-01-07 00:30:29 +00:00
bjh21
fa64805abd
Specify (void) arguments, hence avoiding GCC warning.
2001-01-07 00:07:58 +00:00
bjh21
5568314c66
Since the Arc's interrupt layout is fixed, only print IRQ numbers in
...
verbose mode. This helps to ensure the kernel version number doesn't disappear
too quickly.
2000-12-23 21:49:13 +00:00
bjh21
0c0d8f3775
Support for identifying MAUs attached to EtherLan 200-series cards.
2000-12-22 22:21:37 +00:00
bjh21
15d214bd18
Looks like I got the state of the link-detect bit inverted. Fixing that
...
gets me working auto-media selection, which is nice.
2000-12-20 23:08:44 +00:00
bjh21
9ca53819f0
Actually use 10baseT when we say we will.
2000-12-20 22:48:15 +00:00
bjh21
f8e732cd45
Use the podule loader code to get at the card description the official way,
...
and get our Ethernet address from there. This works on both of my cards.
2000-12-20 10:59:32 +00:00
bjh21
b66603547a
Add support for using RISC OS podule loaders to get at ROM chunks on podules.
...
By default, they aren't used, since most cards seem to put the non-OS-dependent
stuff in the main chunk directory. i-cubed cards are a notable exception.
2000-12-20 10:57:38 +00:00
bjh21
5b4c3dc909
Disable media autoselection entirely, but use whatever medium the card was
...
found using (presumably having been set up by RISC OS) as the default.
NB that this doesn't seem to be right for the EtherLan 200.
2000-12-20 00:01:56 +00:00
bjh21
c25ab2f1ec
Rudimentary facilities for extracting the card's Ethernet address from the
...
ROM. Only works on one of my two cards, though. It looks like we'll need
to use the RISC OS loader on the podule to get this right. *mutter*
2000-12-18 00:46:47 +00:00
bjh21
4942923809
Handle detecting the available media and state of medium selection links
...
on EtherLan 100 (and presumably 500) boards.
2000-12-17 22:29:26 +00:00
bjh21
72735aa75a
Correct embarrassing null-pointer-dereference bug. Also fixes interrupt
...
enabling.
Default to 10base2 for now, since automatic media selection doesn't work.
2000-12-16 18:24:36 +00:00
bjh21
3ebcd51009
I think bit 0 of the status register is the interrupt status on read.
2000-12-16 18:23:14 +00:00
bjh21
e266a563d8
Filter out non-ASCII characters from podule descriptions.
...
I think my MIDI card had a \r at the end, which was confusing.
2000-12-14 20:40:29 +00:00
bjh21
38d918f85f
Proper support for the Unix backplane in those machines that have one.
...
Not very well-tested, but it seems to work.
2000-12-09 17:52:44 +00:00
bjh21
cb5273b547
First attempt at an EtherH driver. Can just about transmit and receive
...
packets. Interrupt enabling is left to the RISC OS driver, medium selection
is untested and it's hard-wired to the MAC address of my card. Not really
for production use.
2000-12-01 14:28:36 +00:00
bjh21
7270db5ec0
Change to semantics of irq_establish: IRQs are now enabled by default, which
...
I think is the same as all other ports.
2000-10-14 23:41:01 +00:00
bjh21
f3ef35c447
Add rudimentary 80C04 support (basically saying "Oh look, an 80C04!").
...
Move printing the initial ":" into the board driver, like i82586.c does.
Don't bother printing the amount of RAM, as it's always 64 KB.
2000-09-21 22:20:38 +00:00
bjh21
40aba7cd4d
Split the arm26 Ether3 (ea) driver into an MI driver for the SEEQ 8005 chip,
...
and a front-end driver for the Ether3. Only semantic change is to remove
ea_claimirq() and ea_releaseirq() on the grounds that the seem too spurious
to warrant a callback to the front-end.
2000-09-18 20:51:14 +00:00
bjh21
6e3e3a755d
Don't include <machine/spl.h> any more.
...
Include <machine/intr.h> everywhere than uses spl(9) functions.
2000-08-22 21:22:48 +00:00
bjh21
ba6517aa9c
Adjust register spacing to take A0 into account. This should make supporting
...
8-bit uses of the 8005 (such as, I suspect, 8-bit Ether3 cards) easier.
2000-08-20 13:43:23 +00:00
bjh21
5317f1db63
General cleanup and factoring out of common code in ea_readbuf and ea_writebuf.
2000-08-12 18:18:52 +00:00