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>