Commit Graph

860 Commits

Author SHA1 Message Date
rumble
9f443e25a4 Remove braces from non-optional arguments in usage. 2006-12-30 18:25:30 +00:00
rumble
be99e9b07a Fix typo in comment. 2006-12-30 16:57:45 +00:00
rumble
fd144d2f8a Add -p command to usage. 2006-12-30 06:10:38 +00:00
rumble
3fa14b5d00 Add some items for myself. 2006-12-30 03:17:35 +00:00
rumble
b469bdeb5a Tweak comments. 2006-12-29 07:15:01 +00:00
rumble
e9e4c3f030 Change printing such that our 'timecounter:' message gets its own line on
IP12.
2006-12-29 07:06:19 +00:00
rumble
4713534bc9 Move the mips1_clock_intr handling into int.c where it belongs. 2006-12-29 07:00:11 +00:00
rumble
0cc003109f Add i8254 timecounter support for use on IP12.
Now pings aren't 0.000 ms anymore.
2006-12-29 06:52:01 +00:00
rumble
1426ceeded IP12 (and perhaps other systems) appear to be buggy and incapable of
reliably supporting badaddr(). False negatives appear to occur
approximately 1.8 percent of the time, although neither false positives
nor consecutive false negatives occur. We take advantage of the latter
property and always use a wrapper that makes multiple checks.

My IP12 no longer sees occasional ghost devices and related panics during
boot.
2006-12-29 05:26:30 +00:00
rumble
eb755ecb24 Enable light(4). 2006-12-29 00:42:01 +00:00
rumble
163b9bb1ca Rework GIO probing a bit.
Devices present on the GIO bus needn't always provide a Product
Indentification Word, even if their address space is the same as the
address space of a slot. Separate the handling of probing for slot-based
devices and graphics devices, matching the latter first, and precluding
addresses probed for the former when a graphics device is known to exist
in a slot's space.
2006-12-29 00:41:11 +00:00
rumble
627a4f61bc Actually probe for the device when matching. 2006-12-29 00:31:48 +00:00
rumble
b8c7e16b6c Update a comment and note the SetEng workaround. 2006-12-29 00:04:20 +00:00
rumble
860011e433 Only probe on known supported base addresses. 2006-12-28 22:10:05 +00:00
rumble
210fcff558 Do not rely on the Product ID Word to be 0x04 since there is no such
thing for graphics options. Since we're removing this, ensure that we can
read the probe registers before proceeding.
2006-12-28 22:08:04 +00:00
rumble
fe6d50f4ad Check the return value of gio_cnattach as it can fail despite what the
PROM says we should do.
2006-12-28 18:32:08 +00:00
rumble
d7e1303681 Permit mmap, improve register definitions, disable the hardware cursor, and
other minor nits.
2006-12-28 16:33:49 +00:00
rumble
c4ba13a80c Sprinkle static. 2006-12-28 16:19:14 +00:00
rumble
c77d82ad5f Handle fpu interrupts (MIPS interrupt 0) on IP12. 2006-12-28 16:15:11 +00:00
rumble
ca581a2f34 Catch and report bus errors. 2006-12-27 15:56:26 +00:00
rumble
63c6a08fb6 Specify the member names of struct platform for clarity. 2006-12-27 07:45:11 +00:00
rumble
d1139b199f zskbd is unit 0, not 1. 2006-12-26 19:29:00 +00:00
rumble
0887b4b60e Make backspace and control keys work.
XXX: Why does KS_BackSpace not do what we want? We're copying pckbd now...
2006-12-26 17:37:22 +00:00
rumble
78f4031e6d Bring in support for the SGI Light/Entry/Starter LG1/LG2 framebuffers
found in Indigo systems.
2006-12-26 04:28:16 +00:00
rumble
21e8e22085 Add zskbd console attachment. 2006-12-24 03:57:44 +00:00
rumble
b830d82e42 The Set Engineering workaround is now set as a proplib entry in
sgimips/autoconf.c.
2006-12-24 02:07:29 +00:00
rumble
b4c47cf7f7 Set the DMA page boundary property for the Set Engineering GIO Fast
Ethernet board.
2006-12-24 02:05:55 +00:00
rumble
90e37dd7fb The Set Engineering board now works, so enabled it with the appropriate
workaround option. Also, add 'tlphy' to keep the dmesg tidy (it's unused).
2006-12-23 21:30:42 +00:00
rumble
86f754de17 Permit sq(4) to attach to secondary HPCs, enabling support for the E++
GIO adapters and the secondary ethernet on the Challenge S (untested).
2006-12-23 21:25:51 +00:00
rumble
75aae500a9 Prefix 'dma_data{in,out}_cmd' with 'scsi_', since that's what they're used
for. Also, remove the 'clk_freq' variable, since this value differs on a
per-platform (IP12 is 20MHz, others are 10MHz) basis.

NB: I have no idea what frequency the GIO SCSI cards use. We'll have to
    re-investigate this if we ever come across one.
2006-12-22 23:36:42 +00:00
rumble
ee970eec94 Remove errnoneous register definitions and rename some to be more specific.
Also, remove unused/invalid fields in our hpc revision abstraction and
be sure to zero entries when they do not apply to a specific revision.
2006-12-22 23:25:28 +00:00
rumble
b1d3f5ef52 Use SGIMIPS_BUS_SPACE_HPC, rather than hard-coding it. 2006-12-22 23:09:14 +00:00
rumble
5ecb2874d8 Determine if we've an onboard HPC. If not, we must set up the bus arbiter
appropriately. We may need to do further work to get the IOPLUS mezzanine
devices working as well.
2006-12-22 23:08:22 +00:00
rumble
905fd33243 s/Challenge-S/Challenge S/ and fix an incorrect comment. 2006-12-22 22:42:47 +00:00
rumble
15065b7e7b Break our list of HPC devices into HPC1 and HPC3 variants. This cleans up
the list a bit and avoids Challenge S from using the HPC1 offets for its
HPC3-based secondary ethernet on the IOPLUS mezzanine board.
2006-12-22 22:38:42 +00:00
rumble
a295ad6c89 Revert the change to using objcopy in 1.9. Our present objcopy solution
results in unbootable ecoff kernels ("malloc_type_attach: bad magic"
panic). Maybe this could be fixed with appropriate flags, but elf2ecoff
produces working ecoff kernels and ecoff bootloaders, which was the reason
for the switch in the first place.
2006-12-22 21:07:52 +00:00
rumble
79cd03d3ea Indigo and Indigo2 machines have only one shared interrupt for the two
GIO slots. This differs from Indy, which has an interrupt per slot, neither
of which is the same as on the other two machines.

This lets my Phobos G160 run in both slots in my Indigo2 and my E++ adapter
works in both slots in my Indigo.
2006-12-22 20:29:18 +00:00
rumble
e42e4bd92a EEPROM and LED controls occupy the same byte. Unify them again. 2006-12-22 08:35:46 +00:00
rumble
121e1e9bfa Provide attaching hpc devices with the eeprom contents, should a chip be
connected to the HPC. The only real reason for doing this is to get the
mac addresses off of E++ ethernet boards and the Challenge S IOPLUS board.
If no eeprom is present, we read in invalid data and take some default
action (query ARCBIOS).
2006-12-22 08:17:14 +00:00
rumble
5e86516f78 Sprinkle static. 2006-12-22 05:26:01 +00:00
rumble
b8f12e0261 Rework detecting the HPC revision. In most cases we can presume what it is
based on mach_type (or at least know the major revision). The only case we
really need to concern ourselves with is differentiating between HPC1
and HPC3 on IP22. Specifically, between a HPC3 on the Challenge S IOPLUS
board and a HPC1.5-based adapter in an Indy.
2006-12-22 05:08:56 +00:00
rumble
fe14643cc2 Fix previous by including the necessary header. 2006-12-22 01:36:24 +00:00
rumble
d5df315486 Remove superfluous extern declarations; they're already in the headers. 2006-12-22 01:34:20 +00:00
rumble
af1144f245 Guiness -> Guinness. 2006-12-22 01:32:37 +00:00
rumble
2ae0b89234 Codenames for IP12 and IP20. 2006-12-22 01:26:44 +00:00
yamt
8bf7662829 merge yamt-splraiseipl branch.
- finish implementing splraiseipl (and makeiplcookie).
	  http://mail-index.NetBSD.org/tech-kern/2006/07/01/0000.html
	- complete workqueue(9) and fix its ipl problem, which is reported
	  to cause audio skipping.
	- fix netbt (at least compilation problems) for some ports.
	- fix PR/33218.
2006-12-21 15:55:21 +00:00
scw
e07faf8a74 Replace the myriad copies of bounds_check_with_label() with a single MI
version.

Add disk_blocksize(9) so that disk drivers can record the physical
block size of a disk if it is different to DEV_BSIZE. Right now this
simply initialises dk_blkshift and dk_byteshift according to the
supplied block size. This information is used in the MI version of
bounds_check_with_label().
2006-11-25 11:59:55 +00:00
wiz
6919c6578c s/independant/independent/, from Zafer. 2006-11-24 22:04:21 +00:00
tsutsui
44e83481b7 Defer _spl0() or _splnone() calls (which enable hardware interrupts)
from cpu_configure(9) to cpu_initclocks(9) on mips ports which use
mips3_clockintr.c:mips3_clockintr() (i.e. CPU INT5 clock) to avoid
hardclock(9) before softclock interrupt is initialized in initclocks().
This should be harmless because initclocks() is a part of configure()
in these days and there is no MI function which expects hardware
interrupts between cpu_configure(9) and cpu_initclocks(9).

Disccussed on tech-kern and port-mips.
2006-11-17 21:01:03 +00:00
plunky
57c0199dcf Tidy away wsmouse_input() abstractions and update
documentation to include the W direction.
2006-11-12 19:00:42 +00:00