OSDN Git Service
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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
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>
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>
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
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>
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()
...
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
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
...
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
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
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>
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>
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.
...
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.
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>
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>
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>
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
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
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>
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>
Jeff Layton [Sun, 12 Oct 2008 13:34:11 +0000 (13:34 +0000)]
[CIFS] cifs: remove pointless lock and unlock of GlobalMid_Lock in header_assemble
We lock GlobalMid_Lock in header_assemble and then immediately unlock it
again without doing anything. Not sure what this was intended to do, but
remove it.
Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
Ingo Molnar [Sun, 12 Oct 2008 13:24:53 +0000 (15:24 +0200)]
x86, amd-iommu: propagate PCI device enabling error
propagate an error in enabling the PCI device.
Also eliminates this warning:
arch/x86/kernel/amd_iommu_init.c: In function ‘init_iommu_one’:
arch/x86/kernel/amd_iommu_init.c:726: warning: ignoring return value of ‘pci_enable_device’, declared with attribute warn_unused_result
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Ingo Molnar [Sun, 12 Oct 2008 13:22:22 +0000 (15:22 +0200)]
warnings: fix arch/x86/kernel/io_apic_64.c
fix:
arch/x86/kernel/io_apic_64.c: In function ‘print_local_APIC’:
arch/x86/kernel/io_apic_64.c:1284: warning: format ‘%08x’ expects type ‘unsigned int’, but argument 2 has type ‘long unsigned int’
arch/x86/kernel/io_apic_64.c:1285: warning: format ‘%08x’ expects type ‘unsigned int’, but argument 2 has type ‘long unsigned int’
We want to print the two halves of 'icr' at 32 bit width.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Ingo Molnar [Wed, 27 Aug 2008 08:37:14 +0000 (10:37 +0200)]
warnings: fix arch/x86/kernel/early_printk.c
fix warning:
arch/x86/kernel/early_printk.c:993: warning: ‘enable_debug_console’ defined but not used
Eliminate dead code.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Ingo Molnar [Mon, 18 Aug 2008 10:59:32 +0000 (12:59 +0200)]
x86, fpu: check __clear_user() return value
fix warning:
arch/x86/kernel/xsave.c: In function ‘save_i387_xstate’:
arch/x86/kernel/xsave.c:98: warning: ignoring return value of ‘__clear_user’, declared with attribute warn_unused_result
check the return value and act on it. We should not be ignoring faults
at this point.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Ingo Molnar [Sun, 12 Oct 2008 13:17:14 +0000 (15:17 +0200)]
Merge branch 'linus' into x86/xsave
Ingo Molnar [Sun, 12 Oct 2008 13:06:29 +0000 (15:06 +0200)]
x86: memory corruption check - cleanup
Move the prototypes from the generic kernel.h header to the more
appropriate include/asm-x86/bios_ebda.h header file.
Also, remove the check from the power management code - this is a
pure x86 matter for now.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Ingo Molnar [Sun, 12 Oct 2008 13:05:39 +0000 (15:05 +0200)]
Merge branch 'linus' into x86/memory-corruption-check
Ingo Molnar [Sun, 12 Oct 2008 11:20:25 +0000 (13:20 +0200)]
Merge branches 'core/signal' and 'x86/spinlocks' into x86/xen
Conflicts:
include/asm-x86/spinlock.h
Ingo Molnar [Sun, 12 Oct 2008 11:17:07 +0000 (13:17 +0200)]
Merge branch 'x86/signal' into core/signal
Ingo Molnar [Sun, 12 Oct 2008 10:49:27 +0000 (12:49 +0200)]
Merge branch 'linus' into x86/signal
Conflicts:
arch/x86/kernel/signal_64.c
Ingo Molnar [Sun, 12 Oct 2008 10:43:21 +0000 (12:43 +0200)]
Merge branch 'linus' into x86/quirks
Conflicts:
arch/x86/kernel/early-quirks.c
Ingo Molnar [Sun, 12 Oct 2008 10:39:30 +0000 (12:39 +0200)]
Merge branch 'linus' into x86/spinlocks
Done to prevent this failure of an Octopus merge:
Added arch/arm/include/asm/byteorder.h in both, but differently.
ERROR: Merge conflict in arch/arm/include/asm/byteorder.h
Auto-merging include/asm-x86/spinlock.h
ERROR: Merge conflict in include/asm-x86/spinlock.h
fatal: merge program failed
Ingo Molnar [Sun, 12 Oct 2008 10:35:23 +0000 (12:35 +0200)]
Merge branch 'linus' into x86/xen
Conflicts:
arch/x86/kernel/cpu/common.c
arch/x86/kernel/process_64.c
arch/x86/xen/enlighten.c
Roland McGrath [Fri, 8 Aug 2008 22:58:39 +0000 (15:58 -0700)]
x86: ioperm user_regset
This adds a user_regset type for the x86 io permissions bitmap.
This makes it appear in core dumps (when ioperm has been used).
It will also make it visible to debuggers in the future.
Signed-off-by: Roland McGrath <roland@redhat.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
[conflict resolutions: Signed-off-by: Ingo Molnar <mingo@elte.hu> ]
Ingo Molnar [Sun, 12 Oct 2008 09:32:17 +0000 (11:32 +0200)]
Merge branch 'x86/urgent' into core/signal
Conflicts:
arch/x86/kernel/signal_64.c
Petr Vandrovec [Sun, 12 Oct 2008 08:51:03 +0000 (10:51 +0200)]
x86: fix early panic on amd64 due to typo in supported CPU section
Do not crash when enumerating supported CPU architectures
SECURITY_INIT somehow ended up in x86_cpu_dev.init section. That caused printk
in code which prints supported architectures to hit #GP due to non-canonical
address being used.
Signed-off-by: Petr Vandrovec <petr@vandrovec.name>
Cc: thomas.petazzoni@free-electrons.com
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Alan Cox [Fri, 10 Oct 2008 09:46:45 +0000 (10:46 +0100)]
x86, early_ioremap: fix fencepost error
The x86 implementation of early_ioremap has an off by one error. If we get
an object which ends on the first byte of a page we undermap by one page and
this causes a crash on boot with the ASUS P5QL whose DMI table happens to fit
this alignment.
The size computation is currently
last_addr = phys_addr + size - 1;
npages = (PAGE_ALIGN(last_addr) - phys_addr)
(Consider a request for 1 byte at alignment 0...)
Closes #11693
Debugging work by Ian Campbell/Felix Geyer
Signed-off-by: Alan Cox <alan@rehat.com>
Cc: <stable@kernel.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
David Rientjes [Tue, 7 Oct 2008 21:15:11 +0000 (14:15 -0700)]
x86: avoid dereferencing beyond stack + THREAD_SIZE
It's possible for get_wchan() to dereference past task->stack + THREAD_SIZE
while iterating through instruction pointers if fp equals the upper boundary,
causing a kernel panic.
Signed-off-by: David Rientjes <rientjes@google.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Pierre Ossman [Sun, 12 Oct 2008 09:08:46 +0000 (11:08 +0200)]
Merge branch 'master' of git://git./linux/kernel/git/hskinnemoen/atmel-mci-2.6.28
Conflicts:
drivers/mmc/host/atmel-mci.c
Matthew Fleming [Thu, 2 Oct 2008 11:21:42 +0000 (12:21 +0100)]
MMC: Use timeout values from CSR
Hard-coded timeout values of 250ms for writes and 100ms for reads are
currently used for MMC transactions over SPI. The spec states that the
timeout values from the card should be used.
Signed-off-by: Matthew Fleming <matthew.fleming@imgtec.com>
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Matthew Fleming [Thu, 2 Oct 2008 11:24:05 +0000 (12:24 +0100)]
MMC: CSD and CID timeout values
The MMC spec states that the timeout for accessing the CSD and CID
registers is 64 clock cycles.
Signed-off-by: Matthew Fleming <matthew.fleming@imgtec.com>
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Steven Noonan [Wed, 1 Oct 2008 08:50:25 +0000 (01:50 -0700)]
sdhci: 'scratch' may be used uninitialized
The variable 'scratch' is always initialized before it's used. The
conditional which is responsible for initialization of 'scratch' will
always evaluate 'true' when the first loop iteration occurs, and thus,
it's properly initialized. GCC doesn't see this, of course, so using
the uninitialized_var() macro seems to work for silencing this case.
Signed-off-by: Steven Noonan <steven@uplinklabs.net>
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Pierre Ossman [Sun, 7 Sep 2008 11:16:58 +0000 (13:16 +0200)]
mmc: explicitly mention SDIO support in Kconfig
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Pierre Ossman [Sun, 7 Sep 2008 11:07:57 +0000 (13:07 +0200)]
mmc: remove redundant "depends on"
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Thomas Petazzoni [Tue, 2 Sep 2008 08:14:13 +0000 (10:14 +0200)]
Fix comment in include/linux/mmc/host.h
In include/linux/mmc/host.h, it is mentionned that the callback to
know if a card is present or not is get_ro(). But it's get_cd().
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Pierre Ossman [Sun, 31 Aug 2008 15:22:46 +0000 (17:22 +0200)]
sdio: high-speed support
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Pierre Ossman [Sun, 31 Aug 2008 12:10:08 +0000 (14:10 +0200)]
mmc_block: hard code 512 byte block size
We use 512 byte blocks on all cards, and newer cards support nothing
else, so hard code it and make the code less complex.
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Pierre Ossman [Sat, 16 Aug 2008 18:43:04 +0000 (20:43 +0200)]
sdhci: force high speed capability on some controllers
Some high speed capable controllers forget to set the high speed
capability bit. Make sure we enable the functionality anyway.
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Pierre Ossman [Sat, 16 Aug 2008 18:43:48 +0000 (20:43 +0200)]
mmc_block: filter out PC requests
We do not support PC (SCSI) commands, so don't pretend we do by
letting them through.
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Pierre Ossman [Sat, 16 Aug 2008 19:15:50 +0000 (21:15 +0200)]
mmc_block: indicate strict ordering
The MMC block driver services requests one at a time and in strict
order. Indicate this to the block layer so that it can handle barriers
in an efficient manner.
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Pierre Ossman [Sat, 16 Aug 2008 19:34:02 +0000 (21:34 +0200)]
mmc_block: inform block layer about sector count restriction
Make sure we consider the maximum block count when we tell the block
layer about the maximum sector count. That way we don't have to chop
up the request ourselves.
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Pierre Ossman [Sun, 31 Aug 2008 11:42:00 +0000 (13:42 +0200)]
sdio: give sdio irq thread a host specific name
There is one thread per host controller so make sure they all get
unique names.
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Pierre Ossman [Sun, 31 Aug 2008 11:38:54 +0000 (13:38 +0200)]
sdio: make sleep on error interruptable
Make sure we can be woken from the forced sleep that is done on errors.
Removing a card often results in -ENOMEDIUM or -EILSEQ so we previously
locked up the removal process for a second.
We could completely exit on -ENOMEDIUM, but it might be a transient
glitch so treat it like any other error.
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>