### Eclipse Workspace Patch 1.0 #P ecos Index: packages/hal/powerpc/arch/current/ChangeLog =================================================================== RCS file: /cvs/ecos/ecos/packages/hal/powerpc/arch/current/ChangeLog,v retrieving revision 1.75 diff -u -r1.75 ChangeLog --- packages/hal/powerpc/arch/current/ChangeLog 7 Aug 2009 09:22:55 -0000 1.75 +++ packages/hal/powerpc/arch/current/ChangeLog 22 Aug 2009 22:08:12 -0000 @@ -1,3 +1,10 @@ +2009-08-22 Edgar Grimberg + + * include/hal_mem.h: Add 2 more memory descriptors: write through and + memory coherence, as defined in: www.freescale.com/files/product/doc/MPCFPE32B.pdf + (Programming Environments Manual for 32-Bit Implementations of the + PowerPCª Architecture) chapter 5.2.4.1 Memory/Cache Access Modes + 2009-08-07 Nick Garnett * cdl/hal_powerpc.cdl: Add CYGHWR_HAL_POWERPC_BOOK_E_FIXED_VECTORS Index: packages/hal/powerpc/arch/current/include/hal_mem.h =================================================================== RCS file: /cvs/ecos/ecos/packages/hal/powerpc/arch/current/include/hal_mem.h,v retrieving revision 1.5 diff -u -r1.5 hal_mem.h --- packages/hal/powerpc/arch/current/include/hal_mem.h 29 Jan 2009 17:49:33 -0000 1.5 +++ packages/hal/powerpc/arch/current/include/hal_mem.h 22 Aug 2009 22:08:12 -0000 @@ -83,6 +83,8 @@ #define CYGARC_MEMDESC_CI 1 // cache inhibit #define CYGARC_MEMDESC_GUARDED 2 // guarded +#define CYGARC_MEMDESC_WRITE_THROUGH 4 +#define CYGARC_MEMDESC_MEMORY_COHERENCE 8 // these macros should ease that task, and ease any future extension of the // structure (physical == virtual addresses): @@ -101,6 +103,12 @@ #define CYGARC_MEMDESC_NOCACHEGUARD( _va_, _sz_ ) \ { (_va_), (_va_), (_sz_), CYGARC_MEMDESC_GUARDED|CYGARC_MEMDESC_CI } +#define CYGARC_MEMDESC_CACHE_WRITE_THROUGH( _va_, _sz_ ) \ + { (_va_), (_va_), (_sz_), CYGARC_MEMDESC_WRITE_THROUGH } + +#define CYGARC_MEMDESC_CACHE_MEMORY_COHERENCE( _va_, _sz_ ) \ + { (_va_), (_va_), (_sz_), CYGARC_MEMDESC_MEMORY_COHERENCE } + #define CYGARC_MEMDESC_TABLE_END {0, 0, 0, 0} #define CYGARC_MEMDESC_TABLE cyg_memdesc_t cyg_hal_mem_map[] #define CYGARC_MEMDESC_EMPTY_TABLE { CYGARC_MEMDESC_TABLE_END }