cpu.c (0f72559fbc9e1ae45aa8ebeed0443fe3a7a388a8) | cpu.c (1f5c00cfdb8114c1e3a13426588ceb64f82c9ddb) |
---|---|
1/* 2 * QEMU ARM CPU 3 * 4 * Copyright (c) 2012 SUSE LINUX Products GmbH 5 * 6 * This program is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU General Public License 8 * as published by the Free Software Foundation; either version 2 --- 108 unchanged lines hidden (view full) --- 117static void arm_cpu_reset(CPUState *s) 118{ 119 ARMCPU *cpu = ARM_CPU(s); 120 ARMCPUClass *acc = ARM_CPU_GET_CLASS(cpu); 121 CPUARMState *env = &cpu->env; 122 123 acc->parent_reset(s); 124 | 1/* 2 * QEMU ARM CPU 3 * 4 * Copyright (c) 2012 SUSE LINUX Products GmbH 5 * 6 * This program is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU General Public License 8 * as published by the Free Software Foundation; either version 2 --- 108 unchanged lines hidden (view full) --- 117static void arm_cpu_reset(CPUState *s) 118{ 119 ARMCPU *cpu = ARM_CPU(s); 120 ARMCPUClass *acc = ARM_CPU_GET_CLASS(cpu); 121 CPUARMState *env = &cpu->env; 122 123 acc->parent_reset(s); 124 |
125 memset(env, 0, offsetof(CPUARMState, features)); | 125 memset(env, 0, offsetof(CPUARMState, end_reset_fields)); 126 |
126 g_hash_table_foreach(cpu->cp_regs, cp_reg_reset, cpu); 127 g_hash_table_foreach(cpu->cp_regs, cp_reg_check_reset, cpu); 128 129 env->vfp.xregs[ARM_VFP_FPSID] = cpu->reset_fpsid; 130 env->vfp.xregs[ARM_VFP_MVFR0] = cpu->mvfr0; 131 env->vfp.xregs[ARM_VFP_MVFR1] = cpu->mvfr1; 132 env->vfp.xregs[ARM_VFP_MVFR2] = cpu->mvfr2; 133 --- 87 unchanged lines hidden (view full) --- 221#endif 222 set_flush_to_zero(1, &env->vfp.standard_fp_status); 223 set_flush_inputs_to_zero(1, &env->vfp.standard_fp_status); 224 set_default_nan_mode(1, &env->vfp.standard_fp_status); 225 set_float_detect_tininess(float_tininess_before_rounding, 226 &env->vfp.fp_status); 227 set_float_detect_tininess(float_tininess_before_rounding, 228 &env->vfp.standard_fp_status); | 127 g_hash_table_foreach(cpu->cp_regs, cp_reg_reset, cpu); 128 g_hash_table_foreach(cpu->cp_regs, cp_reg_check_reset, cpu); 129 130 env->vfp.xregs[ARM_VFP_FPSID] = cpu->reset_fpsid; 131 env->vfp.xregs[ARM_VFP_MVFR0] = cpu->mvfr0; 132 env->vfp.xregs[ARM_VFP_MVFR1] = cpu->mvfr1; 133 env->vfp.xregs[ARM_VFP_MVFR2] = cpu->mvfr2; 134 --- 87 unchanged lines hidden (view full) --- 222#endif 223 set_flush_to_zero(1, &env->vfp.standard_fp_status); 224 set_flush_inputs_to_zero(1, &env->vfp.standard_fp_status); 225 set_default_nan_mode(1, &env->vfp.standard_fp_status); 226 set_float_detect_tininess(float_tininess_before_rounding, 227 &env->vfp.fp_status); 228 set_float_detect_tininess(float_tininess_before_rounding, 229 &env->vfp.standard_fp_status); |
229 tlb_flush(s, 1); 230 | |
231#ifndef CONFIG_USER_ONLY 232 if (kvm_enabled()) { 233 kvm_arm_reset_vcpu(cpu); 234 } 235#endif 236 237 hw_breakpoint_update_all(cpu); 238 hw_watchpoint_update_all(cpu); --- 1393 unchanged lines hidden --- | 230#ifndef CONFIG_USER_ONLY 231 if (kvm_enabled()) { 232 kvm_arm_reset_vcpu(cpu); 233 } 234#endif 235 236 hw_breakpoint_update_all(cpu); 237 hw_watchpoint_update_all(cpu); --- 1393 unchanged lines hidden --- |