Date: Thu, 28 Dec 1995 11:40:58 +0100 (MET) From: sos@freebsd.org To: msmith@atrad.adelaide.edu.au (Michael Smith) Cc: jkh@time.cdrom.com, msmith@atrad.adelaide.edu.au, jdli@linux.csie.nctu.edu.tw, freebsd-hackers@freebsd.org Subject: Re: syscons driver Message-ID: <199512281040.LAA11991@ra.dkuug.dk> In-Reply-To: <199512280441.PAA01069@genesis.atrad.adelaide.edu.au> from "Michael Smith" at Dec 28, 95 03:11:03 pm
next in thread | previous in thread | raw e-mail | index | archive | help
In reply to Michael Smith who wrote:
>
> Jordan K. Hubbard stands accused of saying:
>
> > From the achievement standpoint, it's not been that bad. The major
> > criticism of it seems rather to be that it's insufficiently general -
> > you need a low level shim written for each type of gfx card chipset.
>
> Agreed, although I suspect that you can tell it to assume a 'generic'
> VGA interface.
This is exactly my standpoint, syscons is able to set all "generic"
video modes, and I'm not, repeat NOT, going to support anything else
it would be a support nightmare of huge magnitude...
> > Given the speed at which new video cards are appearing on the market,
> > I can easily see serious disadvanges to this and would much prefer an
> > API that let me talk to *any* "Generic VGA" card at 640x480
> > resolution. I'm not sure if that's possible with syscons, but it'd
> > certainly be the goal to shoot for. Anything else is just signing
> > up for a long-term pain in the butt.
>
> You certainly can kick syscons into any of the majorish video modes :
> (from <machine/console.h>)
>
> #define M_VGA11 26 /* vga 640x480 2 colors */
> #define M_BG640x480 26
> #define M_VGA12 27 /* vga 640x480 16 colors */
> #define M_CG640x480 27
> #define M_VGA13 28 /* vga 640x200 256 colors */
> #define M_VGA_CG320 28
> ...
> #define SW_VGA11 _IO('S', M_VGA11)
> #define SW_BG640x480 _IO('S', M_VGA11)
> #define SW_VGA12 _IO('S', M_VGA12)
>
> I would presume that there's some way of mapping the console video memory
> into the process's address space, or alternatively it would be neccessary
> to implement an ioctl to copy regions back and forth (yucky).
There is, you just mmap 0xa0000 and 64Kb forward :)
There is much more to come this way, I'm bashing at it right now :)
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Soren Schmidt (sos@FreeBSD.org) FreeBSD Core Team
So much code to hack -- so little time.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199512281040.LAA11991>
