From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Stefan Roese <sr@denx.de>
Cc: linuxppc-dev@ozlabs.org
Subject: Re: mmap question on ppc440
Date: Wed, 07 Nov 2007 09:02:10 +1100 [thread overview]
Message-ID: <1194386530.6523.37.camel@pasglop> (raw)
In-Reply-To: <200711060750.21750.sr@denx.de>
On Tue, 2007-11-06 at 07:50 +0100, Stefan Roese wrote:
> On Monday 05 November 2007, Josh Boyer wrote:
> > > I am attempting to access the CPLD on the AMCC Sequoia board from
> > > user-land. I open /dev/mem, and mmap it, then try to access the
> > > resulting pointer. That works fine when accessing physical addresses
> > > that correspond to RAM, but as soon as I try to access the CPLD at
> > > physical address 0xc0000000, I get an infinite machine check.
> >
> > That's because the CPLD is actually at physical address 0x1C0000000.
> > Yay for 36-bit physical addresses.
>
> Right. Are you using arch/ppc or arch/powerpc? If it's arch/ppc you could
> give the following patch a try:
>
> @@ -275,6 +275,14 @@
> {
> size_t size = vma->vm_end - vma->vm_start;
>
> +#if defined(CONFIG_44x) && !defined(CONFIG_PPC_MERGE)
> + /*
> + * 2006-08-07: sr
> + * Needed on 44x-er systems for 36bit addresses (like pci on 440gx)
> + */
> + vma->vm_pgoff = (fixup_bigphys_addr(vma->vm_pgoff << PAGE_SHIFT, size) >> PAGE_SHIFT);
> +#endif
> +
> if (!valid_mmap_phys_addr_range(vma->vm_pgoff, size))
> return -EINVAL;
I think we need to ditch the bigphys fixup stuff and come up with a way
to make /dev/mem work with the actual 36 bits offsets (after all, it's
all pgoff, it should work).
The other problem is X of course... 32 bits X server currently cannot
cope with physical addresses > 32 bits at all. They will just blow up or
randomly scribble over /dev/mem.
The solution is libpciaccess and the new pci-rework branch of X which
uses it, but I haven't had a chance to test that properly yet on 4xx.
Ben.
next prev parent reply other threads:[~2007-11-06 22:02 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-11-05 21:02 mmap question on ppc440 Steven A. Falco
2007-11-05 21:16 ` Josh Boyer
2007-11-06 6:50 ` Stefan Roese
2007-11-06 22:02 ` Benjamin Herrenschmidt [this message]
2007-11-06 22:59 ` Josh Boyer
2007-11-06 23:31 ` Benjamin Herrenschmidt
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=1194386530.6523.37.camel@pasglop \
--to=benh@kernel.crashing.org \
--cc=linuxppc-dev@ozlabs.org \
--cc=sr@denx.de \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.