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 | } | ... | ... |