x86_64: further cleanup of 32-bit compat syscall mechanisms
authorJeremy Fitzhardinge <jeremy@goop.org>
Sat, 12 Jul 2008 09:22:00 +0000 (02:22 -0700)
committerIngo Molnar <mingo@elte.hu>
Wed, 16 Jul 2008 09:08:27 +0000 (11:08 +0200)
commit6a52e4b1cddd90fbfde8fb67021657936ee74b07
treec876e1fafe89169f373f6b04739242b5d646fcf7
parent71415c6a0877d5944d5dc3060f3b03513746158d
x86_64: further cleanup of 32-bit compat syscall mechanisms

AMD only supports "syscall" from 32-bit compat usermode.
Intel and Centaur(?) only support "sysenter" from 32-bit compat usermode.

Set the X86 feature bits accordingly, and set up the vdso in
accordance with those bits.  On the offchance we run on in a 64-bit
environment which supports neither syscall nor sysenter from 32-bit
mode, then fall back to the int $0x80 vdso.

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
arch/x86/kernel/cpu/amd_64.c
arch/x86/kernel/cpu/common_64.c
arch/x86/vdso/Makefile
arch/x86/vdso/vdso32-setup.c
arch/x86/vdso/vdso32.S
arch/x86/xen/setup.c
include/asm-x86/vdso.h