Commit bce61846b1626cfe74f8b27d83dbc962dbe0de2e
1 parent
127fc407
reverted -translation option support
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3947 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
4 changed files
with
3 additions
and
111 deletions
cpu-all.h
| ... | ... | @@ -787,20 +787,6 @@ void cpu_set_log(int log_flags); |
| 787 | 787 | void cpu_set_log_filename(const char *filename); |
| 788 | 788 | int cpu_str_to_log_mask(const char *str); |
| 789 | 789 | |
| 790 | -#define CPU_SETTING_NO_CACHE (1 << 0) | |
| 791 | - | |
| 792 | -/* define translation settings */ | |
| 793 | -typedef struct CPUTranslationSetting { | |
| 794 | - int mask; | |
| 795 | - const char *name; | |
| 796 | - const char *help; | |
| 797 | -} CPUTranslationSetting; | |
| 798 | - | |
| 799 | -extern CPUTranslationSetting cpu_translation_settings[]; | |
| 800 | - | |
| 801 | -void cpu_set_translation_settings(int translation_flags); | |
| 802 | -int cpu_str_to_translation_mask(const char *str); | |
| 803 | - | |
| 804 | 790 | /* IO ports API */ |
| 805 | 791 | |
| 806 | 792 | /* NOTE: as these functions may be even used when there is an isa | ... | ... |
cpu-exec.c
| ... | ... | @@ -20,7 +20,6 @@ |
| 20 | 20 | #include "config.h" |
| 21 | 21 | #include "exec.h" |
| 22 | 22 | #include "disas.h" |
| 23 | -#include <string.h> | |
| 24 | 23 | |
| 25 | 24 | #if !defined(CONFIG_SOFTMMU) |
| 26 | 25 | #undef EAX |
| ... | ... | @@ -41,9 +40,6 @@ int tb_invalidated_flag; |
| 41 | 40 | //#define DEBUG_EXEC |
| 42 | 41 | //#define DEBUG_SIGNAL |
| 43 | 42 | |
| 44 | -/* translation settings */ | |
| 45 | -int translation_settings = 0; | |
| 46 | - | |
| 47 | 43 | #define SAVE_GLOBALS() |
| 48 | 44 | #define RESTORE_GLOBALS() |
| 49 | 45 | |
| ... | ... | @@ -124,57 +120,6 @@ void cpu_resume_from_signal(CPUState *env1, void *puc) |
| 124 | 120 | longjmp(env->jmp_env, 1); |
| 125 | 121 | } |
| 126 | 122 | |
| 127 | -CPUTranslationSetting cpu_translation_settings[] = { | |
| 128 | - { CPU_SETTING_NO_CACHE, "no-cache", | |
| 129 | - "Do not use translation blocks cache (very slow!)" }, | |
| 130 | - { 0, NULL, NULL }, | |
| 131 | -}; | |
| 132 | - | |
| 133 | -void cpu_set_translation_settings(int translation_flags) | |
| 134 | -{ | |
| 135 | - translation_settings = translation_flags; | |
| 136 | -} | |
| 137 | - | |
| 138 | -static int cmp1(const char *s1, int n, const char *s2) | |
| 139 | -{ | |
| 140 | - if (strlen(s2) != n) | |
| 141 | - return 0; | |
| 142 | - return memcmp(s1, s2, n) == 0; | |
| 143 | -} | |
| 144 | - | |
| 145 | -/* takes a comma separated list of translation settings. Return 0 if error. */ | |
| 146 | -int cpu_str_to_translation_mask(const char *str) | |
| 147 | -{ | |
| 148 | - CPUTranslationSetting *setting; | |
| 149 | - int mask; | |
| 150 | - const char *p, *p1; | |
| 151 | - | |
| 152 | - p = str; | |
| 153 | - mask = 0; | |
| 154 | - for(;;) { | |
| 155 | - p1 = strchr(p, ','); | |
| 156 | - if (!p1) | |
| 157 | - p1 = p + strlen(p); | |
| 158 | - if(cmp1(p,p1-p,"all")) { | |
| 159 | - for(setting = cpu_translation_settings; setting->mask != 0; setting++) { | |
| 160 | - mask |= setting->mask; | |
| 161 | - } | |
| 162 | - } else { | |
| 163 | - for(setting = cpu_translation_settings; setting->mask != 0; setting++) { | |
| 164 | - if (cmp1(p, p1 - p, setting->name)) | |
| 165 | - goto found; | |
| 166 | - } | |
| 167 | - return 0; | |
| 168 | - } | |
| 169 | - found: | |
| 170 | - mask |= setting->mask; | |
| 171 | - if (*p1 != ',') | |
| 172 | - break; | |
| 173 | - p = p1 + 1; | |
| 174 | - } | |
| 175 | - return mask; | |
| 176 | -} | |
| 177 | - | |
| 178 | 123 | static TranslationBlock *tb_find_slow(target_ulong pc, |
| 179 | 124 | target_ulong cs_base, |
| 180 | 125 | uint64_t flags) |
| ... | ... | @@ -195,9 +140,6 @@ static TranslationBlock *tb_find_slow(target_ulong pc, |
| 195 | 140 | phys_pc = get_phys_addr_code(env, pc); |
| 196 | 141 | phys_page1 = phys_pc & TARGET_PAGE_MASK; |
| 197 | 142 | phys_page2 = -1; |
| 198 | - if (translation_settings & CPU_SETTING_NO_CACHE) | |
| 199 | - goto not_found; | |
| 200 | - | |
| 201 | 143 | h = tb_phys_hash_func(phys_pc); |
| 202 | 144 | ptb1 = &tb_phys_hash[h]; |
| 203 | 145 | for(;;) { |
| ... | ... | @@ -321,10 +263,7 @@ static inline TranslationBlock *tb_find_fast(void) |
| 321 | 263 | #else |
| 322 | 264 | #error unsupported CPU |
| 323 | 265 | #endif |
| 324 | - if (translation_settings & CPU_SETTING_NO_CACHE) | |
| 325 | - tb = NULL; | |
| 326 | - else | |
| 327 | - tb = env->tb_jmp_cache[tb_jmp_cache_hash_func(pc)]; | |
| 266 | + tb = env->tb_jmp_cache[tb_jmp_cache_hash_func(pc)]; | |
| 328 | 267 | if (__builtin_expect(!tb || tb->pc != pc || tb->cs_base != cs_base || |
| 329 | 268 | tb->flags != flags, 0)) { |
| 330 | 269 | tb = tb_find_slow(pc, cs_base, flags); | ... | ... |
qemu-doc.texi
| ... | ... | @@ -363,17 +363,6 @@ Set the initial date of the real time clock. Valid format for |
| 363 | 363 | @var{date} are: @code{now} or @code{2006-06-17T16:01:21} or |
| 364 | 364 | @code{2006-06-17}. The default value is @code{now}. |
| 365 | 365 | |
| 366 | -@item -translation @var{setting1[,...]} | |
| 367 | -Select dynamic translation options @var{setting}, @code{-translation ?} | |
| 368 | -shows a list of settings. Valid settings are: | |
| 369 | - | |
| 370 | -@table @code | |
| 371 | -@item @var{no-cache} | |
| 372 | -This option disables caching of translated code. Is useful for low-level | |
| 373 | -debugging of the emulated environment. This option incurs a massive | |
| 374 | -slow-down in emulation speed. | |
| 375 | -@end table | |
| 376 | - | |
| 377 | 366 | @item -pidfile @var{file} |
| 378 | 367 | Store the QEMU process PID in @var{file}. It is useful if you launch QEMU |
| 379 | 368 | from a script. | ... | ... |
vl.c
| ... | ... | @@ -240,8 +240,6 @@ static CPUState *cur_cpu; |
| 240 | 240 | static CPUState *next_cpu; |
| 241 | 241 | static int event_pending = 1; |
| 242 | 242 | |
| 243 | -extern char *logfilename; | |
| 244 | - | |
| 245 | 243 | #define TFR(expr) do { if ((expr) != -1) break; } while (errno == EINTR) |
| 246 | 244 | |
| 247 | 245 | /***********************************************************/ |
| ... | ... | @@ -7663,9 +7661,7 @@ static void help(int exitcode) |
| 7663 | 7661 | #endif |
| 7664 | 7662 | "-clock force the use of the given methods for timer alarm.\n" |
| 7665 | 7663 | " To see what timers are available use -clock help\n" |
| 7666 | - "-startdate select initial date of the Qemu clock\n" | |
| 7667 | - "-translation setting1,... configures code translation\n" | |
| 7668 | - " (use -translation ? for a list of settings)\n" | |
| 7664 | + "-startdate select initial date of the clock\n" | |
| 7669 | 7665 | "\n" |
| 7670 | 7666 | "During emulation, the following keys are useful:\n" |
| 7671 | 7667 | "ctrl-alt-f toggle full screen\n" |
| ... | ... | @@ -7681,7 +7677,7 @@ static void help(int exitcode) |
| 7681 | 7677 | DEFAULT_NETWORK_DOWN_SCRIPT, |
| 7682 | 7678 | #endif |
| 7683 | 7679 | DEFAULT_GDBSTUB_PORT, |
| 7684 | - logfilename); | |
| 7680 | + "/tmp/qemu.log"); | |
| 7685 | 7681 | exit(exitcode); |
| 7686 | 7682 | } |
| 7687 | 7683 | |
| ... | ... | @@ -7768,7 +7764,6 @@ enum { |
| 7768 | 7764 | QEMU_OPTION_old_param, |
| 7769 | 7765 | QEMU_OPTION_clock, |
| 7770 | 7766 | QEMU_OPTION_startdate, |
| 7771 | - QEMU_OPTION_translation, | |
| 7772 | 7767 | }; |
| 7773 | 7768 | |
| 7774 | 7769 | typedef struct QEMUOption { |
| ... | ... | @@ -7877,7 +7872,6 @@ const QEMUOption qemu_options[] = { |
| 7877 | 7872 | #endif |
| 7878 | 7873 | { "clock", HAS_ARG, QEMU_OPTION_clock }, |
| 7879 | 7874 | { "startdate", HAS_ARG, QEMU_OPTION_startdate }, |
| 7880 | - { "translation", HAS_ARG, QEMU_OPTION_translation }, | |
| 7881 | 7875 | { NULL }, |
| 7882 | 7876 | }; |
| 7883 | 7877 | |
| ... | ... | @@ -8720,22 +8714,6 @@ int main(int argc, char **argv) |
| 8720 | 8714 | } |
| 8721 | 8715 | } |
| 8722 | 8716 | break; |
| 8723 | - case QEMU_OPTION_translation: | |
| 8724 | - { | |
| 8725 | - int mask; | |
| 8726 | - CPUTranslationSetting *setting; | |
| 8727 | - | |
| 8728 | - mask = cpu_str_to_translation_mask(optarg); | |
| 8729 | - if (!mask) { | |
| 8730 | - printf("Translation settings (comma separated):\n"); | |
| 8731 | - for(setting = cpu_translation_settings; setting->mask != 0; setting++) { | |
| 8732 | - printf("%-10s %s\n", setting->name, setting->help); | |
| 8733 | - } | |
| 8734 | - exit(1); | |
| 8735 | - } | |
| 8736 | - cpu_set_translation_settings(mask); | |
| 8737 | - } | |
| 8738 | - break; | |
| 8739 | 8717 | } |
| 8740 | 8718 | } |
| 8741 | 8719 | } | ... | ... |