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