sekiya
5ca2e0b59c
Completely remove IP2X and IP32, which renders opt_machtype.h obsolete.
2004-01-19 03:26:14 +00:00
sekiya
cfc3bade55
Attach the com and mcclock devices only if the machine is an IP32.
2004-01-19 00:30:17 +00:00
sekiya
3791a9994b
g/c obsolete function.
2004-01-19 00:19:36 +00:00
sekiya
90448f3f3f
Attach int0 at mainbus (precedent being the ip32 CRIME device, which handled
...
interrupts and timer calibration yet is also attached at mainbus).
Introduce the INDY_R4600_CACHE config option, which more accurately describes
the code enabled by this option.
This renders #ifdef IPxx completely obsolete, thus we theoretically can unify
the GENERIC files if a workable load address relocation scheme can be found.
2004-01-19 00:12:31 +00:00
sekiya
6ce242b753
Keep chip revision and EISA information on same line as attach information.
2004-01-18 13:11:18 +00:00
sekiya
6f76c4237a
ANSIfy, de-__P(), add a little glue for IP12.
2004-01-18 13:00:05 +00:00
sekiya
6feffff053
Properly disable watchdog timer.
2004-01-18 12:18:57 +00:00
sekiya
bc71fd3468
Remove another #ifdef IP32
2004-01-18 04:43:42 +00:00
sekiya
5aea276a37
Add files.dev and files.mace
2004-01-18 04:07:17 +00:00
sekiya
63b59c4db4
Following the example of the hpc/, gio/, and ioc/ directories, move the
...
mace devices to their own mace/ directory. Alter conf/files.sgimips to
reflect this change in a sane manner (i.e., pull in dev/files.dev and
mace/files.mace when appropriate).
At the same time, allow crime_intr_establish() to fall through to
mace_intr_establish(). mace devices now call cpu_intr_establish().
2004-01-18 04:06:42 +00:00
sekiya
590daf63b8
Nuke two more instances of #ifdef IP32.
2004-01-18 01:00:48 +00:00
sekiya
06419e6abe
ip2x.c and ip32.c are no more.
2004-01-18 00:55:26 +00:00
sekiya
23020fc3cf
Finish moving code between ip2x.c and ip3x.c to imc.c and crime.c.
2004-01-18 00:54:55 +00:00
sekiya
90ed8dc85b
Add more platform hooks in platform struct.
2004-01-18 00:53:49 +00:00
sekiya
f754464233
Do not directly reference crime_*() routines, go through the platform
...
struct pointers instead.
2004-01-18 00:50:08 +00:00
sekiya
7f7429081d
Large rototill of the lowlevel code:
...
* move all device-specific bitbanging to the device drivers in question --
i.e., the ip32 init code doesn't access the CRIME registers directly but
instead trusts the CRIME driver to DTRT. machdep.c is cleaner thereby.
* introduce int.c, which handles the interrupt-controller goo formerly
in ip2x.c.
* unify the CPU interrupt handler, with CRIME, INT2, and the various timer
handlers hooked in via pointers in the platform struct.
* eliminate ip2x.c and ip32.c. After the interrupt handler cleanup, the
actual platform-dependent code was so minimal (rev identification, mask level
initialization) that it made sense to move it into machdep.c
* "#ifdef DEBUG printf("foo"); #endif" becomes aprint_debug.
Tested on my ip22 and ip32. Discussed with pooka@, rafal@.
2004-01-18 00:47:21 +00:00
pooka
6e2ad2392e
Remove historic remnant that treated the O2 load address as the
...
sgimips standard. Define it in the respective config file.
2004-01-15 08:53:42 +00:00
pooka
60b4d7ab8d
Replace prehistoric comment "Indy" with something a bit more current
2004-01-15 08:46:31 +00:00
pooka
f78de077a8
The O2 has a PCI slot, add opencrypto.
...
Brush up some comments a bit while in here.
2004-01-15 08:45:12 +00:00
sekiya
58a060c797
Assign memory controller-dependent watchdog reset functions to
...
platform.watchdog_reset.
2004-01-13 14:31:37 +00:00
sekiya
986c9703a5
Switch DMA sync function initializer to _bus_dmamap_sync_mips3 to keep things
...
aligned with previous MIPS1/MIPS3 differentiation.
2004-01-13 14:30:43 +00:00
sekiya
4598391267
The watchdog timer is a function of the memory controller on all SGI platforms.
...
Add to the machine struct.
2004-01-13 14:18:56 +00:00
sekiya
ffc95bbe6e
As the platform-specific bus reset routine varies based on the memory
...
controller used, set it in the memory controller driver rather than the
platform init code.
2004-01-13 13:05:17 +00:00
sekiya
e5d4293223
Call sgimips_bus_dma_init() in mach_init to set up the proper MIPS1/MIPS3
...
bus_dma_sync() routine.
2004-01-13 12:57:24 +00:00
sekiya
9c531ea057
Add IP12 subtypes. From Steve Rumble.
2004-01-13 12:30:23 +00:00
sekiya
8507d232d3
Add a call to ip1x_init().
2004-01-13 05:51:07 +00:00
sekiya
a72de90260
Implement bus routines for MIPS1 processors. Originally from Steve Rumble,
...
massaged by pooka@.
2004-01-13 05:47:09 +00:00
sekiya
95e98b18f7
Back out hasty previous commit -- bitwise arithmetic does not always match
...
integer arithmetic, as demonstrated in this case.
2004-01-12 12:50:07 +00:00
sekiya
1c3c44683b
Wrap more mips3_ operations in MIPS3 defines.
2004-01-12 12:32:00 +00:00
sekiya
67770bc1a4
Add pic attached at mainbus (for IP12).
2004-01-12 12:15:05 +00:00
sekiya
e0c8a0088c
mips3_* functions aren't available when MIPS3 is not defined, so provide
...
MIPS1 workalikes (which, for the _8 routines, discard the top 32 bits).
2004-01-12 12:12:24 +00:00
sekiya
09d9a0fb59
Add pic (memory controller for IP12) driver. Originally written by
...
Steve Rumble, with mostly stylistic changes by myself.
2004-01-12 12:07:06 +00:00
sekiya
f04e7368ea
Completely commit to bitwise operations. Instigated by simonb@
2004-01-12 11:53:31 +00:00
sekiya
a02b828c6e
Change one more multiplication to a bit shift. Pointed out by pooka@.
2004-01-12 11:30:24 +00:00
sekiya
74e150c7b1
CRIME revision 1.1 has a bug that affects PIO operations to/from the MACE.
...
The recommended workaround is a 5-10ms delay before and after accesses.
Therefore, move the affected bus_space_* operations from bus.h to bus.c
and special-case MACE accesses.
CRIME accesses are not affected, so introduce SGIMIPS_BUS_SPACE_CRIME and
use it as the CRIME tag.
My ip32 seems a little bit happier with this change, and my ip22 didn't
notice the change.
2004-01-12 03:30:51 +00:00
sekiya
bb9d36c069
ANSIfy, and change a multiplication operation to a bit-shift.
2004-01-12 03:26:08 +00:00
sekiya
c7e23cc3fe
Checkpoint if_mec work (just in case I get hit by a bus). This driver is still
...
not operational. The MII code mostly works, DMA data structures are defined
and allocated, but tx/rx logic is missing.
2004-01-11 14:01:46 +00:00
sekiya
69911c67f2
Reinstate symbolic device names -- I completely forgot about their use.
...
Reminder courtesy soren@
2004-01-11 01:48:46 +00:00
sekiya
f3a4be9263
Bus-spacify ip2x core logic. Eliminate magic numbers.
...
co
2004-01-10 05:22:09 +00:00
sekiya
aa7367bc4b
Add register definitions for INT2 interrupt controller.
2004-01-10 05:16:57 +00:00
sekiya
280b50a365
Add watchdog and bus error handling functions (these features live in
...
IMC space, thus should be handled here rather than in ip2x.c)
2004-01-10 05:00:50 +00:00
sekiya
60573f92d1
Clean up console device selection logic.
2004-01-10 03:18:23 +00:00
sekiya
937db2de33
de-__P, sprinkle some KNF.
2004-01-10 02:55:54 +00:00
sekiya
c370623a7a
Add framework for gio card identification based on product ID. devlist2h.awk
...
was borrowed from sys/dev/pcmcia.
2004-01-10 02:26:44 +00:00
sekiya
b8166ca397
bootinfo is problematic on ip2x under certain circumstances. Disable for now.
2004-01-03 10:29:37 +00:00
sekiya
5b343c479b
Streamline bootinfo logic.
2004-01-03 10:28:18 +00:00
lonewolf
d6fda0fcbb
Rework the memory detection routine to handle cases where kernel doesn't
...
fit inside one memory chunk.
Leave 1 page before kernel untouched as that's where our initial kernel
stack before we switch to proc0 stack is (fixes boot problems on my Indy
with small kernels).
2004-01-03 04:26:34 +00:00
sekiya
a1f8b0618b
Wire down zsc/zstty mapping and add commented-out entries for
...
IP20 keyboard/mouse.
2004-01-02 01:39:25 +00:00
sekiya
aa9d797070
IP20 has two z8530 chips -- one at 0xd00 for keyboard/mouse, one at 0xd10
...
for serial ports. Attach the former as zs1 to keep serial console goo as
simple as possible.
2004-01-02 01:04:46 +00:00
sekiya
f2bccdeea4
Add trailing newline. Noticed by Steve Rumble.
2004-01-02 00:41:23 +00:00