/[gxemul]/trunk/src/cpus/cpu_ppc.c
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/src/cpus/cpu_ppc.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 26 by dpavlin, Mon Oct 8 16:20:10 2007 UTC revision 30 by dpavlin, Mon Oct 8 16:20:40 2007 UTC
# Line 25  Line 25 
25   *  SUCH DAMAGE.   *  SUCH DAMAGE.
26   *   *
27   *   *
28   *  $Id: cpu_ppc.c,v 1.59 2006/06/24 21:47:23 debug Exp $   *  $Id: cpu_ppc.c,v 1.61 2006/07/24 21:14:52 debug Exp $
29   *   *
30   *  PowerPC/POWER CPU emulation.   *  PowerPC/POWER CPU emulation.
31   */   */
# Line 116  int ppc_cpu_new(struct cpu *cpu, struct Line 116  int ppc_cpu_new(struct cpu *cpu, struct
116          cpu->is_32bit = (cpu->cd.ppc.bits == 32)? 1 : 0;          cpu->is_32bit = (cpu->cd.ppc.bits == 32)? 1 : 0;
117    
118          if (cpu->is_32bit) {          if (cpu->is_32bit) {
119                    cpu->run_instr = ppc32_run_instr;
120                  cpu->update_translation_table = ppc32_update_translation_table;                  cpu->update_translation_table = ppc32_update_translation_table;
121                  cpu->invalidate_translation_caches =                  cpu->invalidate_translation_caches =
122                      ppc32_invalidate_translation_caches;                      ppc32_invalidate_translation_caches;
123                  cpu->invalidate_code_translation =                  cpu->invalidate_code_translation =
124                      ppc32_invalidate_code_translation;                      ppc32_invalidate_code_translation;
125          } else {          } else {
126                    cpu->run_instr = ppc_run_instr;
127                  cpu->update_translation_table = ppc_update_translation_table;                  cpu->update_translation_table = ppc_update_translation_table;
128                  cpu->invalidate_translation_caches =                  cpu->invalidate_translation_caches =
129                      ppc_invalidate_translation_caches;                      ppc_invalidate_translation_caches;
# Line 270  void reg_access_msr(struct cpu *cpu, uin Line 272  void reg_access_msr(struct cpu *cpu, uin
272                  *valuep = cpu->cd.ppc.msr;                  *valuep = cpu->cd.ppc.msr;
273    
274          if (check_for_interrupts && cpu->cd.ppc.msr & PPC_MSR_EE) {          if (check_for_interrupts && cpu->cd.ppc.msr & PPC_MSR_EE) {
275                  if (cpu->cd.ppc.dec_intr_pending) {                  if (cpu->cd.ppc.dec_intr_pending &&
276                        !(cpu->cd.ppc.cpu_type.flags & PPC_NO_DEC)) {
277                          ppc_exception(cpu, PPC_EXCEPTION_DEC);                          ppc_exception(cpu, PPC_EXCEPTION_DEC);
278                          cpu->cd.ppc.dec_intr_pending = 0;                          cpu->cd.ppc.dec_intr_pending = 0;
279                  } else if (cpu->cd.ppc.irq_asserted)                  } else if (cpu->cd.ppc.irq_asserted)

Legend:
Removed from v.26  
changed lines
  Added in v.30

  ViewVC Help
Powered by ViewVC 1.1.26