/[qemu]/qemu/softmmu_template.h
ViewVC logotype

Diff of /qemu/softmmu_template.h

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

revision 1.2 by bellard, Sun Aug 10 23:39:03 2003 UTC revision 1.3 by bellard, Wed Aug 20 23:02:09 2003 UTC
# Line 90  DATA_TYPE REGPARM(1) glue(glue(__ld, SUF Line 90  DATA_TYPE REGPARM(1) glue(glue(__ld, SUF
90            
91      /* test if there is match for unaligned or IO access */      /* test if there is match for unaligned or IO access */
92      /* XXX: could done more in memory macro in a non portable way */      /* XXX: could done more in memory macro in a non portable way */
93      is_user = (env->cpl == 3);      is_user = ((env->hflags & HF_CPL_MASK) == 3);
94      index = (addr >> TARGET_PAGE_BITS) & (CPU_TLB_SIZE - 1);      index = (addr >> TARGET_PAGE_BITS) & (CPU_TLB_SIZE - 1);
95   redo:   redo:
96      tlb_addr = env->tlb_read[is_user][index].address;      tlb_addr = env->tlb_read[is_user][index].address;
# Line 126  static DATA_TYPE glue(slow_ld, SUFFIX)(u Line 126  static DATA_TYPE glue(slow_ld, SUFFIX)(u
126      int is_user, index, shift;      int is_user, index, shift;
127      unsigned long physaddr, tlb_addr, addr1, addr2;      unsigned long physaddr, tlb_addr, addr1, addr2;
128    
129      is_user = (env->cpl == 3);      is_user = ((env->hflags & HF_CPL_MASK) == 3);
130      index = (addr >> TARGET_PAGE_BITS) & (CPU_TLB_SIZE - 1);      index = (addr >> TARGET_PAGE_BITS) & (CPU_TLB_SIZE - 1);
131   redo:   redo:
132      tlb_addr = env->tlb_read[is_user][index].address;      tlb_addr = env->tlb_read[is_user][index].address;
# Line 169  void REGPARM(2) glue(glue(__st, SUFFIX), Line 169  void REGPARM(2) glue(glue(__st, SUFFIX),
169      void *retaddr;      void *retaddr;
170      int is_user, index;      int is_user, index;
171            
172      is_user = (env->cpl == 3);      is_user = ((env->hflags & HF_CPL_MASK) == 3);
173      index = (addr >> TARGET_PAGE_BITS) & (CPU_TLB_SIZE - 1);      index = (addr >> TARGET_PAGE_BITS) & (CPU_TLB_SIZE - 1);
174   redo:   redo:
175      tlb_addr = env->tlb_write[is_user][index].address;      tlb_addr = env->tlb_write[is_user][index].address;
# Line 203  static void glue(slow_st, SUFFIX)(unsign Line 203  static void glue(slow_st, SUFFIX)(unsign
203      unsigned long physaddr, tlb_addr;      unsigned long physaddr, tlb_addr;
204      int is_user, index, i;      int is_user, index, i;
205    
206      is_user = (env->cpl == 3);      is_user = ((env->hflags & HF_CPL_MASK) == 3);
207      index = (addr >> TARGET_PAGE_BITS) & (CPU_TLB_SIZE - 1);      index = (addr >> TARGET_PAGE_BITS) & (CPU_TLB_SIZE - 1);
208   redo:   redo:
209      tlb_addr = env->tlb_write[is_user][index].address;      tlb_addr = env->tlb_write[is_user][index].address;

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26