aboutsummaryrefslogtreecommitdiff
path: root/target-xtensa/cpu.h
diff options
context:
space:
mode:
authorMax Filippov <jcmvbkbc@gmail.com>2011-10-16 02:56:04 +0400
committerBlue Swirl <blauwirbel@gmail.com>2011-10-16 10:39:52 +0000
commitac8b7db4934fcf38b49c4024feb7d5f0e1311e23 (patch)
tree50277fcaa1fbea5829f9a6f4eb0c69ea9a3b557d /target-xtensa/cpu.h
parentb8929a549f3e97b6cc2dfd22ba83612a1bb625ec (diff)
downloadqemu-ac8b7db4934fcf38b49c4024feb7d5f0e1311e23.zip
qemu-ac8b7db4934fcf38b49c4024feb7d5f0e1311e23.tar.gz
qemu-ac8b7db4934fcf38b49c4024feb7d5f0e1311e23.tar.bz2
target-xtensa: extract core configuration from overlay
Introduce overlay_tool.h that defines core configuration blocks from data available in the linux architecture variant overlay. Overlay data is automatically generated in the core configuration process by Tensilica tools and can be directly converted to qemu xtensa core description by overlay_tool.h Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Diffstat (limited to 'target-xtensa/cpu.h')
-rw-r--r--target-xtensa/cpu.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/target-xtensa/cpu.h b/target-xtensa/cpu.h
index 9d36c1b..0db83a6 100644
--- a/target-xtensa/cpu.h
+++ b/target-xtensa/cpu.h
@@ -285,6 +285,11 @@ typedef struct XtensaConfig {
xtensa_tlb dtlb;
} XtensaConfig;
+typedef struct XtensaConfigList {
+ const XtensaConfig *config;
+ struct XtensaConfigList *next;
+} XtensaConfigList;
+
typedef struct CPUXtensaState {
const XtensaConfig *config;
uint32_t regs[16];
@@ -317,6 +322,7 @@ typedef struct CPUXtensaState {
CPUXtensaState *cpu_xtensa_init(const char *cpu_model);
void xtensa_translate_init(void);
int cpu_xtensa_exec(CPUXtensaState *s);
+void xtensa_register_core(XtensaConfigList *node);
void do_interrupt(CPUXtensaState *s);
void check_interrupts(CPUXtensaState *s);
void xtensa_irq_init(CPUState *env);