Commit 15b77435 authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull x86 fixes from Ingo Molnar.

* 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86, cpufeature: Remove stray %s, add -w to mkcapflags.pl
  x86, cpufeature: Catch duplicate CPU feature strings
  x86, cpufeature: Rename X86_FEATURE_DTS to X86_FEATURE_DTHERM
  x86: Fix kernel-doc warnings
  x86, compat: Use test_thread_flag(TIF_IA32) in compat signal delivery
parents 62a75b99 1b6b7c9f
...@@ -38,7 +38,7 @@ ...@@ -38,7 +38,7 @@
int copy_siginfo_to_user32(compat_siginfo_t __user *to, siginfo_t *from) int copy_siginfo_to_user32(compat_siginfo_t __user *to, siginfo_t *from)
{ {
int err = 0; int err = 0;
bool ia32 = is_ia32_task(); bool ia32 = test_thread_flag(TIF_IA32);
if (!access_ok(VERIFY_WRITE, to, sizeof(compat_siginfo_t))) if (!access_ok(VERIFY_WRITE, to, sizeof(compat_siginfo_t)))
return -EFAULT; return -EFAULT;
......
...@@ -176,7 +176,7 @@ ...@@ -176,7 +176,7 @@
#define X86_FEATURE_XSAVEOPT (7*32+ 4) /* Optimized Xsave */ #define X86_FEATURE_XSAVEOPT (7*32+ 4) /* Optimized Xsave */
#define X86_FEATURE_PLN (7*32+ 5) /* Intel Power Limit Notification */ #define X86_FEATURE_PLN (7*32+ 5) /* Intel Power Limit Notification */
#define X86_FEATURE_PTS (7*32+ 6) /* Intel Package Thermal Status */ #define X86_FEATURE_PTS (7*32+ 6) /* Intel Package Thermal Status */
#define X86_FEATURE_DTS (7*32+ 7) /* Digital Thermal Sensor */ #define X86_FEATURE_DTHERM (7*32+ 7) /* Digital Thermal Sensor */
#define X86_FEATURE_HW_PSTATE (7*32+ 8) /* AMD HW-PState */ #define X86_FEATURE_HW_PSTATE (7*32+ 8) /* AMD HW-PState */
/* Virtualization flags: Linux defined, word 8 */ /* Virtualization flags: Linux defined, word 8 */
......
#!/usr/bin/perl #!/usr/bin/perl -w
# #
# Generate the x86_cap_flags[] array from include/asm-x86/cpufeature.h # Generate the x86_cap_flags[] array from include/asm-x86/cpufeature.h
# #
...@@ -11,22 +11,35 @@ open(OUT, "> $out\0") or die "$0: cannot create: $out: $!\n"; ...@@ -11,22 +11,35 @@ open(OUT, "> $out\0") or die "$0: cannot create: $out: $!\n";
print OUT "#include <asm/cpufeature.h>\n\n"; print OUT "#include <asm/cpufeature.h>\n\n";
print OUT "const char * const x86_cap_flags[NCAPINTS*32] = {\n"; print OUT "const char * const x86_cap_flags[NCAPINTS*32] = {\n";
%features = ();
$err = 0;
while (defined($line = <IN>)) { while (defined($line = <IN>)) {
if ($line =~ /^\s*\#\s*define\s+(X86_FEATURE_(\S+))\s+(.*)$/) { if ($line =~ /^\s*\#\s*define\s+(X86_FEATURE_(\S+))\s+(.*)$/) {
$macro = $1; $macro = $1;
$feature = $2; $feature = "\L$2";
$tail = $3; $tail = $3;
if ($tail =~ /\/\*\s*\"([^"]*)\".*\*\//) { if ($tail =~ /\/\*\s*\"([^"]*)\".*\*\//) {
$feature = $1; $feature = "\L$1";
} }
if ($feature ne '') { next if ($feature eq '');
printf OUT "\t%-32s = \"%s\",\n",
"[$macro]", "\L$feature"; if ($features{$feature}++) {
print STDERR "$in: duplicate feature name: $feature\n";
$err++;
} }
printf OUT "\t%-32s = \"%s\",\n", "[$macro]", $feature;
} }
} }
print OUT "};\n"; print OUT "};\n";
close(IN); close(IN);
close(OUT); close(OUT);
if ($err) {
unlink($out);
exit(1);
}
exit(0);
...@@ -31,7 +31,7 @@ void __cpuinit init_scattered_cpuid_features(struct cpuinfo_x86 *c) ...@@ -31,7 +31,7 @@ void __cpuinit init_scattered_cpuid_features(struct cpuinfo_x86 *c)
const struct cpuid_bit *cb; const struct cpuid_bit *cb;
static const struct cpuid_bit __cpuinitconst cpuid_bits[] = { static const struct cpuid_bit __cpuinitconst cpuid_bits[] = {
{ X86_FEATURE_DTS, CR_EAX, 0, 0x00000006, 0 }, { X86_FEATURE_DTHERM, CR_EAX, 0, 0x00000006, 0 },
{ X86_FEATURE_IDA, CR_EAX, 1, 0x00000006, 0 }, { X86_FEATURE_IDA, CR_EAX, 1, 0x00000006, 0 },
{ X86_FEATURE_ARAT, CR_EAX, 2, 0x00000006, 0 }, { X86_FEATURE_ARAT, CR_EAX, 2, 0x00000006, 0 },
{ X86_FEATURE_PLN, CR_EAX, 4, 0x00000006, 0 }, { X86_FEATURE_PLN, CR_EAX, 4, 0x00000006, 0 },
......
...@@ -444,12 +444,12 @@ void kgdb_roundup_cpus(unsigned long flags) ...@@ -444,12 +444,12 @@ void kgdb_roundup_cpus(unsigned long flags)
/** /**
* kgdb_arch_handle_exception - Handle architecture specific GDB packets. * kgdb_arch_handle_exception - Handle architecture specific GDB packets.
* @vector: The error vector of the exception that happened. * @e_vector: The error vector of the exception that happened.
* @signo: The signal number of the exception that happened. * @signo: The signal number of the exception that happened.
* @err_code: The error code of the exception that happened. * @err_code: The error code of the exception that happened.
* @remcom_in_buffer: The buffer of the packet we have read. * @remcomInBuffer: The buffer of the packet we have read.
* @remcom_out_buffer: The buffer of %BUFMAX bytes to write a packet into. * @remcomOutBuffer: The buffer of %BUFMAX bytes to write a packet into.
* @regs: The &struct pt_regs of the current process. * @linux_regs: The &struct pt_regs of the current process.
* *
* This function MUST handle the 'c' and 's' command packets, * This function MUST handle the 'c' and 's' command packets,
* as well packets to set / remove a hardware breakpoint, if used. * as well packets to set / remove a hardware breakpoint, if used.
......
...@@ -115,7 +115,7 @@ EXPORT_SYMBOL(csum_partial_copy_to_user); ...@@ -115,7 +115,7 @@ EXPORT_SYMBOL(csum_partial_copy_to_user);
* @src: source address * @src: source address
* @dst: destination address * @dst: destination address
* @len: number of bytes to be copied. * @len: number of bytes to be copied.
* @isum: initial sum that is added into the result (32bit unfolded) * @sum: initial sum that is added into the result (32bit unfolded)
* *
* Returns an 32bit unfolded checksum of the buffer. * Returns an 32bit unfolded checksum of the buffer.
*/ */
......
...@@ -693,7 +693,7 @@ static void __cpuinit get_core_online(unsigned int cpu) ...@@ -693,7 +693,7 @@ static void __cpuinit get_core_online(unsigned int cpu)
* sensors. We check this bit only, all the early CPUs * sensors. We check this bit only, all the early CPUs
* without thermal sensors will be filtered out. * without thermal sensors will be filtered out.
*/ */
if (!cpu_has(c, X86_FEATURE_DTS)) if (!cpu_has(c, X86_FEATURE_DTHERM))
return; return;
if (!pdev) { if (!pdev) {
...@@ -794,7 +794,7 @@ static struct notifier_block coretemp_cpu_notifier __refdata = { ...@@ -794,7 +794,7 @@ static struct notifier_block coretemp_cpu_notifier __refdata = {
}; };
static const struct x86_cpu_id coretemp_ids[] = { static const struct x86_cpu_id coretemp_ids[] = {
{ X86_VENDOR_INTEL, X86_FAMILY_ANY, X86_MODEL_ANY, X86_FEATURE_DTS }, { X86_VENDOR_INTEL, X86_FAMILY_ANY, X86_MODEL_ANY, X86_FEATURE_DTHERM },
{} {}
}; };
MODULE_DEVICE_TABLE(x86cpu, coretemp_ids); MODULE_DEVICE_TABLE(x86cpu, coretemp_ids);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment