Add uc_ctl_get/set_tcg_buffer_size

We still need this API because the virtual memory address space of

32 bits os is only 4GB and we default need 1G per instance

Credits to @ZehMatt for original idea

Co-authored-by: ζeh Matt <5415177+ZehMatt@users.noreply.github.com>
This commit is contained in:
mio
2023-06-10 23:36:02 +02:00
parent f8c7969d65
commit 8dffbc159c
6 changed files with 25 additions and 6 deletions

View File

@@ -1209,7 +1209,7 @@ static uc_err uc_gen_tb(struct uc_struct *uc, uint64_t addr, uc_tb *out_tb)
/* Must be called before using the QEMU cpus. 'tb_size' is the size
(in bytes) allocated to the translation buffer. Zero means default
size. */
void tcg_exec_init(struct uc_struct *uc, unsigned long tb_size)
void tcg_exec_init(struct uc_struct *uc, uint32_t tb_size)
{
/* remove tcg object. init here. */
/* tcg class init: tcg-all.c:tcg_accel_class_init(), skip all. */

View File

@@ -14,6 +14,6 @@
struct uc_struct;
void tcg_exec_init(struct uc_struct *uc, unsigned long tb_size);
void tcg_exec_init(struct uc_struct *uc, uint32_t tb_size);
#endif

View File

@@ -10,7 +10,7 @@
// codes for unicorns purposes.
void vm_start(struct uc_struct*);
void tcg_exec_init(struct uc_struct *uc, unsigned long tb_size);
void tcg_exec_init(struct uc_struct *uc, uint32_t tb_size);
bool unicorn_fill_tlb(CPUState *cs, vaddr address, int size,
MMUAccessType rw, int mmu_idx,
bool probe, uintptr_t retaddr);