PageFault when I write in the Serial registers, MMU ?

Laurent Pinchart laurent.pinchart at
Thu Jul 12 01:53:39 EST 2007

Hi Nicolas,

On Wednesday 11 July 2007 17:39, Nicolas Mederle wrote:
> Hi,
>     I am porting linux on a custom board equipped with a PPC750, and I
> will like to have some advices on the MMU. I used the powerpc arch, and
> I built my device tree.
>     I will like to know in which files we can configure the
> authorizations access for the I/O registers. When I use the function
> md_ppc.progress, I have a data access fault. I modified the head. S
> files, for add the BAT config. But I think that it is not correct, and
> that it is possible to do it elsewhere (platform_init?). Moreover the
> kernel modify the MMU config, it removes the BATs, and configures the
> Registers Segments. So, must I remake the configuration? Or is it
> possible to indicate, at the beginning, which space is reserved for I/O?
>     I studied several patch (sandpoint, PrPMC2800) but none configures
> really the MMU for I/O registers. In the same way, I read several books,
> but I am not able to have information that I seek, therefore I am really
> blocked. I warmly thank you for the assistance which you will be able to
> bring to me.
>     Mapping :     0x0000 0000    ->  0x0FFF FFFF   :   RAM
>                          0x2000 0000   ->   0x201F FFFF   :   ASIC (
>                          0x8000 0000   ->   0x8FFF FFFF   :   PCI
>                          0xF000 0000   ->   0xFFFF FFFF   :   Flash
>     The kernel is load at 0x0, an the system is a Run In Memory.
> Currently, I don't use the flash.

You should ioremap() the memory you want to access, and use the I/O access 
functions defined in asm/io.h. Don't forget to iounmap() once you're done.

Best regards,

Laurent Pinchart

More information about the Linuxppc-embedded mailing list