diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2024-02-01 16:41:16 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2024-02-01 16:42:16 +0100 |
| commit | 1344b1837909da6d91153cf686557a4a10bcb468 (patch) | |
| tree | 4094e4397b3b0c3d7170687ed2f9dd69bba5f5c5 /src/dynarec/dynarec_native.c | |
| parent | 1deec05f3dfaa93b034d0bb7cf00b0f9d73d4016 (diff) | |
| download | box64-1344b1837909da6d91153cf686557a4a10bcb468.tar.gz box64-1344b1837909da6d91153cf686557a4a10bcb468.zip | |
[DYNAREC] Handling of memfd_create backed mmap on dynarec (help #1234 but doesn't solve it completly)
Diffstat (limited to 'src/dynarec/dynarec_native.c')
| -rw-r--r-- | src/dynarec/dynarec_native.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/dynarec/dynarec_native.c b/src/dynarec/dynarec_native.c index 6dfc9c89..46360231 100644 --- a/src/dynarec/dynarec_native.c +++ b/src/dynarec/dynarec_native.c @@ -655,6 +655,13 @@ void* FillBlock64(dynablock_t* block, uintptr_t addr, int alternate, int is32bit block->dirty = 1; //protectDB(addr, end-addr); } + if(getProtection(addr)&PROT_NEVERCLEAN) { + block->dirty = 1; + block->always_test = 1; + } + if(block->always_test) { + dynarec_log(LOG_DEBUG, "Note: block marked as always dirty %p:%ld\n", block->x64_addr, block->x64_size); + } current_helper = NULL; //block->done = 1; return (void*)block; |