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

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

revision 26 by dpavlin, Mon Oct 8 16:20:10 2007 UTC revision 44 by dpavlin, Mon Oct 8 16:22:56 2007 UTC
# Line 1  Line 1 
1  /*  /*
2   *  Copyright (C) 2005  Anders Gavare.  All rights reserved.   *  Copyright (C) 2005-2007  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: generate_tail.c,v 1.11 2006/06/24 21:47:23 debug Exp $   *  $Id: generate_tail.c,v 1.21 2007/06/28 13:36:47 debug Exp $
29   */   */
30    
31  #include <stdio.h>  #include <stdio.h>
# Line 66  int main(int argc, char *argv[]) Line 66  int main(int argc, char *argv[])
66    
67          printf("\n/*\n *  AUTOMATICALLY GENERATED! Do not edit.\n */\n\n");          printf("\n/*\n *  AUTOMATICALLY GENERATED! Do not edit.\n */\n\n");
68    
69            printf("extern size_t dyntrans_cache_size;\n");
70    
71          printf("#ifdef DYNTRANS_32\n");          printf("#ifdef DYNTRANS_32\n");
72          printf("#define MODE32\n");          printf("#define MODE32\n");
73          printf("#endif\n");          printf("#endif\n");
74    
75          printf("#define DYNTRANS_FUNCTION_TRACE "          printf("#define DYNTRANS_FUNCTION_TRACE_DEF "
76              "%s_cpu_functioncall_trace\n", a);              "%s_cpu_functioncall_trace\n", a);
77          printf("#include \"cpu_dyntrans.c\"\n");          printf("#include \"cpu_dyntrans.c\"\n");
78          printf("#undef DYNTRANS_FUNCTION_TRACE\n\n");          printf("#undef DYNTRANS_FUNCTION_TRACE_DEF\n\n");
79    
80          printf("#define DYNTRANS_INIT_TABLES "          printf("#define DYNTRANS_INIT_TABLES "
81              "%s_cpu_init_tables\n", a);              "%s_cpu_init_tables\n", a);
82          printf("#include \"cpu_dyntrans.c\"\n");          printf("#include \"cpu_dyntrans.c\"\n");
83          printf("#undef DYNTRANS_INIT_TABLES\n\n");          printf("#undef DYNTRANS_INIT_TABLES\n\n");
84    
85          printf("#define DYNTRANS_TC_ALLOCATE_DEFAULT_PAGE "          printf("#define DYNTRANS_TC_ALLOCATE_DEFAULT_PAGE_DEF "
86              "%s_tc_allocate_default_page\n", a);              "%s_tc_allocate_default_page\n", a);
87          printf("#include \"cpu_dyntrans.c\"\n");          printf("#include \"cpu_dyntrans.c\"\n");
88          printf("#undef DYNTRANS_TC_ALLOCATE_DEFAULT_PAGE\n\n");          printf("#undef DYNTRANS_TC_ALLOCATE_DEFAULT_PAGE_DEF\n\n");
89    
90          printf("#define DYNTRANS_INVAL_ENTRY\n");          printf("#define DYNTRANS_INVAL_ENTRY\n");
91          printf("#include \"cpu_dyntrans.c\"\n");          printf("#include \"cpu_dyntrans.c\"\n");
# Line 106  int main(int argc, char *argv[]) Line 108  int main(int argc, char *argv[])
108    
109          printf("#define MEMORY_RW %s_memory_rw\n", a);          printf("#define MEMORY_RW %s_memory_rw\n", a);
110          printf("#define MEM_%s\n", uppercase(a));          printf("#define MEM_%s\n", uppercase(a));
111          printf("#include \"../memory_rw.c\"\n");          printf("#include \"memory_rw.c\"\n");
112          printf("#undef MEM_%s\n", uppercase(a));          printf("#undef MEM_%s\n", uppercase(a));
113          printf("#undef MEMORY_RW\n\n");          printf("#undef MEMORY_RW\n\n");
114    
# Line 132  int main(int argc, char *argv[]) Line 134  int main(int argc, char *argv[])
134          printf("#include \"quick_pc_to_pointers.h\"\n");          printf("#include \"quick_pc_to_pointers.h\"\n");
135          printf("#include \"cpu_%s_instr.c\"\n\n", a);          printf("#include \"cpu_%s_instr.c\"\n\n", a);
136    
137            printf("#define DYNTRANS_RUN_INSTR_DEF %s_run_instr\n", a);
138            printf("#include \"cpu_dyntrans.c\"\n");
139            printf("#undef DYNTRANS_RUN_INSTR_DEF\n\n");
140    
141    
142          printf("#ifdef DYNTRANS_DUALMODE_32\n");          printf("#ifdef DYNTRANS_DUALMODE_32\n");
143          printf("#undef COMBINE_INSTRUCTIONS\n");          printf("#undef COMBINE_INSTRUCTIONS\n");
# Line 185  int main(int argc, char *argv[]) Line 191  int main(int argc, char *argv[])
191              "#define DYNTRANS_PC_TO_POINTERS %s_pc_to_pointers\n"              "#define DYNTRANS_PC_TO_POINTERS %s_pc_to_pointers\n"
192              "#define DYNTRANS_PC_TO_POINTERS32 %s32_pc_to_pointers\n\n", a, a);              "#define DYNTRANS_PC_TO_POINTERS32 %s32_pc_to_pointers\n\n", a, a);
193    
194          printf("#endif /*  DYNTRANS_DUALMODE_32  */\n\n\n");          printf("#define DYNTRANS_RUN_INSTR_DEF %s32_run_instr\n", a);
195            printf("#include \"cpu_dyntrans.c\"\n");
196            printf("#undef DYNTRANS_RUN_INSTR_DEF\n\n");
197    
198            printf("#endif /*  DYNTRANS_DUALMODE_32  */\n\n\n");
199    
         printf("#define DYNTRANS_CPU_RUN_INSTR %s_cpu_run_instr\n", a);  
         printf("#include \"cpu_dyntrans.c\"\n");  
         printf("#undef DYNTRANS_CPU_RUN_INSTR\n\n");  
200    
201          printf("CPU_FAMILY_INIT(%s,\"%s\")\n\n", a, b);          printf("CPU_FAMILY_INIT(%s,\"%s\")\n\n", a, b);
202    

Legend:
Removed from v.26  
changed lines
  Added in v.44

  ViewVC Help
Powered by ViewVC 1.1.26