/[gxemul]/trunk/src/cpus/cpu_arm_instr_loadstore.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_arm_instr_loadstore.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 16 by dpavlin, Mon Oct 8 16:19:01 2007 UTC
# Line 25  Line 25 
25   *  SUCH DAMAGE.   *  SUCH DAMAGE.
26   *   *
27   *   *
28   *  $Id: cpu_arm_instr_loadstore.c,v 1.8 2005/10/05 21:17:32 debug Exp $   *  $Id: cpu_arm_instr_loadstore.c,v 1.9 2005/10/09 21:32:07 debug Exp $
29   *   *
30   *   *
31   *  TODO:  Many things...   *  TODO:  Many things...
# Line 63  void A__NAME__general(struct cpu *cpu, s Line 63  void A__NAME__general(struct cpu *cpu, s
63  #else  #else
64          const int memory_rw_flags = CACHE_DATA;          const int memory_rw_flags = CACHE_DATA;
65  #endif  #endif
66    #ifdef A__REG
67            uint32_t (*reg_func)(struct cpu *, struct arm_instr_call *)
68                = (void *)(size_t)ic->arg[1];
69    #endif
70  #ifdef A__B  #ifdef A__B
71          unsigned char data[1];          unsigned char data[1];
72  #else  #else
# Line 77  void A__NAME__general(struct cpu *cpu, s Line 81  void A__NAME__general(struct cpu *cpu, s
81              -              -
82  #endif  #endif
83  #ifdef A__REG  #ifdef A__REG
84              R(cpu, ic, ic->arg[1], 0)              reg_func(cpu, ic);
85  #else  #else
86              ic->arg[1]              ic->arg[1];
87  #endif  #endif
             ;  
88    
89          low_pc = ((size_t)ic - (size_t)cpu->cd.arm.          low_pc = ((size_t)ic - (size_t)cpu->cd.arm.
90              cur_ic_page) / sizeof(struct arm_instr_call);              cur_ic_page) / sizeof(struct arm_instr_call);
# Line 162  void A__NAME(struct cpu *cpu, struct arm Line 165  void A__NAME(struct cpu *cpu, struct arm
165          /*  T-bit: userland access. Use the general routine for that.  */          /*  T-bit: userland access. Use the general routine for that.  */
166          A__NAME__general(cpu, ic);          A__NAME__general(cpu, ic);
167  #else  #else
168    #ifdef A__REG
169            uint32_t (*reg_func)(struct cpu *, struct arm_instr_call *)
170                = (void *)(size_t)ic->arg[1];
171    #endif
172          uint32_t offset =          uint32_t offset =
173  #ifndef A__U  #ifndef A__U
174              -              -
175  #endif  #endif
176  #ifdef A__REG  #ifdef A__REG
177              R(cpu, ic, ic->arg[1], 0)              reg_func(cpu, ic);
178  #else  #else
179              ic->arg[1]              ic->arg[1];
180  #endif  #endif
             ;  
181          uint32_t addr = reg(ic->arg[0])          uint32_t addr = reg(ic->arg[0])
182  #ifdef A__P  #ifdef A__P
183              + offset              + offset

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

  ViewVC Help
Powered by ViewVC 1.1.26