linux-2.6
18 years ago[PATCH] i386: pass proper trap numbers to die chain handlers
Jan Beulich [Sun, 26 Mar 2006 09:37:01 +0000 (01:37 -0800)] 
[PATCH] i386: pass proper trap numbers to die chain handlers

Pass the trap number causing the call to notify_die() to the die
notification handler chain in a number of instances.  Also, honor the
return value from the handler chain invocation in die() as, through a
debugger, the fault may have been fixed.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Acked-By: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86: "make isoimage" support; FDINITRD= support; minor cleanups
H. Peter Anvin [Sun, 26 Mar 2006 09:36:59 +0000 (01:36 -0800)] 
[PATCH] x86: "make isoimage" support; FDINITRD= support; minor cleanups

Add a "make isoimage" to i386 and x86-64, which allows the automatic
creation of a bootable CD image.  It also adds an option FDINITRD= to
include an initrd of the user's choice in generated floppy- or CD boot
images.  Finally, some minor cleanups of the image generation code.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Cc: Andi Kleen <ak@muc.de>
Cc: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] Add flush_kernel_dcache_page() API
James Bottomley [Sun, 26 Mar 2006 09:36:59 +0000 (01:36 -0800)] 
[PATCH] Add flush_kernel_dcache_page() API

We have a problem in a lot of emulated storage in that it takes a page from
get_user_pages() and does something like

kmap_atomic(page)
modify page
kunmap_atomic(page)

However, nothing has flushed the kernel cache view of the page before the
kunmap.  We need a lightweight API to do this, so this new API would
specifically be for flushing the kernel cache view of a user page which the
kernel has modified.  The driver would need to add
flush_kernel_dcache_page(page) before the final kunmap.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Cc: Russell King <rmk@arm.linux.org.uk>
Cc: "David S. Miller" <davem@davemloft.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] Add API for flushing Anon pages
James Bottomley [Sun, 26 Mar 2006 09:36:57 +0000 (01:36 -0800)] 
[PATCH] Add API for flushing Anon pages

Currently, get_user_pages() returns fully coherent pages to the kernel for
anything other than anonymous pages.  This is a problem for things like
fuse and the SCSI generic ioctl SG_IO which can potentially wish to do DMA
to anonymous pages passed in by users.

The fix is to add a new memory management API: flush_anon_page() which
is used in get_user_pages() to make anonymous pages coherent.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Cc: Russell King <rmk@arm.linux.org.uk>
Cc: "David S. Miller" <davem@davemloft.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] protect remove_proc_entry
Steven Rostedt [Sun, 26 Mar 2006 09:36:55 +0000 (01:36 -0800)] 
[PATCH] protect remove_proc_entry

It has been discovered that the remove_proc_entry has a race in the removing
of entries in the proc file system that are siblings.  There's no protection
around the traversing and removing of elements that belong in the same
subdirectory.

This subdirectory list is protected in other areas by the BKL.  So the BKL was
at first used to protect this area too, but unfortunately, remove_proc_entry
may be called with spinlocks held.  The BKL may schedule, so this was not a
solution.

The final solution was to add a new global spin lock to protect this list,
called proc_subdir_lock.  This lock now protects the list in
remove_proc_entry, and I also went around looking for other areas that this
list is modified and added this protection there too.  Care must be taken
since these locations call several functions that may also schedule.

Since I don't see any location that these functions that modify the
subdirectory list are called by interrupts, the irqsave/restore versions of
the spin lock was _not_ used.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] warn if free_irq() is called from IRQ context
Ingo Molnar [Sun, 26 Mar 2006 09:36:54 +0000 (01:36 -0800)] 
[PATCH] warn if free_irq() is called from IRQ context

Warn if free_irq() is called in IRQ context - free_irq() can execute /proc
VFS work, which must not be done in IRQ context.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] drivers/block/floppy.c: dont free_irq() from irq context
Ingo Molnar [Sun, 26 Mar 2006 09:36:54 +0000 (01:36 -0800)] 
[PATCH] drivers/block/floppy.c: dont free_irq() from irq context

free_irq() should not be executed from softirq context.

Found by the lock validator.  The fix is to push fd_free_irq() into
keventd.  The code validates fine with this patch applied.

(akpm: this is revolting, but so is floppy.c)

[akpm@osdl.org: added flush_scheduled_work()]
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years agoMerge master.kernel.org:/home/rmk/linux-2.6-serial
Linus Torvalds [Sun, 26 Mar 2006 04:31:32 +0000 (20:31 -0800)] 
Merge master.kernel.org:/home/rmk/linux-2.6-serial

* master.kernel.org:/home/rmk/linux-2.6-serial:
  [ARM] 3383/3: ixp2000: ixdp2x01 platform serial conversion
  [SERIAL] amba-pl010: Remove accessor macros
  [SERIAL] remove 8250_acpi (replaced by 8250_pnp and PNPACPI)
  [SERIAL] icom: select FW_LOADER

18 years agoMerge master.kernel.org:/home/rmk/linux-2.6-arm
Linus Torvalds [Sun, 26 Mar 2006 04:29:54 +0000 (20:29 -0800)] 
Merge master.kernel.org:/home/rmk/linux-2.6-arm

* master.kernel.org:/home/rmk/linux-2.6-arm:
  [ARM] 3030/2: fix permission check in the obscur cmpxchg syscall
  [ARM] nommu: rename compressed/head.S symbols to a new style
  [ARM] select TLS_REG_EMUL and NEEDS_SYSCALL_FOR_CMPXCHG
  [ARM] nommu: Move hardware page table definitions to pgtable-hwdef.h
  [ARM] Move read of processor ID out of lookup_processor_type()
  [ARM] Fix typo in tlbflush.h
  [ARM] noMMU: removes TLB codes in nommu mode
  [ARM] noMMU: block sys_fork in nommu mode
  [ARM] 3399/1: Fix link problem when CONFIG_PRINTK is disabled
  [ARM] 3398/1: Fix the VFP registers loading/storing base address
  [ARM] 3397/1: AT91RM9200 Header update
  [ARM] 3385/1: Battery support for sharp zaurus sl-5500 (collie)
  [ARM] SMP: don't set cpu_*_map in smp_prepare_boot_cpu
  include/linux/clk.h is betraying its ARM origins
  [ARM] Move enable_irq and disable_irq to assembler.h
  [ARM] 3391/1: use PLAT8250_DEV_PLATFORM{,1} for platform device id instead of 0/1

18 years ago[PATCH] Fix compilation of processor_idle.c on IA64
Andi Kleen [Sun, 26 Mar 2006 01:24:07 +0000 (02:24 +0100)] 
[PATCH] Fix compilation of processor_idle.c on IA64

Broken earlier by me by a x86-64 patch.

The code was optimized away, but the compiler still complained about an
undeclared function.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[ARM] 3383/3: ixp2000: ixdp2x01 platform serial conversion
Lennert Buytenhek [Sat, 25 Mar 2006 23:03:13 +0000 (23:03 +0000)] 
[ARM] 3383/3: ixp2000: ixdp2x01 platform serial conversion

Patch from Lennert Buytenhek

Add a PLAT8250_DEV_PLATFORM2, and convert the two ixdp2x01 CPLD serial
ports to use platform serial devices with ids PLAT8250_DEV_PLATFORM[12].
(The on-chip xscale UART is PLAT8250_DEV_PLATFORM, id #0.)

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
18 years ago[ARM] 3030/2: fix permission check in the obscur cmpxchg syscall
Nicolas Pitre [Sat, 25 Mar 2006 22:44:05 +0000 (22:44 +0000)] 
[ARM] 3030/2: fix permission check in the obscur cmpxchg syscall

Patch from Nicolas Pitre

Quoting RMK:

|pte_write() just says that the page _may_ be writable. It doesn't say
|that the MMU is programmed to allow writes. If pte_dirty() doesn't
|return true, that means that the page is _not_ writable from userspace.
|If you write to it from kernel mode (without using put_user) you'll
|bypass the MMU read-only protection and may end up writing to a page
|owned by two separate processes.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
18 years agoMerge nommu tree
Russell King [Sat, 25 Mar 2006 22:08:55 +0000 (22:08 +0000)] 
Merge nommu tree

Fix merge conflict in arch/arm/mm/proc-xscale.S

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
18 years ago[ARM] 3399/1: Fix link problem when CONFIG_PRINTK is disabled
Malcolm Parsons [Sat, 25 Mar 2006 21:58:03 +0000 (21:58 +0000)] 
[ARM] 3399/1: Fix link problem when CONFIG_PRINTK is disabled

Patch from Malcolm Parsons

Printking a backtrace requires printk, so disable backtrace code
when printk is disabled.

Without this patch, a kernel with CONFIG_PRINTK disabled does not link:

arch/arm/lib/lib.a(backtrace.o): In function `c_backtrace':
arch/arm/lib/backtrace.S:(.text+0x108): undefined reference to `printk'
arch/arm/lib/backtrace.S:(.text+0x11c): undefined reference to `printk'
arch/arm/lib/lib.a(backtrace.o):(.fixup+0x8): undefined reference to `printk'

Signed-off-by: Malcolm Parsons <malcolm.parsons@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
18 years ago[ARM] 3398/1: Fix the VFP registers loading/storing base address
Catalin Marinas [Sat, 25 Mar 2006 21:58:00 +0000 (21:58 +0000)] 
[ARM] 3398/1: Fix the VFP registers loading/storing base address

Patch from Catalin Marinas

The current VFP code corrupts the VFP registers (including the control
ones) if more than one floating point application is executed at the same
time. This patch fixes the updating of the load/store base addresses for
the VFP registers.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
18 years ago[ARM] 3397/1: AT91RM9200 Header update
Andrew Victor [Sat, 25 Mar 2006 21:57:59 +0000 (21:57 +0000)] 
[ARM] 3397/1: AT91RM9200 Header update

Patch from Andrew Victor

This patch updates the hardware header to include definitions for the
Memory Controller registers.

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
18 years ago[ARM] 3385/1: Battery support for sharp zaurus sl-5500 (collie)
Pavel Machek [Sat, 25 Mar 2006 21:57:57 +0000 (21:57 +0000)] 
[ARM] 3385/1: Battery support for sharp zaurus sl-5500 (collie)

Patch from Pavel Machek

This adds support for battery reading on collie. Collie slowly charges
battery even with charging disabled, so I did not yet enable fast
charge.

Signed-off-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
18 years ago[ARM] SMP: don't set cpu_*_map in smp_prepare_boot_cpu
Russell King [Sat, 25 Mar 2006 21:37:29 +0000 (21:37 +0000)] 
[ARM] SMP: don't set cpu_*_map in smp_prepare_boot_cpu

The recent addition of boot_cpu_init() implements the initialisation
of the online, present and possible cpu maps for the boot CPU, so
there is no reason to duplicate this in the architecture
smp_prepare_boot_cpu() hook.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
18 years ago[SERIAL] amba-pl010: Remove accessor macros
Russell King [Sat, 25 Mar 2006 21:30:11 +0000 (21:30 +0000)] 
[SERIAL] amba-pl010: Remove accessor macros

Remove unnecessary accessor macros, using readb/writel directly
instead.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
18 years ago[SPARC64]: Keep cpu_present_map in sync with phys_cpu_present_map.
David S. Miller [Sat, 25 Mar 2006 21:00:17 +0000 (13:00 -0800)] 
[SPARC64]: Keep cpu_present_map in sync with phys_cpu_present_map.

Don't rely on fixup_cpu_present_map() to do this as that function
is about to be removed.

Signed-off-by: David S. Miller <davem@davemloft.net>
18 years agoinclude/linux/clk.h is betraying its ARM origins
Todd Poynor [Sat, 25 Mar 2006 18:15:24 +0000 (18:15 +0000)] 
include/linux/clk.h is betraying its ARM origins

include/linux/clk.h is betraying its ARM origins.

Signed-off-by: Todd Poynor <tpoynor@mvista.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
18 years ago[SERIAL] remove 8250_acpi (replaced by 8250_pnp and PNPACPI)
Bjorn Helgaas [Sat, 25 Mar 2006 17:49:47 +0000 (17:49 +0000)] 
[SERIAL] remove 8250_acpi (replaced by 8250_pnp and PNPACPI)

With the combination of PNPACPI and 8250_pnp, we no longer need 8250_acpi.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
18 years ago[SERIAL] icom: select FW_LOADER
maximilian attems [Sat, 25 Mar 2006 17:44:20 +0000 (17:44 +0000)] 
[SERIAL] icom: select FW_LOADER

The icom driver uses request_firmware()
and thus needs to select FW_LOADER.

Signed-off-by: maximilian attems <maks@sternwelten.at>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
18 years agopowerpc: fix strncasecmp prototype
Linus Torvalds [Sat, 25 Mar 2006 17:41:40 +0000 (09:41 -0800)] 
powerpc: fix strncasecmp prototype

It takes a size_t, not an int, as its third argument.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years agoMerge branch 'audit.b3' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit...
Linus Torvalds [Sat, 25 Mar 2006 17:24:53 +0000 (09:24 -0800)] 
Merge branch 'audit.b3' of git://git./linux/kernel/git/viro/audit-current

* 'audit.b3' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current: (22 commits)
  [PATCH] fix audit_init failure path
  [PATCH] EXPORT_SYMBOL patch for audit_log, audit_log_start, audit_log_end and audit_format
  [PATCH] sem2mutex: audit_netlink_sem
  [PATCH] simplify audit_free() locking
  [PATCH] Fix audit operators
  [PATCH] promiscuous mode
  [PATCH] Add tty to syscall audit records
  [PATCH] add/remove rule update
  [PATCH] audit string fields interface + consumer
  [PATCH] SE Linux audit events
  [PATCH] Minor cosmetic cleanups to the code moved into auditfilter.c
  [PATCH] Fix audit record filtering with !CONFIG_AUDITSYSCALL
  [PATCH] Fix IA64 success/failure indication in syscall auditing.
  [PATCH] Miscellaneous bug and warning fixes
  [PATCH] Capture selinux subject/object context information.
  [PATCH] Exclude messages by message type
  [PATCH] Collect more inode information during syscall processing.
  [PATCH] Pass dentry, not just name, in fsnotify creation hooks.
  [PATCH] Define new range of userspace messages.
  [PATCH] Filter rule comparators
  ...

Fixed trivial conflict in security/selinux/hooks.c

18 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/aoe-2.6
Linus Torvalds [Sat, 25 Mar 2006 17:20:39 +0000 (09:20 -0800)] 
Merge /pub/scm/linux/kernel/git/gregkh/aoe-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/aoe-2.6:
  [PATCH] aoe [3/3]: update version to 22
  [PATCH] aoe [2/3]: don't request ATA device ID on ATA error
  [PATCH] aoe [1/3]: support multiple AoE listeners
  [PATCH] aoe: do not stop retransmit timer when device goes down
  [PATCH] aoe [8/8]: update driver version number
  [PATCH] aoe [7/8]: update driver compatibility string
  [PATCH] aoe [6/8]: update device information on last close
  [PATCH] aoe [5/8]: allow network interface migration on packet retransmit
  [PATCH] aoe [4/8]: use less confusing driver name
  [PATCH] aoe [3/8]: increase allowed outstanding packets
  [PATCH] aoe [2/8]: support dynamic resizing of AoE devices
  [PATCH] aoe [1/8]: zero packet data after skb allocation

18 years agoMerge git://git.linux-nfs.org/pub/linux/nfs-2.6
Linus Torvalds [Sat, 25 Mar 2006 17:18:27 +0000 (09:18 -0800)] 
Merge git://git.linux-nfs.org/pub/linux/nfs-2.6

* git://git.linux-nfs.org/pub/linux/nfs-2.6: (103 commits)
  SUNRPC,RPCSEC_GSS: spkm3--fix config dependencies
  SUNRPC,RPCSEC_GSS: spkm3: import contexts using NID_cast5_cbc
  LOCKD: Make nlmsvc_traverse_shares return void
  LOCKD: nlmsvc_traverse_blocks return is unused
  SUNRPC,RPCSEC_GSS: fix krb5 sequence numbers.
  NFSv4: Dont list system.nfs4_acl for filesystems that don't support it.
  SUNRPC,RPCSEC_GSS: remove unnecessary kmalloc of a checksum
  SUNRPC: Ensure rpc_call_async() always calls tk_ops->rpc_release()
  SUNRPC: Fix memory barriers for req->rq_received
  NFS: Fix a race in nfs_sync_inode()
  NFS: Clean up nfs_flush_list()
  NFS: Fix a race with PG_private and nfs_release_page()
  NFSv4: Ensure the callback daemon flushes signals
  SUNRPC: Fix a 'Busy inodes' error in rpc_pipefs
  NFS, NLM: Allow blocking locks to respect signals
  NFS: Make nfs_fhget() return appropriate error values
  NFSv4: Fix an oops in nfs4_fill_super
  lockd: blocks should hold a reference to the nlm_file
  NFSv4: SETCLIENTID_CONFIRM should handle NFS4ERR_DELAY/NFS4ERR_RESOURCE
  NFSv4: Send the delegation stateid for SETATTR calls
  ...

18 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davej/agpgart
Linus Torvalds [Sat, 25 Mar 2006 17:17:32 +0000 (09:17 -0800)] 
Merge /pub/scm/linux/kernel/git/davej/agpgart

* master.kernel.org:/pub/scm/linux/kernel/git/davej/agpgart:
  [AGPGART] x86_64: Enable VIA AGP driver on x86-64 for VIA P4 chipsets
  [AGPGART] x86_64: Fix wrong PCI ID for ALI M1695 AGP bridge
  [AGPGART] ATI RS350 support.
  [AGPGART] Lots of CodingStyle/whitespace cleanups.

18 years ago[PATCH] x86_64: Add cpu_relax() to busy loops in PM timer code
Andi Kleen [Sat, 25 Mar 2006 15:32:04 +0000 (16:32 +0100)] 
[PATCH] x86_64: Add cpu_relax() to busy loops in PM timer code

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: Don't enable CONFIG_UNWIND_INFO by default for DEBUG_KERNEL
Andi Kleen [Sat, 25 Mar 2006 15:32:01 +0000 (16:32 +0100)] 
[PATCH] x86_64: Don't enable CONFIG_UNWIND_INFO by default for DEBUG_KERNEL

DEBUG_KERNEL is often enabled just for sysrq, but this doesn't
mean the user wants more heavyweight debugging information.

Cc: jbeulich@novell.com
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: Removed duplicated declaration of force_iommu
Andi Kleen [Sat, 25 Mar 2006 15:31:58 +0000 (16:31 +0100)] 
[PATCH] x86_64: Removed duplicated declaration of force_iommu

Noticed by Andrew Morton.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: Report SIGSEGV for IRET faults
Andi Kleen [Sat, 25 Mar 2006 15:31:55 +0000 (16:31 +0100)] 
[PATCH] x86_64: Report SIGSEGV for IRET faults

tcsh is not happy with the -9999 error code.

Suggested by Ernie Petrides

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: Initialize powernow_data[] for all siblings
Andi Kleen [Sat, 25 Mar 2006 15:31:52 +0000 (16:31 +0100)] 
[PATCH] x86_64: Initialize powernow_data[] for all siblings

I got an oops on a dual core system because the lost tick handler
called cpufreq_get() on core 1 and powernow tried to follow
a NULL powernow_data[] pointer there.

Initialize powernow_data for all cores of a CPU.

Cc: Jacob Shin <jacob.shin@amd.com>
Cc: Dave Jones <davej@redhat.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: Remove bogus special case in AMD core parsing.
Andi Kleen [Sat, 25 Mar 2006 15:31:49 +0000 (16:31 +0100)] 
[PATCH] x86_64: Remove bogus special case in AMD core parsing.

No need to restrict to power of two here.

TBD needs more double checking

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: group memnodemap and memnodeshift in a memnode structure
Eric Dumazet [Sat, 25 Mar 2006 15:31:46 +0000 (16:31 +0100)] 
[PATCH] x86_64: group memnodemap and memnodeshift in a memnode structure

pfn_to_page() and others need to access both memnode_shift and the very
first bytes of memnodemap[]. If we force memnode_shift to be just before the
memnodemap array, we can reduce the memory footprint to one cache line
instead of two for most setups. This patch introduce a 'memnode' structure
where shift and map[] are carefully placed.

Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: Eliminate register_die_notifier symbol exported
Kevin Winchester [Sat, 25 Mar 2006 15:31:43 +0000 (16:31 +0100)] 
[PATCH] x86_64: Eliminate register_die_notifier symbol exported

register_die_notifier is exported twice, once in traps.c and once in
x8664_ksyms.c.  This results in a warning on build.

Signed-off-by: Kevin Winchester <kwin@ns.sympatico.ca>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: Search K8 devices on more devices.
Navin Boppuri [Sat, 25 Mar 2006 15:31:40 +0000 (16:31 +0100)] 
[PATCH] x86_64: Search K8 devices on more devices.

arch/x86_64/kernel/aperture.c: The search for the AGP bridge has been
extended to search for all the 256 buses instead of the first 32. This
is required since on a some systems, the bridge may be located on a bus
much farther than the first 32. By searching all 256 buses, we guarantee
that the search succeeds on such systems.

arch/x86_64/kernel/pci-gart.c: The search for the Northbridge is not
limited to just bus 0 anymore. This is required because on certain
systems, we may not find one on bus 0.

Signed-off-by: Navin Boppuri <navin.boppuri@newisys.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: Make local_t 64bit instead of 32bit
Andi Kleen [Sat, 25 Mar 2006 15:31:37 +0000 (16:31 +0100)] 
[PATCH] x86_64: Make local_t 64bit instead of 32bit

For consistency with other architectures

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: Make GART_IOMMU kconfig help text more specific (trivial)
Jon Mason [Sat, 25 Mar 2006 15:31:34 +0000 (16:31 +0100)] 
[PATCH] x86_64: Make GART_IOMMU kconfig help text more specific (trivial)

Have the GART_IOMMU help text specify that this is the hardware IOMMU in
amd64 processors.  This will be significant if/when other IOMMUs are
added to the x86-64 architecture. :-)

Also, note that the previous help text stated that IOMMU was needed for
>3GB memory instead of >4GB.  This is fixed in the newer version.

Signed-off-by: Jon Mason <jdmason@us.ibm.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: Remove CONFIG_UNORDERED_IO
Andi Kleen [Sat, 25 Mar 2006 15:31:31 +0000 (16:31 +0100)] 
[PATCH] x86_64: Remove CONFIG_UNORDERED_IO

It was a failed experiment - all benchmarks done with it on both AMD
and Intel showed it was a loss. That was probably because the store
buffers of the CPUs for write combining traffic weren't large enough.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] i386/x86-64: List Intel LaGrange AKA SMX in /proc/cpuinfo
Andi Kleen [Sat, 25 Mar 2006 15:31:22 +0000 (16:31 +0100)] 
[PATCH] i386/x86-64: List Intel LaGrange AKA SMX in /proc/cpuinfo

Spec just got published so we know the CPUID bit.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: free_bootmem_node needs __pa in allocate_aperture
Jon Mason [Sat, 25 Mar 2006 15:31:19 +0000 (16:31 +0100)] 
[PATCH] x86_64: free_bootmem_node needs __pa in allocate_aperture

free_bootmem_node expects a physical address to be passed in, but
__alloc_bootmem_node returns a virtual one.  That address needs to be
translated to physical.

Signed-off-by: Jon Mason <jdmason@us.ibm.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: timer interrupt lockup due to pending interrupt
Vivek Goyal [Sat, 25 Mar 2006 15:31:16 +0000 (16:31 +0100)] 
[PATCH] x86_64: timer interrupt lockup due to pending interrupt

o check_timer() routine fails while second kernel is booting after a crash
  on an opetron box. Problem happens because timer vector (0x31) seems to be
  locked.

o After a system crash, it is not safe to service interrupts any more, hence
  interrupts are disabled. This leads to pending interrupts at LAPIC. LAPIC
  sends these interrupts to the CPU during early boot of second kernel. Other
  pending interrupts are discarded saying unexpected trap but timer interrupt
  is serviced and CPU does not issue an LAPIC EOI because it think this
  interrupt came from i8259 and sends ack to 8259. This leads to vector 0x31
  locking as LAPIC does not clear respective ISR and keeps on waiting for
  EOI.

o This patch issues extra EOI for the pending interrupts who have ISR set.

o Though today only timer seems to be the special case because in early
  boot it thinks interrupts are coming from i8259 and uses
  mask_and_ack_8259A() as ack handler and does not issue LAPIC EOI. But
  probably doing it in generic manner for all vectors makes sense.

Signed-off-by: Vivek Goyal <vgoyal@in.ibm.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: Use cpumask bitops for cpu_vm_mask
Brian Gerst [Sat, 25 Mar 2006 15:31:13 +0000 (16:31 +0100)] 
[PATCH] x86_64: Use cpumask bitops for cpu_vm_mask

cpu_vm_mask is of type cpumask_t, so use the proper bitops.

Signed-off-by: Brian Gerst <bgerst@didntduck.org>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: Try to allocate node memmap near the end of node
Andi Kleen [Sat, 25 Mar 2006 15:31:10 +0000 (16:31 +0100)] 
[PATCH] x86_64: Try to allocate node memmap near the end of node

This fixes problems with very large nodes (over 128GB) filling up all of
the first 4GB with their mem_map and not leaving enough space for the
swiotlb.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: Force broadcast timer on AMD systems with C3 too.
Andi Kleen [Sat, 25 Mar 2006 15:31:07 +0000 (16:31 +0100)] 
[PATCH] x86_64: Force broadcast timer on AMD systems with C3 too.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: Change default setting for noexec32 to match i386 kernel
Andi Kleen [Sat, 25 Mar 2006 15:31:04 +0000 (16:31 +0100)] 
[PATCH] x86_64: Change default setting for noexec32 to match i386 kernel

This means i386 processes compiled with a recent compiler will get non
executable heap by default now.  This is the same default as a 32bit PAE
kernel would use on a NX enabled CPU.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: Reorder one field of the PDA to reduce padding
Arjan van de Ven [Sat, 25 Mar 2006 15:31:01 +0000 (16:31 +0100)] 
[PATCH] x86_64: Reorder one field of the PDA to reduce padding

This reorders the mmu_state int in the pda, such that there is no more
padding (there currently is 4 bytes of padding).  Boot tested.

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: Limit max number of CPUs to 255
Andi Kleen [Sat, 25 Mar 2006 15:30:58 +0000 (16:30 +0100)] 
[PATCH] x86_64: Limit max number of CPUs to 255

Because 256 causes overflows in some code that stores them in 8 bit
fields and the x86 APIC architecture cannot handle more than 255
anyways.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: fix orphaned bits of timer init messages
Chuck Ebbert [Sat, 25 Mar 2006 15:30:55 +0000 (16:30 +0100)] 
[PATCH] x86_64: fix orphaned bits of timer init messages

When x86_64 timer init messages were changed to use apic verbosity
levels, two messages were missed and one got the wrong level.  This
causes the last word of a suppressed message to print on a line by
itself.  Fix that so either the entire message prints or none of it
does.

Signed-off-by: Chuck Ebbert <76306.1226@compuserve.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: Quieten down microcode update driver
Andi Kleen [Sat, 25 Mar 2006 15:30:52 +0000 (16:30 +0100)] 
[PATCH] x86_64: Quieten down microcode update driver

Only log data in microcode driver when something is changed Otherwise it
was far too noisy on large systems.

Also remove the printk when it is unloaded.

Cc: tigran@veritas.com
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: Basic reorder infrastructure
Arjan van de Ven [Sat, 25 Mar 2006 15:30:49 +0000 (16:30 +0100)] 
[PATCH] x86_64: Basic reorder infrastructure

This patch puts the infrastructure in place to allow for a reordering of
functions based inside the vmlinux. The general idea is that it is possible
to put all "common" functions into the first 2Mb of the code, so that they
are covered by one TLB entry. This as opposed to the current situation where
a typical vmlinux covers about 3.5Mb (on x86-64) and thus 2 TLB entries.

This is done by enabling the -ffunction-sections flag in gcc, which puts
each function in its own ELF section, so that the linker can then order them
in a way defined by the linker script.

As per previous discussions, Linus said he wanted a "static" list for this,
eg a list provided by the kernel tarbal, so that most people have the same
ordering at least. A script is provided to create this list based on
readprofile(1) output. The included list is provisional, and entirely biased
on my own testbox and me running a few kernel compiles and some other
things.

I think that to get to a better list we need to invite people to submit
their own profiles, and somehow add those all up and base the final list on
that. I'm willing to do that effort if this is ends up being the prefered
approach. Such an effort probably needs to be repeated like once a year or
so to adopt to the changing nature of the kernel.

Made it a CONFIG with default n because it increases link times
dramatically.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: Always use IO-APIC routing for timer.
Andi Kleen [Sat, 25 Mar 2006 15:30:46 +0000 (16:30 +0100)] 
[PATCH] x86_64: Always use IO-APIC routing for timer.

I tested it on a couple of chipsets and it worked everywhere so it
should be ok as default for now.

So far I haven't done the great purge of the useless old check_timer
code yet though.

Can be overwritten with enable_8254_timer in the worst case

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: Don't invoke OOM killer during dma_alloc_coherent()
Andi Kleen [Sat, 25 Mar 2006 15:30:43 +0000 (16:30 +0100)] 
[PATCH] x86_64: Don't invoke OOM killer during dma_alloc_coherent()

There is a fallback logic, so it's better to not use the OOM killer
in the allocations.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: Don't invoke OOM killer while allocating floppy DMA buffers
Andi Kleen [Sat, 25 Mar 2006 15:30:40 +0000 (16:30 +0100)] 
[PATCH] x86_64: Don't invoke OOM killer while allocating floppy DMA buffers

Floppy can fall back to smaller buffers, so don't do OOM killing.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: Reename CMOS update warning
Andi Kleen [Sat, 25 Mar 2006 15:30:37 +0000 (16:30 +0100)] 
[PATCH] x86_64: Reename CMOS update warning

Was disabled due to an old bug, long gone.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: Fix formatting in time.c
Andi Kleen [Sat, 25 Mar 2006 15:30:34 +0000 (16:30 +0100)] 
[PATCH] x86_64: Fix formatting in time.c

Only white space changes, code should be identical

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: Handle years beyond 2100
Andi Kleen [Sat, 25 Mar 2006 15:30:31 +0000 (16:30 +0100)] 
[PATCH] x86_64: Handle years beyond 2100

ACPIv2 has an official but optional way to get a date >2100.  Use it.
But all the platforms I tested didn't seem to support it.  But anyways
the x86-64 kernel should be ready for the 22nd century now.  Actually i
shouldn't care about this because I will be dead by then @)

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: Patch to make the head.S-must-be-first-in-vmlinux order explicit
Arjan van de Ven [Sat, 25 Mar 2006 15:30:28 +0000 (16:30 +0100)] 
[PATCH] x86_64: Patch to make the head.S-must-be-first-in-vmlinux order explicit

This patch puts the code from head.S in a special .bootstrap.text
section.

I'm working on a patch to reorder the functions in the kernel (I'll post
that later), but for x86-64 at least the kernel bootstrap requires that
the head.S functions are on the very first page/pages of the kernel
text.  This is understandable since the bootstrap is complex enough
already and not a problem at all, it just means they aren't allowed to
be reordered.  This patch puts these special functions into a separate
section to document this, and to guarantee this in the light of possibly
reordering the rest later.

(So this patch doesn't fix a bug per se, but makes things more robust by
making the order of these functions explicit)

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: Add __init to fixmap functions that are only called during boot
Andi Kleen [Sat, 25 Mar 2006 15:30:25 +0000 (16:30 +0100)] 
[PATCH] x86_64: Add __init to fixmap functions that are only called during boot

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: Implement early DMI scanning
Andi Kleen [Sat, 25 Mar 2006 15:30:22 +0000 (16:30 +0100)] 
[PATCH] x86_64: Implement early DMI scanning

There are more and more cases where we need to know DMI information
early to work around bugs.  i386 already had early DMI scanning, but
x86-64 didn't.  Implement this now.

This required some cleanup in the i386 code.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: Clean up and tweak ACPI blacklist year code
Andi Kleen [Sat, 25 Mar 2006 15:30:19 +0000 (16:30 +0100)] 
[PATCH] x86_64: Clean up and tweak ACPI blacklist year code

 - Move the core parser into dmi_scan.c.  It can be useful for other
   subsystems too.
 - Differentiate between field doesn't exist and field is 0 or
   unparseable.  The first case is likely an old BIOS with broken ACPI,
   the later is likely a slightly buggy BIOS where someone forget to
   edit the date.  Don't blacklist in the later case.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: s/Overwrite/Override/ in arch/x86-64
Dave Jones [Sat, 25 Mar 2006 15:30:16 +0000 (16:30 +0100)] 
[PATCH] x86_64: s/Overwrite/Override/ in arch/x86-64

s/Overwrite/Override/

Signed-off-by: Dave Jones <davej@redhat.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: Move kernel to 2MB
Andi Kleen [Sat, 25 Mar 2006 15:30:13 +0000 (16:30 +0100)] 
[PATCH] x86_64: Move kernel to 2MB

As suggested by Andi (and Alan), move the default kernel location
from 1Mb to 2Mb, to align to the start of a TLB entry.

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: prefetch the mmap_sem in the fault path
Arjan van de Ven [Sat, 25 Mar 2006 15:30:10 +0000 (16:30 +0100)] 
[PATCH] x86_64: prefetch the mmap_sem in the fault path

In a micro-benchmark that stresses the pagefault path, the down_read_trylock
on the mmap_sem showed up quite high on the profile. Turns out this lock is
bouncing between cpus quite a bit and thus is cache-cold a lot. This patch
prefetches the lock (for write) as early as possible (and before some other
somewhat expensive operations). With this patch, the down_read_trylock
basically fell out of the top of profile.

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: Implement compat code for raw1394 read/write
Andi Kleen [Sat, 25 Mar 2006 15:30:07 +0000 (16:30 +0100)] 
[PATCH] x86_64: Implement compat code for raw1394 read/write

Not for the ioctls so far because I was too lazy.

Cc: bcollins@debian.org
Cc: dan@dennedy.org
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: to use lapic ids instead of initial apic ids
Ravikiran G Thirumalai [Sat, 25 Mar 2006 15:30:04 +0000 (16:30 +0100)] 
[PATCH] x86_64: to use lapic ids instead of initial apic ids

phys_proc_id[] on AMD boxes is right now populated with the initial
apic id, obtained by the cpuid instruction.  But, the initial apic id
need not be the local apic id on clustered APIC systems (see comment at
x86_64/kernel/genapic_cluster.c, line 110).  On vSMPowered with AMD
CPUs the cpu_to_node will turn out to be incorrect (as apicid_to_node[] is
indexed by the initial apic id rather than the local apic id).
On vSMPowered boxes with Intel CPUs this is working correctly as
phys_proc_id[] is initialized correctly in detect_ht().

This fixes AMD boot path according to specification, to use the correct
routines for local apic id and socket ids.  We use
hard_smp_processor_id() to read the local apic id, and phys_pkg_id() to
determine socket id for phys_proc_id[]

Patch tested on Tyan multicore boxes as well as vSMPowered boxes.

Signed-off-by: Ravikiran Thirumalai <kiran@scalex86.org>
Signed-off-by: Shai Fultheim <shai@scalex86.org>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: miscellaneous cleanup
Jan Beulich [Sat, 25 Mar 2006 15:30:01 +0000 (16:30 +0100)] 
[PATCH] x86_64: miscellaneous cleanup

- adjust limits of GDT/IDT pseudo-descriptors (some were off by one)
- move empty_zero_page into .bss.page_aligned
- move cpu_gdt_table into .data.page_aligned
- move idt_table into .bss
- align inital_code and init_rsp
- eliminate pointless (re-)declaration of idt_table in traps.c

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: Make pfn_valid work early in boot
Andi Kleen [Sat, 25 Mar 2006 15:29:58 +0000 (16:29 +0100)] 
[PATCH] x86_64: Make pfn_valid work early in boot

It needs num_physpages, so initialize it early. It's later overwritten
again.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: Clean up white space in traps.c
Roberto Nibali [Sat, 25 Mar 2006 15:29:55 +0000 (16:29 +0100)] 
[PATCH] x86_64: Clean up white space in traps.c

Attached is a small code style cleanup patch that resulted from my
skimming through the arch/x86_64/kernel/traps.c code to figure out what
went haywire.

Signed-off-by: Roberto Nibali <ratz@drugphish.ch>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: Fix wrong PCI ID for ALI M1695 AGP bridge
Henrik Kretzschmar [Sat, 25 Mar 2006 15:29:52 +0000 (16:29 +0100)] 
[PATCH] x86_64: Fix wrong PCI ID for ALI M1695 AGP bridge

[description by AK]
Made a cut'n'paste error when adding the entry for the ALI M1695
AGP bridge and added a second entry for the 1689

Cc: Dave Jones <davej@redhat.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: Don't define string functions to builtin
Andi Kleen [Sat, 25 Mar 2006 15:29:49 +0000 (16:29 +0100)] 
[PATCH] x86_64: Don't define string functions to builtin

gcc should handle this anyways, and it causes problems when
sprintf is turned into strcpy by gcc behind our backs and
the C fallback version of strcpy is actually defining __builtin_strcpy

Then drop -ffreestanding from the main Makefile because it isn't
needed anymore and implies -fno-builtin, which is wrong now.
(it was only added for x86-64, so dropping it should be safe)

Noticed by Roman Zippel

Cc: Roman Zippel <zippel@linux-m68k.org>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: Check that early arguments are words on their own
Andi Kleen [Sat, 25 Mar 2006 15:29:46 +0000 (16:29 +0100)] 
[PATCH] x86_64: Check that early arguments are words on their own

We've always had the problem that arguments only did a prefix match,
which resulted e.g.  in noapic and noapictimer getting confused.

Fix the early argument parsing code to always check that arguments are
whole words (except for those that take additional arguments of course)
I factored out the checking code for that while also makes the code
easier to maintain.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: remove dead do_softirq_thunk
Jan Beulich [Sat, 25 Mar 2006 15:29:43 +0000 (16:29 +0100)] 
[PATCH] x86_64: remove dead do_softirq_thunk

Appearantly a left-over...

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: actively synchronize vmalloc area when registering certain callbacks
Jan Beulich [Sat, 25 Mar 2006 15:29:40 +0000 (16:29 +0100)] 
[PATCH] x86_64: actively synchronize vmalloc area when registering certain callbacks

While the modular aspect of the respective i386 patch doesn't apply to
x86-64 (as the top level page directory entry is shared between modules
and the base kernel), handlers registered with register_die_notifier()
are still under similar constraints for touching ioremap()ed or
vmalloc()ed memory. The likelihood of this problem becoming visible is
of course significantly lower, as the assigned virtual addresses would
have to cross a 2**39 byte boundary. This is because the callback gets
invoked
(a) in the page fault path before the top level page table propagation
gets carried out (hence a fault to propagate the top level page table
entry/entries mapping to module's code/data would nest infinitly) and
(b) in the NMI path, where nested faults must absolutely not happen,
since otherwise the IRET from the nested fault re-enables NMIs,
potentially resulting in nested NMI occurences.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: Use cpu_relax in poll loop in GART IOMMU
Andi Kleen [Sat, 25 Mar 2006 15:29:37 +0000 (16:29 +0100)] 
[PATCH] x86_64: Use cpu_relax in poll loop in GART IOMMU

The code waits for the GART to clear the TLB flush bit. Use cpu_relax
in this time to allow hypervisors to yield the CPU in this time.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: Report local APIC ID when initializing CPU
Andi Kleen [Sat, 25 Mar 2006 15:29:34 +0000 (16:29 +0100)] 
[PATCH] x86_64: Report local APIC ID when initializing CPU

Makes some debugging easier.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: Don't need to read PIT in timer handler when PM timer is used
Andi Kleen [Sat, 25 Mar 2006 15:29:31 +0000 (16:29 +0100)] 
[PATCH] x86_64: Don't need to read PIT in timer handler when PM timer is used

The PM timer path through main_timer_handler doesn't need
the delay variable because it figures it out in a different way.
Don't try to read it from the PIT. With stopped PIT timer
it is even useless.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: cleanup allocating logical cpu numbers in x86_64
Ashok Raj [Sat, 25 Mar 2006 15:29:28 +0000 (16:29 +0100)] 
[PATCH] x86_64: cleanup allocating logical cpu numbers in x86_64

Minor cleanup to lend better for physical CPU hotplug.
Earlier way of using num_processors as index doesnt
fit if CPUs come and go. This makes the code little bit better
to read, and helps physical hotplug use the same functions as boot.

Reserving CPU0 for BSP is too late to be done in smp_prepare_boot_cpu().
Since logical assignments from MADT is already done via
setup_arch()->acpi_boot_init()->parse lapic

Signed-off-by: Ashok Raj <ashok.raj@intel.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: save FPU context slightly later
Jan Beulich [Sat, 25 Mar 2006 15:29:25 +0000 (16:29 +0100)] 
[PATCH] x86_64: save FPU context slightly later

Touching of the floating point state in a kernel debugger must be
NMI-safe, specifically math_state_restore() must be able to deal with
being called out of an NMI context. In order to do that reliably, the
context switch code must take care to not leave a window open where
the current task's TS_USEDFPU flag and CR0.TS could get out of sync.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: eliminate set_debug()
Jan Beulich [Sat, 25 Mar 2006 15:29:22 +0000 (16:29 +0100)] 
[PATCH] x86_64: eliminate set_debug()

For consistency and to have only a single place of definition, replace
set_debug() uses with set_debugreg(), and eliminate the definition of
thj former.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: disallow multi-byte hardware execution breakpoints
Jan Beulich [Sat, 25 Mar 2006 15:29:19 +0000 (16:29 +0100)] 
[PATCH] x86_64: disallow multi-byte hardware execution breakpoints

While AMD formally permits multi-byte execution breakpoints, Intel
disallows 8-byte as much as 2- or 4-byte ones.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: cpu_pda array to macro followup correction
Jan Beulich [Sat, 25 Mar 2006 15:29:16 +0000 (16:29 +0100)] 
[PATCH] x86_64: cpu_pda array to macro followup correction

Fix one place where the previous change of cpu_pda from being an array
to being a macro was not properly carried out.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: Rename struct node in x86-64 NUMA code to struct bootnode
Andi Kleen [Sat, 25 Mar 2006 15:29:12 +0000 (16:29 +0100)] 
[PATCH] x86_64: Rename struct node in x86-64 NUMA code to struct bootnode

It conflicts with the struct node in node.h
Actually the x86-64 version was there first, but ..

Suggested by Jan Beulich

Cc: jbeulich@novell.com
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: Increase the variability of the process stack on 64bit architectures
Andi Kleen [Sat, 25 Mar 2006 15:29:09 +0000 (16:29 +0100)] 
[PATCH] x86_64: Increase the variability of the process stack on 64bit architectures

8MB is not really very random, use 1GB (or more with larger page sizes)
instead.

Also use the low bits of the random generator output now instead of
throwing them away.

Only enabled on x86-64 right now. Other architectures need to add
a suitable STACK_RND_MASK

Cc: mingo@elte.hu
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86-64: Use -mtune=generic for generic kernels
Andi Kleen [Sat, 25 Mar 2006 15:29:06 +0000 (16:29 +0100)] 
[PATCH] x86-64: Use -mtune=generic for generic kernels

The upcomming gcc 4.2 got a new option -mtune=generic to tune
code for both common AMD and Intel CPUs. Use this option
when available for generic kernels.

On x86-64 it is used with CONFIG_GENERIC_CPU. On i386 it is
enabled with CONFIG_X86_GENERIC.  It won't affect the base
line CPU support in any ways and also not the minimum supported CPU.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: Use correct PUD for memory hotadd
Jan Beulich [Sat, 25 Mar 2006 15:29:03 +0000 (16:29 +0100)] 
[PATCH] x86_64: Use correct PUD for memory hotadd

Memory >39bits has a different PUD.

Cc: "Tolentino, Matthew E" <matthew.e.tolentino@intel.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: Update defconfig
Andi Kleen [Sat, 25 Mar 2006 15:29:00 +0000 (16:29 +0100)] 
[PATCH] x86_64: Update defconfig

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreq
Linus Torvalds [Sat, 25 Mar 2006 16:52:23 +0000 (08:52 -0800)] 
Merge /pub/scm/linux/kernel/git/davej/cpufreq

* master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreq:
  [CPUFREQ] kzalloc conversion for gx-suspmod
  [CPUFREQ] Whitespace cleanup
  [CPUFREQ] Mark longhaul driver as broken.
  [PATCH] cpufreq: fix section mismatch warnings
  [CPUFREQ] Fix the p4-clockmod N60 errata workaround.
  [CPUFREQ] Fix handling for CPU hotplug
  [CPUFREQ] powernow-k8: Let cpufreq driver handle affected CPUs
  [CPUFREQ] Lots of whitespace & CodingStyle cleanup.
  [CPUFREQ] Remove duplicate cpuinfo struct
  [CPUFREQ] Silence powernow-k8 warning on k7's.

18 years agoMerge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband
Linus Torvalds [Sat, 25 Mar 2006 16:51:35 +0000 (08:51 -0800)] 
Merge branch 'for-linus' of /linux/kernel/git/roland/infiniband

* 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband:
  IPoIB: P_Key change event handling
  IB/mthca: Fix modify QP error path
  IPoIB: Fix network interface "RUNNING" status
  IB/mthca: Fix indentation
  IB/mthca: Fix uninitialized variable in mthca_alloc_qp()
  IB/mthca: Check SRQ limit in modify SRQ operation
  IB/mthca: Check that SRQ WQE size does not exceed device's max value
  IB/mthca: Check that sgid_index and path_mtu are valid in modify_qp
  IB/srp: Use a fake scatterlist for non-SG SCSI commands
  IPoIB: Pass correct pointer when flushing child interfaces

18 years agoMerge branch 'upstream-linus' of git://oss.oracle.com/home/sourcebo/git/ocfs2
Linus Torvalds [Sat, 25 Mar 2006 16:50:56 +0000 (08:50 -0800)] 
Merge branch 'upstream-linus' of git://oss.oracle.com/home/sourcebo/git/ocfs2

* 'upstream-linus' of git://oss.oracle.com/home/sourcebo/git/ocfs2:
  ocfs2: finally remove MLF* macros
  ocfs2: don't use MLF* in the file system
  ocfs2: don't use MLF* in dlm/ files
  ocfs2: don't use MLF* in cluster/ files
  [PATCH] ocfs2: dlm recovery fixes
  [PATCH] ocfs2: fix hang in dlm lock resource mastery
  ocfs2: use __attribute__ format

18 years agoMerge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6
Linus Torvalds [Sat, 25 Mar 2006 16:49:25 +0000 (08:49 -0800)] 
Merge branch 'release' of git://git./linux/kernel/git/aegl/linux-2.6

* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
  [IA64] New IA64 core/thread detection patch
  [IA64] Increase max node count on SN platforms
  [IA64] Increase max node count on SN platforms
  [IA64] Increase max node count on SN platforms
  [IA64] Increase max node count on SN platforms
  [IA64] Tollhouse HP: IA64 arch changes
  [IA64] cleanup dig_irq_init
  [IA64] MCA recovery: kernel context recovery table
  IA64: Use early_parm to handle mvec_name and nomca
  [IA64] move patchlist and machvec into init section
  [IA64] add init declaration - nolwsys
  [IA64] add init declaration - gate page functions
  [IA64] add init declaration to memory initialization functions
  [IA64] add init declaration to cpu initialization functions
  [IA64] add __init declaration to mca functions
  [IA64] Ignore disabled Local SAPIC Affinity Structure in SRAT
  [IA64] sn_check_intr: use ia64_get_irr()
  [IA64] fix ia64 is_hugepage_only_range

18 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/sam/kbuild
Linus Torvalds [Sat, 25 Mar 2006 16:48:48 +0000 (08:48 -0800)] 
Merge /pub/scm/linux/kernel/git/sam/kbuild

* master.kernel.org:/pub/scm/linux/kernel/git/sam/kbuild: (46 commits)
  kbuild: remove obsoleted scripts/reference_* files
  kbuild: fix make help & make *pkg
  kconfig: fix time ordering of writes to .kconfig.d and include/linux/autoconf.h
  Kconfig: remove the CONFIG_CC_ALIGN_* options
  kbuild: add -fverbose-asm to i386 Makefile
  kbuild: clean-up genksyms
  kbuild: Lindent genksyms.c
  kbuild: fix genksyms build error
  kbuild: in makefile.txt note that Makefile is preferred name for kbuild files
  kbuild: replace PHONY with FORCE
  kbuild: Fix bug in crc symbol generating of kernel and modules
  kbuild: change kbuild to not rely on incorrect GNU make behavior
  kbuild: when warning symbols exported twice now tell user this is the problem
  kbuild: fix make dir/file.xx when asm symlink is missing
  kbuild: in the section mismatch check try harder to find symbols
  kbuild: fix section mismatch check for unwind on IA64
  kbuild: kill false positives from section mismatch warnings for powerpc
  kbuild: kill trailing whitespace in modpost & friends
  kbuild: small update of allnoconfig description
  kbuild: make namespace.pl CROSS_COMPILE happy
  ...

Trivial conflict in arch/ppc/boot/Makefile manually fixed up

18 years ago[PATCH] mm: restore vm_normal_page check
Nick Piggin [Sat, 25 Mar 2006 15:20:22 +0000 (16:20 +0100)] 
[PATCH] mm: restore vm_normal_page check

Hugh is rightly concerned that the CONFIG_DEBUG_VM coverage has gone too
far in vm_normal_page, considering that we expect production kernels to be
shipped with the option turned off, and that the code has been under some
large changes recently.

Signed-off-by: Nick Piggin <npiggin@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] cpufreq: speedstep-smi asm fix
Andrew Morton [Sat, 25 Mar 2006 09:51:51 +0000 (01:51 -0800)] 
[PATCH] cpufreq: speedstep-smi asm fix

Fix bug identified by Linus Torvalds <torvalds@osdl.org>: the `out'
instruction depends upon the state of memory_data[], so we need to tell gcc
that before executing it. (The opcode, not gcc).

Fixes http://bugzilla.kernel.org/show_bug.cgi?id=5553

Thanks to Antonio Ospite <ospite@studenti.unina.it> for testing.

Cc: Dave Jones <davej@codemonkey.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial
Linus Torvalds [Sat, 25 Mar 2006 16:41:09 +0000 (08:41 -0800)] 
Merge git://git./linux/kernel/git/bunk/trivial

* git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial: (21 commits)
  BUG_ON() Conversion in drivers/video/
  BUG_ON() Conversion in drivers/parisc/
  BUG_ON() Conversion in drivers/block/
  BUG_ON() Conversion in sound/sparc/cs4231.c
  BUG_ON() Conversion in drivers/s390/block/dasd.c
  BUG_ON() Conversion in lib/swiotlb.c
  BUG_ON() Conversion in kernel/cpu.c
  BUG_ON() Conversion in ipc/msg.c
  BUG_ON() Conversion in block/elevator.c
  BUG_ON() Conversion in fs/coda/
  BUG_ON() Conversion in fs/binfmt_elf_fdpic.c
  BUG_ON() Conversion in input/serio/hil_mlc.c
  BUG_ON() Conversion in md/dm-hw-handler.c
  BUG_ON() Conversion in md/bitmap.c
  The comment describing how MS_ASYNC works in msync.c is confusing
  rcu: undeclared variable used in documentation
  fix typos "wich" -> "which"
  typo patch for fs/ufs/super.c
  Fix simple typos
  tabify drivers/char/Makefile
  ...

18 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
Linus Torvalds [Sat, 25 Mar 2006 16:39:55 +0000 (08:39 -0800)] 
Merge /pub/scm/linux/kernel/git/davem/sparc-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
  [SPARC]: Try to start getting SMP back into shape.

18 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Sat, 25 Mar 2006 16:39:20 +0000 (08:39 -0800)] 
Merge /pub/scm/linux/kernel/git/davem/net-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
  [NETFILTER] x_table.c: sem2mutex
  [IPV4]: Aggregate route entries with different TOS values
  [TCP]: Mark tcp_*mem[] __read_mostly.
  [TCP]: Set default max buffers from memory pool size
  [SCTP]: Fix up sctp_rcv return value
  [NET]: Take RTNL when unregistering notifier
  [WIRELESS]: Fix config dependencies.
  [NET]: Fill in a 32-bit hole in struct sock on 64-bit platforms.
  [NET]: Ensure device name passed to SO_BINDTODEVICE is NULL terminated.
  [MODULES]: Don't allow statically declared exports
  [BRIDGE]: Unaligned accesses in the ethernet bridge

18 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/mchehab/v4l-dvb
Linus Torvalds [Sat, 25 Mar 2006 16:37:36 +0000 (08:37 -0800)] 
Merge /pub/scm/linux/kernel/git/mchehab/v4l-dvb

* master.kernel.org:/pub/scm/linux/kernel/git/mchehab/v4l-dvb: (33 commits)
  V4L/DVB (3604): V4l printk fix
  V4L/DVB (3599c): Whitespace cleanups under Documentation/video4linux
  V4L/DVB (3599b): Whitespace cleanups under drivers/media
  V4L/DVB (3599a): Move drivers/usb/media to drivers/media/video
  V4L/DVB (3599): Implement new routing commands for wm8775 and cs53l32a.
  V4L/DVB (3598): Add bit algorithm adapter for the Conexant CX2341X boards.
  V4L/DVB (3597): Vivi: fix warning: implicit declaration of function 'in_interrupt'
  V4L/DVB (3588): Remove VIDIOC_G/S_AUDOUT from msp3400
  V4L/DVB (3587): Always wake thread after routing change.
  V4L/DVB (3584): Implement V4L2_TUNER_MODE_LANG1_LANG2 audio mode
  V4L/DVB (3582): Implement correct msp3400 input/output routing
  V4L/DVB (3581): Add new media/msp3400.h header containing the routing macros
  V4L/DVB (3580): Last round of msp3400 cleanups before adding routing commands
  V4L/DVB (3579): Move msp_modus to msp3400-kthreads, add JP and KR std detection
  V4L/DVB (3578): Make scart definitions easier to handle
  V4L/DVB (3577): Cleanup audio input handling
  V4L/DVB (3575): Cxusb: fix i2c debug messages for bluebird devices
  V4L/DVB (3574): Cxusb: fix debug messages
  V4L/DVB (3573): Cxusb: remove FIXME: comment in bluebird_patch_dvico_firmware_download
  V4L/DVB (3572): Cxusb: conditionalize gpio write for the medion box
  ...

18 years ago[PATCH] git-scsi-misc: min() warning fix
Andrew Morton [Sat, 25 Mar 2006 11:08:30 +0000 (03:08 -0800)] 
[PATCH] git-scsi-misc: min() warning fix

drivers/scsi/sd.c: In function `sd_store_cache_type':
drivers/scsi/sd.c:193: warning: comparison of distinct pointer types lacks a cast

Cc: James Bottomley <James.Bottomley@steeleye.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>