aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/entry
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2016-10-10 13:59:07 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2016-10-10 13:59:07 -0400
commit5fa0eb0b4d4780fbd6d8a09850cc4fd539e9fe65 (patch)
treedc046871a73abd4f9d5f39f5379234cead2607e7 /arch/x86/entry
parentc48ce9f190266b763e809dd79fcf4152f558793c (diff)
parentd4b05923f579c234137317cdf9a5eb69ddab76d1 (diff)
Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 updates from Thomas Gleixner: "A pile of regression fixes and updates: - address the fallout of the patches which made the cpuid - nodeid relation permanent: Handling of invalid APIC ids and preventing pointless warning messages. - force eager FPU when protection keys are enabled. Protection keys are not generating FPU exceptions so they cannot work with the lazy FPU mechanism. - prevent force migration of interrupts which are not part of the CPU vector domain. - handle the fact that APIC ids are not updated in the ACPI/MADT tables on physical CPU hotplug - remove bash-isms from syscall table generator script - use the hypervisor supplied APIC frequency when running on VMware" * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/pkeys: Make protection keys an "eager" feature x86/apic: Prevent pointless warning messages x86/acpi: Prevent LAPIC id 0xff from being accounted arch/x86: Handle non enumerated CPU after physical hotplug x86/unwind: Fix oprofile module link error x86/vmware: Skip lapic calibration on VMware x86/syscalls: Remove bash-isms in syscall table generator x86/irq: Prevent force migration of irqs which are not in the vector domain
Diffstat (limited to 'arch/x86/entry')
-rw-r--r--arch/x86/entry/syscalls/syscalltbl.sh15
1 files changed, 9 insertions, 6 deletions
diff --git a/arch/x86/entry/syscalls/syscalltbl.sh b/arch/x86/entry/syscalls/syscalltbl.sh
index cd3d3015d7df..751d1f992630 100644
--- a/arch/x86/entry/syscalls/syscalltbl.sh
+++ b/arch/x86/entry/syscalls/syscalltbl.sh
@@ -10,8 +10,11 @@ syscall_macro() {
10 10
11 # Entry can be either just a function name or "function/qualifier" 11 # Entry can be either just a function name or "function/qualifier"
12 real_entry="${entry%%/*}" 12 real_entry="${entry%%/*}"
13 qualifier="${entry:${#real_entry}}" # Strip the function name 13 if [ "$entry" = "$real_entry" ]; then
14 qualifier="${qualifier:1}" # Strip the slash, if any 14 qualifier=
15 else
16 qualifier=${entry#*/}
17 fi
15 18
16 echo "__SYSCALL_${abi}($nr, $real_entry, $qualifier)" 19 echo "__SYSCALL_${abi}($nr, $real_entry, $qualifier)"
17} 20}
@@ -22,7 +25,7 @@ emit() {
22 entry="$3" 25 entry="$3"
23 compat="$4" 26 compat="$4"
24 27
25 if [ "$abi" == "64" -a -n "$compat" ]; then 28 if [ "$abi" = "64" -a -n "$compat" ]; then
26 echo "a compat entry for a 64-bit syscall makes no sense" >&2 29 echo "a compat entry for a 64-bit syscall makes no sense" >&2
27 exit 1 30 exit 1
28 fi 31 fi
@@ -45,17 +48,17 @@ emit() {
45grep '^[0-9]' "$in" | sort -n | ( 48grep '^[0-9]' "$in" | sort -n | (
46 while read nr abi name entry compat; do 49 while read nr abi name entry compat; do
47 abi=`echo "$abi" | tr '[a-z]' '[A-Z]'` 50 abi=`echo "$abi" | tr '[a-z]' '[A-Z]'`
48 if [ "$abi" == "COMMON" -o "$abi" == "64" ]; then 51 if [ "$abi" = "COMMON" -o "$abi" = "64" ]; then
49 # COMMON is the same as 64, except that we don't expect X32 52 # COMMON is the same as 64, except that we don't expect X32
50 # programs to use it. Our expectation has nothing to do with 53 # programs to use it. Our expectation has nothing to do with
51 # any generated code, so treat them the same. 54 # any generated code, so treat them the same.
52 emit 64 "$nr" "$entry" "$compat" 55 emit 64 "$nr" "$entry" "$compat"
53 elif [ "$abi" == "X32" ]; then 56 elif [ "$abi" = "X32" ]; then
54 # X32 is equivalent to 64 on an X32-compatible kernel. 57 # X32 is equivalent to 64 on an X32-compatible kernel.
55 echo "#ifdef CONFIG_X86_X32_ABI" 58 echo "#ifdef CONFIG_X86_X32_ABI"
56 emit 64 "$nr" "$entry" "$compat" 59 emit 64 "$nr" "$entry" "$compat"
57 echo "#endif" 60 echo "#endif"
58 elif [ "$abi" == "I386" ]; then 61 elif [ "$abi" = "I386" ]; then
59 emit "$abi" "$nr" "$entry" "$compat" 62 emit "$abi" "$nr" "$entry" "$compat"
60 else 63 else
61 echo "Unknown abi $abi" >&2 64 echo "Unknown abi $abi" >&2