/[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 14 by dpavlin, Mon Oct 8 16:18:51 2007 UTC revision 28 by dpavlin, Mon Oct 8 16:20:26 2007 UTC
# Line 1  Line 1 
1  /*  /*
2   *  Copyright (C) 2005  Anders Gavare.  All rights reserved.   *  Copyright (C) 2005-2006  Anders Gavare.  All rights reserved.
3   *   *
4   *  Redistribution and use in source and binary forms, with or without   *  Redistribution and use in source and binary forms, with or without
5   *  modification, are permitted provided that the following conditions are met:   *  modification, are permitted provided that the following conditions are met:
# Line 25  Line 25 
25   *  SUCH DAMAGE.   *  SUCH DAMAGE.
26   *   *
27   *   *
28   *  $Id: cpu_i960.c,v 1.2 2005/09/07 07:41:30 debug Exp $   *  $Id: cpu_i960.c,v 1.11 2006/07/20 21:52:59 debug Exp $
29   *   *
30   *  Intel i960 CPU emulation.   *  Intel i960 CPU emulation.
31   */   */
# Line 60  int i960_cpu_new(struct cpu *cpu, struct Line 60  int i960_cpu_new(struct cpu *cpu, struct
60          if (strcasecmp(cpu_type_name, "i960") != 0)          if (strcasecmp(cpu_type_name, "i960") != 0)
61                  return 0;                  return 0;
62    
63            cpu->run_instr = i960_run_instr;
64          cpu->memory_rw = i960_memory_rw;          cpu->memory_rw = i960_memory_rw;
65          cpu->update_translation_table = i960_update_translation_table;          cpu->update_translation_table = i960_update_translation_table;
66          cpu->invalidate_translation_caches_paddr =          cpu->invalidate_translation_caches =
67              i960_invalidate_translation_caches_paddr;              i960_invalidate_translation_caches;
68          cpu->invalidate_code_translation = i960_invalidate_code_translation;          cpu->invalidate_code_translation = i960_invalidate_code_translation;
69          cpu->is_32bit = 1;          cpu->is_32bit = 1;
70    
# Line 119  void i960_cpu_register_dump(struct cpu * Line 120  void i960_cpu_register_dump(struct cpu *
120                  symbol = get_symbol_name(&cpu->machine->symbol_context,                  symbol = get_symbol_name(&cpu->machine->symbol_context,
121                      cpu->pc, &offset);                      cpu->pc, &offset);
122    
123                  debug("cpu%i: pc  = 0x%08x", x, (int)cpu->pc);                  debug("cpu%i: pc  = 0x%08"PRIx32, x, (uint32_t)cpu->pc);
124                  debug("  <%s>\n", symbol != NULL? symbol : " no symbol ");                  debug("  <%s>\n", symbol != NULL? symbol : " no symbol ");
125          }          }
126  }  }
# Line 149  void i960_cpu_register_match(struct mach Line 150  void i960_cpu_register_match(struct mach
150    
151    
152  /*  /*
  *  i960_cpu_show_full_statistics():  
  *  
  *  Show detailed statistics on opcode usage on each cpu.  
  */  
 void i960_cpu_show_full_statistics(struct machine *m)  
 {  
         fatal("i960_cpu_show_full_statistics(): TODO\n");  
 }  
   
   
 /*  
153   *  i960_cpu_tlbdump():   *  i960_cpu_tlbdump():
154   *   *
155   *  Called from the debugger to dump the TLB in a readable format.   *  Called from the debugger to dump the TLB in a readable format.
# Line 170  void i960_cpu_show_full_statistics(struc Line 160  void i960_cpu_show_full_statistics(struc
160   */   */
161  void i960_cpu_tlbdump(struct machine *m, int x, int rawflag)  void i960_cpu_tlbdump(struct machine *m, int x, int rawflag)
162  {  {
163          fatal("i960_cpu_tlbdump(): TODO\n");  }
164    
165    
166    /*
167     *  i960_cpu_gdb_stub():
168     *
169     *  Execute a "remote GDB" command. Returns a newly allocated response string
170     *  on success, NULL on failure.
171     */
172    char *i960_cpu_gdb_stub(struct cpu *cpu, char *cmd)
173    {
174            fatal("i960_cpu_gdb_stub(): TODO\n");
175            return NULL;
176  }  }
177    
178    
# Line 215  static void print_spaces(int len) { int Line 217  static void print_spaces(int len) { int
217   *  cpu->pc for relative addresses.   *  cpu->pc for relative addresses.
218   */   */
219  int i960_cpu_disassemble_instr(struct cpu *cpu, unsigned char *ib,  int i960_cpu_disassemble_instr(struct cpu *cpu, unsigned char *ib,
220          int running, uint64_t dumpaddr, int bintrans)          int running, uint64_t dumpaddr)
221  {  {
222          uint64_t offset;          uint64_t offset;
223          int len = 0;          int len = 0;

Legend:
Removed from v.14  
changed lines
  Added in v.28

  ViewVC Help
Powered by ViewVC 1.1.26