[Devel] Re: How to enable SYSENTER/SYSEXIT in glibc-2.7?
Linus Torvalds
torvalds at linux-foundation.org
Mon Apr 13 11:45:32 PDT 2009
On Mon, 13 Apr 2009, Guofu Xiang wrote:
>
> (gdb) disas __kernel_vsyscall
> Dump of assembler code for function __kernel_vsyscall:
> 0xb7f7a400 <__kernel_vsyscall+0>: int $0x80
> 0xb7f7a402 <__kernel_vsyscall+2>: ret
> End of assembler dump.
(gdb) disassemble __kernel_vsyscall
Dump of assembler code for function __kernel_vsyscall:
0xb8046414 <__kernel_vsyscall+0>: push %ecx
0xb8046415 <__kernel_vsyscall+1>: push %edx
0xb8046416 <__kernel_vsyscall+2>: push %ebp
0xb8046417 <__kernel_vsyscall+3>: mov %esp,%ebp
0xb8046419 <__kernel_vsyscall+5>: sysenter
0xb804641b <__kernel_vsyscall+7>: nop
0xb804641c <__kernel_vsyscall+8>: nop
0xb804641d <__kernel_vsyscall+9>: nop
0xb804641e <__kernel_vsyscall+10>: nop
0xb804641f <__kernel_vsyscall+11>: nop
0xb8046420 <__kernel_vsyscall+12>: nop
0xb8046421 <__kernel_vsyscall+13>: nop
0xb8046422 <__kernel_vsyscall+14>: jmp 0xb8046417 <__kernel_vsyscall+3>
0xb8046424 <__kernel_vsyscall+16>: pop %ebp
0xb8046425 <__kernel_vsyscall+17>: pop %edx
0xb8046426 <__kernel_vsyscall+18>: pop %ecx
0xb8046427 <__kernel_vsyscall+19>: ret
> The system call is implemented by int $80h, rather than SYSENTER. What
> is the reason? How to set SYSENTER as the default implementation of system
> call? Thank you for your response!
What CPU do you have? We only enable sysenter on CPU's that support them
well.
Linus
_______________________________________________
Containers mailing list
Containers at lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers
More information about the Devel
mailing list