[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 3/3] linux-user/i386: Emulate x86_64 vsyscalls
From: |
Richard Henderson |
Subject: |
Re: [PATCH 3/3] linux-user/i386: Emulate x86_64 vsyscalls |
Date: |
Thu, 16 Jan 2020 08:22:09 -1000 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.2.2 |
On 1/16/20 8:19 AM, Richard Henderson wrote:
> On 1/16/20 6:26 AM, Alex Bennée wrote:
>>> + /*
>>> + * Perform the syscall. None of the vsyscalls should need restarting,
>>> + * and all faults should have been caught above.
>>> + */
>>> + ret = do_syscall(env, syscall, env->regs[R_EDI], env->regs[R_ESI],
>>> + env->regs[R_EDX], env->regs[10], env->regs[8],
>>> + env->regs[9], 0, 0);
>>
>> How come the register ABI to the syscall is different to the others. I
>> can see why syscall doesn't come from EAX but the others are a different
>> set to normal syscalls which might be why:
>
> Cut and paste error, I assume.
What register difference?
case EXCP_SYSCALL:
/* linux syscall from syscall instruction */
ret = do_syscall(env,
env->regs[R_EAX],
env->regs[R_EDI],
env->regs[R_ESI],
env->regs[R_EDX],
env->regs[10],
env->regs[8],
env->regs[9],
0, 0);
Looks the same to me...
r~
- [PATCH 1/3] target/i386: Renumber EXCP_SYSCALL, (continued)
- Re: [PATCH 0/3] linux-user: Implement x86_64 vsyscalls, Paolo Bonzini, 2020/01/14
- Re: [PATCH 0/3] linux-user: Implement x86_64 vsyscalls, Laurent Desnogues, 2020/01/15
- Re: [PATCH 0/3] linux-user: Implement x86_64 vsyscalls, Laurent Vivier, 2020/01/15
- Re: [PATCH 0/3] linux-user: Implement x86_64 vsyscalls, Alex Bennée, 2020/01/16
- Re: [PATCH 0/3] linux-user: Implement x86_64 vsyscalls, Alex Bennée, 2020/01/16