diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2023-06-22 16:33:33 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2023-06-22 16:33:33 +0200 |
| commit | 6b0a1d286a0ff9a01370fb79320f85768e313549 (patch) | |
| tree | e07d1e7f77aea04507152406061332ece0bcb57e /src/dynarec/dynarec_native_pass.c | |
| parent | e78cd0d62378c6de1bdc539626e0b27485b3c20f (diff) | |
| download | box64-6b0a1d286a0ff9a01370fb79320f85768e313549.tar.gz box64-6b0a1d286a0ff9a01370fb79320f85768e313549.zip | |
[32BITS][DYNAREC] Preparing Dynarec to handle 32bits code
Diffstat (limited to 'src/dynarec/dynarec_native_pass.c')
| -rwxr-xr-x | src/dynarec/dynarec_native_pass.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/dynarec/dynarec_native_pass.c b/src/dynarec/dynarec_native_pass.c index 1e8ba3aa..90501bd6 100755 --- a/src/dynarec/dynarec_native_pass.c +++ b/src/dynarec/dynarec_native_pass.c @@ -27,7 +27,7 @@ #error No STEP defined #endif -uintptr_t native_pass(dynarec_native_t* dyn, uintptr_t addr) +uintptr_t native_pass(dynarec_native_t* dyn, uintptr_t addr, int is32bits) { int ok = 1; int ninst = 0; @@ -49,6 +49,9 @@ uintptr_t native_pass(dynarec_native_t* dyn, uintptr_t addr) int reset_n = -1; dyn->last_ip = (dyn->insts && dyn->insts[0].pred_sz)?0:ip; // RIP is always set at start of block unless there is a predecessor! int stopblock = 2+(FindElfAddress(my_context, addr)?0:1); // if block is in elf_memory, it can be extended with bligblocks==2, else it needs 3 + // disbling 32bits blocks for now + if(is32bits) + return addr; // ok, go now INIT; while(ok) { |