Subject: Re: Setting MTRRs from the X server
To: Frank van der Linden <frank@wins.uva.nl>
From: Matthieu Herrb <matthieu@laas.fr>
List: port-i386
Date: 11/22/1999 18:51:08
You wrote (in your message from Sunday, March 7)
> > For XFree86 4.0, we really need to be able to have the X server request
> > specific MTRR settings for different parts of a video card's physical
> > memory address space. While turning WC on for the framebuffer is a big
> > performance boost, a more critical issue is being able to make sure that
> > WC is turned off for areas that are used for memory mapped I/O. We've
> > found that some BIOSs enable WC in areas that our drivers want to use
> > for MMIO. One example is the 0xb0000-0xbffff range.
>
> We currently do not have such an interface in NetBSD. It is not hard
> to add, the mtrr code itself is small, and you just need to create
> an interface for it, either an i386 specific system call or a kind
> of "cpuctl" device.
>
> However, I don't think anybody is doing this at the moment, so I don't think
> we'll have this in the next release, unfortunately. If anyone wants to
> do such a thing, get in touch with me, though.
I've finally ported the FreeBSD code to NetBSD, in the form of a new
version of the XFree86 aperture driver LKM for NetBSD, which supports the
same ioctl interface than FreeBSD (and OpenBSD, BTW) on /dev/xf86.
The new aperture driver will be included into the next XFree86 3.9.17
snapshot together with support for it in the X server. I've also put
it on: <ftp://ftp.laas.fr/pub/ii/matthieu/NetBSD/apNetBSD.shar>.
If someone chooses to integrate this (the MTRR support part) into the
main NetBSD tree, I'd be happy to adapt the XFree86 code if needed.
Regards,
--
Matthieu