firefly-linux-kernel-4.4.55.git
16 years agox86, traps: converge do_debug handlers
Alexander van Heukelum [Tue, 30 Sep 2008 16:41:37 +0000 (18:41 +0200)]
x86, traps: converge do_debug handlers

Make the x86_64-version and the i386-version of do_debug
more similar.

 - introduce preempt_conditional_sti/cli to i386. The preempt-count
is now elevated during the trap handler, like on x86_64. It
does not run on a separate stack, however.
 - replace an open-coded "send_sigtrap"
 - copy some comments

Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86, traps: introduce dotraplinkage
Alexander van Heukelum [Tue, 30 Sep 2008 16:41:36 +0000 (18:41 +0200)]
x86, traps: introduce dotraplinkage

Mark the exception handlers with "dotraplinkage" to hide the
calling convention differences between i386 and x86_64.

Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86, traps, i386: factor out lazy io-bitmap copy
Alexander van Heukelum [Tue, 30 Sep 2008 16:41:35 +0000 (18:41 +0200)]
x86, traps, i386: factor out lazy io-bitmap copy

x86_64 does not do the lazy io-bitmap dance. Putting it in
its own function makes i386's do_general_protection look
much more like x86_64's.

Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86, traps: split out math_error and simd_math_error
Alexander van Heukelum [Tue, 30 Sep 2008 16:41:34 +0000 (18:41 +0200)]
x86, traps: split out math_error and simd_math_error

Split out math_error from do_coprocessor_error and simd_math_error
from do_simd_coprocessor_error, like on i386. While at it, add the
"error_code" parameter to do_coprocessor_error, do_simd_coprocessor_error
and do_spurious_interrupt_bug.

This does not change the generated code, but brings the declarations in
line with all the other trap handlers.

Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86_64: split out dumpstack code from traps_64.c
Alexander van Heukelum [Tue, 30 Sep 2008 11:12:15 +0000 (13:12 +0200)]
x86_64: split out dumpstack code from traps_64.c

The dumpstack code is logically quite independent from the
hardware traps. Split it out into its own file.

Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agoi386: split out dumpstack code from traps_32.c
Alexander van Heukelum [Tue, 30 Sep 2008 11:12:14 +0000 (13:12 +0200)]
i386: split out dumpstack code from traps_32.c

The dumpstack code is logically quite independent from the
hardware traps. Split it out into its own file.

Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: fix virt_addr_valid() with CONFIG_DEBUG_VIRTUAL=y, v2
Vegard Nossum [Fri, 3 Oct 2008 15:54:25 +0000 (17:54 +0200)]
x86: fix virt_addr_valid() with CONFIG_DEBUG_VIRTUAL=y, v2

virt_addr_valid() calls __pa(), which calls __phys_addr(). With
CONFIG_DEBUG_VIRTUAL=y, __phys_addr() will kill the kernel if the
address *isn't* valid. That's clearly wrong for virt_addr_valid().

We also incorporate the debugging checks into virt_addr_valid().

Signed-off-by: Vegard Nossum <vegardno@ben.ifi.uio.no>
Acked-by: Jiri Slaby <jirislaby@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: allow number of additional hotplug CPUs to be set at compile time, V2
Chuck Ebbert [Thu, 2 Oct 2008 19:30:07 +0000 (15:30 -0400)]
x86: allow number of additional hotplug CPUs to be set at compile time, V2

x86: allow number of additional hotplug CPUs to be set at compile time, V2

The default number of additional CPU IDs for hotplugging is determined
by asking ACPI or mptables how many "disabled" CPUs there are in the
system, but many systems get this wrong so that e.g. a uniprocessor
machine gets an extra CPU allocated and never switches to single CPU
mode.

And sometimes CPU hotplugging is enabled only for suspend/hibernate
anyway, so the additional CPU IDs are not wanted. Allow the number
to be set to zero at compile time.

Also, force the number of extra CPUs to zero if hotplugging is disabled
which allows removing some conditional code.

Tested on uniprocessor x86_64 that ACPI claims has a disabled processor,
with CPU hotplugging configured.

("After" has the number of additional CPUs set to 0)
Before: NR_CPUS: 512, nr_cpu_ids: 2, nr_node_ids 1
After: NR_CPUS: 512, nr_cpu_ids: 1, nr_node_ids 1

[Changed the name of the option and the prompt according to Ingo's
 suggestion.]

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: do not allow to optimize flag_is_changeable_p() (rev. 2)
Krzysztof Helt [Tue, 30 Sep 2008 21:17:51 +0000 (23:17 +0200)]
x86: do not allow to optimize flag_is_changeable_p() (rev. 2)

The flag_is_changeable_p() is used by
has_cpuid_p() which can return different results
in the code sequence below:

 if (!have_cpuid_p())
      identify_cpu_without_cpuid(c);

  /* cyrix could have cpuid enabled via c_identify()*/
  if (!have_cpuid_p())
      return;

Otherwise, the gcc 3.4.6 optimizes these two calls
into one which make the code not working correctly.

Cyrix cpus have the CPUID instruction enabled before
the second call to the have_cpuid_p() but
it is not detected due to the gcc optimization.
Thus the ARR registers (mtrr like) are not detected
on such a cpu.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: __show_registers() and __show_regs() API unification
Pekka Enberg [Thu, 3 Apr 2008 13:40:48 +0000 (16:40 +0300)]
x86: __show_registers() and __show_regs() API unification

Currently the low-level function to dump user-passed registers on i386 is
called __show_registers() whereas on x86-64 it's called __show_regs(). Unify
the API to simplify porting of kmemcheck to x86-64.

Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
Acked-by: Vegard Nossum <vegard.nossum@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86, UV: new UV genapic functions for x2apic
Jack Steiner [Mon, 29 Sep 2008 13:45:29 +0000 (08:45 -0500)]
x86, UV: new UV genapic functions for x2apic

Add functions that use the infrastructure added by the x2apic code. These
functions were originally stubbed out since the UV code went into the
tree prior to the x2apic code.

Signed-off-by: Jack Steiner <steiner@sgi.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: move prefill_possible_map calling early, fix, V2
Chuck Ebbert [Mon, 29 Sep 2008 22:29:42 +0000 (18:29 -0400)]
x86: move prefill_possible_map calling early, fix, V2

Commit 4a701737 ("x86: move prefill_possible_map calling early, fix")
is the wrong fix: prefill_possible_map() needs to be available
even when CONFIG_HOTPLUG_CPU is not set. A followon patch will do that.

Fix this correctly by making prefill_possible_map() available even when
CONFIG_HOTPLUG_CPU is not set. The function is needed so that
the number of possible CPUs can be determined.

Tested on uniprocessor machine with CPU hotplug disabled.

From boot log:
  Before: NR_CPUS: 512, nr_cpu_ids: 512, nr_node_ids 1
  After: NR_CPUS: 512, nr_cpu_ids: 1, nr_node_ids 1

Signed-off-by: Chuck Ebbert <cebbert@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: merge winchip-2 and winchip-2a cpu choices
Krzysztof Helt [Sun, 28 Sep 2008 19:28:15 +0000 (21:28 +0200)]
x86: merge winchip-2 and winchip-2a cpu choices

The Winchip-2 and Winchip-2A cpu choices select the
same options for kernel and compiler.

Merge them to save few bytes and reduce confusion.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Acked-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86, uv: fix for size of hub mappings
Jack Steiner [Thu, 25 Sep 2008 12:52:10 +0000 (07:52 -0500)]
x86, uv: fix for size of hub mappings

Fix the size of the mappings of UV hub registers. Size must
be a function of the maximum node number within the SSI.

Signed-off-by: Jack Steiner <steiner@sgi.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: cleanup, remove extra ifdef
Yinghai Lu [Fri, 26 Sep 2008 05:22:12 +0000 (22:22 -0700)]
x86: cleanup, remove extra ifdef

also change two functions to static.

Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agotraps: i386: make do_trap more like x86_64
Alexander van Heukelum [Fri, 26 Sep 2008 12:03:08 +0000 (14:03 +0200)]
traps: i386: make do_trap more like x86_64

This patch hardcodes which traps should be forwarded to
handle_vm86_trap in do_trap. This allows to remove the
vm86 parameter from the i386-version of do_trap, which
makes the DO_VM86_ERROR and DO_VM86_ERROR_INFO macros
unnecessary.

x86_64 part is whitespace only.

Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agotraps: x86: remove trace_hardirqs_fixup from pagefault handler
Alexander van Heukelum [Fri, 26 Sep 2008 12:03:07 +0000 (14:03 +0200)]
traps: x86: remove trace_hardirqs_fixup from pagefault handler

The last use of trace_hardirqs_fixup is unnecessary, because the
trap is taken with interrupt off on i386 as well as x86_64, and
the irq-tracer is notified of this from the assembly code.

trace_hardirqs_fixup and trace_hardirqs_fixup_flags are removed
from include/asm-x86/irqflags.h as they are no longer used.

Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agotraps: x86_64: remove trace_hardirqs_fixup from debug handler
Alexander van Heukelum [Fri, 26 Sep 2008 12:03:06 +0000 (14:03 +0200)]
traps: x86_64: remove trace_hardirqs_fixup from debug handler

All exceptions are taken via interrupt gates. TRACE_IRQS_OFF
is called just before entering the C code, so the irq state
is known to the irq tracer at this point. No need to call
trace_hardirqs_fixup.

Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agotraps: x86_64: remove trace_hardirqs_fixup from int3 handler
Alexander van Heukelum [Fri, 26 Sep 2008 12:03:05 +0000 (14:03 +0200)]
traps: x86_64: remove trace_hardirqs_fixup from int3 handler

All exceptions are taken via interrupt gates. TRACE_IRQS_OFF
is called just before entering the C code, so the irq state
is known to the irq tracer at this point. No need to call
trace_hardirqs_fixup.

Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agotraps: x86_64: remove trace_hardirqs_fixup from DO_ERROR_INFO macro
Alexander van Heukelum [Fri, 26 Sep 2008 12:03:04 +0000 (14:03 +0200)]
traps: x86_64: remove trace_hardirqs_fixup from DO_ERROR_INFO macro

All exceptions are taken via interrupt gates. TRACE_IRQS_OFF
is called just before entering the C code, so the irq state
is known to the irq tracer at this point. No need to call
trace_hardirqs_fixup.

Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agotraps: x86_64: add TRACE_IRQS_OFF in paranoidentry macro
Alexander van Heukelum [Fri, 26 Sep 2008 12:03:03 +0000 (14:03 +0200)]
traps: x86_64: add TRACE_IRQS_OFF in paranoidentry macro

Add TRACE_IRQS_OFF just before entering the C code.

All exceptions are taken via interrupt gates. If irq tracing is
enabled, it should be notified as soon as possible. Interrupts
are only (conditionally) re-enabled in C code.

Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agotraps: x86_64: add TRACE_IRQS_OFF in error_entry
Alexander van Heukelum [Fri, 26 Sep 2008 12:03:02 +0000 (14:03 +0200)]
traps: x86_64: add TRACE_IRQS_OFF in error_entry

Add TRACE_IRQS_OFF just before entering the C code.

All exceptions are taken via interrupt gates. If irq tracing is
enabled, it should be notified as soon as possible. Interrupts
are only (conditionally) re-enabled in C code.

Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86, uv: add early detection of UV system types
Jack Steiner [Tue, 23 Sep 2008 20:37:13 +0000 (15:37 -0500)]
x86, uv: add early detection of UV system types

Portions of the ACPI code needs to know if a system is a UV system prior
to genapic initialization. This patch adds a call early_acpi_boot_init()
so that the apic type is discovered earlier.

V2 of the patch adding fixes from Yinghai Lu.
Much cleaner and smaller.

Signed-off-by: Jack Steiner <steiner@sgi.com>
Acked-by: Yinghai Lu <yinghai@kernel.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: move vgetcpu mode probing to cpu detection
Glauber Costa [Mon, 22 Sep 2008 17:35:08 +0000 (14:35 -0300)]
x86: move vgetcpu mode probing to cpu detection

Take it out of time initialization and move it to
cpu detection time.

Signed-off-by: Glauber Costa <glommer@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: wrap MCA_bus test around an ifdef
Glauber Costa [Mon, 21 Jul 2008 21:42:52 +0000 (18:42 -0300)]
x86: wrap MCA_bus test around an ifdef

Only test for MCA_bus if support for MCA is compiled in.
Also, for x86_64, write the code inside the conditional
for consistency with i386. It won't bite us, since it'll
probably never select CONFIG_MCA anyway.

Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: replace hardcoded number
Glauber Costa [Fri, 11 Jul 2008 19:06:40 +0000 (16:06 -0300)]
x86: replace hardcoded number

Replace "4" in time_32.c code by sizeof(long).
This way, it can work on x86_64 too.

Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: rename timer_event_interrupt to timer_interrupt
Glauber Costa [Fri, 11 Jul 2008 18:25:13 +0000 (15:25 -0300)]
x86: rename timer_event_interrupt to timer_interrupt

Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: make init_ISA_irqs nonstatic
Glauber Costa [Fri, 11 Jul 2008 18:12:39 +0000 (15:12 -0300)]
x86: make init_ISA_irqs nonstatic

Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: factor out irq initialization for x86_64
Glauber Costa [Fri, 11 Jul 2008 18:08:39 +0000 (15:08 -0300)]
x86: factor out irq initialization for x86_64

Provide apic_intr_init and smp_intr_init functions.

Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: bind irq0 irq data to cpu0
Glauber Costa [Fri, 11 Jul 2008 17:21:29 +0000 (14:21 -0300)]
x86: bind irq0 irq data to cpu0

Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: use user_mode_vm instead of user_mode
Glauber Costa [Fri, 11 Jul 2008 17:10:13 +0000 (14:10 -0300)]
x86: use user_mode_vm instead of user_mode

For x86_64, it does not really matter. But makes the
code equal to i386.

Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: remove SEGMENT_IS_FLAT_CODE
Glauber Costa [Fri, 11 Jul 2008 17:00:14 +0000 (14:00 -0300)]
x86: remove SEGMENT_IS_FLAT_CODE

There are no users in the kernel.

Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: use frame pointer information on x86_64 profile_pc
Glauber Costa [Fri, 11 Jul 2008 16:53:43 +0000 (13:53 -0300)]
x86: use frame pointer information on x86_64 profile_pc

Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: set bp field in pt_regs properly
Glauber Costa [Thu, 14 Aug 2008 20:33:12 +0000 (17:33 -0300)]
x86: set bp field in pt_regs properly

Save rbp twice: One is for marking the stack frame, as usual (already
there), and the other, to fill pt_regs properly. This is because bx
comes right before the last saved register in that structure, and not
bp. If the base pointer were in the place bx is today, this would not
be needed.

Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: coalesce tests
Glauber Costa [Fri, 11 Jul 2008 16:48:07 +0000 (13:48 -0300)]
x86: coalesce tests

Coalesce v8086_mode and user_mode into a single
user_mode_vm() test.

Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: use user_mode macro
Glauber Costa [Fri, 11 Jul 2008 16:45:46 +0000 (13:45 -0300)]
x86: use user_mode macro

Instead of using SEGMENT_IS_KERNEL_CODE, use the
"user_mode" macro, which can play the same role. Delete
the former, since it now lacks any user.

Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: cpu don't print duplicated vendor string
Yinghai Lu [Sat, 20 Sep 2008 01:41:16 +0000 (18:41 -0700)]
x86: cpu don't print duplicated vendor string

Some CPUs have vendor string in the middle of model_id instead of beginning

Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: make mm/gup.c more virtualization friendly
Jan Beulich [Wed, 17 Sep 2008 15:48:17 +0000 (16:48 +0100)]
x86: make mm/gup.c more virtualization friendly

Since pte_flags() is much cheaper than pte_val() in some virtualized
environments (namely, Xen), use the former whereever possible.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Cc: "Nick Piggin" <npiggin@suse.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86-64: fix combining of regions in init_memory_mapping()
Jan Beulich [Fri, 12 Sep 2008 14:43:04 +0000 (15:43 +0100)]
x86-64: fix combining of regions in init_memory_mapping()

When nr_range gets decremented, the same slot must be considered for
coalescing with its new successor again.

The issue is apparently pretty benign to native code, but surfaces as a
boot time crash in our forward ported Xen tree (where the page table
setup overall works differently than in native).

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Acked-by: Yinghai Lu <yhlu.kernel@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: smpboot - check if we have ESR register in wakeup_secondary_cpu
Cyrill Gorcunov [Sun, 14 Sep 2008 17:58:49 +0000 (21:58 +0400)]
x86: smpboot - check if we have ESR register in wakeup_secondary_cpu

We should check if we have ESR register before reading from it.

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cc: Yinghai Lu <yhlu.kernel@gmail.com>
Cc: "Maciej W. Rozycki" <macro@linux-mips.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: add memory clobber in switch_to()
Vegard Nossum [Sun, 14 Sep 2008 17:03:53 +0000 (19:03 +0200)]
x86: add memory clobber in switch_to()

Segment registers are reloaded, so we should add a memory clobber. The
generated assembly code is identical in my tests, but this doesn't mean
it is necessarily true for all configurations/compilers.

x86_64 already has the memory clobber.

Signed-off-by: Vegard Nossum <vegard.nossum@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: print out EBDA/lowmem address
Ingo Molnar [Mon, 15 Sep 2008 06:26:15 +0000 (08:26 +0200)]
x86: print out EBDA/lowmem address

it's useful for debugging purposes to know the location of the EBDA.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: check dsdt before find oem table for es7000, v2
Yinghai Lu [Sun, 14 Sep 2008 09:33:14 +0000 (02:33 -0700)]
x86: check dsdt before find oem table for es7000, v2

v2: use __acpi_unmap_table()

Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86-64: don't check for map replacement
Jeremy Fitzhardinge [Sun, 7 Sep 2008 22:21:17 +0000 (15:21 -0700)]
x86-64: don't check for map replacement

The check prevents flags on mappings from being changed, which is not
desireable.  There's no need to check for replacing a mapping, and
x86-32 does not do this check.

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: use early_memremap() in setup.c
Jeremy Fitzhardinge [Sun, 7 Sep 2008 22:21:16 +0000 (15:21 -0700)]
x86: use early_memremap() in setup.c

The remappings in setup.c are all just ordinary memory, so use
early_memremap() rather than early_ioremap().

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: add early_memremap()
Jeremy Fitzhardinge [Sun, 7 Sep 2008 22:21:15 +0000 (15:21 -0700)]
x86: add early_memremap()

early_ioremap() is also used to map normal memory when constructing
the linear memory mapping.  However, since we sometimes need to be able
to distinguish between actual IO mappings and normal memory mappings,
add a early_memremap() call, which maps with PAGE_KERNEL (as opposed
to PAGE_KERNEL_IO for early_ioremap()), and use it when constructing
pagetables.

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: remove duplicate early_ioremap declarations
Jeremy Fitzhardinge [Sun, 7 Sep 2008 22:21:14 +0000 (15:21 -0700)]
x86: remove duplicate early_ioremap declarations

early_ioremap() is redeclared in several places; remove them.

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: add _PAGE_IOMAP pte flag for IO mappings
Jeremy Fitzhardinge [Sun, 7 Sep 2008 22:21:13 +0000 (15:21 -0700)]
x86: add _PAGE_IOMAP pte flag for IO mappings

Use one of the software-defined PTE bits to indicate that a mapping is
intended for an IO address.  On native hardware this is irrelevent,
since a physical address is a physical address.  But in a virtual
environment, physical addresses are also virtualized, so there needs
to be some way to distinguish between pseudo-physical addresses and
actual hardware addresses; _PAGE_IOMAP indicates this intent.

By default, __supported_pte_mask masks out _PAGE_IOMAP, so it doesn't
even appear in the final pagetable.

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agoi386: trace_hardirqs_fixup should now not be necessary: irqs are off.
Alexander van Heukelum [Tue, 9 Sep 2008 19:56:18 +0000 (21:56 +0200)]
i386: trace_hardirqs_fixup should now not be necessary: irqs are off.

The exception handlers in entry_32.S should now all call
TRACE_IRQS_OFF before calling the C code. The calls to
trace_hardirqs_fixup should now be unnecessary. Remove them.

Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agoi386: add TRACE_IRQS_OFF for the exception 3 (int3)
Alexander van Heukelum [Tue, 9 Sep 2008 19:56:17 +0000 (21:56 +0200)]
i386: add TRACE_IRQS_OFF for the exception 3 (int3)

At this point interrupts are off, so let's inform the tracing
code of that fact before calling into C.

Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agoi386: add TRACE_IRQS_OFF for the nmi
Alexander van Heukelum [Tue, 9 Sep 2008 19:56:16 +0000 (21:56 +0200)]
i386: add TRACE_IRQS_OFF for the nmi

At this point interrupts are off, so let's inform the tracing
code of that fact before calling into C.

Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agoi386: add TRACE_IRQS_OFF for exception 1 (debug)
Alexander van Heukelum [Tue, 9 Sep 2008 19:56:15 +0000 (21:56 +0200)]
i386: add TRACE_IRQS_OFF for exception 1 (debug)

At this point interrupts are off, so let's inform the tracing
code of that fact before calling into C.

Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agoi386: add TRACE_IRQS_OFF to entry_32.S in 'error_code'
Alexander van Heukelum [Tue, 9 Sep 2008 19:56:14 +0000 (21:56 +0200)]
i386: add TRACE_IRQS_OFF to entry_32.S in 'error_code'

Many exceptions use the same code path via the label 'error_code'
in entry_32.S. At this point interrupts are off, so let's inform
the tracing code of that fact before calling into C.

Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agoi386: remove temporary DO_TRAP macros, expanding the last one used
Alexander van Heukelum [Tue, 9 Sep 2008 19:56:13 +0000 (21:56 +0200)]
i386: remove temporary DO_TRAP macros, expanding the last one used

Only one use of the DO_TRAP macros remains. Expand that one and
remove the macros now.

Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agoi386: convert hardware exception 19 to an interrupt gate
Alexander van Heukelum [Tue, 9 Sep 2008 19:56:12 +0000 (21:56 +0200)]
i386: convert hardware exception 19 to an interrupt gate

Handle SIMD coprocessor exception with interrupt initially off.

Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agoi386: convert hardware exception 18 to an interrupt gate
Alexander van Heukelum [Tue, 9 Sep 2008 19:56:11 +0000 (21:56 +0200)]
i386: convert hardware exception 18 to an interrupt gate

Handle machine check exception with interrupt initially off.

Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agoi386: convert hardware exception 17 to an interrupt gate
Alexander van Heukelum [Tue, 9 Sep 2008 19:56:10 +0000 (21:56 +0200)]
i386: convert hardware exception 17 to an interrupt gate

Handle alignment check exception with interrupt initially off.

Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agoi386: convert hardware exception 16 to an interrupt gate
Alexander van Heukelum [Tue, 9 Sep 2008 19:56:09 +0000 (21:56 +0200)]
i386: convert hardware exception 16 to an interrupt gate

Handle coprocessor error exception with interrupt initially off.

Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agoi386: convert hardware exception 15 to an interrupt gate
Alexander van Heukelum [Tue, 9 Sep 2008 19:56:08 +0000 (21:56 +0200)]
i386: convert hardware exception 15 to an interrupt gate

Handle exception 15 with interrupt initially off.

Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agoi386: convert hardware exception 13 to an interrupt gate
Alexander van Heukelum [Tue, 9 Sep 2008 19:56:07 +0000 (21:56 +0200)]
i386: convert hardware exception 13 to an interrupt gate

Handle general protection exception with interrupt initially off.

Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agoi386: convert hardware exception 12 to an interrupt gate
Alexander van Heukelum [Tue, 9 Sep 2008 19:56:06 +0000 (21:56 +0200)]
i386: convert hardware exception 12 to an interrupt gate

Handle stack segment exception with interrupt initially off.

Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agoi386: convert hardware exception 11 to an interrupt gate
Alexander van Heukelum [Tue, 9 Sep 2008 19:56:05 +0000 (21:56 +0200)]
i386: convert hardware exception 11 to an interrupt gate

Handle segment not present exception with interrupt initially off.

Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agoi386: convert hardware exception 10 to an interrupt gate
Alexander van Heukelum [Tue, 9 Sep 2008 19:56:04 +0000 (21:56 +0200)]
i386: convert hardware exception 10 to an interrupt gate

Handle invalid TSS exception with interrupt initially off.

Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agoi386: convert hardware exception 9 to an interrupt gate
Alexander van Heukelum [Tue, 9 Sep 2008 19:56:03 +0000 (21:56 +0200)]
i386: convert hardware exception 9 to an interrupt gate

Handle coprocessor segment overrun exception with interrupt initially off.

Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agoi386: convert hardware exception 7 to an interrupt gate
Alexander van Heukelum [Tue, 9 Sep 2008 19:56:02 +0000 (21:56 +0200)]
i386: convert hardware exception 7 to an interrupt gate

Handle no coprocessor exception with interrupt initially off.

device_not_available in entry_32.S calls either math_state_restore
or math_emulate. This patch adds an extra indirection to be
able to re-enable interrupts explicitly in traps_32.c

Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agoi386: convert hardware exception 6 to an interrupt gate
Alexander van Heukelum [Tue, 9 Sep 2008 19:56:01 +0000 (21:56 +0200)]
i386: convert hardware exception 6 to an interrupt gate

Handle invalid opcode exception with interrupt initially off.

Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agoi386: convert hardware exception 5 to an interrupt gate
Alexander van Heukelum [Tue, 9 Sep 2008 19:56:00 +0000 (21:56 +0200)]
i386: convert hardware exception 5 to an interrupt gate

Handle bounds exception with interrupt initially off.

Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agoi386: convert hardware exception 4 to an interrupt gate
Alexander van Heukelum [Tue, 9 Sep 2008 19:55:59 +0000 (21:55 +0200)]
i386: convert hardware exception 4 to an interrupt gate

Handle overflow exception with interrupt initially off.

Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agoi386: expand exception 3 DO_TRAP macro
Alexander van Heukelum [Tue, 9 Sep 2008 19:55:58 +0000 (21:55 +0200)]
i386: expand exception 3 DO_TRAP macro

The int3 exception was already takes as an interrupt and
do_int3 does not fit in the new DO_ERROR macro. This patch
just expands the DO_TRAP macro and rearranges the code a
bit.

No functional changes intended.

Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agoi386: convert hardware exception 0 to an interrupt gate
Alexander van Heukelum [Tue, 9 Sep 2008 19:55:57 +0000 (21:55 +0200)]
i386: convert hardware exception 0 to an interrupt gate

Handle divide error exception with interrupt initially off.

Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agoi386: prepare to convert exceptions to interrupts
Alexander van Heukelum [Tue, 9 Sep 2008 19:55:56 +0000 (21:55 +0200)]
i386: prepare to convert exceptions to interrupts

There is some macro magic in traps_32.c to construct standard
exception dispatch functions. This patch renames the DO_ERROR-
like macros to DO_TRAP, and introduces new DO_ERROR ones that
conditionally reenable interrupts explicitly, like x86_64.

No code changes.

Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agoi386: remove kprobes' restore_interrupts in favour of conditional_sti
Alexander van Heukelum [Tue, 9 Sep 2008 19:55:55 +0000 (21:55 +0200)]
i386: remove kprobes' restore_interrupts in favour of conditional_sti

x86_64 uses a helper function conditional_sti in traps_64.c which
is equal to restore_interrupts in kprobes.h. The only user of
restore_interrupts is in traps_32.c. Introduce conditional_sti
for i386 and remove restore_interrupts.

Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: rename discontig_32.c to numa_32.c
Yinghai Lu [Wed, 10 Sep 2008 06:34:17 +0000 (23:34 -0700)]
x86: rename discontig_32.c to numa_32.c

name it in line with its purpose.

Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agoarch/x86/kernel/smpboot.c: Clarify when irq processing begins.
Manfred Spraul [Sun, 7 Sep 2008 09:29:58 +0000 (11:29 +0200)]
arch/x86/kernel/smpboot.c: Clarify when irq processing begins.

Secondary cpus start with local interrupts disabled.
start_secondary() first initializes the new cpu, then it enables the
local interrupts. (although interrupts are enabled within smp_callin()
as well).

Right now, the local interrupts are enabled as a side effect of calling
ipi_call_lock_irq().

The attached patch clarifies when local interrupts are enabled.

Signed-off-by: Manfred Spraul <manfred@colorfullife.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86-64: slightly stream-line 32-bit syscall entry code
Jan Beulich [Fri, 29 Aug 2008 12:21:11 +0000 (13:21 +0100)]
x86-64: slightly stream-line 32-bit syscall entry code

Avoid updating registers or memory twice as well as needlessly loading
or copying registers.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86-64: reduce boot fixmap space
Jan Beulich [Fri, 29 Aug 2008 12:14:30 +0000 (13:14 +0100)]
x86-64: reduce boot fixmap space

Just like for 32-bit - as 256 entries are needed, aligning to a
256-entry boundary is sufficient and still guarantees the single pte
table requirement.

Likewise move up __end_of_permanent_fixed_addresses, to match 32-bit.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agoMAINTAINERS: remove colon from headings
Randy Dunlap [Sun, 12 Oct 2008 23:11:58 +0000 (16:11 -0700)]
MAINTAINERS: remove colon from headings

Remove ending ':' from some of the Topic lines for consistency.

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoMAINTAINERS: add F: and acronyms
Randy Dunlap [Sun, 12 Oct 2008 23:11:45 +0000 (16:11 -0700)]
MAINTAINERS: add F: and acronyms

Add F: definition since it is being used.

Expand acronyms or add them so that users of MAINTAINERS file can find
entries more easily.

Correct driver spelling.

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoMAINTAINERS: alpha sort
Randy Dunlap [Sun, 12 Oct 2008 23:11:31 +0000 (16:11 -0700)]
MAINTAINERS: alpha sort

Sorted case-insensitive (sort -f).
Groups that begin with ARM, INTEL, etc. not sorted.

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoMerge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4
Linus Torvalds [Sun, 12 Oct 2008 23:10:29 +0000 (16:10 -0700)]
Merge branch 'for_linus' of git://git./linux/kernel/git/tytso/ext4

* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
  ext4: fix kconfig typo and extra whitespace
  ext4: fix build failure without procfs
  ext4: add an option to control error handling on file data
  jbd2: don't dirty original metadata buffer on abort
  ext4: add checks for errors from jbd2
  jbd2: fix error handling for checkpoint io
  jbd2: abort when failed to log metadata buffers

16 years agoext4: fix kconfig typo and extra whitespace
Jan Engelhardt [Sun, 12 Oct 2008 19:53:01 +0000 (15:53 -0400)]
ext4: fix kconfig typo and extra whitespace

Signed-off-by: Jan Engelhardt <jengelh@medozas.de>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
16 years agoext4: fix build failure without procfs
Alexander Beregalov [Sun, 12 Oct 2008 21:27:49 +0000 (17:27 -0400)]
ext4: fix build failure without procfs

fs/ext4/super.c: In function 'ext4_fill_super':
fs/ext4/super.c:2226: error: 'ext4_ui_proc_fops' undeclared (first use
in this function)
fs/ext4/super.c:2226: error: (Each undeclared identifier is reported
only once
fs/ext4/super.c:2226: error: for each function it appears in.)

Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6
Linus Torvalds [Sun, 12 Oct 2008 19:42:29 +0000 (12:42 -0700)]
Merge git://git./linux/kernel/git/sfrench/cifs-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:
  [CIFS] cifs: remove pointless lock and unlock of GlobalMid_Lock in header_assemble

16 years agoFix Kconfig dependency for WM97xx battery driver
Linus Torvalds [Sun, 12 Oct 2008 19:37:16 +0000 (12:37 -0700)]
Fix Kconfig dependency for WM97xx battery driver

It needs the WM97xx touchscreen driver to be compiled in, not as a
module.  And it cannot itself be a module, due to some unfortunate
interactions with platform data.

Reported-by: Herbert Xu <herbert@gondor.apana.org.au>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoMerge branch 'x86-core-v2-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
Linus Torvalds [Sun, 12 Oct 2008 19:04:59 +0000 (12:04 -0700)]
Merge branch 'x86-core-v2-for-linus' of git://git./linux/kernel/git/tip/linux-2.6-tip

This merges in:

  x86/build, x86/microcode, x86/spinlocks, x86/memory-corruption-check,
  x86/early-printk, x86/xsave, x86/quirks, x86/setup, x86/signal,
  core/signal, x86/urgent, x86/xen

* 'x86-core-v2-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (142 commits)
  x86: make processor type select depend on CONFIG_EMBEDDED
  x86: extend processor type select help text
  x86, amd-iommu: propagate PCI device enabling error
  warnings: fix arch/x86/kernel/io_apic_64.c
  warnings: fix arch/x86/kernel/early_printk.c
  x86, fpu: check __clear_user() return value
  x86: memory corruption check - cleanup
  x86: ioperm user_regset
  xen: do not reserve 2 pages of padding between hypervisor and fixmap.
  xen: use spin_lock_nest_lock when pinning a pagetable
  x86: xsave: set FP, SSE bits in the xsave header in the user sigcontext
  x86: xsave: fix error condition in save_i387_xstate()
  x86: SB450: deprioritize DMI quirks
  x86: SB450: skip IRQ0 override if it is not routed to INT2 of IOAPIC
  x86: replace a magic number with a named constant in the VESA boot code
  x86 setup: remove IMAGE_OFFSET
  x86 setup: remove DEF_INITSEG and DEF_SETUPSEG
  Revert "x86: fix ghost EDD devices in /sys again"
  x86 setup: fix ghost entries under /sys/firmware/edd take 3
  x86: signal: remove indent in restore_sigcontext()
  ...

16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6
Linus Torvalds [Sun, 12 Oct 2008 19:00:23 +0000 (12:00 -0700)]
Merge git://git./linux/kernel/git/hskinnemoen/avr32-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6:
  avr32: Fix build failures in board code
  avr32: Allow selecting multiple pins at once
  avr32: Minor pm_power_off cleanup
  avr32: Implement {read,write}[bwl]_be
  avr32: Replace static clock list with dynamic linked list
  avr32: Use platform_driver_probe for pdc platform driver
  avr32: Use platform_driver_probe for pio platform driver
  avr32: Provide a way to deselect pins in the portmux
  ngw100: export J15 through sysfs
  avr32: Allow fine-grained control over LCDC pins
  avr32: added mem kernel command line option support
  Add kernel support for oprofile callgraphs on AVR32
  avr32: use the new byteorder headers

16 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc
Linus Torvalds [Sun, 12 Oct 2008 18:51:57 +0000 (11:51 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/drzeus/mmc

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc: (24 commits)
  MMC: Use timeout values from CSR
  MMC: CSD and CID timeout values
  sdhci: 'scratch' may be used uninitialized
  mmc: explicitly mention SDIO support in Kconfig
  mmc: remove redundant "depends on"
  Fix comment in include/linux/mmc/host.h
  sdio: high-speed support
  mmc_block: hard code 512 byte block size
  sdhci: force high speed capability on some controllers
  mmc_block: filter out PC requests
  mmc_block: indicate strict ordering
  mmc_block: inform block layer about sector count restriction
  sdio: give sdio irq thread a host specific name
  sdio: make sleep on error interruptable
  sdhci: reduce card detection delay
  sdhci: let the controller wait for busy state to end
  atmel-mci: Add missing flush_dcache_page() in PIO transfer code
  atmel-mci: Don't overwrite error bits when NOTBUSY is set
  atmel-mci: Add experimental DMA support
  atmel-mci: support multiple mmc slots
  ...

16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog
Linus Torvalds [Sun, 12 Oct 2008 18:51:32 +0000 (11:51 -0700)]
Merge git://git./linux/kernel/git/wim/linux-2.6-watchdog

* git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog:
  [WATCHDOG] orion5x_wdt.c: add spinlocking
  [WATCHDOG] Orion: add hardware watchdog support
  [WATCHDOG] omap_wdt.c: cleanup a bit omap_wdt.c
  [WATCHDOG] omap_wdt.c: another ioremap() fix
  [WATCHDOG] omap_wdt.c: sync linux-omap changes
  [WATCHDOG] Add AT91SAM9X watchdog
  [WATCHDOG] Add driver for winbond w83697ug/uf watchdog feature
  [WATCHDOG] add watchdog driver IT8716 IT8726 IT8712J/K

16 years agoMerge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
Linus Torvalds [Sun, 12 Oct 2008 18:50:37 +0000 (11:50 -0700)]
Merge branch 'x86-fixes-for-linus' of git://git./linux/kernel/git/tip/linux-2.6-tip

* 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  x86: fix early panic on amd64 due to typo in supported CPU section
  x86, early_ioremap: fix fencepost error
  x86: avoid dereferencing beyond stack + THREAD_SIZE

16 years agoprovide generic_block_fiemap() only with BLOCK=y
Adrian Bunk [Sun, 12 Oct 2008 04:15:19 +0000 (07:15 +0300)]
provide generic_block_fiemap() only with BLOCK=y

This fixes the following compile error with CONFIG_BLOCK=n caused by
commit 68c9d702bb72f367f3b148963ec6cf5e07ff7f65 ("generic block based
fiemap implementation"):

    CC      fs/ioctl.o
  fs/ioctl.c: In function 'generic_block_fiemap':
  fs/ioctl.c:249: error: storage size of 'tmp' isn't known
  fs/ioctl.c:272: error: invalid application of 'sizeof' to incomplete type 'struct buffer_head'
  fs/ioctl.c:280: error: implicit declaration of function 'buffer_mapped'
  fs/ioctl.c:249: warning: unused variable 'tmp'
  make[2]: *** [fs/ioctl.o] Error 1

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Acked-by: Josef Bacik <jbacik@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoadd key_revoke() dummy for KEYS=n
Adrian Bunk [Sun, 12 Oct 2008 04:10:50 +0000 (07:10 +0300)]
add key_revoke() dummy for KEYS=n

This fixes the following build error with CONFIG_KEYS=n, caused by
commit dfd15c46a6c2cafb006183c0c14f07e59eee4ac0 ("cifs: explicitly
revoke SPNEGO key after session setup"):

    CC [M]  fs/cifs/sess.o
  fs/cifs/sess.c: In function 'CIFS_SessSetup':
  fs/cifs/sess.c:628: error: implicit declaration of function 'key_revoke'
  make[3]: *** [fs/cifs/sess.o] Error 1

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Acked-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6
Linus Torvalds [Sun, 12 Oct 2008 18:40:55 +0000 (11:40 -0700)]
Merge git://git./linux/kernel/git/davem/sparc-next-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6: (180 commits)
  leo: disable cursor when leaving graphics mode
  cg6: disable cursor when leaving graphics mode
  sparc32: sun4m interrupt mask cleanup
  drivers/rtc/Kconfig: don't build rtc-cmos.o on sparc32
  sparc: arch/sparc/kernel/pmc.c -- extra #include?
  sparc32: Add more extensive documentation of sun4m interrupts.
  sparc32: Kill irq_rcvreg from sun4m_irq.c
  sparc32: Delete master_l10_limit.
  sparc32: Use PROM device probing for sun4c timers.
  sparc32: Use PROM device probing for sun4c interrupt register.
  sparc32: Delete claim_ticker14().
  sparc32: Stop calling claim_ticker14() from sun4c_irq.c
  sparc32: Kill clear_profile_irq btfixup entry.
  sparc32: Call sun4m_clear_profile_irq() directly from sun4m_smp.c
  sparc32: Remove #if 0'd code from sun4c_irq.c
  sparc32: Remove some SMP ifdefs in sun4d_irq.c
  sparc32: Use PROM infrastructure for probing and mapping sun4d timers.
  sparc32: Use PROM device probing for sun4m irq registers.
  sparc32: Use PROM device probing for sun4m timer registers.
  sparc: Fix user_regset 'n' field values.
  ...

16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Sun, 12 Oct 2008 18:40:34 +0000 (11:40 -0700)]
Merge git://git./linux/kernel/git/davem/net-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
  smc911x: Fix external PHY detection
  e1000: allow VLAN devices to use TSO and CSUM offload
  gre: Initialise rtnl_link tunnel parameters properly
  ipvs: Add proper dependencies on IP_VS, and fix description header line.

16 years agoFix RTC wakealarm sysfs interface breakage.
Linus Torvalds [Sun, 12 Oct 2008 18:30:08 +0000 (11:30 -0700)]
Fix RTC wakealarm sysfs interface breakage.

Commit ed458df4d2470adc02762a87a9ad665d0b1a2bd4 ("PnP: move
pnpacpi/pnpbios_init to after PCI init") moved the PnP RTC discovery
later, and now the ACPI RTC glue code doesn't find it any more, breaking
the RTC wakealarm sysfs interfaces, as reported by Rafael.

This really is fairly messy, and we have several annoying ordering
constraints here - the PnP code that sets up the RTC resources wants to
run after the PCI resources have to be registered, which in turn needs
to run after ACPI has at least enumerated the root PCI buses etc.  Our
initcall ordering is not fine-grained enough to make this all painless.

So this moves the ACPI RTC glue ("acpi_rtc_init()") down to a regular
module call, which fixes the problem Rafael has.  The reason this isn't
wonderful is that we really should do acpi_rtc_init before we do the
rtc_cmos init, and now those two are in the same module_init() section.

Which happens to work, but only because drivers/rtc is linked after
drivers/acpi.  In other words, we still have a very subtle ordering
issue here. Grr.

Reported-and-tested-by: Rafael J. Wysocki <rjw@sisk.pl>
Acked-by: David Brownell <david-b@pacbell.net>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoavr32: Fix build failures in board code
Haavard Skinnemoen [Sun, 12 Oct 2008 14:02:46 +0000 (16:02 +0200)]
avr32: Fix build failures in board code

Fix a few instances of board code breakage introduced by the atmel-mci
platform interface changes.

Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
16 years agoavr32: Allow selecting multiple pins at once
Julien May [Wed, 24 Sep 2008 08:30:47 +0000 (10:30 +0200)]
avr32: Allow selecting multiple pins at once

at32_select_periph() now takes an u32 bitmask rather than a single pin.
This allows to set multiple pins at once.

Signed-off-by: Alex Raimondi <mailinglist@miromico.ch>
Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
16 years agoMerge branches 'x86/xen', 'x86/build', 'x86/microcode', 'x86/mm-debug-v2', 'x86/memor...
Ingo Molnar [Sun, 12 Oct 2008 13:50:02 +0000 (15:50 +0200)]
Merge branches 'x86/xen', 'x86/build', 'x86/microcode', 'x86/mm-debug-v2', 'x86/memory-corruption-check', 'x86/early-printk', 'x86/xsave', 'x86/ptrace-v2', 'x86/quirks', 'x86/setup', 'x86/spinlocks' and 'x86/signal' into x86/core-v2

16 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen...
Haavard Skinnemoen [Sun, 12 Oct 2008 13:44:33 +0000 (15:44 +0200)]
Merge branch 'master' of git://git./linux/kernel/git/hskinnemoen/atmel-mci-2.6.28

16 years agox86: make processor type select depend on CONFIG_EMBEDDED
Ingo Molnar [Sun, 12 Oct 2008 13:40:45 +0000 (15:40 +0200)]
x86: make processor type select depend on CONFIG_EMBEDDED

deselecting one of the CPU type CONFIG_CPU_SUP_* config options
can render a kernel unbootable. Make sure this option is only
available if CONFIG_EMBEDDED is enabled.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: extend processor type select help text
Ingo Molnar [Sun, 12 Oct 2008 13:36:24 +0000 (15:36 +0200)]
x86: extend processor type select help text

extend the help text of the CONFIG_CPU_SUP_* config options to
express what it does and what effects it has.

Signed-off-by: Ingo Molnar <mingo@elte.hu>