[ECOS] Re: Regd. the MMU in eCos1.3.1

Andrew Lunn andrew.lunn@ascom.ch
Thu Apr 3 10:36:00 GMT 2003


Please remember to send to eCos discuss and not the individuals.

On Thu, Apr 03, 2003 at 03:08:12PM +0500, Prabal Halder wrote:
> 
>  We are using eCos1.3.1 in our project. We have been facing problem
> with MMU.

1.3.1 is long dead. I don't have it installed any more. The files i
refer to be low are from anoncvs. 

>      According to my understanding, the cyg_hal_mem_map[] array is used to
> store the memory mapping. Which will be stored in the I & D Cache 
> (in TLB) in the following function.
[..]

>     In cyg_hal_map_memory(...) call we are passing the virtual address,
> physical address, flags & size of the structure "cyg_hal_mem_map[]". But
> in the ecos source code, I have not found the initialization of this
> structure.
> 
>     Please tell me, which is the place to initialize this structure and
> how to do it.


hal/powerpc/arch/current/include/hal_mem.h:107

#define CYGARC_MEMDESC_TABLE          cyg_memdesc_t cyg_hal_mem_map[]

./powerpc/viper/current/src/hal_aux.c:64

// The memory map is weakly defined, allowing the application to redefine
// it if necessary. The regions defined below are the minimum requirements.
CYGARC_MEMDESC_TABLE CYGBLD_ATTRIB_WEAK = {
    // Mapping for the Viper 855/860 development boards
    CYGARC_MEMDESC_CACHE(   0xfe000000, 0x00800000 ), // ROM region
    CYGARC_MEMDESC_NOCACHE( 0xff000000, 0x00100000 ), // MCP registers
    CYGARC_MEMDESC_NOCACHE( 0xfa000000, 0x00400000 ), // Control/Status+LEDs
    CYGARC_MEMDESC_CACHE(   CYGMEM_REGION_ram, CYGMEM_REGION_ram_SIZE ), // Main
 memory
 
    CYGARC_MEMDESC_TABLE_END
};

Something similar exists for all PPC HALS.

          Andrew

-- 
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss



More information about the Ecos-discuss mailing list