/[gxemul]/trunk/src/include/cpu_sh.h
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/include/cpu_sh.h

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

revision 33 by dpavlin, Mon Oct 8 16:20:58 2007 UTC revision 34 by dpavlin, Mon Oct 8 16:21:17 2007 UTC
# Line 2  Line 2 
2  #define CPU_SH_H  #define CPU_SH_H
3    
4  /*  /*
5   *  Copyright (C) 2005-2006  Anders Gavare.  All rights reserved.   *  Copyright (C) 2005-2007  Anders Gavare.  All rights reserved.
6   *   *
7   *  Redistribution and use in source and binary forms, with or without   *  Redistribution and use in source and binary forms, with or without
8   *  modification, are permitted provided that the following conditions are met:   *  modification, are permitted provided that the following conditions are met:
# Line 28  Line 28 
28   *  SUCH DAMAGE.   *  SUCH DAMAGE.
29   *   *
30   *   *
31   *  $Id: cpu_sh.h,v 1.33 2006/10/27 15:51:37 debug Exp $   *  $Id: cpu_sh.h,v 1.37 2006/12/30 13:31:00 debug Exp $
32   *   *
33   *  Note: Many things here are SH4-specific, so it probably doesn't work   *  Note: Many things here are SH4-specific, so it probably doesn't work
34   *        for SH3 emulation.   *        for SH3 emulation.
35   */   */
36    
37    #include "interrupt.h"
38  #include "misc.h"  #include "misc.h"
39  #include "sh4_cpu.h"  #include "sh4_cpu.h"
40    
# Line 81  DYNTRANS_MISC_DECLARATIONS(sh,SH,uint32_ Line 82  DYNTRANS_MISC_DECLARATIONS(sh,SH,uint32_
82  #define SH_N_ITLB_ENTRIES       4  #define SH_N_ITLB_ENTRIES       4
83  #define SH_N_UTLB_ENTRIES       64  #define SH_N_UTLB_ENTRIES       64
84    
85    #define SH_INVALID_INSTR        0x00fb
86    
87    
88  struct sh_cpu {  struct sh_cpu {
89          struct sh_cpu_type_def cpu_type;          struct sh_cpu_type_def cpu_type;
# Line 135  struct sh_cpu { Line 138  struct sh_cpu {
138          uint16_t        intc_ipra;      /*  Interrupt Priority Registers  */          uint16_t        intc_ipra;      /*  Interrupt Priority Registers  */
139          uint16_t        intc_iprb;          uint16_t        intc_iprb;
140          uint16_t        intc_iprc;          uint16_t        intc_iprc;
141            uint16_t        intc_iprd;
142          int16_t         int_to_assert;  /*  Calculated int to assert  */          int16_t         int_to_assert;  /*  Calculated int to assert  */
143          int             int_level;      /*  Calculated int level  */          int             int_level;      /*  Calculated int level  */
144          uint32_t        int_pending[0x1000 / 0x20 / (sizeof(uint32_t)*8)];          uint32_t        int_pending[0x1000 / 0x20 / (sizeof(uint32_t)*8)];
# Line 142  struct sh_cpu { Line 146  struct sh_cpu {
146          /*  Timer/clock functionality:  */          /*  Timer/clock functionality:  */
147          int             pclock;          int             pclock;
148    
149            /*  DMA Controller: (4 channels)  */
150            uint32_t        dmac_sar[4];
151            uint32_t        dmac_dar[4];
152            uint32_t        dmac_tcr[4];
153            uint32_t        dmac_chcr[4];
154    
155    
156          /*          /*
157           *  Instruction translation cache and Virtual->Physical->Host           *  Instruction translation cache and Virtual->Physical->Host
# Line 192  struct sh_cpu { Line 202  struct sh_cpu {
202    
203    
204  /*  cpu_sh.c:  */  /*  cpu_sh.c:  */
205    void sh_cpu_interrupt_assert(struct interrupt *interrupt);
206    void sh_cpu_interrupt_deassert(struct interrupt *interrupt);
207  int sh_cpu_instruction_has_delayslot(struct cpu *cpu, unsigned char *ib);  int sh_cpu_instruction_has_delayslot(struct cpu *cpu, unsigned char *ib);
208  int sh_run_instr(struct cpu *cpu);  int sh_run_instr(struct cpu *cpu);
209  void sh_update_translation_table(struct cpu *cpu, uint64_t vaddr_page,  void sh_update_translation_table(struct cpu *cpu, uint64_t vaddr_page,

Legend:
Removed from v.33  
changed lines
  Added in v.34

  ViewVC Help
Powered by ViewVC 1.1.26