Date: Wed, 20 Aug 1997 02:45:53 -0700 From: Jonathan Mini <j_mini@efn.org> To: hackers@freebsd.org Subject: MDA and VGA memory overlaps. Message-ID: <19970820024553.03988@micron.efn.org>
next in thread | raw e-mail | index | archive | help
I am writing a set of drivers that replaces the syscons driver and manages the console via two devices (and a psuedo device) where basically one device is the display, (write only) the other is the keyboard (read only) and then the psuedo device is a tty the can bind to one of each (display+keyboard pair) and possible more (such as a mouse) to implement a tty. Oh, I should mention that it would also be possible to have a tty which didn't bind a device, in that case it simply would never diplay anything (with no display) or never get input (with no keytboard), etc, etc. Well, my problem is this : The MDA memory mapping lies INSIDE the VGA memory mapping. VGA uses 0xa0000-0xaffff (for graphics) and 0xb8000-0xbffff, (for text) and the MDA uses 0xb0000-0xb0fff. One of the goals of this is to allow a system to be able to have both the mda and vga devices configured, and both successfully probe/attach within the system. My question is : What do I do for memory mapping within the device configuration? As I see it I have three chocies : a) dont' trakc memory mappings within the config, as syscons does. b) don't track memory LENGTH, and give the vga the base of 0xa0000, and assume it's base+0x18000 for the position of the text buffer, c) make two devices for the vga.. one to handle text and one to handle video. I don't even want to think about device contention, although the solution is feasable. :( Right now I am using solution b, since it is simplest to implement. -- Jonathan Mini (j_mini@efn.org) Ingenious Productions Software Development P.O. Box 5693 Eugene, Or 97405
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19970820024553.03988>