| 
									
										
										
										
											2003-08-08 23:58:05 +00:00
										 |  |  | /*
 | 
					
						
							|  |  |  |  *  Software MMU support | 
					
						
							| 
									
										
										
										
											2007-09-16 21:08:06 +00:00
										 |  |  |  * | 
					
						
							| 
									
										
										
										
											2011-09-21 20:00:18 +00:00
										 |  |  |  * Generate inline load/store functions for one MMU mode and data | 
					
						
							|  |  |  |  * size. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * Generate a store function as well as signed and unsigned loads. For | 
					
						
							|  |  |  |  * 32 and 64 bit cases, also generate floating point functions with | 
					
						
							|  |  |  |  * the same size. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * Not used directly but included from softmmu_exec.h and exec-all.h. | 
					
						
							|  |  |  |  * | 
					
						
							| 
									
										
										
										
											2003-08-08 23:58:05 +00:00
										 |  |  |  *  Copyright (c) 2003 Fabrice Bellard | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * This library is free software; you can redistribute it and/or | 
					
						
							|  |  |  |  * modify it under the terms of the GNU Lesser General Public | 
					
						
							|  |  |  |  * License as published by the Free Software Foundation; either | 
					
						
							|  |  |  |  * version 2 of the License, or (at your option) any later version. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * This library is distributed in the hope that it will be useful, | 
					
						
							|  |  |  |  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
					
						
							|  |  |  |  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU | 
					
						
							|  |  |  |  * Lesser General Public License for more details. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * You should have received a copy of the GNU Lesser General Public | 
					
						
							| 
									
										
										
										
											2009-07-16 20:47:01 +00:00
										 |  |  |  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
 | 
					
						
							| 
									
										
										
										
											2003-08-08 23:58:05 +00:00
										 |  |  |  */ | 
					
						
							|  |  |  | #if DATA_SIZE == 8
 | 
					
						
							|  |  |  | #define SUFFIX q
 | 
					
						
							| 
									
										
										
										
											2003-10-27 21:22:23 +00:00
										 |  |  | #define USUFFIX q
 | 
					
						
							| 
									
										
										
										
											2003-08-08 23:58:05 +00:00
										 |  |  | #define DATA_TYPE uint64_t
 | 
					
						
							|  |  |  | #elif DATA_SIZE == 4
 | 
					
						
							|  |  |  | #define SUFFIX l
 | 
					
						
							| 
									
										
										
										
											2003-10-27 21:22:23 +00:00
										 |  |  | #define USUFFIX l
 | 
					
						
							| 
									
										
										
										
											2003-08-08 23:58:05 +00:00
										 |  |  | #define DATA_TYPE uint32_t
 | 
					
						
							|  |  |  | #elif DATA_SIZE == 2
 | 
					
						
							|  |  |  | #define SUFFIX w
 | 
					
						
							| 
									
										
										
										
											2003-10-27 21:22:23 +00:00
										 |  |  | #define USUFFIX uw
 | 
					
						
							| 
									
										
										
										
											2003-08-08 23:58:05 +00:00
										 |  |  | #define DATA_TYPE uint16_t
 | 
					
						
							|  |  |  | #define DATA_STYPE int16_t
 | 
					
						
							|  |  |  | #elif DATA_SIZE == 1
 | 
					
						
							|  |  |  | #define SUFFIX b
 | 
					
						
							| 
									
										
										
										
											2003-10-27 21:22:23 +00:00
										 |  |  | #define USUFFIX ub
 | 
					
						
							| 
									
										
										
										
											2003-08-08 23:58:05 +00:00
										 |  |  | #define DATA_TYPE uint8_t
 | 
					
						
							|  |  |  | #define DATA_STYPE int8_t
 | 
					
						
							|  |  |  | #else
 | 
					
						
							|  |  |  | #error unsupported data size
 | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-10-14 07:07:08 +00:00
										 |  |  | #if ACCESS_TYPE < (NB_MMU_MODES)
 | 
					
						
							| 
									
										
										
										
											2003-10-27 21:22:23 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-10-14 07:07:08 +00:00
										 |  |  | #define CPU_MMU_INDEX ACCESS_TYPE
 | 
					
						
							| 
									
										
										
										
											2003-10-27 21:22:23 +00:00
										 |  |  | #define MMUSUFFIX _mmu
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-10-14 07:07:08 +00:00
										 |  |  | #elif ACCESS_TYPE == (NB_MMU_MODES)
 | 
					
						
							| 
									
										
										
										
											2003-10-27 21:22:23 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-10-14 07:07:08 +00:00
										 |  |  | #define CPU_MMU_INDEX (cpu_mmu_index(env))
 | 
					
						
							| 
									
										
										
										
											2003-10-27 21:22:23 +00:00
										 |  |  | #define MMUSUFFIX _mmu
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-10-14 07:07:08 +00:00
										 |  |  | #elif ACCESS_TYPE == (NB_MMU_MODES + 1)
 | 
					
						
							| 
									
										
										
										
											2003-10-27 21:22:23 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-10-14 07:07:08 +00:00
										 |  |  | #define CPU_MMU_INDEX (cpu_mmu_index(env))
 | 
					
						
							| 
									
										
										
										
											2003-10-27 21:22:23 +00:00
										 |  |  | #define MMUSUFFIX _cmmu
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2003-08-08 23:58:05 +00:00
										 |  |  | #else
 | 
					
						
							| 
									
										
										
										
											2003-10-27 21:22:23 +00:00
										 |  |  | #error invalid ACCESS_TYPE
 | 
					
						
							| 
									
										
										
										
											2003-08-08 23:58:05 +00:00
										 |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #if DATA_SIZE == 8
 | 
					
						
							|  |  |  | #define RES_TYPE uint64_t
 | 
					
						
							|  |  |  | #else
 | 
					
						
							| 
									
										
										
										
											2010-06-02 00:12:32 +04:00
										 |  |  | #define RES_TYPE uint32_t
 | 
					
						
							| 
									
										
										
										
											2003-08-08 23:58:05 +00:00
										 |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-10-14 07:07:08 +00:00
										 |  |  | #if ACCESS_TYPE == (NB_MMU_MODES + 1)
 | 
					
						
							| 
									
										
										
										
											2005-11-28 21:19:04 +00:00
										 |  |  | #define ADDR_READ addr_code
 | 
					
						
							|  |  |  | #else
 | 
					
						
							|  |  |  | #define ADDR_READ addr_read
 | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2003-08-08 23:58:05 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-09-18 14:55:46 +00:00
										 |  |  | #ifndef CONFIG_TCG_PASS_AREG0
 | 
					
						
							|  |  |  | #define ENV_PARAM
 | 
					
						
							|  |  |  | #define ENV_VAR
 | 
					
						
							|  |  |  | #define CPU_PREFIX
 | 
					
						
							|  |  |  | #define HELPER_PREFIX __
 | 
					
						
							|  |  |  | #else
 | 
					
						
							|  |  |  | #define ENV_PARAM CPUArchState *env,
 | 
					
						
							|  |  |  | #define ENV_VAR env,
 | 
					
						
							|  |  |  | #define CPU_PREFIX cpu_
 | 
					
						
							|  |  |  | #define HELPER_PREFIX helper_
 | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2004-01-04 18:15:29 +00:00
										 |  |  | /* generic load/store macros */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-09-18 14:55:46 +00:00
										 |  |  | static inline RES_TYPE | 
					
						
							|  |  |  | glue(glue(glue(CPU_PREFIX, ld), USUFFIX), MEMSUFFIX)(ENV_PARAM | 
					
						
							|  |  |  |                                                      target_ulong ptr) | 
					
						
							| 
									
										
										
										
											2003-08-08 23:58:05 +00:00
										 |  |  | { | 
					
						
							| 
									
										
										
										
											2008-05-10 10:14:22 +00:00
										 |  |  |     int page_index; | 
					
						
							| 
									
										
										
										
											2003-08-08 23:58:05 +00:00
										 |  |  |     RES_TYPE res; | 
					
						
							| 
									
										
										
										
											2005-01-03 23:35:10 +00:00
										 |  |  |     target_ulong addr; | 
					
						
							| 
									
										
										
										
											2007-10-14 07:07:08 +00:00
										 |  |  |     int mmu_idx; | 
					
						
							| 
									
										
										
										
											2003-10-27 21:22:23 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-01-03 23:35:10 +00:00
										 |  |  |     addr = ptr; | 
					
						
							| 
									
										
										
										
											2008-05-10 10:14:22 +00:00
										 |  |  |     page_index = (addr >> TARGET_PAGE_BITS) & (CPU_TLB_SIZE - 1); | 
					
						
							| 
									
										
										
										
											2007-10-14 07:07:08 +00:00
										 |  |  |     mmu_idx = CPU_MMU_INDEX; | 
					
						
							| 
									
										
										
										
											2008-07-03 17:57:36 +00:00
										 |  |  |     if (unlikely(env->tlb_table[mmu_idx][page_index].ADDR_READ != | 
					
						
							|  |  |  |                  (addr & (TARGET_PAGE_MASK | (DATA_SIZE - 1))))) { | 
					
						
							| 
									
										
										
										
											2011-09-18 14:55:46 +00:00
										 |  |  |         res = glue(glue(glue(HELPER_PREFIX, ld), SUFFIX), MMUSUFFIX)(ENV_VAR | 
					
						
							|  |  |  |                                                                      addr, | 
					
						
							|  |  |  |                                                                      mmu_idx); | 
					
						
							| 
									
										
										
										
											2003-08-08 23:58:05 +00:00
										 |  |  |     } else { | 
					
						
							| 
									
										
										
										
											2012-04-15 21:02:09 +02:00
										 |  |  |         uintptr_t hostaddr = addr + env->tlb_table[mmu_idx][page_index].addend; | 
					
						
							| 
									
										
										
										
											2012-04-12 14:14:51 +02:00
										 |  |  |         res = glue(glue(ld, USUFFIX), _raw)(hostaddr); | 
					
						
							| 
									
										
										
										
											2003-08-08 23:58:05 +00:00
										 |  |  |     } | 
					
						
							|  |  |  |     return res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #if DATA_SIZE <= 2
 | 
					
						
							| 
									
										
										
										
											2011-09-18 14:55:46 +00:00
										 |  |  | static inline int | 
					
						
							|  |  |  | glue(glue(glue(CPU_PREFIX, lds), SUFFIX), MEMSUFFIX)(ENV_PARAM | 
					
						
							|  |  |  |                                                      target_ulong ptr) | 
					
						
							| 
									
										
										
										
											2003-08-08 23:58:05 +00:00
										 |  |  | { | 
					
						
							| 
									
										
										
										
											2008-05-10 10:14:22 +00:00
										 |  |  |     int res, page_index; | 
					
						
							| 
									
										
										
										
											2005-01-03 23:35:10 +00:00
										 |  |  |     target_ulong addr; | 
					
						
							| 
									
										
										
										
											2007-10-14 07:07:08 +00:00
										 |  |  |     int mmu_idx; | 
					
						
							| 
									
										
										
										
											2003-10-27 21:22:23 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-01-03 23:35:10 +00:00
										 |  |  |     addr = ptr; | 
					
						
							| 
									
										
										
										
											2008-05-10 10:14:22 +00:00
										 |  |  |     page_index = (addr >> TARGET_PAGE_BITS) & (CPU_TLB_SIZE - 1); | 
					
						
							| 
									
										
										
										
											2007-10-14 07:07:08 +00:00
										 |  |  |     mmu_idx = CPU_MMU_INDEX; | 
					
						
							| 
									
										
										
										
											2008-07-03 17:57:36 +00:00
										 |  |  |     if (unlikely(env->tlb_table[mmu_idx][page_index].ADDR_READ != | 
					
						
							|  |  |  |                  (addr & (TARGET_PAGE_MASK | (DATA_SIZE - 1))))) { | 
					
						
							| 
									
										
										
										
											2011-09-18 14:55:46 +00:00
										 |  |  |         res = (DATA_STYPE)glue(glue(glue(HELPER_PREFIX, ld), SUFFIX), | 
					
						
							|  |  |  |                                MMUSUFFIX)(ENV_VAR addr, mmu_idx); | 
					
						
							| 
									
										
										
										
											2003-08-08 23:58:05 +00:00
										 |  |  |     } else { | 
					
						
							| 
									
										
										
										
											2012-04-15 21:02:09 +02:00
										 |  |  |         uintptr_t hostaddr = addr + env->tlb_table[mmu_idx][page_index].addend; | 
					
						
							| 
									
										
										
										
											2012-04-12 14:14:51 +02:00
										 |  |  |         res = glue(glue(lds, SUFFIX), _raw)(hostaddr); | 
					
						
							| 
									
										
										
										
											2003-08-08 23:58:05 +00:00
										 |  |  |     } | 
					
						
							|  |  |  |     return res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-10-14 07:07:08 +00:00
										 |  |  | #if ACCESS_TYPE != (NB_MMU_MODES + 1)
 | 
					
						
							| 
									
										
										
										
											2005-11-28 21:19:04 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2004-01-04 18:15:29 +00:00
										 |  |  | /* generic store macro */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-09-18 14:55:46 +00:00
										 |  |  | static inline void | 
					
						
							|  |  |  | glue(glue(glue(CPU_PREFIX, st), SUFFIX), MEMSUFFIX)(ENV_PARAM target_ulong ptr, | 
					
						
							|  |  |  |                                                     RES_TYPE v) | 
					
						
							| 
									
										
										
										
											2003-08-08 23:58:05 +00:00
										 |  |  | { | 
					
						
							| 
									
										
										
										
											2008-05-10 10:14:22 +00:00
										 |  |  |     int page_index; | 
					
						
							| 
									
										
										
										
											2005-01-03 23:35:10 +00:00
										 |  |  |     target_ulong addr; | 
					
						
							| 
									
										
										
										
											2007-10-14 07:07:08 +00:00
										 |  |  |     int mmu_idx; | 
					
						
							| 
									
										
										
										
											2003-10-27 21:22:23 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-01-03 23:35:10 +00:00
										 |  |  |     addr = ptr; | 
					
						
							| 
									
										
										
										
											2008-05-10 10:14:22 +00:00
										 |  |  |     page_index = (addr >> TARGET_PAGE_BITS) & (CPU_TLB_SIZE - 1); | 
					
						
							| 
									
										
										
										
											2007-10-14 07:07:08 +00:00
										 |  |  |     mmu_idx = CPU_MMU_INDEX; | 
					
						
							| 
									
										
										
										
											2008-07-03 17:57:36 +00:00
										 |  |  |     if (unlikely(env->tlb_table[mmu_idx][page_index].addr_write != | 
					
						
							|  |  |  |                  (addr & (TARGET_PAGE_MASK | (DATA_SIZE - 1))))) { | 
					
						
							| 
									
										
										
										
											2011-09-18 14:55:46 +00:00
										 |  |  |         glue(glue(glue(HELPER_PREFIX, st), SUFFIX), MMUSUFFIX)(ENV_VAR addr, v, | 
					
						
							|  |  |  |                                                                mmu_idx); | 
					
						
							| 
									
										
										
										
											2003-08-08 23:58:05 +00:00
										 |  |  |     } else { | 
					
						
							| 
									
										
										
										
											2012-04-15 21:02:09 +02:00
										 |  |  |         uintptr_t hostaddr = addr + env->tlb_table[mmu_idx][page_index].addend; | 
					
						
							| 
									
										
										
										
											2012-04-12 14:14:51 +02:00
										 |  |  |         glue(glue(st, SUFFIX), _raw)(hostaddr, v); | 
					
						
							| 
									
										
										
										
											2003-08-08 23:58:05 +00:00
										 |  |  |     } | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-10-14 07:07:08 +00:00
										 |  |  | #endif /* ACCESS_TYPE != (NB_MMU_MODES + 1) */
 | 
					
						
							| 
									
										
										
										
											2005-11-28 21:19:04 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-10-14 07:07:08 +00:00
										 |  |  | #if ACCESS_TYPE != (NB_MMU_MODES + 1)
 | 
					
						
							| 
									
										
										
										
											2004-01-04 18:15:29 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2004-01-04 23:56:24 +00:00
										 |  |  | #if DATA_SIZE == 8
 | 
					
						
							| 
									
										
										
										
											2011-09-18 14:55:46 +00:00
										 |  |  | static inline float64 glue(glue(CPU_PREFIX, ldfq), MEMSUFFIX)(ENV_PARAM | 
					
						
							|  |  |  |                                                               target_ulong ptr) | 
					
						
							| 
									
										
										
										
											2004-01-04 23:56:24 +00:00
										 |  |  | { | 
					
						
							|  |  |  |     union { | 
					
						
							| 
									
										
										
										
											2005-11-06 19:56:23 +00:00
										 |  |  |         float64 d; | 
					
						
							| 
									
										
										
										
											2004-01-04 23:56:24 +00:00
										 |  |  |         uint64_t i; | 
					
						
							|  |  |  |     } u; | 
					
						
							| 
									
										
										
										
											2011-09-18 14:55:46 +00:00
										 |  |  |     u.i = glue(glue(CPU_PREFIX, ldq), MEMSUFFIX)(ENV_VAR ptr); | 
					
						
							| 
									
										
										
										
											2004-01-04 23:56:24 +00:00
										 |  |  |     return u.d; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-09-18 14:55:46 +00:00
										 |  |  | static inline void glue(glue(CPU_PREFIX, stfq), MEMSUFFIX)(ENV_PARAM | 
					
						
							|  |  |  |                                                            target_ulong ptr, | 
					
						
							|  |  |  |                                                            float64 v) | 
					
						
							| 
									
										
										
										
											2004-01-04 23:56:24 +00:00
										 |  |  | { | 
					
						
							|  |  |  |     union { | 
					
						
							| 
									
										
										
										
											2005-11-06 19:56:23 +00:00
										 |  |  |         float64 d; | 
					
						
							| 
									
										
										
										
											2004-01-04 23:56:24 +00:00
										 |  |  |         uint64_t i; | 
					
						
							|  |  |  |     } u; | 
					
						
							|  |  |  |     u.d = v; | 
					
						
							| 
									
										
										
										
											2011-09-18 14:55:46 +00:00
										 |  |  |     glue(glue(CPU_PREFIX, stq), MEMSUFFIX)(ENV_VAR ptr, u.i); | 
					
						
							| 
									
										
										
										
											2004-01-04 23:56:24 +00:00
										 |  |  | } | 
					
						
							|  |  |  | #endif /* DATA_SIZE == 8 */
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #if DATA_SIZE == 4
 | 
					
						
							| 
									
										
										
										
											2011-09-18 14:55:46 +00:00
										 |  |  | static inline float32 glue(glue(CPU_PREFIX, ldfl), MEMSUFFIX)(ENV_PARAM | 
					
						
							|  |  |  |                                                               target_ulong ptr) | 
					
						
							| 
									
										
										
										
											2004-01-04 23:56:24 +00:00
										 |  |  | { | 
					
						
							|  |  |  |     union { | 
					
						
							| 
									
										
										
										
											2005-11-06 19:56:23 +00:00
										 |  |  |         float32 f; | 
					
						
							| 
									
										
										
										
											2004-01-04 23:56:24 +00:00
										 |  |  |         uint32_t i; | 
					
						
							|  |  |  |     } u; | 
					
						
							| 
									
										
										
										
											2011-09-18 14:55:46 +00:00
										 |  |  |     u.i = glue(glue(CPU_PREFIX, ldl), MEMSUFFIX)(ENV_VAR ptr); | 
					
						
							| 
									
										
										
										
											2004-01-04 23:56:24 +00:00
										 |  |  |     return u.f; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-09-18 14:55:46 +00:00
										 |  |  | static inline void glue(glue(CPU_PREFIX, stfl), MEMSUFFIX)(ENV_PARAM | 
					
						
							|  |  |  |                                                            target_ulong ptr, | 
					
						
							|  |  |  |                                                            float32 v) | 
					
						
							| 
									
										
										
										
											2004-01-04 23:56:24 +00:00
										 |  |  | { | 
					
						
							|  |  |  |     union { | 
					
						
							| 
									
										
										
										
											2005-11-06 19:56:23 +00:00
										 |  |  |         float32 f; | 
					
						
							| 
									
										
										
										
											2004-01-04 23:56:24 +00:00
										 |  |  |         uint32_t i; | 
					
						
							|  |  |  |     } u; | 
					
						
							|  |  |  |     u.f = v; | 
					
						
							| 
									
										
										
										
											2011-09-18 14:55:46 +00:00
										 |  |  |     glue(glue(CPU_PREFIX, stl), MEMSUFFIX)(ENV_VAR ptr, u.i); | 
					
						
							| 
									
										
										
										
											2004-01-04 23:56:24 +00:00
										 |  |  | } | 
					
						
							|  |  |  | #endif /* DATA_SIZE == 4 */
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-10-14 07:07:08 +00:00
										 |  |  | #endif /* ACCESS_TYPE != (NB_MMU_MODES + 1) */
 | 
					
						
							| 
									
										
										
										
											2005-11-28 21:19:04 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2003-08-08 23:58:05 +00:00
										 |  |  | #undef RES_TYPE
 | 
					
						
							|  |  |  | #undef DATA_TYPE
 | 
					
						
							|  |  |  | #undef DATA_STYPE
 | 
					
						
							|  |  |  | #undef SUFFIX
 | 
					
						
							| 
									
										
										
										
											2003-10-27 21:22:23 +00:00
										 |  |  | #undef USUFFIX
 | 
					
						
							| 
									
										
										
										
											2003-08-08 23:58:05 +00:00
										 |  |  | #undef DATA_SIZE
 | 
					
						
							| 
									
										
										
										
											2007-10-14 07:07:08 +00:00
										 |  |  | #undef CPU_MMU_INDEX
 | 
					
						
							| 
									
										
										
										
											2003-10-27 21:22:23 +00:00
										 |  |  | #undef MMUSUFFIX
 | 
					
						
							| 
									
										
										
										
											2005-11-28 21:19:04 +00:00
										 |  |  | #undef ADDR_READ
 | 
					
						
							| 
									
										
										
										
											2011-09-18 14:55:46 +00:00
										 |  |  | #undef ENV_PARAM
 | 
					
						
							|  |  |  | #undef ENV_VAR
 | 
					
						
							|  |  |  | #undef CPU_PREFIX
 | 
					
						
							|  |  |  | #undef HELPER_PREFIX
 |