Revision e18231a3 target-sparc/op_helper.c

b/target-sparc/op_helper.c
950 950
        break;
951 951
    case 8: /* User code access, XXX */
952 952
    default:
953
        do_unassigned_access(addr, 0, 0, asi);
953
        do_unassigned_access(addr, 0, 0, asi, size);
954 954
        ret = 0;
955 955
        break;
956 956
    }
......
1284 1284
    case 8: /* User code access, XXX */
1285 1285
    case 9: /* Supervisor code access, XXX */
1286 1286
    default:
1287
        do_unassigned_access(addr, 1, 0, asi);
1287
        do_unassigned_access(addr, 1, 0, asi, size);
1288 1288
        break;
1289 1289
    }
1290 1290
#ifdef DEBUG_ASI
......
1464 1464
    case 0x8a: // Primary no-fault LE, RO
1465 1465
    case 0x8b: // Secondary no-fault LE, RO
1466 1466
    default:
1467
        do_unassigned_access(addr, 1, 0, 1);
1467
        do_unassigned_access(addr, 1, 0, 1, size);
1468 1468
        return;
1469 1469
    }
1470 1470
}
......
1675 1675
    case 0x5f: // D-MMU demap, WO
1676 1676
    case 0x77: // Interrupt vector, WO
1677 1677
    default:
1678
        do_unassigned_access(addr, 0, 0, 1);
1678
        do_unassigned_access(addr, 0, 0, 1, size);
1679 1679
        ret = 0;
1680 1680
        break;
1681 1681
    }
......
2082 2082
    case 0x8a: // Primary no-fault LE, RO
2083 2083
    case 0x8b: // Secondary no-fault LE, RO
2084 2084
    default:
2085
        do_unassigned_access(addr, 1, 0, 1);
2085
        do_unassigned_access(addr, 1, 0, 1, size);
2086 2086
        return;
2087 2087
    }
2088 2088
}
......
3025 3025

  
3026 3026
#ifndef TARGET_SPARC64
3027 3027
void do_unassigned_access(target_phys_addr_t addr, int is_write, int is_exec,
3028
                          int is_asi)
3028
                          int is_asi, int size)
3029 3029
{
3030 3030
    CPUState *saved_env;
3031 3031

  
......
3035 3035
    env = cpu_single_env;
3036 3036
#ifdef DEBUG_UNASSIGNED
3037 3037
    if (is_asi)
3038
        printf("Unassigned mem %s access to " TARGET_FMT_plx
3038
        printf("Unassigned mem %s access of %d byte%s to " TARGET_FMT_plx
3039 3039
               " asi 0x%02x from " TARGET_FMT_lx "\n",
3040
               is_exec ? "exec" : is_write ? "write" : "read", addr, is_asi,
3041
               env->pc);
3040
               is_exec ? "exec" : is_write ? "write" : "read", size,
3041
               size == 1 ? "" : "s", addr, is_asi, env->pc);
3042 3042
    else
3043
        printf("Unassigned mem %s access to " TARGET_FMT_plx " from "
3044
               TARGET_FMT_lx "\n",
3045
               is_exec ? "exec" : is_write ? "write" : "read", addr, env->pc);
3043
        printf("Unassigned mem %s access of %d byte%s to " TARGET_FMT_plx
3044
               " from " TARGET_FMT_lx "\n",
3045
               is_exec ? "exec" : is_write ? "write" : "read", size,
3046
               size == 1 ? "" : "s", addr, env->pc);
3046 3047
#endif
3047 3048
    if (env->mmuregs[3]) /* Fault status register */
3048 3049
        env->mmuregs[3] = 1; /* overflow (not read before another fault) */
......
3066 3067
}
3067 3068
#else
3068 3069
void do_unassigned_access(target_phys_addr_t addr, int is_write, int is_exec,
3069
                          int is_asi)
3070
                          int is_asi, int size)
3070 3071
{
3071 3072
#ifdef DEBUG_UNASSIGNED
3072 3073
    CPUState *saved_env;

Also available in: Unified diff