]>
Commit | Line | Data |
---|---|---|
79aceca5 | 1 | /* |
4d5ea5e5 | 2 | * PowerPC emulation helpers for QEMU. |
5fafdf24 | 3 | * |
76a66253 | 4 | * Copyright (c) 2003-2007 Jocelyn Mayer |
79aceca5 FB |
5 | * |
6 | * This library is free software; you can redistribute it and/or | |
7 | * modify it under the terms of the GNU Lesser General Public | |
8 | * License as published by the Free Software Foundation; either | |
9 | * version 2 of the License, or (at your option) any later version. | |
10 | * | |
11 | * This library is distributed in the hope that it will be useful, | |
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
14 | * Lesser General Public License for more details. | |
15 | * | |
16 | * You should have received a copy of the GNU Lesser General Public | |
8167ee88 | 17 | * License along with this library; if not, see <http://www.gnu.org/licenses/>. |
79aceca5 | 18 | */ |
fdabc366 FB |
19 | |
20 | #include "cpu.h" | |
0411a972 | 21 | #include "helper_regs.h" |
d76d1650 | 22 | #include "kvm.h" |
e97c3636 DG |
23 | #include "kvm_ppc.h" |
24 | #include "cpus.h" | |
9a64fbe4 | 25 | |
397b457d | 26 | PowerPCCPU *cpu_ppc_init(const char *cpu_model) |
0a032cbe | 27 | { |
1d0cb67d | 28 | PowerPCCPU *cpu; |
0a032cbe | 29 | CPUPPCState *env; |
c227f099 | 30 | const ppc_def_t *def; |
aaed909a FB |
31 | |
32 | def = cpu_ppc_find_by_name(cpu_model); | |
4d5ea5e5 | 33 | if (!def) { |
aaed909a | 34 | return NULL; |
4d5ea5e5 | 35 | } |
0a032cbe | 36 | |
1d0cb67d AF |
37 | cpu = POWERPC_CPU(object_new(TYPE_POWERPC_CPU)); |
38 | env = &cpu->env; | |
6cca7ad6 | 39 | |
d5ab9713 JK |
40 | if (tcg_enabled()) { |
41 | ppc_translate_init(); | |
42 | } | |
6cca7ad6 | 43 | |
01ba9816 | 44 | env->cpu_model_str = cpu_model; |
aaed909a | 45 | cpu_ppc_register_internal(env, def); |
d76d1650 | 46 | |
0bf46a40 | 47 | qemu_init_vcpu(env); |
d76d1650 | 48 | |
397b457d | 49 | return cpu; |
0a032cbe | 50 | } |