On Sun, 19 Dec 2004 Marc Aurele La France wrote :
>On Sat, 18 Dec 2004, ASIF IQBAL wrote:
>>Marc later I identified it and confirmed that ther was no issue with write of 0x7c. In the meantime I was going through the PCI code of XFree86 file "sparcPci.c" in function sparcPciInit (). I came across the following _expression_ for mapping the PCI aperture memory. There seems to be some type mismatch for the fourth parameter.
>
>> domain.pci = (char *)sparcMapAperture(-1, VIDMEM_MMIO,
>> pci_addr + PCI_MAKE_TAG(domain.bus_min, 0, 0),
>> PCI_MAKE_TAG(domain.bus_max - domain.bus_min + 1, 0, 0)) -
>> PCI_MAKE_TAG(domain.bus_min, 0, 0);
>
Marc I have collected some datas regarding aperture memory problem. Please do confirm my understanding.
Aperture mapping starts at the page (0x0ff00800) and ends at the page (0x0ff0080f). This Page address I have got by enabling the APERTURE_DEBUG withing the mmap function. And totally we have
mapped 15 pages which results in 0x1E000 bytes of mapped memory. But we require a total of 128 KB. ie 128 * 1024 = 0x20000.
Start Page (0x0ff00800) - End Page (0x0ff0080f) = 15 Pages are mapped
Page Size = 8192 Bytes (In Sparc)
8192 * 15 = 0x1E000 (Bytes) are total bytes mapped
ie 0x20000 - 0x1E000 = 0x2000 ie exactly 1 Page less. I think we are mapping a page less. ie why exactly its hanging when the address crosses 0x1fe01000000. This address seems to be last mmaped address based on the output.
Please refr the output I got using the dmesg:
Dec 23 19:12:38 test-sparc aperture: [ID 838818 kern.notice] aperture: entering mmap(0x000001fe01000000)
Dec 23 19:12:38 test-sparc aperture: [ID 773605 kern.notice] aperture: leaving mmap() = 0x0ff00800
Dec 23 19:12:38 test-sparc aperture: [ID 838818 kern.notice] aperture: entering mmap(0x000001fe01002000)
Dec 23 19:12:38 test-sparc aperture: [ID 773605 kern.notice] aperture: leaving mmap() = 0x0ff00801
Dec 23 19:12:38 test-sparc aperture: [ID 838818 kern.notice] aperture: entering mmap(0x000001fe01004000)
Dec 23 19:12:38 test-sparc aperture: [ID 773605 kern.notice] aperture: leaving mmap() = 0x0ff00802
Dec 23 19:12:38 test-sparc aperture: [ID 838818 kern.notice] aperture: entering mmap(0x000001fe01006000)
Dec 23 19:12:38 test-sparc aperture: [ID 773605 kern.notice] aperture: leaving mmap() = 0x0ff00803
Dec 23 19:12:38 test-sparc aperture: [ID 838818 kern.notice] aperture: entering mmap(0x000001fe01008000)
Dec 23 19:12:38 test-sparc aperture: [ID 773605 kern.notice] aperture: leaving mmap() = 0x0ff00804
Dec 23 19:12:38 test-sparc aperture: [ID 838818 kern.notice] aperture: entering mmap(0x000001fe0100a000)
Dec 23 19:12:38 test-sparc aperture: [ID 773605 kern.notice] aperture: leaving mmap() = 0x0ff00805
Dec 23 19:12:38 test-sparc aperture: [ID 838818 kern.notice] aperture: entering mmap(0x000001fe0100c000)
Dec 23 19:12:38 test-sparc aperture: [ID 773605 kern.notice] aperture: leaving mmap() = 0x0ff00806
Dec 23 19:12:38 test-sparc aperture: [ID 838818 kern.notice] aperture: entering mmap(0x000001fe0100e000)
Dec 23 19:12:38 test-sparc aperture: [ID 773605 kern.notice] aperture: leaving mmap() = 0x0ff00807
Dec 23 19:12:38 test-sparc aperture: [ID 838818 kern.notice] aperture: entering mmap(0x000001fe01010000)
Dec 23 19:12:38 test-sparc aperture: [ID 773605 kern.notice] aperture: leaving mmap() = 0x0ff00808
Dec 23 19:12:38 test-sparc aperture: [ID 838818 kern.notice] aperture: entering mmap(0x000001fe01012000)
Dec 23 19:12:38 test-sparc aperture: [ID 773605 kern.notice] aperture: leaving mmap() = 0x0ff00809
Dec 23 19:12:38 test-sparc aperture: [ID 838818 kern.notice] aperture: entering mmap(0x000001fe01014000)
Dec 23 19:12:38 test-sparc aperture: [ID 773605 kern.notice] aperture: leaving mmap() = 0x0ff0080a
Dec 23 19:12:38 test-sparc aperture: [ID 838818 kern.notice] aperture: entering mmap(0x000001fe01016000)
Dec 23 19:12:38 test-sparc aperture: [ID 773605 kern.notice] aperture: leaving mmap() = 0x0ff0080b
Dec 23 19:12:38 test-sparc aperture: [ID 838818 kern.notice] aperture: entering mmap(0x000001fe01018000)
Dec 23 19:12:38 test-sparc aperture: [ID 773605 kern.notice] aperture: leaving mmap() = 0x0ff0080c
Dec 23 19:12:38 test-sparc aperture: [ID 838818 kern.notice] aperture: entering mmap(0x000001fe0101a000)
Dec 23 19:12:38 test-sparc aperture: [ID 773605 kern.notice] aperture: leaving mmap() = 0x0ff0080d
Dec 23 19:12:38 test-sparc aperture: [ID 838818 kern.notice] aperture: entering mmap(0x000001fe0101c000)
Dec 23 19:12:38 test-sparc aperture: [ID 773605 kern.notice] aperture: leaving mmap() = 0x0ff0080e
Dec 23 19:12:38 test-sparc aperture: [ID 838818 kern.notice] aperture: entering mmap(0x000001fe0101e000)
Dec 23 19:12:38 test-sparc aperture: [ID 773605 kern.notice] aperture: leaving mmap() = 0x0ff0080f
Please confirm my uderstanding!.
Merry Christmas and colorful New-Year
Regards
ASIF IQBAL