/[gxemul]/trunk/src/cpus/cpu_i960.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_i960.c

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

revision 24 by dpavlin, Mon Oct 8 16:19:56 2007 UTC revision 32 by dpavlin, Mon Oct 8 16:20:58 2007 UTC
# Line 25  Line 25 
25   *  SUCH DAMAGE.   *  SUCH DAMAGE.
26   *   *
27   *   *
28   *  $Id: cpu_i960.c,v 1.9 2006/06/16 18:31:25 debug Exp $   *  $Id: cpu_i960.c,v 1.12 2006/09/19 10:50:08 debug Exp $
29   *   *
30   *  Intel i960 CPU emulation.   *  Intel i960 CPU emulation.
31   */   */
# Line 39  Line 39 
39  #include "machine.h"  #include "machine.h"
40  #include "memory.h"  #include "memory.h"
41  #include "misc.h"  #include "misc.h"
42    #include "settings.h"
43  #include "symbol.h"  #include "symbol.h"
44    
45  #define DYNTRANS_32  #define DYNTRANS_32
# Line 60  int i960_cpu_new(struct cpu *cpu, struct Line 61  int i960_cpu_new(struct cpu *cpu, struct
61          if (strcasecmp(cpu_type_name, "i960") != 0)          if (strcasecmp(cpu_type_name, "i960") != 0)
62                  return 0;                  return 0;
63    
64            cpu->run_instr = i960_run_instr;
65          cpu->memory_rw = i960_memory_rw;          cpu->memory_rw = i960_memory_rw;
66          cpu->update_translation_table = i960_update_translation_table;          cpu->update_translation_table = i960_update_translation_table;
67          cpu->invalidate_translation_caches =          cpu->invalidate_translation_caches =
# Line 74  int i960_cpu_new(struct cpu *cpu, struct Line 76  int i960_cpu_new(struct cpu *cpu, struct
76                  debug("%s", cpu->name);                  debug("%s", cpu->name);
77          }          }
78    
79            /*  Add all register names to the settings:  */
80            CPU_SETTINGS_ADD_REGISTER64("pc", cpu->pc);
81    
82          return 1;          return 1;
83  }  }
84    
# Line 119  void i960_cpu_register_dump(struct cpu * Line 124  void i960_cpu_register_dump(struct cpu *
124                  symbol = get_symbol_name(&cpu->machine->symbol_context,                  symbol = get_symbol_name(&cpu->machine->symbol_context,
125                      cpu->pc, &offset);                      cpu->pc, &offset);
126    
127                  debug("cpu%i: pc  = 0x%08x", x, (int)cpu->pc);                  debug("cpu%i: pc  = 0x%08"PRIx32, x, (uint32_t)cpu->pc);
128                  debug("  <%s>\n", symbol != NULL? symbol : " no symbol ");                  debug("  <%s>\n", symbol != NULL? symbol : " no symbol ");
129          }          }
130  }  }
131    
   
 /*  
  *  i960_cpu_register_match():  
  */  
 void i960_cpu_register_match(struct machine *m, char *name,  
         int writeflag, uint64_t *valuep, int *match_register)  
 {  
         int cpunr = 0;  
   
         /*  CPU number:  */  
   
         /*  TODO  */  
   
         /*  Register name:  */  
         if (strcasecmp(name, "pc") == 0) {  
                 if (writeflag) {  
                         m->cpus[cpunr]->pc = *valuep;  
                 } else  
                         *valuep = m->cpus[cpunr]->pc;  
                 *match_register = 1;  
         }  
 }  
   
132    
133  /*  /*
134   *  i960_cpu_tlbdump():   *  i960_cpu_tlbdump():

Legend:
Removed from v.24  
changed lines
  Added in v.32

  ViewVC Help
Powered by ViewVC 1.1.26