--- trunk/src/cpus/generate_tail.c 2007/10/08 16:18:51 14 +++ trunk/src/cpus/generate_tail.c 2007/10/08 16:19:56 24 @@ -25,7 +25,7 @@ * SUCH DAMAGE. * * - * $Id: generate_tail.c,v 1.5 2005/09/18 19:54:14 debug Exp $ + * $Id: generate_tail.c,v 1.9 2006/02/21 18:10:42 debug Exp $ */ #include @@ -35,7 +35,7 @@ char *uppercase(char *l) { static char staticbuf[1000]; - int i = 0; + size_t i = 0; while (*l && i < sizeof(staticbuf)) { char u = *l++; @@ -75,6 +75,13 @@ printf("#include \"cpu_dyntrans.c\"\n"); printf("#undef DYNTRANS_FUNCTION_TRACE\n\n"); + printf("#ifndef MODE32\n"); + printf("#define DYNTRANS_INIT_64BIT_DUMMY_TABLES " + "%s_init_64bit_dummy_tables\n", a); + printf("#include \"cpu_dyntrans.c\"\n"); + printf("#undef DYNTRANS_INIT_64BIT_DUMMY_TABLES\n\n"); + printf("#endif\n"); + printf("#define DYNTRANS_TC_ALLOCATE_DEFAULT_PAGE " "%s_tc_allocate_default_page\n", a); printf("#include \"cpu_dyntrans.c\"\n"); @@ -84,10 +91,10 @@ printf("#include \"cpu_dyntrans.c\"\n"); printf("#undef DYNTRANS_INVAL_ENTRY\n\n"); - printf("#define DYNTRANS_INVALIDATE_TC_PADDR " - "%s_invalidate_translation_caches_paddr\n", a); + printf("#define DYNTRANS_INVALIDATE_TC " + "%s_invalidate_translation_caches\n", a); printf("#include \"cpu_dyntrans.c\"\n"); - printf("#undef DYNTRANS_INVALIDATE_TC_PADDR\n\n"); + printf("#undef DYNTRANS_INVALIDATE_TC\n\n"); printf("#define DYNTRANS_INVALIDATE_TC_CODE " "%s_invalidate_code_translation\n", a); @@ -123,6 +130,8 @@ printf("#define MODE_uint_t uint32_t\n"); printf("#define MODE_int_t int32_t\n"); printf("#endif\n"); + printf("#define COMBINE(n) %s_combine_ ## n\n", a); + printf("#include \"quick_pc_to_pointers.h\"\n"); printf("#include \"cpu_%s_instr.c\"\n\n", a); @@ -149,10 +158,10 @@ "%s32_invalidate_tlb_entry\n", a); printf("#include \"cpu_dyntrans.c\"\n"); printf("#undef DYNTRANS_INVAL_ENTRY\n\n"); - printf("#define DYNTRANS_INVALIDATE_TC_PADDR " - "%s32_invalidate_translation_caches_paddr\n", a); + printf("#define DYNTRANS_INVALIDATE_TC " + "%s32_invalidate_translation_caches\n", a); printf("#include \"cpu_dyntrans.c\"\n"); - printf("#undef DYNTRANS_INVALIDATE_TC_PADDR\n\n"); + printf("#undef DYNTRANS_INVALIDATE_TC\n\n"); printf("#define DYNTRANS_INVALIDATE_TC_CODE " "%s32_invalidate_code_translation\n", a); printf("#include \"cpu_dyntrans.c\"\n"); @@ -169,6 +178,9 @@ printf("#include \"cpu_dyntrans.c\"\n"); printf("#undef DYNTRANS_PC_TO_POINTERS_FUNC\n\n"); printf("#undef DYNTRANS_PC_TO_POINTERS_GENERIC\n\n"); + printf("#undef COMBINE\n"); + printf("#define COMBINE(n) %s32_combine_ ## n\n", a); + printf("#include \"quick_pc_to_pointers.h\"\n"); printf("#include \"cpu_%s_instr.c\"\n", a); printf("\n#undef DYNTRANS_PC_TO_POINTERS\n"