| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
| |
gio_id(), not the whole 32 bit first word. Some boards with a 8-bit only ID
register use the other 24 bits, sadly.
|
| |
|
|
| |
are not frame buffers. Thanks to Martin Boehme for donating such boards!
|
| | |
|
| | |
|
| |
|
|
|
| |
ECC checking disabled, which allows the existing Indigo2 drivers to run
unmodified.
|
| |
|
|
|
|
| |
IP22 family. This is just the bridge so far, as the underlying pci drivers
will need some changes to work (dc(4) does not work correctly yet, and tl(4)
needs to be bus_dma'ified).
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
recognizing a GIO device or an id-less frame buffer in a GIO slot.
Turns out that GIO32 devices (at least those with a 32-bit ID register, but
likely all of them) do NOT like accesses to the minimal GIO register area
NOT done on 32-bit boundaries. While frame buffers won't mind, especially
if their slots are pipelined.
This makes it a lot easier to tell them apart.
While there, split gio_intr_establish() into gio_intr_map(), which will return
a logical interrupt number out of a GIO slot number, and gio_intr_establish(),
which will now expect a logical interrupt number, instead of a logical slot
number. These two functions are still unused, but upcoming changes depend on
this work. (Yes, I'm too lazy to make two commits for this tonite)
|
| |
|
|
| |
GIO frame buffer drivers do.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
byte accesses to the ID register; instead of interpreting this is as a lack
of hardware, reconize this as a valid GIO device (if the `has a 32-bit ID'
bit is set, that is).
This allows GIO Impact boards, which use a 32-bit ID, to be recognized
correctly, and to work as a console device.
Commited from an Indigo2 with glass console on the single-board Impact
(MG10) board which arrived in the mail today. Would have been done even
earlier, had I not forgotten to connect the extra power supply cable to
the Impact GIO backplane...
|
| | |
|
| |
|
|
| |
consistency. Will be necessary shortly.
|
| | |
|
| |
|
|
| |
IP22 kernels. Oops.
|
| |
|
|
|
| |
time; not only do we need to match the graphics console address, but cn_tab
needs to point to wsdisplay, too.
|
| | |
|
| | |
|
| |
|
|
|
|
| |
fix this by reinstating the actual probe which got removed by mistake in the
recent gio probe and console code rework.
Found the hard way by sebastia@
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- correctly gather version information. When reading device registers is a two
step process (write address, read data), it is a very bad idea to call a
wrapper around these two operations (to read register B) between the two
operations inline (to read register A). Unless you want to know the version
information for your garbage latches, that is. Now Indy 8-bit devices
no longer get reported as 24-bit devices, and Indy 24-bit devices no longer
get reported as 8-bit devices. (not that it mattered much anyway)
- define and use symbolic constants when parsing the video mode settings to
figure out the display resolution. This code still itches, but much less now.
|
| |
|
|
|
|
|
|
| |
that it can now tell ID-less framebuffers apart correctly. Therefore, we can
use direct configuration instead of ugly games. Frame buffer drivers match
routines now only need to check for the fake ID they receive.
Tested on various newport and grtwo setups (including multihead configurations)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
bus-specific attachment; impactreg.h and impactvar.h move from sgi/xbow/ to
sgi/dev/.
Teach the generic impact code how to code with pre-ImpactSR boards, which have
a slightly different register layout (information obtained from Peter Fuerst's
Linux IP28 patches).
Add an impact@gio attachment (unfortunately untested, no Impact GIO boards
here). All Indigo 2 graphics options should be supported now (assuming the
Extreme/Ultra will actually work with grtwo(4) out of the box).
Tested not to disturb operation on IP30.
** ATTENTION! If you are building IP27 or IP30 kernels, be sure to rm impact.d
** before building a new kernel.
|
| |
|
|
|
| |
is disabled, and nothing shows up on the monitor in this case. To be
investigated later.
|
| | |
|
| |
|
|
| |
register.
|
| |
|
|
| |
files, for them to become useful.
|
| |
|
|
|
|
| |
NetBSD driver, with the infinite loops removed, the negative heights fixed,
and the explicit delay() calls removed. And support for fonts wider than
8 pixels.
|
| |
|
|
|
|
|
|
|
| |
identifier is actually the first word of the boards' shared ram, and might
have a legit value. Be sure to probe for the signature register before
deciding we have found a GIO board.
While there, if we have a glass console attached, don't bother probing it
again at autoconf time, since we have already identified it.
|
| |
|
|
|
| |
only. Ported from NetBSD, not tested due to lack of hardware, hopefully it
will be working as intended (fingers crossed)
|
| |
|
|
|
|
|
|
| |
(NG1, XL, XGE) frame buffer.
Adapted from NetBSD; newport extended to support underline and fonts wider than
8 pixels, such as the default 12x22 Gallant font. Framebuffer depth computation
seems to be wrong on Indy models, to be investigated later (but doesn't prevent
text console from working).
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
false positives.
Do not look for framebuffers past GIO EXP1, there shouldn't be anything there.
Add the console code machinery to attach a glass console on IP22, when the
appropriate drivers will exist.
On multihead systems, get console framebuffer address (well, sort of) from a
completely undocumented interface (knowledge taken from Linux, confirmed to
work on a dual-head Indigo 2 here).
While there, get frame buffer names from ARCBios whenever possible, to be used
in dmesg eventually.
|
| |
|
|
|
| |
IP20, IP22 and IP24, and provide the necessary macros to compute interrupt
vectors numbers (from the int.c point of view) from given sources.
|
| | |
|
|
|
(IP20, IP22, IP24) in 64-bit mode, adapated from NetBSD. Currently limited
to headless operation, input and video drivers will get ported soon.
Should work on all R4000, R4440 and R5000 based systems. L2 cache on R5000SC
Indy not supported yet (coming soon), R4600 not supported yet either (coming
soon as well).
Tested to boot multiuser on: Indigo2 R4000SC, Indy R4000PC, Indy R4000SC,
Indy R5000SC, Indigo2 R4400SC. There are still glitches in the Ethernet driver
which are being looked at.
Expansion support is limited to the GIO E++ board; GIO boards with PCI-GIO
bridges not ported yet due to the lack of hardware, and this kind of driver
does not port blindly.
Most of this work comes from NetBSD, polishing and integration work, as well
as putting as many ``R4x00 in 64-bit mode'' erratas as necessary, by yours
truly.
More work is coming, as well as trying to get some easy way to boot install
kernels (as older PROM can only boot ECOFF binaries, which won't do for the
kernel).
|