PageFault when I write in the Serial registers, MMU ?

4 messages, 4 authors, 2007-07-11 · open the first message on its own page

PageFault when I write in the Serial registers, MMU ?

From: Nicolas Mederle <hidden>
Date: 2007-07-11 15:46:03

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 ( 
UART, DMA, GPIO, PIC...)
                         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.


Best regards,
Nicolas MEDERLE

-- 
Cordialement,

Nicolas MEDERLE. 

Re: PageFault when I write in the Serial registers, MMU ?

From: Laurent Pinchart <hidden>
Date: 2007-07-11 15:53:39

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 (
UART, DMA, GPIO, PIC...)
                         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

Re: PageFault when I write in the Serial registers, MMU ?

From: Bhupender Saharan <hidden>
Date: 2007-07-11 16:33:01

Hi,

You could call *io_block_mapping* function from your setup.c file that will
add the entry into MMU.

regards
Bhupi





On 7/11/07, Nicolas Mederle [off-list ref] 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 (
UART, DMA, GPIO, PIC...)
                        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.


Best regards,
Nicolas MEDERLE

--
Cordialement,

Nicolas MEDERLE.

_______________________________________________
Linuxppc-embedded mailing list
Linuxppc-embedded@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-embedded

Re: PageFault when I write in the Serial registers, MMU ?

From: Josh Boyer <hidden>
Date: 2007-07-11 17:51:00

On Wed, 2007-07-11 at 09:32 -0700, Bhupender Saharan wrote:
Hi,
 
You could call io_block_mapping function from your setup.c file that
will add the entry into MMU.
io_block_mapping doesn't exist in the arch/powerpc tree.

josh
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help