Revision e18231a3 exec.c
b/exec.c | ||
---|---|---|
2302 | 2302 |
#ifdef DEBUG_UNASSIGNED |
2303 | 2303 |
printf("Unassigned mem read " TARGET_FMT_plx "\n", addr); |
2304 | 2304 |
#endif |
2305 |
#ifdef TARGET_SPARC |
|
2306 |
do_unassigned_access(addr, 0, 0, 0); |
|
2307 |
#elif defined(TARGET_CRIS) |
|
2308 |
do_unassigned_access(addr, 0, 0, 0); |
|
2305 |
#if defined(TARGET_SPARC) || defined(TARGET_CRIS) |
|
2306 |
do_unassigned_access(addr, 0, 0, 0, 1); |
|
2307 |
#endif |
|
2308 |
return 0; |
|
2309 |
} |
|
2310 |
|
|
2311 |
static uint32_t unassigned_mem_readw(void *opaque, target_phys_addr_t addr) |
|
2312 |
{ |
|
2313 |
#ifdef DEBUG_UNASSIGNED |
|
2314 |
printf("Unassigned mem read " TARGET_FMT_plx "\n", addr); |
|
2315 |
#endif |
|
2316 |
#if defined(TARGET_SPARC) || defined(TARGET_CRIS) |
|
2317 |
do_unassigned_access(addr, 0, 0, 0, 2); |
|
2318 |
#endif |
|
2319 |
return 0; |
|
2320 |
} |
|
2321 |
|
|
2322 |
static uint32_t unassigned_mem_readl(void *opaque, target_phys_addr_t addr) |
|
2323 |
{ |
|
2324 |
#ifdef DEBUG_UNASSIGNED |
|
2325 |
printf("Unassigned mem read " TARGET_FMT_plx "\n", addr); |
|
2326 |
#endif |
|
2327 |
#if defined(TARGET_SPARC) || defined(TARGET_CRIS) |
|
2328 |
do_unassigned_access(addr, 0, 0, 0, 4); |
|
2309 | 2329 |
#endif |
2310 | 2330 |
return 0; |
2311 | 2331 |
} |
... | ... | |
2315 | 2335 |
#ifdef DEBUG_UNASSIGNED |
2316 | 2336 |
printf("Unassigned mem write " TARGET_FMT_plx " = 0x%x\n", addr, val); |
2317 | 2337 |
#endif |
2318 |
#ifdef TARGET_SPARC |
|
2319 |
do_unassigned_access(addr, 1, 0, 0); |
|
2320 |
#elif defined(TARGET_CRIS) |
|
2321 |
do_unassigned_access(addr, 1, 0, 0); |
|
2338 |
#if defined(TARGET_SPARC) || defined(TARGET_CRIS) |
|
2339 |
do_unassigned_access(addr, 1, 0, 0, 1); |
|
2340 |
#endif |
|
2341 |
} |
|
2342 |
|
|
2343 |
static void unassigned_mem_writew(void *opaque, target_phys_addr_t addr, uint32_t val) |
|
2344 |
{ |
|
2345 |
#ifdef DEBUG_UNASSIGNED |
|
2346 |
printf("Unassigned mem write " TARGET_FMT_plx " = 0x%x\n", addr, val); |
|
2347 |
#endif |
|
2348 |
#if defined(TARGET_SPARC) || defined(TARGET_CRIS) |
|
2349 |
do_unassigned_access(addr, 1, 0, 0, 2); |
|
2350 |
#endif |
|
2351 |
} |
|
2352 |
|
|
2353 |
static void unassigned_mem_writel(void *opaque, target_phys_addr_t addr, uint32_t val) |
|
2354 |
{ |
|
2355 |
#ifdef DEBUG_UNASSIGNED |
|
2356 |
printf("Unassigned mem write " TARGET_FMT_plx " = 0x%x\n", addr, val); |
|
2357 |
#endif |
|
2358 |
#if defined(TARGET_SPARC) || defined(TARGET_CRIS) |
|
2359 |
do_unassigned_access(addr, 1, 0, 0, 4); |
|
2322 | 2360 |
#endif |
2323 | 2361 |
} |
2324 | 2362 |
|
2325 | 2363 |
static CPUReadMemoryFunc *unassigned_mem_read[3] = { |
2326 | 2364 |
unassigned_mem_readb, |
2327 |
unassigned_mem_readb,
|
|
2328 |
unassigned_mem_readb,
|
|
2365 |
unassigned_mem_readw,
|
|
2366 |
unassigned_mem_readl,
|
|
2329 | 2367 |
}; |
2330 | 2368 |
|
2331 | 2369 |
static CPUWriteMemoryFunc *unassigned_mem_write[3] = { |
2332 | 2370 |
unassigned_mem_writeb, |
2333 |
unassigned_mem_writeb,
|
|
2334 |
unassigned_mem_writeb,
|
|
2371 |
unassigned_mem_writew,
|
|
2372 |
unassigned_mem_writel,
|
|
2335 | 2373 |
}; |
2336 | 2374 |
|
2337 | 2375 |
static void notdirty_mem_writeb(void *opaque, target_phys_addr_t ram_addr, |
Also available in: Unified diff