Revision 5b450407 target-alpha/op_helper.c

b/target-alpha/op_helper.c
1265 1265
    return ret;
1266 1266
}
1267 1267

  
1268
static void QEMU_NORETURN do_unaligned_access(target_ulong addr, int is_write,
1269
                                              int is_user, void *retaddr)
1270
{
1271
    uint64_t pc;
1272
    uint32_t insn;
1273

  
1274
    do_restore_state(retaddr);
1275

  
1276
    pc = env->pc;
1277
    insn = ldl_code(pc);
1278

  
1279
    env->trap_arg0 = addr;
1280
    env->trap_arg1 = insn >> 26;                /* opcode */
1281
    env->trap_arg2 = (insn >> 21) & 31;         /* dest regno */
1282
    helper_excp(EXCP_UNALIGN, 0);
1283
}
1284

  
1285
void QEMU_NORETURN do_unassigned_access(target_phys_addr_t addr, int is_write,
1286
                                        int is_exec, int unused, int size)
1287
{
1288
    env->trap_arg0 = addr;
1289
    env->trap_arg1 = is_write;
1290
    dynamic_excp(EXCP_MCHK, 0);
1291
}
1292

  
1268 1293
#define MMUSUFFIX _mmu
1294
#define ALIGNED_ONLY
1269 1295

  
1270 1296
#define SHIFT 0
1271 1297
#include "softmmu_template.h"

Also available in: Unified diff