From: Matan Ziv-Av (matan@svgalib.org)
Date: Tue 03 Jul 2001 - 18:03:09 IDT
On Tue, 3 Jul 2001, Mihai Moise wrote:
> also sprach Matan Ziv-Av:
>
> > So does the driver work, after you replaced the apertures' meaning?
>
> Ay Caramba! There is a problem with the combination
> vga_setlinearaddressing and vga_getgraphmem. I think the linear array is
> never memory mapped, and vga_getgraphmem returns the address of the VGA
> aperture.
There is a problem there. The linear array is always mapped (to
LINEAR_POINTER). I know of the problem with vga_getgraphmem() in
linear, but I don't see any reason for it. Do you have a simple program
to demonstrate it?
> > I can see two more ways to distinguish:
> > - Trying to write an address that is read only in mmio, and see if it
> > changes.
> > - Checking the 1064 revision. (But I don't which revisions have which
> > mapping).
>
> I have done the former. Attached is a patch to svgalib-1.9.10. It works
> on my friend's card. Come to think of it, on some microprocessors a long
> int will be 64 bits, so buf should be just int. You may remove the debug
> messages. Register 1e10h is the bus FIFO status. It is read-only :-).
Should you not save and restore this word?
It could be in the font memory, and _init is run before svgalib saves
fonts.
> While I am at it, how are addresses kept on the PCI bus on systems which
> have 64 bits physical addresses? And can someone who has the PCI
> specifications send me a copy by e-mail?
32 bit pci has 6 BARs (base address registers). For 64 bit pci, the BARs
are combined to 3 64 bits BARs.
--
Matan Ziv-Av. matan@svgalib.org
------------------------------------------------------------------
Unsubscribe: To: listbot@svgalib.org
Body: unsubscribe linux-svgalib
This archive was generated by hypermail 2.1.4 : Wed 21 Jan 2004 - 22:10:24 IST