linux-2.6
16 years agox86: unify PAE/non-PAE pgd_ctor
Jeremy Fitzhardinge [Mon, 4 Feb 2008 15:48:02 +0000 (16:48 +0100)] 
x86: unify PAE/non-PAE pgd_ctor

The constructors for PAE and non-PAE pgd_ctors are more or less
identical, and can be made into the same function.

Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com>
Cc: William Irwin <wli@holomorphy.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agodocumentation: add Documentation/x86-64/00-INDEX
Rob Landley [Mon, 4 Feb 2008 15:48:02 +0000 (16:48 +0100)] 
documentation: add Documentation/x86-64/00-INDEX

Signed-off-by: Rob Landley <rob@landley.net>
Cc: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86: remove misleading comments in trampoline_*.S
Pavel Machek [Mon, 4 Feb 2008 15:48:01 +0000 (16:48 +0100)] 
x86: remove misleading comments in trampoline_*.S

Both trampolines actually *do* set up stack. (Is the "we jump into
compressed/head.S" comment still true?)

Signed-off-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86: sparse errors from string_32.h
Harvey Harrison [Mon, 4 Feb 2008 15:48:01 +0000 (16:48 +0100)] 
x86: sparse errors from string_32.h

include/asm/string_32.h:216:26: warning: cast truncates bits from constant value (cccccccc becomes cc)
include/asm/string_32.h:219:27: warning: cast truncates bits from constant value (cccccccc becomes cccc)
include/asm/string_32.h:222:27: warning: cast truncates bits from constant value (cccccccc becomes cccc)
include/asm/string_32.h:223:30: warning: cast truncates bits from constant value (cccccccc becomes cc)

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86: remove long dead cyrix mtrr code
Harvey Harrison [Mon, 4 Feb 2008 15:48:01 +0000 (16:48 +0100)] 
x86: remove long dead cyrix mtrr code

cyrix_arr_init was #if 0 all the way back to at least v2.6.12.

This was the only place where arr3_protected was set to anything
but zero.  Eliminate this variable.

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agoasm-generic/tlb.h: remove <linux/quicklist.h>
H. Peter Anvin [Mon, 4 Feb 2008 15:48:00 +0000 (16:48 +0100)] 
asm-generic/tlb.h: remove <linux/quicklist.h>

Remove unused <linux/quicklist.h> from <asm-generic/tlb.h>; per
Christoph Lameter this should have been part of a previous patch
reversal but apparently didn't get removed.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86 setup: print missing CPU features in cleartext
H. Peter Anvin [Mon, 4 Feb 2008 15:48:00 +0000 (16:48 +0100)] 
x86 setup: print missing CPU features in cleartext

Instead of obscure numbers, print the list of missing CPU features in
cleartext.  To conserve space, use a host program (mkcpustr.c) to
produce a compact list of mandatory features only.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86: unify CPU feature string names
H. Peter Anvin [Mon, 4 Feb 2008 15:48:00 +0000 (16:48 +0100)] 
x86: unify CPU feature string names

Move the CPU feature string names to a separate file (common to 32
and 64 bits); additionally, make <asm/cpufeature.h> includable by host
code in preparation for including the CPU feature strings in the boot
code.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86: reintroduce volatile keyword in prototype to clflush()
H. Peter Anvin [Mon, 4 Feb 2008 15:48:00 +0000 (16:48 +0100)] 
x86: reintroduce volatile keyword in prototype to clflush()

The volatile keyword was removed from the clflush() prototype
in commit e34907ae180f4fe6c28bb4516c679c2f81b0c9ed; the comment there
states:

    x86: remove volatile keyword from clflush.

    the p parameter is an explicit memory reference, and is
    enough to prevent gcc to being nasty here. The volatile
    seems completely not needed.

This reflects incorrect understanding of the function of the volatile
keyword there.  The purpose of the volatile keyword is informing gcc
that it is safe to pass a volatile pointer to this function.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86: cpuid, msr: use inode mutex instead of big kernel lock
H. Peter Anvin [Mon, 4 Feb 2008 15:47:59 +0000 (16:47 +0100)] 
x86: cpuid, msr: use inode mutex instead of big kernel lock

Instead of grabbing the BKL on seek, use the inode mutex in the style
of generic_file_llseek().

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86: cpuid: allow querying %ecx-sensitive CPUID levels
H. Peter Anvin [Mon, 4 Feb 2008 15:47:59 +0000 (16:47 +0100)] 
x86: cpuid: allow querying %ecx-sensitive CPUID levels

After /dev/*/cpuid was introduced, Intel changed the semantics of the
CPUID instruction to be sentitive to %ecx as well as %eax.  This patch
allows querying of %ecx-sensitive levels by placing the %ecx value in
the upper 32 bits of the file position (lower 32 bits always were used
for the %eax value.)

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86: use _ASM_EXTABLE macro in include/asm-x86/uaccess_64.h
H. Peter Anvin [Mon, 4 Feb 2008 15:47:59 +0000 (16:47 +0100)] 
x86: use _ASM_EXTABLE macro in include/asm-x86/uaccess_64.h

Use the _ASM_EXTABLE macro from <asm/asm.h>, instead of open-coding
__ex_table entires in include/asm-x86/uaccess_64.h.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86: use _ASM_EXTABLE macro in include/asm-x86/uaccess_32.h
H. Peter Anvin [Mon, 4 Feb 2008 15:47:59 +0000 (16:47 +0100)] 
x86: use _ASM_EXTABLE macro in include/asm-x86/uaccess_32.h

Use the _ASM_EXTABLE macro from <asm/asm.h>, instead of open-coding
__ex_table entires in include/asm-x86/uaccess_32.h.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86: use _ASM_EXTABLE macro in include/asm-x86/system.h
H. Peter Anvin [Mon, 4 Feb 2008 15:47:58 +0000 (16:47 +0100)] 
x86: use _ASM_EXTABLE macro in include/asm-x86/system.h

Use the _ASM_EXTABLE macro from <asm/asm.h>, instead of open-coding
__ex_table entires in include/asm-x86/system.h.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86: use _ASM_EXTABLE macro in include/asm-x86/msr.h
H. Peter Anvin [Mon, 4 Feb 2008 15:47:58 +0000 (16:47 +0100)] 
x86: use _ASM_EXTABLE macro in include/asm-x86/msr.h

Use the _ASM_EXTABLE macro from <asm/asm.h>, instead of open-coding
__ex_table entires in include/asm-x86/msr.h.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86: use _ASM_EXTABLE macro in include/asm-x86/i387.h
H. Peter Anvin [Mon, 4 Feb 2008 15:47:58 +0000 (16:47 +0100)] 
x86: use _ASM_EXTABLE macro in include/asm-x86/i387.h

Use the _ASM_EXTABLE macro from <asm/asm.h>, instead of open-coding
__ex_table entires in include/asm-x86/i387.h.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86: use _ASM_EXTABLE macro in include/asm-x86/futex.h
H. Peter Anvin [Mon, 4 Feb 2008 15:47:58 +0000 (16:47 +0100)] 
x86: use _ASM_EXTABLE macro in include/asm-x86/futex.h

Use the _ASM_EXTABLE macro from <asm/asm.h>, instead of open-coding
__ex_table entires in include/asm-x86/futex.h.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86: use _ASM_EXTABLE macro in arch/x86/mm/init_32.c
H. Peter Anvin [Mon, 4 Feb 2008 15:47:58 +0000 (16:47 +0100)] 
x86: use _ASM_EXTABLE macro in arch/x86/mm/init_32.c

Use the _ASM_EXTABLE macro from <asm/asm.h>, instead of open-coding
__ex_table entires in arch/x86/mm/init_32.c.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86: use _ASM_EXTABLE macro in arch/x86/lib/usercopy_64.c
H. Peter Anvin [Mon, 4 Feb 2008 15:47:57 +0000 (16:47 +0100)] 
x86: use _ASM_EXTABLE macro in arch/x86/lib/usercopy_64.c

Use the _ASM_EXTABLE macro from <asm/asm.h>, instead of open-coding
__ex_table entires in arch/x86/lib/usercopy_64.c.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86: use _ASM_EXTABLE macro in arch/x86/lib/usercopy_32.c
H. Peter Anvin [Mon, 4 Feb 2008 15:47:57 +0000 (16:47 +0100)] 
x86: use _ASM_EXTABLE macro in arch/x86/lib/usercopy_32.c

Use the _ASM_EXTABLE macro from <asm/asm.h>, instead of open-coding
__ex_table entires in arch/x86/lib/usercopy_32.c.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86: use _ASM_EXTABLE macro in arch/x86/lib/mmx_32.c
H. Peter Anvin [Mon, 4 Feb 2008 15:47:57 +0000 (16:47 +0100)] 
x86: use _ASM_EXTABLE macro in arch/x86/lib/mmx_32.c

Use the _ASM_EXTABLE macro from <asm/asm.h>, instead of open-coding
__ex_table entires in arch/x86/lib/mmx_32.c.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86: use _ASM_EXTABLE macro in arch/x86/kernel/test_nx.c
H. Peter Anvin [Mon, 4 Feb 2008 15:47:56 +0000 (16:47 +0100)] 
x86: use _ASM_EXTABLE macro in arch/x86/kernel/test_nx.c

Use the _ASM_EXTABLE macro from <asm/asm.h>, instead of open-coding
__ex_table entires in arch/x86/kernel/test_nx.c.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86: add _ASM_EXTABLE macro to <asm/asm.h>
H. Peter Anvin [Mon, 4 Feb 2008 15:47:56 +0000 (16:47 +0100)] 
x86: add _ASM_EXTABLE macro to <asm/asm.h>

Instead of open-coding the __ex_table information at each callsite,
construct a common macro that can work regardless of CPU size.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86: define OBJCOPYFLAGS explicitly for each target.
Ian Campbell [Mon, 4 Feb 2008 15:47:56 +0000 (16:47 +0100)] 
x86: define OBJCOPYFLAGS explicitly for each target.

Do this rather than defining a global version and overriding it in
almost all cases in order to make subsequent patches simpler.

Signed-off-by: Ian Campbell <ijc@hellion.org.uk>
Acked-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: reduce ifdef sections in fault.c
Harvey Harrison [Mon, 4 Feb 2008 15:47:56 +0000 (16:47 +0100)] 
x86: reduce ifdef sections in fault.c

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86: print out node_data addr and bootmap_start addr
Yinghai Lu [Mon, 4 Feb 2008 15:47:56 +0000 (16:47 +0100)] 
x86: print out node_data addr and bootmap_start addr

print out node_data addr and bootmap_start addr.

helpful for debugging early crashes on high-end NUMA systems.

Signed-off-by: Yinghai Lu <yinghai.lu@sun.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86: CPA remove bogus NX clear
Thomas Gleixner [Mon, 4 Feb 2008 15:47:55 +0000 (16:47 +0100)] 
x86: CPA remove bogus NX clear

In split_large_page we clear the NX bit for the new split ptes, but we
need to preserve the original setting of it for the split ptes.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: mach-rdc321x Kconfig fix
Florian Fainelli [Mon, 4 Feb 2008 15:47:55 +0000 (16:47 +0100)] 
x86: mach-rdc321x Kconfig fix

The mach-rdc321x uses the leds-gpio driver and explicitely
selects it, this driver also depends on the leds class module,
select it as well.

Signed-off-by: Florian Fainelli <florian.fainelli@telecomint.eu>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: rename module scx200_32 to scx200
Sam Ravnborg [Mon, 4 Feb 2008 15:47:55 +0000 (16:47 +0100)] 
x86: rename module scx200_32 to scx200

The module scx200 were renamed to scx200_32 by the
merge of the 32 and 64 bit x86 arch trees.

Keep the _32 prefix on the .c file as it is 32 bit
specific and fix the module name in the Makefile.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86: restore correct module name for apm
Sam Ravnborg [Mon, 4 Feb 2008 15:47:55 +0000 (16:47 +0100)] 
x86: restore correct module name for apm

The apm module were renamed to apm_32 during the merge of 32 and 64 bit
x86 which is unfortunate. As apm is 32 bit specific we like to keep the
_32 in the filename but the module should be named apm.

Fix this in the Makefile.

Reported-by: "A.E.Lawrence" <lawrence_a_e@ntlworld.com>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Cc: Cc: Ingo Molnar <mingo@elte.hu>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: "A.E.Lawrence" <lawrence_a_e@ntlworld.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86: VMI fix
Ingo Molnar [Mon, 4 Feb 2008 15:47:54 +0000 (16:47 +0100)] 
x86: VMI fix

Jeff Chua bisected down a vmware guest boot breakage (hang) to
this paravirt change:

  commit 8d947344c47a40626730bb80d136d8daac9f2060
  Author: Glauber de Oliveira Costa <gcosta@redhat.com>
  Date:   Wed Jan 30 13:31:12 2008 +0100

    x86: change write_idt_entry signature

fix the off-by-one indexing bug ...

Bisected-by: Jeff Chua <jeff.chua.linux@gmail.com>
Tested-by: Jeff Chua <jeff.chua.linux@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: relax RAM check in ioremap()
Ingo Molnar [Mon, 4 Feb 2008 15:47:54 +0000 (16:47 +0100)] 
x86: relax RAM check in ioremap()

Kevin Winchester reported the loss of direct rendering, due to:

[    0.588184] agpgart: Detected AGP bridge 0
[    0.588184] agpgart: unable to get memory for graphics translation table.
[    0.588184] agpgart: agp_backend_initialize() failed.
[    0.588207] agpgart-amd64: probe of 0000:00:00.0 failed with error -12

and bisected it down to:

  commit 266b9f8727976769e2ed2dad77ac9295f37e321e
  Author: Thomas Gleixner <tglx@linutronix.de>
  Date:   Wed Jan 30 13:34:06 2008 +0100

      x86: fix ioremap RAM check

this check was too strict and caused an ioremap() failure.

the problem is due to the somewhat unclean way of how the GART code
reserves a memory range for its aperture, and how it utilizes it
later on.

Allow RAM pages to be ioremap()-ed too, as long as they are reserved.

Bisected-by: Kevin Winchester <kjwinchester@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Tested-by: Kevin Winchester <kjwinchester@gmail.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Mon, 4 Feb 2008 15:43:36 +0000 (07:43 -0800)] 
Merge git://git./linux/kernel/git/davem/net-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (77 commits)
  [IPV6]: Reorg struct ifmcaddr6 to save some bytes
  [INET_TIMEWAIT_SOCK]: Reorganize struct inet_timewait_sock to save some bytes
  [DCCP]: Reorganize struct dccp_sock to save 8 bytes
  [INET6]: Reorganize struct inet6_dev to save 8 bytes
  [SOCK] proto: Add hashinfo member to struct proto
  EMAC driver: Fix bug: The clock divisor is set to all ones at reset.
  EMAC driver: fix bug - invalidate data cache of new_skb->data range when cache is WB
  EMAC driver: add power down mode
  EMAC driver: ADSP-BF52x arch/mach support
  EMAC driver: use simpler comment headers and strip out information that is maintained in the scm's log
  EMAC driver: bf537 MAC multicast hash filtering patch
  EMAC driver: define MDC_CLK=2.5MHz and caculate mdc_div according to SCLK.
  EMAC driver: shorten the mdelay value to solve netperf performance issue
  [netdrvr] sis190: build fix
  sky2: fix Wake On Lan interaction with BIOS
  sky2: restore multicast addresses after recovery
  pci-skeleton: Misc fixes to build neatly
  phylib: Add Realtek 821x eth PHY support
  natsemi: Update locking documentation
  PHYLIB: Locking fixes for PHY I/O potentially sleeping
  ...

16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6
Linus Torvalds [Mon, 4 Feb 2008 15:42:46 +0000 (07:42 -0800)] 
Merge git://git./linux/kernel/git/gregkh/driver-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6:
  Driver core: Remove unneeded get_{device,driver}() calls.
  Driver core: Update some prototypes in platform.txt
  driver core: convert to use class_find_device api
  PM: Export device_pm_schedule_removal
  nozomi: finish constification
  nozomi: constify driver
  nozomi driver update
  Add ja_JP translation of stable_kernel_rules.txt
  kobject: kerneldoc comment fix
  kobject: Always build in kernel/ksysfs.o.

16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/pci-2.6
Linus Torvalds [Mon, 4 Feb 2008 15:42:16 +0000 (07:42 -0800)] 
Merge git://git./linux/kernel/git/gregkh/pci-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/pci-2.6:
  PCI: fix 4x section mismatch warnings
  PCI: fix section mismatch warnings referring to pci_do_scan_bus
  pci: pci_enable_device_bars() fix for lpfc driver
  Revert "PCI: PCIE ASPM support"

16 years ago[ARM] 4736/1: Export atags to userspace and allow kexec to use customised atags
Richard Purdie [Tue, 1 Jan 2008 23:56:46 +0000 (00:56 +0100)] 
[ARM] 4736/1: Export atags to userspace and allow kexec to use customised atags

Currently, the atags used by kexec are fixed to the ones originally used
to boot the kernel. This is less than ideal as changing the commandline,
initrd and other options would be a useful feature.

This patch exports the atags used for the current kernel to userspace
through an "atags" file in procfs. The presence of the file is
controlled by its own Kconfig option and cleans up several ifdef blocks
into a separate file. The tags for the new kernel are assumed to be at
a fixed location before the kernel image itself. The location of the
tags used to boot the original kernel is unimportant and no longer
saved.

Based on a patch from Uli Luckas <u.luckas@road.de>

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Acked-by: Uli Luckas <u.luckas@road.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4798/1: pcm027: fix missing header file
Juergen Beisert [Tue, 29 Jan 2008 22:43:49 +0000 (23:43 +0100)] 
[ARM] 4798/1: pcm027: fix missing header file

This patch adds a PXA2xx specific header file to control chip setup.
Without, the PCM027 BSP can't be built.

Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
Signed-off-by: Juergen Beisert <j.beisert@pengutronix.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4803/1: pxa: fix building issue of poodle.c caused by patch 4737/1
eric miao [Thu, 31 Jan 2008 01:41:16 +0000 (02:41 +0100)] 
[ARM] 4803/1: pxa: fix building issue of poodle.c caused by patch 4737/1

The is caused by the patch below:

  [ARM] 4737/1: Refactor corgi_lcd to improve readability + bugfix

It renamed the confusing get_hsync_len() to get_hsync_invperiod(), which
unfortunately leaves poodle.c un-modified.

Signed-off-by: eric miao <eric.miao@marvell.com>
Acked-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4801/1: pxa: fix building issues of missing pxa2xx-regs.h
eric miao [Wed, 30 Jan 2008 08:39:48 +0000 (09:39 +0100)] 
[ARM] 4801/1: pxa: fix building issues of missing pxa2xx-regs.h

Some machines are missing "pxa2xx-regs.h" due to the following patch:

  [ARM] pxa: move memory controller registers into pxa2xx-regs.h

This patch fixes the issue by including the pxa2xx-regs.h where necessary.

Signed-off-by: eric miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] pxa: introduce sysdev for pxa3xx static memory controller
eric miao [Mon, 28 Jan 2008 23:00:02 +0000 (23:00 +0000)] 
[ARM] pxa: introduce sysdev for pxa3xx static memory controller

Introduce a sysdev for pxa3xx static memory controller, mainly
for register saving/restoring in PM

Signed-off-by: eric miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] pxa: add preliminary suspend/resume code for pxa3xx
eric miao [Mon, 28 Jan 2008 23:00:02 +0000 (23:00 +0000)] 
[ARM] pxa: add preliminary suspend/resume code for pxa3xx

1. clear RDH bit after resuming back from D3, otherwise, the multi function
   pins will retain the low power state

2. save/restore essential system registers

Signed-off-by: eric miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] pxa: introduce sysdev for GPIO register saving/restoring
eric miao [Mon, 28 Jan 2008 23:00:02 +0000 (23:00 +0000)] 
[ARM] pxa: introduce sysdev for GPIO register saving/restoring

Signed-off-by: eric miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] pxa: introduce sysdev for IRQ register saving/restoring
eric miao [Mon, 28 Jan 2008 23:00:02 +0000 (23:00 +0000)] 
[ARM] pxa: introduce sysdev for IRQ register saving/restoring

Signed-off-by: eric miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] pxa: fix the warning of undeclared "struct pxaohci_platform_data"
eric miao [Tue, 29 Jan 2008 01:00:19 +0000 (09:00 +0800)] 
[ARM] pxa: fix the warning of undeclared "struct pxaohci_platform_data"

The header file <asm/arch/ohci.h> was missing in the original file,
include it to fix the warning.

Signed-off-by: eric miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] pxa: change set_kset_name() to direct name assignment for MFP sysclass
eric miao [Tue, 29 Jan 2008 00:57:45 +0000 (08:57 +0800)] 
[ARM] pxa: change set_kset_name() to direct name assignment for MFP sysclass

Signed-off-by: eric miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4802/1: Fix typo and remove vague comment
Marc Pignat [Wed, 30 Jan 2008 12:41:32 +0000 (13:41 +0100)] 
[ARM] 4802/1: Fix typo and remove vague comment

Fix typo and remove vague comment

Signed-off-by: Marc Pignat <marc.pignat@hevs.ch>
Acked-by: Andrew Victor <linux@maxim.org.za>
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4660/3: at91: allow selecting UART for early kernel messages
Guennadi Liakhovetski [Tue, 29 Jan 2008 14:43:13 +0000 (15:43 +0100)] 
[ARM] 4660/3: at91: allow selecting UART for early kernel messages

Currently early kernel messages, i.e., those from uncompression, go to the
debugging UART. And if it is enabled in the platform configuration, but
not initialized by the bootloader, the machine hangs, waiting for UART
status change. Besides, having those messages on another UART - typically
the console UART - may be preferrable. This patch allows selecting the
UART in kernel configuration.

Signed-off-by: Guennadi Liakhovetski <lg@denx.de>
Acked-by: Andrew Victor <linux@maxim.org.za>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4739/1: at91sam9263: make gpio bank C and D irqs work
David Brownell [Fri, 4 Jan 2008 17:30:24 +0000 (18:30 +0100)] 
[ARM] 4739/1: at91sam9263: make gpio bank C and D irqs work

On the at91sam9263, IRQs for GPIO banks C and D don't currently work.
This is because banks C, D, and E share one clock and toplevel IRQ, but
the AT91 code setting up and handling GPIO IRQs expects no sharing.
This patch:

 - Fixes GPIO IRQ setup and handling to cope with GPIO banks that are
   shared like on sam9263 chips, by setting up a list of those banks
   and making the IRQ dispatching logic scan that list.

 - Precomputes the address of each bank's registers, saving it with
   other per-bank data so that it no longer needs to be constantly
   recomputed during IRQs and other GPIO operations.  That shrinks
   hot-path code, while helping the GPIO bank irq updates.

 - Fixes a minor bug where IRQ_TYPE_NONE was wrongly rejected (it just
   means "use the default", which is "both edges" here).

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Acked-by: Andrew Victor <linux@maxim.org.za>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4809/2: ixp4xx: Merge dsmg600-power.c into dsmg600-setup.c
Rod Whitby [Sun, 3 Feb 2008 11:05:55 +0000 (12:05 +0100)] 
[ARM] 4809/2: ixp4xx: Merge dsmg600-power.c into dsmg600-setup.c

There is no reason to have power control in a separate file from the
board setup code.  Merge it back into the board setup file and remove
superfluous header includes.

--

Signed-off-by: Rod Whitby <rod@whitby.id.au>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4808/2: ixp4xx: Merge nas100d-power.c into nas100d-setup.c
Rod Whitby [Sun, 3 Feb 2008 11:05:49 +0000 (12:05 +0100)] 
[ARM] 4808/2: ixp4xx: Merge nas100d-power.c into nas100d-setup.c

There is no reason to have power control in a separate file from the
board setup code.  Merge it back into the board setup file and remove
superfluous header includes.

--

Signed-off-by: Rod Whitby <rod@whitby.id.au>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4807/2: ixp4xx: Merge nslu2-power.c into nslu2-setup.c
Rod Whitby [Sun, 3 Feb 2008 11:05:42 +0000 (12:05 +0100)] 
[ARM] 4807/2: ixp4xx: Merge nslu2-power.c into nslu2-setup.c

There is no reason to have power control in a separate file from the
board setup code.  Merge it back into the board setup file, removing
superfluous header includes and removing superfluous constants from
the machine header file.

--

Signed-off-by: Rod Whitby <rod@whitby.id.au>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4806/1: ixp4xx: Ethernet support for the nslu2 and nas100d boards
Rod Whitby [Fri, 1 Feb 2008 23:04:05 +0000 (00:04 +0100)] 
[ARM] 4806/1: ixp4xx: Ethernet support for the nslu2 and nas100d boards

Enables the new ixp4xx qmgr and npe drivers in ixp4xx_defconfig.

Sets up the corresponding platform data for the nslu2 and nas100d
boards, and reads the ethernet MAC address from the internal flash.

Tested on both little-endian and big-endian kernels.

Tested-by: Tom King <tom@websb.net>
Signed-off-by: Rod Whitby <rod@whitby.id.au>
Signed-off-by: Michael Westerhof <mwester@dls.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4805/1: ixp4xx: Use leds-gpio driver instead of IXP4XX-GPIO-LED driver
Rod Whitby [Fri, 1 Feb 2008 23:03:56 +0000 (00:03 +0100)] 
[ARM] 4805/1: ixp4xx: Use leds-gpio driver instead of IXP4XX-GPIO-LED driver

These are the only three boards to use the IXP4XX-GPIO-LED driver, and
they can all use the new leds-gpio driver instead with no change in
functionality.

--

Signed-off-by: Rod Whitby <rod@whitby.id.au>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4715/2: Ethernet support for IXDP425 boards
Rod Whitby [Thu, 31 Jan 2008 11:44:03 +0000 (12:44 +0100)] 
[ARM] 4715/2: Ethernet support for IXDP425 boards

Adds IXDP425 platform support for two built-in 10/100 Ethernet ports.

This patch will do nothing until the actual Ethernet driver is
also included.

Signed-off-by: Krzysztof Halasa <khc@pm.waw.pl>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4714/2: Headers for IXP4xx built-in Ethernet and WAN drivers
Krzysztof Halasa [Tue, 29 Jan 2008 00:03:00 +0000 (01:03 +0100)] 
[ARM] 4714/2: Headers for IXP4xx built-in Ethernet and WAN drivers

Adds platform structs and #defines required by drivers for
IXP4xx built-in Ethernet and WAN (sync serial) ports.

The actual drivers will reside in drivers/net/arm and
drivers/net/wan and will be submitted separately.

Signed-off-by: Krzysztof Halasa <khc@pm.waw.pl>
Signed-off-by: Rod Whitby <rod@whitby.id.au>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4713/3: Adds drivers for IXP4xx QMgr and NPE features
Krzysztof Halasa [Tue, 1 Jan 2008 20:55:23 +0000 (21:55 +0100)] 
[ARM] 4713/3: Adds drivers for IXP4xx QMgr and NPE features

This patch adds drivers for IXP4xx hardware Queue Manager and for
Network Processor Engines. Requires patch #4712 (reading/writing
CPU feature (aka fuse) bits).

Posted to linux-arm-kernel on 2 Dec 2007 and revised.

Signed-off-by: Krzysztof Halasa <khc@pm.waw.pl>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4712/2: Adds functions to read and write IXP4xx "feature" bits
Krzysztof Halasa [Tue, 18 Dec 2007 02:53:27 +0000 (03:53 +0100)] 
[ARM] 4712/2: Adds functions to read and write IXP4xx "feature" bits

Adds functions to read and write IXP4xx "feature" (aka "fuse")
bits, containing information about available/enabled CPU features.

The uncompress.h included by boot/compressed/misc.c resides in
a different space than rest of the kernel and thus can't use
asm/hardware.h (including asm/arch/cpu.h - which, in turn, may use
EXPORTed symbol "processor_id").

Posted to linux-arm-kernel on 2 Dec 2007 and revised.

Signed-off-by: Krzysztof Halasa <khc@pm.waw.pl>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4774/2: ixp4xx: Register dsmg600 rtc i2c_board_info
Rod Whitby [Mon, 28 Jan 2008 23:40:02 +0000 (00:40 +0100)] 
[ARM] 4774/2: ixp4xx: Register dsmg600 rtc i2c_board_info

Register the i2c board info related to the RTC chip on the dsmg600
board to allow it to be found automatically on boot.

Signed-off-by: Rod Whitby <rod@whitby.id.au>
Signed-off-by: Alessandro Zummo <a.zummo@towertech.it>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4773/2: ixp4xx: Register nas100d rtc i2c_board_info
Rod Whitby [Mon, 28 Jan 2008 23:38:44 +0000 (00:38 +0100)] 
[ARM] 4773/2: ixp4xx: Register nas100d rtc i2c_board_info

Register the i2c board info related to the RTC chip on the nas100d
board to allow it to be found automatically on boot.

Signed-off-by: Rod Whitby <rod@whitby.id.au>
Signed-off-by: Alessandro Zummo <a.zummo@towertech.it>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4772/2: ixp4xx: Register nslu2 rtc i2c_board_info
Rod Whitby [Mon, 28 Jan 2008 23:36:12 +0000 (00:36 +0100)] 
[ARM] 4772/2: ixp4xx: Register nslu2 rtc i2c_board_info

Register the i2c board info related to the RTC chip on the nslu2 board
to allow it to be found automatically on boot.

Signed-off-by: Rod Whitby <rod@whitby.id.au>
Signed-off-by: Alessandro Zummo <a.zummo@towertech.it>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4769/2: ixp4xx: Button updates for the dsmg600 board
Rod Whitby [Mon, 28 Jan 2008 23:30:54 +0000 (00:30 +0100)] 
[ARM] 4769/2: ixp4xx: Button updates for the dsmg600 board

 * Remove the superfluous declaration of ctrl_alt_del().
 * Convert GPIO and IRQ handling to use the <asm/gpio.h> api.
 * Perform the reset on the release of the power button, so that
   NAS devices which have been set to auto-power-on (by solder
   bridging the power button) do not continuously power cycle.
 * Remove all superflous constants from dsmg600.h

Signed-off-by: Rod Whitby <rod@whitby.id.au>
Acked-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4768/2: ixp4xx: Button and LED updates for the nas100d board
Rod Whitby [Mon, 28 Jan 2008 23:29:38 +0000 (00:29 +0100)] 
[ARM] 4768/2: ixp4xx: Button and LED updates for the nas100d board

 * Convert GPIO and IRQ handling to use the <asm/gpio.h> api.
 * Perform the reset only after the power button has been held down
   for at least two seconds.  Do the reset on the release of the power
   button, so that NAS devices which have been set to auto-power-on (by
   solder bridging the power button) do not continuously power cycle.
 * Remove all superflous constants from nas100d.h
 * Add LED constants to nas100d.h while we're there.
 * Update the board LED setup code to use those constants.

Signed-off-by: Rod Whitby <rod@whitby.id.au>
Acked-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4767/2: ixp4xx: Add bitops.h include to io.h
Rod Whitby [Mon, 28 Jan 2008 23:22:57 +0000 (00:22 +0100)] 
[ARM] 4767/2: ixp4xx: Add bitops.h include to io.h

Add include of <linux/bitops.h> to io.h to solve compilations errors in
files such as drivers/w1/w1_io.c caused by the ixp4xx version of io.h
using the BIT() macro without including <linux/bitops.h> first.

Signed-off-by: Rod Whitby <rod@whitby.id.au>
Acked-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4766/2: ixp4xx: Update ixp4xx_defconfig, enabling all supported boards
Rod Whitby [Mon, 28 Jan 2008 23:17:24 +0000 (00:17 +0100)] 
[ARM] 4766/2: ixp4xx: Update ixp4xx_defconfig, enabling all supported boards

This updates the defconfig for the ixp4xx machine in arch/arm/config
taking all the defaults, with the following additions:

1) Enable support for the nslu2, loft, gateway7001, wg302v2,
   dsmg600, and gtwx5715 boards.
2) Enable EABI, OABI, HOTPLUG and FW_LOADER.
3) Enable the RTC subsystem, with drivers for the RTC chips on the
   nslu2 (x1205) and nas100d/dsmg600 (pcf8563) boards.
4) Enable the LEDS subsystem to support the nslu2, nas100d and
   dsmg600 boards.  Enable the ixp4xx beeper driver.
5) Enable the USB subsystem, USB host driver support and USB mass
   storage support (required for boot disk on nslu2 board).
6) Enable the ATA subsystem, with drivers for the nas100d/dsmg600
   (pata_artop) and avila (ixp4xx_cf) boards.

Signed-off-by: Rod Whitby <rod@whitby.id.au>
Acked-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4810/1: - Fix 'section mismatch' building warnings
Kristoffer Ericson [Sun, 3 Feb 2008 21:08:10 +0000 (22:08 +0100)] 
[ARM] 4810/1: - Fix 'section mismatch' building warnings

Warning message :
WARNING: vmlinux.o(.text+0x9afc): Section mismatch: reference to .init.text:sa1110_mb_enable (between 'sa1111_probe' and 'sa1111_remove')
WARNING: vmlinux.o(.text+0x13b1ac): Section mismatch: reference to .init.text:pcmcia_jornada720_init (between 'pcmcia_probe' and 'pcmcia_remove')

* fixes the 'section mismatch' building warnings for target sa1100. Solution is __init -> __devinit. Thanks to Randy Dunlap for pointing out the solution.

Signed-off-by: Kristoffer Ericson <kristoffer.ericson@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] xtime_seqlock: fix more ARM machines for xtime deadlocking
Peter Zijlstra [Fri, 1 Feb 2008 21:27:02 +0000 (21:27 +0000)] 
[ARM] xtime_seqlock: fix more ARM machines for xtime deadlocking

move update_process_times() out from under xtime_lock.

Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 21285 serial: fix build error
Russell King [Thu, 31 Jan 2008 21:30:24 +0000 (21:30 +0000)] 
[ARM] 21285 serial: fix build error

drivers/serial/21285.c: In function 'serial21285_set_termios':
drivers/serial/21285.c:280: error: 'tty' undeclared (first use in this function)
drivers/serial/21285.c:280: error: (Each undeclared identifier is reported only once
drivers/serial/21285.c:280: error: for each function it appears in.)

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years agovirtio: balloon driver
Rusty Russell [Tue, 5 Feb 2008 04:50:12 +0000 (23:50 -0500)] 
virtio: balloon driver

After discussions with Anthony Liguori, it seems that the virtio
balloon can be made even simpler.  Here's my attempt.

The device configuration tells the driver how much memory it should
take from the guest (ie. balloon size).  The guest feeds the page
numbers it has taken via one virtqueue.

A second virtqueue feeds the page numbers the driver wants back: if
the device has the VIRTIO_BALLOON_F_MUST_TELL_HOST bit, then this
queue is compulsory, otherwise it's advisory (and the guest can simply
fault the pages back in).

This driver can be enhanced later to deflate the balloon via a
shrinker, oom callback or we could even go for a complete set of
in-guest regulators.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
16 years agovirtio: Use PCI revision field to indicate virtio PCI ABI version
Anthony Liguori [Mon, 28 Jan 2008 15:59:59 +0000 (09:59 -0600)] 
virtio: Use PCI revision field to indicate virtio PCI ABI version

As Avi pointed out, as we continue to massage the virtio PCI ABI, we can make
things a little more friendly to users by utilizing the PCI revision field to
indicate which version of the ABI we're using.  This is a hard ABI version
and incrementing it will cause the guest driver to break.

This is the necessary changes to virtio_pci to support this.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
16 years agovirtio: PCI device
Anthony Liguori [Tue, 13 Nov 2007 03:30:26 +0000 (21:30 -0600)] 
virtio: PCI device

This is a PCI device that implements a transport for virtio.  It allows virtio
devices to be used by QEMU based VMMs like KVM or Xen.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
16 years agovirtio_blk: implement naming for vda-vdz,vdaa-vdzz,vdaaa-vdzzz
Christian Borntraeger [Fri, 1 Feb 2008 08:05:00 +0000 (09:05 +0100)] 
virtio_blk: implement naming for vda-vdz,vdaa-vdzz,vdaaa-vdzzz

Am Freitag, 1. Februar 2008 schrieb Christian Borntraeger:
> Right. I will fix that with an additional patch.

This patch goes on top of the minor number patch. Please let me know if
you want a merged patch:

Currently virtio_blk creates the disk name combinging "vd"  with 'a'++.
This will give strange names after vdz. I have implemented names up to
vdzzz - inspired by the sd.c code. That should be sufficient for now.

There is one driver in the kernel (driver/s390/block/dasd_genhd.c) that
implements names from dasda-dasdzzzz allowing even more disks. Maybe
a janitor can come up with a common implementation usable for all kind
of block device drivers.

I have tested this patch with 100 disks - seems to work.

Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
16 years agovirtio_blk: Dont waste major numbers
Christian Borntraeger [Thu, 31 Jan 2008 14:53:53 +0000 (15:53 +0100)] 
virtio_blk: Dont waste major numbers

Rusty,

currently virtio_blk uses one major number per device. While this works
quite well on most systems it is wasteful and will exhaust major numbers
on larger installations.

This patch allocates a major number on init and will use 16 minor numbers
for each disk. That will allow ~64k virtio_blk disks.

Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
16 years agovirtio_blk: provide getgeo
Christian Borntraeger [Wed, 23 Jan 2008 16:56:50 +0000 (17:56 +0100)] 
virtio_blk: provide getgeo

Rusty,

I currently try to make my guest boot from an virtio root device
without having an external kernel. Some of the tools that I tried
expect HDIO_GETGEO to work. The most interesting value is likely
the geo.start value to get the offset of a partition. This value
is filled by block/ioctl.c if fops->getgeo is set. This patch also
fills in some standard values for heads, sectors and cylinders.

Makes sense?

Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
16 years agovirtio_net: parametrize the napi_weight for virtio receive queue.
Dor Laor [Sun, 16 Dec 2007 13:19:43 +0000 (15:19 +0200)] 
virtio_net: parametrize the napi_weight for virtio receive queue.

It is done in order to improve performance.

Signed-off-by: Dor Laor <dor.laor@qumranet.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
16 years agovirtio: free transmit skbs when notified, not on next xmit.
Rusty Russell [Tue, 5 Feb 2008 04:50:07 +0000 (23:50 -0500)] 
virtio: free transmit skbs when notified, not on next xmit.

This fixes a potential dangling xmit problem.

We also suppress refill interrupts until we need them.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
16 years agovirtio: flush buffers on open
Rusty Russell [Tue, 5 Feb 2008 04:50:07 +0000 (23:50 -0500)] 
virtio: flush buffers on open

Fix bug found by Christian Borntraeger: if the other side fills all
the registered network buffers before we enable NAPI, we will never
get an interrupt.  The simplest fix is to process the input queue once
on open.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
16 years agovirtnet: remove double ether_setup
Christian Borntraeger [Thu, 6 Dec 2007 14:21:46 +0000 (15:21 +0100)] 
virtnet: remove double ether_setup

Hello Rusty,

virtnet_probe already calls alloc_etherdev, which calls ether_setup.
There is no need to do that again.

Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
16 years agovirtio: Allow virtio to be modular and used by modules
Rusty Russell [Tue, 5 Feb 2008 04:50:05 +0000 (23:50 -0500)] 
virtio: Allow virtio to be modular and used by modules

This is needed for the virtio PCI device to be compiled as a module.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
16 years agovirtio: Use the sg_phys convenience function.
Rusty Russell [Tue, 5 Feb 2008 04:50:05 +0000 (23:50 -0500)] 
virtio: Use the sg_phys convenience function.

Simple cleanup.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
16 years agovirtio: Put the virtio under the virtualization menu
Anthony Liguori [Thu, 8 Nov 2007 02:46:31 +0000 (20:46 -0600)] 
virtio: Put the virtio under the virtualization menu

This patch moves virtio under the virtualization menu and changes virtio
devices to not claim to only be for lguest.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
16 years agovirtio: handle interrupts after callbacks turned off
Rusty Russell [Tue, 5 Feb 2008 04:50:04 +0000 (23:50 -0500)] 
virtio: handle interrupts after callbacks turned off

Anthony Liguori found double interrupt suppression in the virtio_net
driver, triggered by two skb_recv_done's in a row.  This is because
virtio_ring's interrupt suppression is a best-effort optimization: it
contains no synchronization so the host can miss it and still send
interrupts.

But it's certainly nicer for virtio users if calling disable_cb
actually disables callbacks, so we check for the race in the interrupt
routine.

Note: SMP guests might require syncronization here, but since
disable_cb is actually called from interrupt context, there has to be
some form of synchronization before the next same interrupt handler is
called (Linux guarantees that the same device's irq handler will never
run simultanously on multiple CPUs).

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
16 years agovirtio: reset function
Rusty Russell [Tue, 5 Feb 2008 04:50:03 +0000 (23:50 -0500)] 
virtio: reset function

A reset function solves three problems:

1) It allows us to renegotiate features, eg. if we want to upgrade a
   guest driver without rebooting the guest.

2) It gives us a clean way of shutting down virtqueues: after a reset,
   we know that the buffers won't be used by the host, and

3) It helps the guest recover from messed-up drivers.

So we remove the ->shutdown hook, and the only way we now remove
feature bits is via reset.

We leave it to the driver to do the reset before it deletes queues:
the balloon driver, for example, needs to chat to the host in its
remove function.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
16 years agovirtio: populate network rings in the probe routine, not open
Rusty Russell [Tue, 5 Feb 2008 04:50:02 +0000 (23:50 -0500)] 
virtio: populate network rings in the probe routine, not open

Since we want to reset the device to remove them, this is simpler
(device is reset for us on driver remove).

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
16 years agovirtio: Tweak virtio_net defines
Rusty Russell [Tue, 5 Feb 2008 04:50:02 +0000 (23:50 -0500)] 
virtio: Tweak virtio_net defines

1) Turn GSO on virtio net into an all-or-nothing (keep checksumming
   separate).  Having multiple bits is a pain: if you can't support something
   you should handle it in software, which is still a performance win.

2) Make VIRTIO_NET_HDR_GSO_ECN a flag in the header, so it can apply to
   IPv6 or v4.

3) Rename VIRTIO_NET_F_NO_CSUM to VIRTIO_NET_F_CSUM (ie. means we do
   checksumming).

4) Add csum and gso params to virtio_net to allow more testing.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
16 years agovirtio: Net header needs hdr_len
Rusty Russell [Tue, 5 Feb 2008 04:50:01 +0000 (23:50 -0500)] 
virtio: Net header needs hdr_len

It's far easier to deal with packets if we don't have to parse the
packet to figure out the header length to know how much to pull into
the skb data.  Add the field to the virtio_net_hdr struct (and fix the
spaces that somehow crept in there).

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
16 years agovirtio: remove unused id field from struct virtio_blk_outhdr
Rusty Russell [Tue, 5 Feb 2008 04:50:00 +0000 (23:50 -0500)] 
virtio: remove unused id field from struct virtio_blk_outhdr

This field has been unused since an older version of virtio.  Remove
it now before we freeze the ABI.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au.
16 years agovirtio: clarify NO_NOTIFY flag usage
Rusty Russell [Tue, 5 Feb 2008 04:49:59 +0000 (23:49 -0500)] 
virtio: clarify NO_NOTIFY flag usage

The other side (host) can set the NO_NOTIFY flag as an optimization,
to say "no need to kick me when you add things".  Make it clear that
this is advisory only; especially that we should always notify when
the ring is full.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
16 years agovirtio: Fix vring_init/vring_size to take unsigned long
Anthony Liguori [Fri, 21 Dec 2007 00:17:47 +0000 (02:17 +0200)] 
virtio: Fix vring_init/vring_size to take unsigned long

Using unsigned int resulted in silent truncation of the upper 32-bit
on x86_64 resulting in an OOPS since the ring was being initialized
wrong.

Please reconsider my previous patch to just use PAGE_ALIGN().  Open
coding this sort of stuff, no matter how simple it seems, is just
asking for this sort of trouble.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
16 years agovirtio: configuration change callback
Rusty Russell [Tue, 5 Feb 2008 04:49:58 +0000 (23:49 -0500)] 
virtio: configuration change callback

Various drivers want to know when their configuration information
changes: the balloon driver is the immediate user, but the network
driver may one day have a "carrier" status as well.

This introduces that callback (lguest doesn't use it yet).

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
16 years agovirtio: explicit enable_cb/disable_cb rather than callback return.
Rusty Russell [Tue, 5 Feb 2008 04:49:57 +0000 (23:49 -0500)] 
virtio: explicit enable_cb/disable_cb rather than callback return.

It seems that virtio_net wants to disable callbacks (interrupts) before
calling netif_rx_schedule(), so we can't use the return value to do so.

Rename "restart" to "cb_enable" and introduce "cb_disable" hook: callback
now returns void, rather than a boolean.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
16 years agovirtio: simplify config mechanism.
Rusty Russell [Tue, 5 Feb 2008 04:49:56 +0000 (23:49 -0500)] 
virtio: simplify config mechanism.

Previously we used a type/len pair within the config space, but this
seems overkill.  We now simply define a structure which represents the
layout in the config space: the config space can now only be extended
at the end.

The main driver-visible changes:
1) We indicate what fields are present with an explicit feature bit.
2) Virtqueues are explicitly numbered, and not in the config space.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
16 years agovirtio: Implement skb_partial_csum_set, for setting partial csums on untrusted packets.
Rusty Russell [Tue, 5 Feb 2008 04:49:54 +0000 (23:49 -0500)] 
virtio: Implement skb_partial_csum_set, for setting partial csums on untrusted packets.

Use it in virtio_net (replacing buggy version there), it's also going
to be used by TAP for partial csum support.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Acked-by: David S. Miller <davem@davemloft.net>
16 years agopid-namespaces-vs-locks-interaction
Vitaliy Gusev [Thu, 17 Jan 2008 00:07:08 +0000 (00:07 +0000)] 
pid-namespaces-vs-locks-interaction

fcntl(F_GETLK,..) can return pid of process for not current pid namespace
(if process is belonged to the several namespaces).  It is true also for
pids in /proc/locks.  So correct behavior is saving pointer to the struct
pid of the process lock owner.

Signed-off-by: Vitaliy Gusev <vgusev@openvz.org>
Acked-by: Serge Hallyn <serue@us.ibm.com>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
16 years agofile locks: Use wait_event_interruptible_timeout()
Matthew Wilcox [Tue, 15 Jan 2008 04:28:30 +0000 (21:28 -0700)] 
file locks: Use wait_event_interruptible_timeout()

interruptible_sleep_on_locked() is just an open-coded
wait_event_interruptible_timeout(), with the one difference that
interruptible_sleep_on_locked() doesn't bother to check the condition on
which it is waiting, depending instead on the BKL to avoid the case
where it blocks after the wakeup has already been called.

locks_block_on_timeout() is only used in one place, so it's actually
simpler to inline it into its caller.

Signed-off-by: Matthew Wilcox <willy@linux.intel.com>
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
16 years agolocks: clarify posix_locks_deadlock
J. Bruce Fields [Fri, 26 Oct 2007 22:05:40 +0000 (18:05 -0400)] 
locks: clarify posix_locks_deadlock

For such a short function (with such a long comment),
posix_locks_deadlock() seems to cause a lot of confusion.  Attempt to
make it a bit clearer:

- Remove the initial posix_same_owner() check, which can never
  pass (since this is only called in the case that block_fl and
  caller_fl conflict)
- Use an explicit loop (and a helper function) instead of a goto.
- Rewrite the comment, attempting a clearer explanation, and
  removing some uninteresting historical detail.

Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
16 years agoscsi: fix dependency bug in aic7 Makefile
Sam Ravnborg [Sun, 3 Feb 2008 20:55:49 +0000 (21:55 +0100)] 
scsi: fix dependency bug in aic7 Makefile

Building the aic7xxx driver includes the copy
of an .h file from a _shipped file.

In a highly parallel build Ingo saw that the
build sometimes failed (included distcc usage).
It was tracked down to a missing dependency from the .c
source file to the generated .h file.
We started to build the .c file before the
copy (cat) operation of the .h file completed
and we then only got half of the definitions
from the copied .h file.

Add an explicit dependency from the .c files to the
generated .h files so make knows all dependencies and
finsih the build of the .h files before it starts
building the .o files.

Ingo tested this fix and reported:
good news: hundreds of successful kernel builds and no failures
overnight.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Acked-by: Ingo Molnar <mingo@elte.hu>
Acked-by: James Bottomley <James.Bottomley@HansenPartnership.com>
16 years agoJesper Juhl is the new trivial patches maintainer
Adrian Bunk [Sun, 3 Feb 2008 16:17:37 +0000 (18:17 +0200)] 
Jesper Juhl is the new trivial patches maintainer

Jesper has agreed to take over maintainership for the trivial patches.

Thanks, Jesper!

Signed-off-by: Adrian Bunk <bunk@kernel.org>
16 years agoDocumentation: mention email-clients.txt in SubmittingPatches
Michael Opdenacker [Sun, 3 Feb 2008 16:06:58 +0000 (18:06 +0200)] 
Documentation: mention email-clients.txt in SubmittingPatches

I was struggling to get my email-client no to mangle my patch files,
and I didn't find enough information in the SubmittingPatches file.
By looking for more information on the web, I eventually found the
email-clients.txt file, and it answered all my needs

This patch adds a reference to email-clients.txt in SubmittingPatches,
and Mozilla related information which is no longer accurate
(as opposed to the details found in email-clients.txt).

This should be helpful for people sending their first patches,
or not sending patches on a frequent basis.

Signed-off-by: Michael Opdenacker <michael@free-electrons.com>
Acked-by: Randy Dunlap <randy.dunlap@oracle.com>
Acked-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Adrian Bunk <bunk@kernel.org>
16 years agofs/binfmt_elf.c: spello fix
Ohad Ben-Cohen [Sun, 3 Feb 2008 16:05:15 +0000 (18:05 +0200)] 
fs/binfmt_elf.c: spello fix

s/litle/little

Signed-off-by: Ohad Ben-Cohen <ohad@bencohen.org>
Signed-off-by: Adrian Bunk <bunk@kernel.org>
16 years agodo_invalidatepage() comment typo fix
Fengguang Wu [Sun, 3 Feb 2008 16:04:10 +0000 (18:04 +0200)] 
do_invalidatepage() comment typo fix

Fix a typo in the comment for do_invalidatepage().

Signed-off-by: Fengguang Wu <wfg@mail.ustc.edu.cn>
Signed-off-by: Adrian Bunk <bunk@kernel.org>