X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=target-cris%2Fcpu.c;h=16cfba95fffd2d9a88e4e8ed6a4709cf813c4735;hb=2472b6c07bb50179019589af1c22f43935ab7f5c;hp=12c90eef340c822b60cbb3bdec4dadc2c221cc5c;hpb=9262685b818512215f0829f0dc95c2363898a1ad;p=mirror_qemu.git diff --git a/target-cris/cpu.c b/target-cris/cpu.c index 12c90eef34..16cfba95ff 100644 --- a/target-cris/cpu.c +++ b/target-cris/cpu.c @@ -49,9 +49,9 @@ static void cris_cpu_reset(CPUState *s) ccc->parent_reset(s); vr = env->pregs[PR_VR]; - memset(env, 0, offsetof(CPUCRISState, breakpoints)); + memset(env, 0, offsetof(CPUCRISState, load_info)); env->pregs[PR_VR] = vr; - tlb_flush(env, 1); + tlb_flush(s, 1); #if defined(CONFIG_USER_ONLY) /* start in user mode with interrupts enabled. */ @@ -279,15 +279,19 @@ static void cris_cpu_class_init(ObjectClass *oc, void *data) cc->class_by_name = cris_cpu_class_by_name; cc->has_work = cris_cpu_has_work; cc->do_interrupt = cris_cpu_do_interrupt; + cc->cpu_exec_interrupt = cris_cpu_exec_interrupt; cc->dump_state = cris_cpu_dump_state; cc->set_pc = cris_cpu_set_pc; cc->gdb_read_register = cris_cpu_gdb_read_register; cc->gdb_write_register = cris_cpu_gdb_write_register; -#ifndef CONFIG_USER_ONLY +#ifdef CONFIG_USER_ONLY + cc->handle_mmu_fault = cris_cpu_handle_mmu_fault; +#else cc->get_phys_page_debug = cris_cpu_get_phys_page_debug; #endif cc->gdb_num_core_regs = 49; + cc->gdb_stop_before_watchpoint = true; } static const TypeInfo cris_cpu_type_info = {