Commit Graph

1166 Commits

Author SHA1 Message Date
David S. Miller
db7d9a4eb7 [SPARC64]: Move syscall success and newchild state out of thread flags.
These two bits were accesses non-atomically from assembler
code.  So, in order to eliminate any potential races resulting
from that, move these pieces of state into two bytes elsewhere
in struct thread_info.

Signed-off-by: David S. Miller <davem@davemloft.net>
2005-07-24 19:36:26 -07:00
David S. Miller
cdd5186f75 [SPARC64]: Privatize sun5_timer.
It is only used by some localized code in irq.c, and also
delete enable_prom_timer() as that is totally unused.

Signed-off-by: David S. Miller <davem@davemloft.net>
2005-07-24 19:36:13 -07:00
Linus Torvalds
2c2a68b847 Merge master.kernel.org:/home/rmk/linux-2.6-serial 2005-07-23 17:01:26 -07:00
Linus Torvalds
c94c0d201f Merge master.kernel.org:/home/rmk/linux-2.6-arm 2005-07-23 16:59:55 -07:00
Lucas Correia Villa Real
53776eb4ac [PATCH] ARM: 2825/1: S3C2410: turns %d into %ld on DMA printk
Patch from Lucas Correia Villa Real

This patch replaces the sizeof()'s %d specifier by %ld on a S3C2410 DMA
printk.

Signed-off-by: Lucas Correia Villa Real <lucasvr@gobolinux.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-07-24 00:15:46 +01:00
Linus Torvalds
72538d8565 Remove "noreplacement" kernel command line option.
It is no longer valid to not replace instructions, since we depend on
different behaviour depending on CPU capabilities.

If you need to limit the capabilities of the replacements (because the
boot CPU has features that non-boot CPU's do not have, for example), you
need to explicitly disable those capabilities that are not shared across
all CPU's.

For example, if your boot CPU has FXSR, but other CPU's in your system
do not, you need to use the "nofxsr" kernel command line, not disable
instruction replacement per se.
2005-07-22 18:29:40 -04:00
Linus Torvalds
8ed1383fb7 x86: make restore_fpu() use alternative assembler instructions
It's really just a single instruction, conditional on whether the CPU
supports FXSR or not, so implement it as such instead of making it a
function that queries FXSR dynamically.

This means that the instruction just gets automatically rewritten to the
correct one at boot-time.
2005-07-22 16:06:16 -04:00
Linus Torvalds
b339a18b81 Fix up incorrect "unlikely()" on %gs reload in x86 __switch_to
These days %gs is normally the TLS segment, so it's no longer zero.  As
a result, we shouldn't just assume that %fs/%gs tend to be zero
together, but test them independently instead.

Also, fix setting of debug registers to use the "next" pointer instead
of "current".  It so happens that the scheduler will have set the new
current pointer before calling __switch_to(), but that's just an
implementation detail.
2005-07-22 15:23:47 -04:00
Russell King
ab9b633938 [PATCH] ARM SMP: Mark mroe CPU init data with __cpuinitdata
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-07-20 21:32:26 +01:00
Ben Dooks
65cc3370ef [PATCH] ARM: 2818/1: BAST - Use platform device for SuperIO 16550s
Patch from Ben Dooks

Use platform device for the 16500 UARTs in the onboard
SuperIO controller.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-07-18 10:24:32 +01:00
Russell King
bd6f68af29 [PATCH] ARM SMP: Mark CPU init functions/data with __cpuinit/...data
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-07-17 21:35:41 +01:00
Alexander Schulz
246b49768b [PATCH] ARM: 2816/1: Shark: boot kernel images bigger than 1 MB
Patch from Alexander Schulz

Up to now, shark kernels were limited to one megabyte compressed
size. As the kernels get bigger, this becomes more and more
uncomfortable. So I added a loop to copy 3 MB instead of one
and added some comments.

Signed-off-by: Alexander Schulz <alex@shark-linux.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-07-17 20:12:08 +01:00
Russell King
b66da4a485 [PATCH] ARM: Remove global nwfpe register variable
Recent changes to nwfpe broke the build with some gcc versions:

In file included from arch/arm/nwfpe/softfloat.c:33:
arch/arm/nwfpe/fpa11.h:32: global register variable follows a function definition
make[1]: *** [arch/arm/nwfpe/softfloat.o] Error 1

Since we now ensure that the kernel stack is empty when returning
to user space, we can now access the userspace registers with
reference to the kernel stack using current_thread_info(), rather
than remembering the stack pointer at the time nwfpe was called.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-07-17 10:54:50 +01:00
Alexander Schulz
b7523418f6 [PATCH] ARM: 2815/1: Shark: new defconfig, fixes with __io and serial ports
Patch from Alexander Schulz

This patch brings a new default config file for the shark and
fixes a compilation issue with io addressing and a runtime
problem with the serial ports, where I corrected a wrong
regshift value.
These are all shark specific files so I hope it is ok to
put them in one patch.

Signed-off-by: Alexander Schulz <alex@shark-linux.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-07-16 17:17:18 +01:00
Russell King
109d89ca0e [PATCH] ARM: Allow register_undef_hook to be called with IRQs off
Preserve the interrupt status across a call to register_undef_hook.
This allows it to be called while interrupts are disabled.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-07-16 16:43:33 +01:00
Russell King
54ea06f6af [PATCH] ARM: Convert bitops to use ARMv6 ldrex/strex instructions
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-07-16 15:21:51 +01:00
Siddha, Suresh B
9fb1759a31 [PATCH] x86_64: TASK_SIZE fixes for compatibility mode processes
A malicious 32bit app can have an elf section at 0xffffe000.  During
exec of this app, we will have a memory leak as insert_vm_struct() is
not checking for return value in syscall32_setup_pages() and thus not
freeing the vma allocated for the vsyscall page.

Check the return value and free the vma incase of failure.

Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-15 22:56:11 -07:00
Linus Torvalds
d6e1860312 Merge master.kernel.org:/pub/scm/linux/kernel/git/aegl/linux-2.6 2005-07-15 17:52:13 -07:00
Alexey Dobriyan
35e422c967 [PATCH] visws: reexport pm_power_off
More fallout from the i386_ksyms.c cleanups.

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-15 09:54:51 -07:00
Ian Wienand
46906c4415 [IA64] Fix undefined reference to can_cpei_retarget for simulator
The simulator build doesn't turn on ACPI, so doesn't have a definition
of can_cpei_retarget.

Signed-off-by: Tony Luck <tony.luck@intel.com>
2005-07-14 09:21:47 -07:00
Paolo 'Blaisorblade' Giarrusso
20d0021394 [PATCH] uml: allow building as 32-bit binary on 64bit host
This patch makes the command:

make ARCH=um SUBARCH=i386

work on x86_64 hosts (with support for building 32-bit binaries).  This is
especially needed since 64-bit UMLs don't support 32-bit emulation for guest
binaries, currently.  This has been tested in all possible cases and works.

Only exception is that I've built but not tested a 64-bit binary, because I
hadn't a 64-bit filesystem available.

Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Cc: Jeff Dike <jdike@addtoit.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-14 09:00:25 -07:00
Paolo 'Blaisorblade' Giarrusso
ecc354a90a [PATCH] uml: reintroduce pcap support
The pcap support was not working because of some linking problems (expressing
the construct in Kbuild was a bit difficult) and because there was no user
request.  Now that this has come back, here's the support.

This has been tested and works on both 32 and 64-bit hosts, even when
"cross-"building 32-bit binaries.

Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Cc: Jeff Dike <jdike@addtoit.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-14 09:00:25 -07:00
Paolo 'Blaisorblade' Giarrusso
1c30385ae4 [PATCH] uml: gcc 2.95 fix and Makefile cleanup
1) Cleanup an ugly hyper-nested code in Makefile (now only the arith.
   expression is passed through the host bash).

2) Fix a problem with GCC 2.95: according to a report from Raphael Bossek,
   .remap_data : { arch/um/sys-SUBARCH/unmap_fin.o (.data .bss) } is expanded
   into: .remap_data : { arch/um/sys-i386 /unmap_fin.o (.data .bss) }

(because I didn't use ## to join the two tokens), thus stopping linking.  Pass
the whole path from the Makefile as a simple and nice fix.

Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Cc: Raphael Bossek <raphael.bossek@gmx.de>
Cc: Jeff Dike <jdike@addtoit.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-14 09:00:24 -07:00
Paolo 'Blaisorblade' Giarrusso
2e5e55923e [PATCH] uml: consolidate modify_ldt
*) Reorganize the two cases of sys_modify_ldt to share all the reasonably
   common code.

*) Avoid memory allocation when unneeded (i.e.  when we are writing and the
   passed buffer size is known), thus not returning ENOMEM (which isn't
   allowed for this syscall, even if there is no strict "specification").

*) Add copy_{from,to}_user to modify_ldt for TT mode.

Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Cc: Jeff Dike <jdike@addtoit.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-14 09:00:24 -07:00
Paolo 'Blaisorblade' Giarrusso
1feb8d2d73 [PATCH] uml: workaround host bug in "TT mode vs. NPTL link fix"
A big bug has been diagnosed on hosts running the SKAS patch and built with
CONFIG_REGPARM, due to some missing prevent_tail_call().

On these hosts, this workaround is needed to avoid triggering that bug,
because "to" is kept by GCC only in EBX, which is corrupted at the return of
mmap2().

Since to trigger this bug int 0x80 must be used when doing the call, it rarely
manifests itself, so I'd prefer to get this merged to workaround that host
bug, since it should cause no functional change.  Still, you might prefer to
drop it, I'll leave this to you.

Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Cc: Jeff Dike <jdike@addtoit.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-14 09:00:24 -07:00
Paolo 'Blaisorblade' Giarrusso
bcb01b8a67 [PATCH] uml: fix lvalue for gcc4
Russell King <rmk+lkml@arm.linux.org.uk>

This construct is refused by GCC 4, so here's the (corrected) fix.  Thanks to
Russell for noticing a stupid mistake I did when first sending this.

As he noted, the code is largely suboptimal however it currently works, and
will be fixed shortly.  Just read the access_ok check on fp which is NULL, or
the pointer arithmetic below which should be done with a cast to void*:

 	frame = (struct rt_sigframe __user *)
 		round_down(stack_top - sizeof(struct rt_sigframe), 16) - 8;

The code shows clearly that has been taken from
arch/x86_64/kernel/signal.c:setup_rt_frame(), maybe in a bit of a hurry.

Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Cc: Jeff Dike <jdike@addtoit.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-14 09:00:24 -07:00
Linus Torvalds
514fd7fd01 Merge master.kernel.org:/pub/scm/linux/kernel/git/aegl/linux-2.6 2005-07-13 15:48:33 -07:00
Miles Bader
1e279dd855 [PATCH] v850: Align ___start___param to match parameter alignment
Signed-off-by: Miles Bader <miles@gnu.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-13 12:25:48 -07:00
Tony Luck
99ad25a313 Auto merge with /home/aegl/GIT/linus 2005-07-13 12:15:43 -07:00
Dean Nelson
59a0a8aa6a [IA64] fix call of smp_processor_id() by XPC while
XPC calls smp_processor_id() twice from xpc_setup_infrastructure() with
preemption enabled, which gets flagged if 'DEBUG_PREEMPT=y'. This patch
replaces the two calls to smp_processor_id() by a single call to
raw_smp_processor_id() since any CPU within the partition will do.

Signed-off-by: Dean Nelson <dcn@sgi.com>
Acked-by: Christoph Hellwig <hch@infradead.org>
Signed-off-by: Tony Luck <tony.luck@intel.com>
2005-07-13 11:52:45 -07:00
Olof Johansson
f264cc2824 [PATCH] ppc64: add 970MP PVR
Add PVR value and tests for 970MP.  Also switch to a simpler (but slightly
longer) check at init time for simplicity.

Signed-off-by: Olof Johansson <olof@austin.ibm.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Acked-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-13 11:25:25 -07:00
David Gibson
96e2844999 [PATCH] ppc64: kill bitfields in ppc64 hash code
This patch removes the use of bitfield types from the ppc64 hash table
manipulation code.

Signed-off-by: David Gibson <dwg@au1.ibm.com>
Acked-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-13 11:25:25 -07:00
Olaf Hering
f13487c66c [PATCH] ppc32: make -j12 all fails in uImage target
make -j zImage may call if_changed twice at the same time, the result is a
corrupted vmlinux.gz

Write to a temporary file for the time being until someone with make skills
fix the serialization properly.

Signed-off-by: Olaf Hering <olh@suse.de>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Sam Ravnborg <sam@ravnborg.org>
Acked-by: Tom Rini <trini@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-13 11:25:25 -07:00
Martin Schwidefsky
068e1b94bb [PATCH] s390: fadvise hint values.
Add special case for the POSIX_FADV_DONTNEED and POSIX_FADV_NOREUSE hint
values for s390-64.  The user space values in the s390-64 glibc headers for
these two defines have always been 6 and 7 instead of 4 and 5.  All 64 bit
applications therefore use the "wrong" values.  To get these applications
working without recompiling the kernel needs to accept the "wrong" values.
Since the values for s390-31 are 4 and 5 the compat wrapper for fadvise64
and fadvise64_64 need to rewrite the values for 31 bit system calls.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-13 11:25:24 -07:00
James Bottomley
153f805781 [PATCH] fix voyager subarchitecture EXPORT_SYMBOL breakage caused by i386_ksym reduction
This patch:

	[PATCH] Remove i386_ksyms.c, almost

made files like smp.c do their own EXPORT_SYMBOLS.  This means that all
subarchitectures that override these symbols now have to do the exports
themselves.  This patch adds the exports for voyager (which is the most
affected since it has a separate smp harness).  However, someone should
audit all the other subarchitectures to see if any others got broken.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-13 11:07:54 -07:00
Linus Torvalds
6cd59f7a41 Merge /home/torvalds/linux-2.6-arm 2005-07-13 10:12:50 -07:00
Robert Love
0eeca28300 [PATCH] inotify
inotify is intended to correct the deficiencies of dnotify, particularly
its inability to scale and its terrible user interface:

        * dnotify requires the opening of one fd per each directory
          that you intend to watch. This quickly results in too many
          open files and pins removable media, preventing unmount.
        * dnotify is directory-based. You only learn about changes to
          directories. Sure, a change to a file in a directory affects
          the directory, but you are then forced to keep a cache of
          stat structures.
        * dnotify's interface to user-space is awful.  Signals?

inotify provides a more usable, simple, powerful solution to file change
notification:

        * inotify's interface is a system call that returns a fd, not SIGIO.
	  You get a single fd, which is select()-able.
        * inotify has an event that says "the filesystem that the item
          you were watching is on was unmounted."
        * inotify can watch directories or files.

Inotify is currently used by Beagle (a desktop search infrastructure),
Gamin (a FAM replacement), and other projects.

See Documentation/filesystems/inotify.txt.

Signed-off-by: Robert Love <rml@novell.com>
Cc: John McCutchan <ttb@tentacle.dhs.org>
Cc: Christoph Hellwig <hch@lst.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-12 20:38:38 -07:00
Christoph Lameter
7c2a6c62c0 [IA64] Altix pcibus_to_node implementation
The Altix subarch does not provide node information via ACPI. Instead hooks
are used to fixup pci structures. This patch determines the nodes for Altix
PCI busses.

Remote Bridges:
---------------
Altix supports remote I/O nodes without memory or processors but with bridges.
The TIOCA type of bridge is an AGP bridge and the PROM provides information
about the closest node. That information will be returned by pcibus_to_node.

The TIOCP remote bridge type is a PCI bridge but the PROM does not provide a
closest node id. pcibus_to_node will return -1 for devices on those bridges
meaning that device control structures may be allocated on any node.

Safeguard:
----------
Should the fixups result in invalid node information for a pci controller then
a warning will be printed and pcibus_to_node will return -1.


This patch also fixes the "FIXME" in sn_dma_alloc_coherent. This means that
dma_alloc_coherent will now use alloc_pages_node to allocate memory local to
the node that the PCI device is connected to.

Signed-off-by: Christoph Lameter <clameter@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
2005-07-12 16:12:55 -07:00
Linus Torvalds
3f603ed319 Merge master.kernel.org:/pub/scm/linux/kernel/git/lenb/linux-2.6 2005-07-12 16:04:50 -07:00
Albert Herranz
bc75a24582 [PATCH] kexec-ppc: fix for ksysfs crash_notes
The following patch prevents the crash dump helper code found within kexec
from breaking ppc which still lacks crash dump functionality.

ksysfs crash_notes attribute handling was left under CONFIG_KEXEC for
simplicity although it is not strictly kexec related.

We provide here a dummy definition for crash_notes on ppc.

Signed-off-by: Albert Herranz <albert_herranz@yahoo.es>
Cc: Eric Biederman <ebiederm@xmission.com>
Cc: Vivek Goyal <vgoyal@in.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-12 16:01:03 -07:00
Nishanth Aravamudan
5c888d5318 [PATCH] xtensa: use ssleep() instead of schedule_timeout()
Replace schedule_timeout() with ssleep() to guarantee the task delays as
expected.

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
Signed-off-by: Chris Zankel <chris@zankel.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-12 16:01:01 -07:00
Chris Zankel
813e678364 [PATCH] xtensa: remove old syscalls
This patch fixes some minor bugs introduced by the previous patch (remove
old syscalls).  Both patches remove the obsolete syscalls.  The changes in
this patch were suggested by Arnd Bergmann.  The vmlinux.lds.S changes are
required for the latest gcc/binutils.

Signed-off-by: Chris Zankel <chris@zankel.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-12 16:01:01 -07:00
Paolo 'Blaisorblade' Giarrusso
8b8a9da525 [PATCH] uml:remove user_constants.h on clean
make clean ARCH=um does not remove the generated file
arch/um/include/user_constants.h, fix this.

Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-12 16:01:00 -07:00
Andrew Morton
d312ceda56 [PATCH] x86_64: section alignment fix
This is the second time this has happened: inserting a new section requires
that we adjust the arithmetic which is used to calculate the vsyscall page's
offset.

Cc: Christoph Lameter <christoph@lameter.com>
Cc: Andi Kleen <ak@muc.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-12 16:00:59 -07:00
Linus Torvalds
22a4427972 Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/i2c-2.6 2005-07-12 15:54:36 -07:00
Zoltan Menyhart
08357f82d4 [IA64] improve flush_icache_range()
Check with PAL to see what the i-cache line size is for
each level of the cache, and so use the correct stride
when flushing the cache.

Acked-by: David Mosberger
Signed-off-by: Tony Luck <tony.luck@intel.com>
2005-07-12 15:33:18 -07:00
Len Brown
5028770a42 [ACPI] merge acpi-2.6.12 branch into latest Linux 2.6.13-rc...
Signed-off-by: Len Brown <len.brown@intel.com>
2005-07-12 17:21:56 -04:00
Greg Edwards
60a762b6a6 [IA64] remove CONFIG_IA64_SGI_SN_SIM
This patch removes the CONFIG_IA64_SGI_SN_SIM option entirely, allowing
any kernel bootable on sn2 to also be booted in the simulator.

Boot tested on Altix and HP rx2600.

Signed-off-by: Greg Edwards <edwardsg@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
2005-07-12 14:13:08 -07:00
Linus Torvalds
9f02d6b7b4 Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6 2005-07-12 13:17:42 -07:00
Linus Torvalds
9ffc7a0ebf Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2005-07-12 13:16:40 -07:00