/[dynamips]/upstream/dynamips-0.2.7-RC2/mips64.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 /upstream/dynamips-0.2.7-RC2/mips64.c

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

upstream/dynamips-0.2.7-RC1/mips64.c revision 7 by dpavlin, Sat Oct 6 16:23:47 2007 UTC upstream/dynamips-0.2.7-RC2/mips64.c revision 8 by dpavlin, Sat Oct 6 16:24:54 2007 UTC
# Line 68  int mips64_reset(cpu_mips_t *cpu) Line 68  int mips64_reset(cpu_mips_t *cpu)
68     memset(&cpu->cp0.tlb,0,MIPS64_TLB_MAX_ENTRIES*sizeof(tlb_entry_t));     memset(&cpu->cp0.tlb,0,MIPS64_TLB_MAX_ENTRIES*sizeof(tlb_entry_t));
69    
70     /* Restart the MTS subsystem */     /* Restart the MTS subsystem */
71     mips64_set_addr_mode(cpu,64);     mips64_set_addr_mode(cpu,32/*64*/);  /* zzz */
72     cpu->gen->mts_rebuild(cpu->gen);     cpu->gen->mts_rebuild(cpu->gen);
73    
74     /* Flush JIT structures */     /* Flush JIT structures */
# Line 94  int mips64_init(cpu_mips_t *cpu) Line 94  int mips64_init(cpu_mips_t *cpu)
94     /* Enable fast memory operations */     /* Enable fast memory operations */
95     cpu->fast_memop = TRUE;     cpu->fast_memop = TRUE;
96    
97       /* Enable/Disable direct block jump */
98       cpu->exec_blk_direct_jump = cpu->vm->exec_blk_direct_jump;
99    
100     /* Create the IRQ lock (for non-jit architectures) */     /* Create the IRQ lock (for non-jit architectures) */
101     pthread_mutex_init(&cpu->irq_lock,NULL);     pthread_mutex_init(&cpu->irq_lock,NULL);
102    
# Line 270  int mips64_get_idling_pc(cpu_gen_t *cpu) Line 273  int mips64_get_idling_pc(cpu_gen_t *cpu)
273               cpu->idle_pc_prop[0].pc);               cpu->idle_pc_prop[0].pc);
274     } else {     } else {
275        printf("Done. No suggestion for idling PC\n");        printf("Done. No suggestion for idling PC\n");
276    
277          for(i=0;i<IDLE_HASH_SIZE;i++)
278             for(p=pc_hash[i];p;p=p->next) {
279                printf("  0x%16.16llx (%3u)\n",p->pc,p->count);
280    
281                if (cpu->idle_pc_prop_count < CPU_IDLE_PC_MAX_RES) {
282                   res = &cpu->idle_pc_prop[cpu->idle_pc_prop_count++];
283    
284                   res->pc    = p->pc;
285                   res->count = p->count;
286                }
287             }
288          
289          printf("\n");
290     }     }
291    
292     /* Re-enable IRQ */     /* Re-enable IRQ */
# Line 622  void mips64_dump_regs(cpu_gen_t *cpu) Line 639  void mips64_dump_regs(cpu_gen_t *cpu)
639     printf("  Timer IRQ count: %llu, pending: %u, timer drift: %u\n\n",     printf("  Timer IRQ count: %llu, pending: %u, timer drift: %u\n\n",
640            mcpu->timer_irq_count,mcpu->timer_irq_pending,mcpu->timer_drift);            mcpu->timer_irq_count,mcpu->timer_irq_pending,mcpu->timer_drift);
641    
642       printf("  Device access count: %llu\n",cpu->dev_access_counter);
643     printf("\n");     printf("\n");
644  }  }
645    

Legend:
Removed from v.7  
changed lines
  Added in v.8

  ViewVC Help
Powered by ViewVC 1.1.26