*BSD News Article 19581


Return to BSD News archive

Path: sserve!newshost.anu.edu.au!munnari.oz.au!news.Hawaii.Edu!ames!agate!howland.reston.ans.net!europa.eng.gtefsd.com!uunet!mcsun!news.funet.fi!klaava!klaava!not-for-mail
From: lukka@klaava.Helsinki.FI (Tuomas J Lukka)
Newsgroups: comp.os.386bsd.development
Subject: Re: V86 mode & the BIOS (was Need advice: Which OS to port to?)
Date: 16 Aug 1993 14:44:55 +0300
Organization: University of Helsinki
Lines: 29
Message-ID: <24nrvn$3vc@klaava.Helsinki.FI>
References: <hastyCBLnIF.Cyq@netcom.com> <kjb.745145142@manda.cgl.citri.edu.au> <1993Aug13.042831.15754@fcom.cc.utah.edu> <108738@hydra.gatech.edu>
NNTP-Posting-Host: klaava.helsinki.fi

In article <108738@hydra.gatech.edu> gt8134b@prism.gatech.EDU (Howlin' Bob) writes:
>In <1993Aug13.042831.15754@fcom.cc.utah.edu> terry@cs.weber.edu (A Wizard of Earth C) writes:
>2048x1536 mode offered by your new ZGA card?  Well, you can 
>(hopefully) get the programming information from the vendor, put together
>an LKM with the mode setting magic, and simply add a new mode to your X
>server's mode list.  Now, let's say it's a command-oriented card,
>like the S3.  IN fact, it's worse than that: you have no access
>to the video memory except through commands.  Insert any other
>VGA-incompatible card architecture here, but the point is that
>by the time you've added all the primitives needed to effiently use 
>it (get/put pixel, get block of video ram, put block of video ram,
>circle, square, palette, etc) you've written a fairly large kernel
>service.  Don't forget that these operations must be supported
>on *all* the cards.  So, you have to write the circle,square, etc.
>code for all the cards.  
>
>That's a little too complex for my kernel, thank you.

Except that the modules could be made on a plug-in basis: get the 
kernel, get the correct video module for your card, untar and compile.

It all doesn't need to be in the kernel if one's not using it... 
also, a user-space interface might be reasonable enough, and also 
lessening non-pageable memory: a special device, and an ioctl that hangs
until a mode change is needed.

This way, all the duplicated code would be avoided.

	Tjl