[ELDK] Xorg 7.0 on "Sequoia" Board

Anatolij Gustschin agust at denx.de
Tue Jul 8 07:54:22 CEST 2008


Hi,

Abdul Basit wrote:

> I am trying to get Xorg running on AMCC 440EPx "Sequoia" Board which has
> 36-bit PCI addressing but 32-bit CPU, the problem is :-
> 
> .. X does the following:-
> 
> 1) Get PCI I/O address via syscall(__NR_pciconfig_iobase), on 440EPX it
> is 0x1E8000000 (36 bit), X long type is 32-bits so the address is
> truncated, then the X try to mmap(..) using this PCI/IO address which is
> truncated and hence became invalid causing a kernel machine check
> exception when later it try to write to it.
> 
> (xorg-server/hw/xfree86/os-support/linux/lnx_video.c)
> 
> 
> 2) Do the similar thing for PCI MEM which is 0x100000000
> 
> (xorg-server/hw/xfree86/os-support/bus/linuxPci.c)
> 
> Did anyone here get X to work with CPU that has 36-bit PCI?
> I can see that the ELDK 4.1 does not list Xorg in it's package list.

yes, we did get Xorg running on 440EPx. Please, see the patch for
Xorg code in attachment. Not sure if it will apply to Xorg 7.0
Xserver code cleanly (it is for Xorg 7.2 Xserver code), but you
could test it and probably fix things accordingly.
 
> one more thing, is it possible to mask the ERPN bits to 0x00 0x00
> instead of 0x00 0x01? so that the effective address became 0x0E8000000
> instead of 0x1E8000000 so even when if it is truncated it would be fine.

Address map of 440EPx lists fixed PCI address ranges for PCI Memory
and PCI IO, starting from 0x1E8000000 for PCI IO and from 0x180000000
for PCI Memory. Addresses could probably be relocated within these
ranges but not outside of the ranges, so the above ERPN setting for
address translation won't work.

Best regards,
Anatolij

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80  Email: office at denx.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: xorg-sequoia-fix.diff
Type: text/x-patch
Size: 1594 bytes
Desc: not available
Url : http://lists.denx.de/pipermail/eldk/attachments/20080708/233e2f16/attachment.bin 
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: README
Url: http://lists.denx.de/pipermail/eldk/attachments/20080708/233e2f16/attachment.txt 


More information about the eldk mailing list