diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2021-09-02 20:25:58 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2021-09-02 20:25:58 +0200 |
| commit | 5d5ef75337cd4db7224d5e0cdb6da2dc96ab8224 (patch) | |
| tree | 6b6f013c09789da472917ff5e00f6bf0d2f7899b /src/box64context.c | |
| parent | c3ef6380a7baa6457974fe2eca1652dff6808cca (diff) | |
| download | box64-5d5ef75337cd4db7224d5e0cdb6da2dc96ab8224.tar.gz box64-5d5ef75337cd4db7224d5e0cdb6da2dc96ab8224.zip | |
Add some support vor VSyscall
Diffstat (limited to 'src/box64context.c')
| -rwxr-xr-x | src/box64context.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/box64context.c b/src/box64context.c index 5dc64825..eb2512b3 100755 --- a/src/box64context.c +++ b/src/box64context.c @@ -163,7 +163,16 @@ box64context_t *NewBox64Context(int argc) context->versym = NewDictionnary(); context->system = NewBridge(); // create vsyscall - context->vsyscall = AddBridge(context->system, vFv, x64Syscall, 0, NULL); + context->vsyscall = AddBridge(context->system, vFEv, x64Syscall, 0, NULL); + // create the vsyscalls + context->vsyscalls[0] = AddVSyscall(context->system, 96); + context->vsyscalls[1] = AddVSyscall(context->system, 201); + context->vsyscalls[2] = AddVSyscall(context->system, 309); + // create the alternate to map at address + addAlternate((void*)context->vsyscalls[0], (void*)0xffffffffff600000); + addAlternate((void*)context->vsyscalls[1], (void*)0xffffffffff600400); + addAlternate((void*)context->vsyscalls[2], (void*)0xffffffffff600800); + // get handle to box64 itself context->box64lib = dlopen(NULL, RTLD_NOW|RTLD_GLOBAL); context->dlprivate = NewDLPrivate(); |