Re: GGI, EGCS/PGCC, Kernel source (amusing thread :)

teunis (
Mon, 2 Mar 1998 16:24:45 -0700 (MST)

On 2 Mar 1998, Jes Degn Soerensen wrote:

> >>>>> "Teunis" == teunis <> writes:
> Teunis> Neither card is safe from userspace FWIW, and S3-ViRGE/GX has
> Teunis> a nasty tendency to crash under XFree86 for me...
> Doesn't the ViRGE allow you to access everything from the mmio area?

Noone ever claimed it was safe or stable (it's not either - but it's far
more stable than the Trio64V+).

Please remember that the current linux assumes videomemory is located in a
conventional location (absolute A0000 or B8000).

Once you enter MMIO neither of these addresses are valid. And the text is
now 8 bytes per character rather than 2. (had to learn that through trial
and error - it's not documented). Also font programming is completely

Basically a whole new console-renderer has to be implemented for the
S3-Trio64V+, S3-Aurora64V+, and S3-ViRGE (and descendants). These cards
are largely intercompatible but kinda complex.

And a last comment - if it's not already obvious. It takes one _READ_
from the wrong area to crash some cards (Diamond S3's for example), and a
wrong write to an MMIO card will nuke your system temporarily. AFAIK you
can't burnout your videocard by misprogramming it though (they're
protected). The same is not true for your monitor.

GGI is for security FWIW. Don't give XFree86 as an example (look up the
security hacks if you're curious), and definitely don't give svgalib as an
example.... and there's no _SECURE_ way to access the hardware in such a
way as to prevent system crashes without building custom drivers.

Incidentally, Linux's current console isn't all that secure - but it's
easily recoverable under a crash (or misprogrammed font).

Oh - and one last note. To program MMIO mode, you have to reprogram the
cards' PCI registers. Is there a safe way to do this under linux without
doing it in a kernel driver? Just curious....
(I lost ~30 megs data by programming the PCI card without first doing
CLI/STI. And there's no equivalent locking method for SMP in userspace...)

G'day, eh? :)
- Teunis

PS: This is the last I'm going to have with this thread until GGI hits
releasable stage.... (prolly sometime after linux-2.3 appears).

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to