aboutsummaryrefslogtreecommitdiff
path: root/sim/ppc/cpu.c
diff options
context:
space:
mode:
authorMichael Meissner <gnu@the-meissners.org>1995-11-28 18:47:07 +0000
committerMichael Meissner <gnu@the-meissners.org>1995-11-28 18:47:07 +0000
commit290ad14a9dd688a94344e1c21e681e2e8d01b0f1 (patch)
tree6cd17c9b356f288fa36d40ade3730e494cd34e7d /sim/ppc/cpu.c
parent5aca405826b00ce4fc00055618eeab3e7e231076 (diff)
downloadfsf-binutils-gdb-290ad14a9dd688a94344e1c21e681e2e8d01b0f1.zip
fsf-binutils-gdb-290ad14a9dd688a94344e1c21e681e2e8d01b0f1.tar.gz
fsf-binutils-gdb-290ad14a9dd688a94344e1c21e681e2e8d01b0f1.tar.bz2
Add determining when we do not have enough writeback slots; Do not do model specific handling if not printing out the information
Diffstat (limited to 'sim/ppc/cpu.c')
-rw-r--r--sim/ppc/cpu.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/sim/ppc/cpu.c b/sim/ppc/cpu.c
index 33094fe..ef8cfeb 100644
--- a/sim/ppc/cpu.c
+++ b/sim/ppc/cpu.c
@@ -96,7 +96,9 @@ cpu_create(psim *system,
processor->virtual = vm_create(memory);
processor->instruction_map = vm_create_instruction_map(processor->virtual);
processor->data_map = vm_create_data_map(processor->virtual);
- processor->model_ptr = model_create (processor);
+
+ if (CURRENT_MODEL_ISSUE > 0)
+ processor->model_ptr = model_create (processor);
/* link back to core system */
processor->system = system;
@@ -114,7 +116,8 @@ cpu_init(cpu *processor)
memset(&processor->regs, 0, sizeof(processor->regs));
/* FIXME - should any of VM be inited also ? */
- model_init (processor, processor->model_ptr);
+ if (CURRENT_MODEL_ISSUE > 0)
+ model_init (processor->model_ptr);
}
@@ -247,7 +250,9 @@ cpu_halt(cpu *processor,
signal);
}
else {
- model_halt(processor, processor->model_ptr);
+ if (CURRENT_MODEL_ISSUE > 0)
+ model_halt(processor->model_ptr);
+
processor->program_counter = cia;
psim_halt(processor->system, processor->cpu_nr, cia, reason, signal);
}