Skip site navigation (1)Skip section navigation (2)
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>