summaryrefslogtreecommitdiff
path: root/exec.c
diff options
context:
space:
mode:
authorpbrook <pbrook@c046a42c-6fe2-441c-8c8c-71466251a162>2008-05-24 13:56:15 +0000
committerpbrook <pbrook@c046a42c-6fe2-441c-8c8c-71466251a162>2008-05-24 13:56:15 +0000
commitfab94c0e989b5a270fe90d553bd665c91fc15f8c (patch)
tree32bee7c8bbc17d32262135ddf94d7d4189128b86 /exec.c
parent64e3257c03fda8355d4e38b0671143b3c6e03069 (diff)
downloadqemu-fab94c0e989b5a270fe90d553bd665c91fc15f8c.tar.gz
Dynamically allocate tbs. Avoids branch range problems on RISC hosts.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4555 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'exec.c')
-rw-r--r--exec.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/exec.c b/exec.c
index 53bad8cb3f..adbf7e5b25 100644
--- a/exec.c
+++ b/exec.c
@@ -84,7 +84,7 @@
#define TARGET_PHYS_ADDR_SPACE_BITS 32
#endif
-TranslationBlock tbs[CODE_GEN_MAX_BLOCKS];
+TranslationBlock *tbs;
TranslationBlock *tb_phys_hash[CODE_GEN_PHYS_HASH_SIZE];
int nb_tbs;
/* any access to the tbs or the page table must use this lock */
@@ -335,6 +335,7 @@ void cpu_exec_init(CPUState *env)
if (!code_gen_ptr) {
cpu_gen_init();
+ tbs = qemu_malloc(CODE_GEN_MAX_BLOCKS * sizeof(TranslationBlock));
code_gen_ptr = code_gen_buffer;
page_init();
io_mem_init();