Revision 9444006f

b/target-alpha/cpu.c
1 1
/*
2 2
 * QEMU Alpha CPU
3 3
 *
4
 * Copyright (c) 2007 Jocelyn Mayer
4 5
 * Copyright (c) 2012 SUSE LINUX Products GmbH
5 6
 *
6 7
 * This library is free software; you can redistribute it and/or
......
22 23
#include "qemu-common.h"
23 24

  
24 25

  
26
static void alpha_cpu_initfn(Object *obj)
27
{
28
    AlphaCPU *cpu = ALPHA_CPU(obj);
29
    CPUAlphaState *env = &cpu->env;
30

  
31
    cpu_exec_init(env);
32
    tlb_flush(env, 1);
33

  
34
#if defined(CONFIG_USER_ONLY)
35
    env->ps = PS_USER_MODE;
36
    cpu_alpha_store_fpcr(env, (FPCR_INVD | FPCR_DZED | FPCR_OVFD
37
                               | FPCR_UNFD | FPCR_INED | FPCR_DNOD
38
                               | FPCR_DYN_NORMAL));
39
#endif
40
    env->lock_addr = -1;
41
    env->fen = 1;
42
}
43

  
25 44
static const TypeInfo alpha_cpu_type_info = {
26 45
    .name = TYPE_ALPHA_CPU,
27 46
    .parent = TYPE_CPU,
28 47
    .instance_size = sizeof(AlphaCPU),
48
    .instance_init = alpha_cpu_initfn,
29 49
    .abstract = false,
30 50
    .class_size = sizeof(AlphaCPUClass),
31 51
};
b/target-alpha/translate.c
3531 3531

  
3532 3532
    cpu = ALPHA_CPU(object_new(TYPE_ALPHA_CPU));
3533 3533
    env = &cpu->env;
3534
    cpu_exec_init(env);
3534

  
3535 3535
    alpha_translate_init();
3536
    tlb_flush(env, 1);
3537 3536

  
3538 3537
    /* Default to ev67; no reason not to emulate insns by default.  */
3539 3538
    implver = IMPLVER_21264;
......
3551 3550
    env->implver = implver;
3552 3551
    env->amask = amask;
3553 3552

  
3554
#if defined (CONFIG_USER_ONLY)
3555
    env->ps = PS_USER_MODE;
3556
    cpu_alpha_store_fpcr(env, (FPCR_INVD | FPCR_DZED | FPCR_OVFD
3557
                               | FPCR_UNFD | FPCR_INED | FPCR_DNOD
3558
                               | FPCR_DYN_NORMAL));
3559
#endif
3560
    env->lock_addr = -1;
3561
    env->fen = 1;
3562

  
3563 3553
    qemu_init_vcpu(env);
3564 3554
    return env;
3565 3555
}

Also available in: Unified diff