public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: David Miller <davem@davemloft.net>
To: mikpe@it.uu.se
Cc: linux-kernel@vger.kernel.org, sparclinux@vger.kernel.org
Subject: Re: [BUG sparc64] 2.6.16-git6 broke X11 on Ultra5 with ATI Mach64
Date: Wed, 05 Jul 2006 20:40:36 -0700 (PDT)	[thread overview]
Message-ID: <20060705.204036.104053108.davem@davemloft.net> (raw)
In-Reply-To: <200607031117.k63BHiDa007719@harpo.it.uu.se>

From: Mikael Pettersson <mikpe@it.uu.se>
Date: Mon, 3 Jul 2006 13:17:44 +0200 (MEST)

> 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.

Please fix the X server :)

  parent reply	other threads:[~2006-07-06  3:40 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-07-03 11:17 [BUG sparc64] 2.6.16-git6 broke X11 on Ultra5 with ATI Mach64 Mikael Pettersson
2006-07-04  7:41 ` Rene Rebe
2006-07-04  9:32   ` Rene Rebe
2006-07-06  3:40 ` David Miller [this message]
  -- strict thread matches above, loose matches on Subject: below --
2006-07-04 10:03 Mikael Pettersson
2006-07-06  9:37 Mikael Pettersson
2006-07-07  7:05 ` David Miller
2006-07-28  1:13   ` David Miller
2006-07-28  3:38     ` David Miller
2006-07-28 10:35 Mikael Pettersson
2006-07-28 11:13 ` David Miller
2006-08-01  5:42 ` David Miller
2006-08-28  7:39   ` David Miller
2006-08-01 11:30 Mikael Pettersson
2006-08-06 21:09 Mikael Pettersson
2006-08-06 23:37 ` David Miller
2006-08-28 21:18 Mikael Pettersson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20060705.204036.104053108.davem@davemloft.net \
    --to=davem@davemloft.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mikpe@it.uu.se \
    --cc=sparclinux@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox