#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 */
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();
te->addr_read = -1;
}
- if (te->addr_code != -1) {
- tlb_flush_jmp_cache(env, te->addr_code);
- }
if (prot & PAGE_EXEC) {
te->addr_code = address;
} else {
{
ram_addr_t addr;
if ((phys_ram_alloc_offset + size) > phys_ram_size) {
- fprintf(stderr, "Not enough memory (requested_size = %lu, max memory = %ld)\n",
- size, phys_ram_size);
+ fprintf(stderr, "Not enough memory (requested_size = %" PRIu64 ", max memory = %" PRIu64 "\n",
+ (uint64_t)size, (uint64_t)phys_ram_size);
abort();
}
addr = phys_ram_alloc_offset;