Commit Graph

282 Commits

Author SHA1 Message Date
reinoud
8b8ec21061 Make the NE1000/NE2000 clone podulebus driver a bit more verbose over the
chipset found on the card.
2001-09-19 22:40:17 +00:00
reinoud
7bace466ad Initial commitment of the bus_space_mmap() functions as proposed by Jason R
Thorpe as an extension to the bus_space(9) API.

Only the mainbus has a working mmap... iomd, podulebus and isa dont have
one yet. Its trivial to add the iomd and isa's memory part but am a bit
hessistant to add it without knowing its implications by heart.

Podulebus might be implemented in 32 bits EASI but otherwise its not really
transparent since there is AFAIK no function to explicitly read one byte or
so .. or is this implemented in a higher level ?

ARM26 and arch/arm32/dnard (Shark) kernels compile and RiscPC and Shark
kernels are tested and function OK.

Implications of other ARM systems like hpcarm and ebarm are propably
minimal or solved trivially.
2001-09-10 02:20:19 +00:00
rearnsha
d47e5736c8 ANSIfy function declarations and prototypes. Tidy up include files.
Minor reformatting.
2001-08-15 22:28:15 +00:00
rearnsha
0d9806035b Include sys/types.h, sys/callout.h and machine/intr.h. Don't include
sys/disklabel.h or sys/dkstat.h.
2001-08-15 20:27:46 +00:00
rearnsha
5bc2f13417 Don't need machine/io.h or machine/irqhandler.h either. 2001-08-15 20:08:46 +00:00
rearnsha
34ab61ef21 Don't include podulebus.h. Do include machine/bus.h. 2001-08-15 20:05:08 +00:00
rearnsha
ff2b83c782 New bus-independent DMA framework. Adjust asc.c for new interface
but not (yet) make use of new framework.
2001-08-14 22:58:17 +00:00
chris
9f04d8d670 A couple of tidy ups to pmap:
pmap_t -> struct pmap * in pmap.c and pmap.h
kernel_pmap -> pmap_kernel() everywhere.

Compiled and booted on riscpc and cats.
2001-07-28 18:12:43 +00:00
wiz
a9356936b4 seperate -> separate 2001-07-22 13:33:58 +00:00
bjh21
9c93fee83f Remove spurious inclusions of opt_cputypes.h. 2001-07-10 20:10:48 +00:00
reinoud
8ca7d6ec9c Initial commit for merging A7000/NC with the RISCPC in order to get _one_
bootable GENERAL kernel for the 3 machines.

This is done by integrating the ARM7500 in a better way. In various places
the IOMD ID is checked and action is taken at runtime compared to
compiletime.

The small piece of assembler that is changed now uses the flag
`arm7500_ioc_found' that is set up by iomd.c at startup. When this chip
isnt found at startup it will skip reading the ARM7500 extended IRQ
registers and wont clear them either.

The next step will be getting the mode-definition files to the bootloader.
Currently they are compiled in.
2001-07-09 21:46:19 +00:00
bjh21
260f6ffe33 Remove the old Ether3 and EtherB drivers, since the new ones seem to work fine. 2001-07-08 15:41:55 +00:00
rearnsha
471acbf74f Fix a couple of minor merge botches from the new scsipi merge.
More minor formatting tidyups.
2001-07-08 14:50:05 +00:00
bjh21
3452c0d0a3 Add PowerROM support to asc(4), csa(4), csc(4) and ptsc(4). Not tested much,
I'm afraid.
2001-07-04 17:54:18 +00:00
bjh21
b8a09ee766 Add dummy "podloader" functions on arm32, and move their declarations to the MI
header file.  This should allow MI drivers to use the podloader functions,
though obviously they'll have to be able to cope if podulebus_initloader()
fails.
2001-07-04 13:58:04 +00:00
bjh21
67ace1b581 Gratuitously make podulebusprint() more standard. It now says:
ea0 at podulebus0 slot 2: address 00:02:07:dd:ee:16, 16-bit, SEEQ 8005
eb0 at podulebus0 [ netslot 0 ]: address 00:00:a4:54:42:cb, 16-bit, SEEQ 80C04

Netslots will be dealt with later (I didn't like the idea of just printing
"slot 8").
2001-07-04 13:38:36 +00:00
bjh21
204fa6d2ef The only use of poduleirqhandler() was commented out, so remove it to
avoid confusion.
2001-07-03 20:47:23 +00:00
bjh21
659b8ab115 Separate out netslot-specific code into its own file, so that one day we can
make it optional.
2001-07-02 23:18:34 +00:00
wiz
0a600be867 receive, not recieve 2001-06-12 15:17:10 +00:00
bjh21
bfddba9825 Separate podule and netslot cases in poduleread() into separate functions,
with the correct one referenced by a pointer in the podule structure.  This is
in aid of eventually making the netslot and podulebus code a little more
separate from one another.
2001-06-08 22:38:07 +00:00
bjh21
c7a388d937 Turn "oak" into an MI podulebus driver. Tested on my new A310. 2001-05-26 17:49:46 +00:00
bjh21
e2b24925d1 Use get_bootconf_option() to find boot options, rather than home-grown
strstr()-based hacks.
2001-05-13 13:53:08 +00:00
bouyer
937a7a3ed9 Pull up the thorpej_scsipi branch to main branch.
This is a completely rewritten scsipi_xfer execution engine, and the
associated changes to HBA drivers. Overview of changes & features:
- All xfers are queued in the mid-layer, rather than doing so in an
  ad-hoc fashion in individual adapter drivers.
- Adapter/channel resource management in the mid-layer, avoids even trying
  to start running an xfer if the adapter/channel doesn't have the resources.
- Better communication between the mid-layer and the adapters.
- Asynchronous event notification mechanism from adapter to mid-layer and
  peripherals.
- Better peripheral queue management: freeze/thaw, sorted requeueing during
  recovery, etc.
- Clean separation of peripherals, adapters, and adapter channels (no more
  scsipi_link).
- Kernel thread for each scsipi_channel makes error recovery much easier
  (no more dealing with interrupt context when recovering from an error).
- Mid-layer support for tagged queueing: commands can have the tag type
  set explicitly, tag IDs are allocated in the mid-layer (thus eliminating
  the need to use buggy tag ID allocation schemes in many adapter drivers).
- support for QUEUE FULL and CHECK CONDITION status in mid-layer; the command
  will be requeued, or a REQUEST SENSE will be sent as appropriate.

Just before the merge syssrc has been tagged with thorpej_scsipi_beforemerge
2001-04-25 17:53:04 +00:00
rearnsha
8a64dad5d2 Eliminate dev->sc_xs. Simplify calls to sbicicmd. Replace
dev->sc_kv.dc_{addr,count} with dev->data{,len}.
2001-04-23 20:32:33 +00:00
rearnsha
8faae68155 Use bus_space functions for accessing SBIC registers. 2001-04-21 20:47:26 +00:00
rearnsha
348133bed4 More formatting cleanups. Disable UNPROTECTED_CSR since the code
is unsafe (can clear interrupts that we are waiting on).
2001-04-19 17:30:20 +00:00
bjh21
9411be7c80 Re-enable the old "ea" and "eb" drivers under the names "oea" and "oeb".
These shouldn't last long, but they may be useful until I hammer all the bugs
out of the new version.
2001-04-05 20:31:50 +00:00
rearnsha
d9de58f3e1 Ansify. Replace bcopy/bzero with memcpy/memset. Clean up formatting.
Clean up debug messages.  No significant functional changes.
2001-04-05 18:06:45 +00:00
chris
101035dac6 Add EtherN/EtherI card support + EtherH media auto detection support.
Based on updated patch from Mike Pumford, originally submitted in
port-arm32/8765.
2001-03-31 15:32:46 +00:00
bjh21
cbe4d910da It might be useful if I actually filled in the interrupt handle for
podulebus_irq_establish() to use.
2001-03-25 00:56:58 +00:00
bjh21
2714607c72 Add podulebus_shift_tag, which generates a bus_space_tag_t with a specified
address shift (stride).  This is necessary because many podules have standard
chips with odd address-bus wiring to allow for using LDM for
bus_space_*_multi_*().
2001-03-24 00:10:42 +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
2821b16ef4 Quick hack implementation of region ops. Not very pretty, but good enough
to get ei(4) working on arm32.
2001-03-19 23:56:45 +00:00
bjh21
4d5762c860 This file depends on <machine/io.h>. 2001-03-19 23:03:59 +00:00
bjh21
e7cc62cc44 A few #defines for the common podulebus API. 2001-03-19 22:59:13 +00:00
rearnsha
77d7115444 Spelling mistake (saftey -> safety). No functional change. 2001-03-18 18:49:37 +00:00
bjh21
614827277d Switch over to using podulebus_irq_establish(). 2001-03-18 16:58:55 +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
6c42a5d73a Move over to using podulebus_irq_establish. 2001-03-18 01:31:03 +00:00
bjh21
63059bd6dc Remove redundant sc_ih from struct ea_softc. 2001-03-18 01:30:30 +00:00
bjh21
b369fdfd44 Use podulebus_irq_establish().
To avoid complexity, don't bother with ea_irq_claim() and ea_irq_release() any
more.  This driver will be replaced with an MI one soon eough -- it just
happened to be convenient for me to test.
2001-03-18 00:00:43 +00:00
bjh21
f98a674d6d Add podulebus_irq_establish(), with the same spec as the arm26 one. 2001-03-17 23:58:43 +00:00
bjh21
697e84ed46 Update for new location of podules.h and podule_data.h 2001-03-17 20:34:43 +00:00
bjh21
e6a3d0d5c9 Move generated files from sys/arch/arm32/podulebus to sys/dev/podulebus. 2001-03-17 20:32:00 +00:00
bjh21
255336b13c Migrate known-podules list from arch/arm32/podulebus to dev/podulebus. 2001-03-17 19:05:19 +00:00
bjh21
17b6222740 Small beginnings of podulebus convergence: Have podule drivers print colons
in attach messages, rather than doing it in podulebusprint().
2001-03-17 18:46:25 +00:00
reinoud
4cb4b8642c Make it compile again... 2001-02-27 20:27:17 +00:00
reinoud
3500dc208f Centralise declaration of memc_base 2001-02-27 20:23:11 +00:00
bjh21
7b820f85da Fix to compile with current ne2000.c: ne2000_attach() now only takes two
arguments.
2001-02-13 19:17:13 +00:00
lukem
b01d829ec1 s/ea/eb/ in a couple of places 2001-01-20 02:41:19 +00:00