Instruction OCM

mojtaba kernelppc at
Tue May 20 19:19:26 EST 2008

Thank you for your email. But what is the solution to that? I have seen this
in a thesis: 

"when using the OCM buses to connect memory, we can only use virtual memory
as long as the virtual address is the same as the physical address, which is
the same as using a system without MMU. Therefore porting Linux to a
system based on an OCM memory system is not possible"

Is that right? What do you suggest?

-----Original Message-----
From: at
[ at] On Behalf
Of Sergey Temerkhanov
Sent: Monday, May 19, 2008 8:53 PM
To: linuxppc-embedded at
Subject: Re: Instruction OCM

mojtaba wrote:
> Dear all,
> I cannot run Linux when I have an instruction OCM in my design but, 
> without instruction OCM everything is fine. I tried to do some 
> debugging. It seems that the Linux memory management unit has a 
> problem with that.  After entering the MMU initialization phase, it 
> suddenly jumps to address 0x00000700 it get stuck there. Is there 
> anybody who have tried a design with instruction OCM? Do I need to do 
> special configuration for the Linux kernel?
> Regards,
> Mojtaba
> ------------------------------------------------------------------------
> _______________________________________________
> Linuxppc-embedded mailing list
> Linuxppc-embedded at
Address 0x700 means invalid opcode exception.
If instruction OCM is same as data OCM (I think it's so) then any MMU 
mapping is not applicable to this region at all as OCM controller 
decodes virtual addresses bypassing any MMU mappings.
In your situation MMU maps virtual address of OCM to physical address 
containing some random data and CPU tries to execute it. So you get 
invalid opcode exception.
Linuxppc-embedded mailing list
Linuxppc-embedded at

More information about the Linuxppc-embedded mailing list