Re: [BUG sparc64] 2.6.16-git6 broke X11 on Ultra5 with ATI Mach64

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 05 Jul 2006 20:40:36 -0700 (PDT), David Miller wrote:
>> I.e., X did a simple PROT_READ|PROT_WRITE MAP_SHARED mmap() of
>> something PCI-related, presumably the ATI card. The protection
>> bits passed into io_remap_pfn_range() are 0x80...0788, while
>> pg_iobits are 0x80...0f8a. Current kernels obey the prot bits,
>> which, if I read things correctly, means that _PAGE_W_4U and
>> _PAGE_MODIFIED_4U don't get set any more.
>> 
>> I guess something else in the kernel should have set those
>> bits before they got to io_remap_pfn_range()?
>
>The problem is with X, it should not be doing a MAP_SHARED
>mmap() of the framebuffer device.  It should be using
>MAP_PRIVATE instead.
>
>The kernel is trying to provide copy-on-write semantics for
>the mapping, which doesn't make any sense for device registers.
>That's why the kernel isn't setting the writable or modified
>bits in the protection bitmask.

Now I'm confused. That COW behaviour would be consistent with
MAP_PRIVATE, not MAP_SHARED which is what X did use.
-
To unsubscribe from this list: send the line "unsubscribe sparclinux" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Kernel Development]     [DCCP]     [Linux ARM Development]     [Linux]     [Photo]     [Yosemite Help]     [Linux ARM Kernel]     [Linux SCSI]     [Linux x86_64]     [Linux Hams]

  Powered by Linux