]>
Commit | Line | Data |
---|---|---|
2328826b MF |
1 | /* |
2 | * Copyright (c) 2011, Max Filippov, Open Source and Linux Lab. | |
3 | * All rights reserved. | |
4 | * | |
5 | * Redistribution and use in source and binary forms, with or without | |
6 | * modification, are permitted provided that the following conditions are met: | |
7 | * * Redistributions of source code must retain the above copyright | |
8 | * notice, this list of conditions and the following disclaimer. | |
9 | * * Redistributions in binary form must reproduce the above copyright | |
10 | * notice, this list of conditions and the following disclaimer in the | |
11 | * documentation and/or other materials provided with the distribution. | |
12 | * * Neither the name of the Open Source and Linux Lab nor the | |
13 | * names of its contributors may be used to endorse or promote products | |
14 | * derived from this software without specific prior written permission. | |
15 | * | |
16 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | |
17 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | |
18 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | |
19 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY | |
20 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | |
21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | |
22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | |
23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | |
24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | |
25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
26 | */ | |
27 | ||
28 | #include "cpu.h" | |
29 | #include "exec-all.h" | |
30 | #include "gdbstub.h" | |
31 | #include "qemu-common.h" | |
32 | #include "host-utils.h" | |
33 | #if !defined(CONFIG_USER_ONLY) | |
34 | #include "hw/loader.h" | |
35 | #endif | |
36 | ||
37 | void cpu_reset(CPUXtensaState *env) | |
38 | { | |
39 | env->pc = 0; | |
40 | } | |
41 | ||
42 | CPUXtensaState *cpu_xtensa_init(const char *cpu_model) | |
43 | { | |
44 | static int tcg_inited; | |
45 | CPUXtensaState *env; | |
46 | ||
47 | env = g_malloc0(sizeof(*env)); | |
48 | cpu_exec_init(env); | |
49 | ||
50 | if (!tcg_inited) { | |
51 | tcg_inited = 1; | |
52 | xtensa_translate_init(); | |
53 | } | |
54 | ||
55 | qemu_init_vcpu(env); | |
56 | return env; | |
57 | } | |
58 | ||
59 | ||
60 | void xtensa_cpu_list(FILE *f, fprintf_function cpu_fprintf) | |
61 | { | |
62 | cpu_fprintf(f, "Available CPUs:\n" | |
63 | " Xtensa core\n"); | |
64 | } | |
65 | ||
66 | target_phys_addr_t cpu_get_phys_page_debug(CPUState *env, target_ulong addr) | |
67 | { | |
68 | return addr; | |
69 | } | |
70 | ||
71 | void do_interrupt(CPUState *env) | |
72 | { | |
73 | } |