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