Commit Graph

7775 Commits

Author SHA1 Message Date
Tony Luck
4f2ef124b2 [IA64] Fix breakage in simscsi.c
arch/ia64/hp/sim/simscsi.c: In function `simscsi_sg_readwrite':
arch/ia64/hp/sim/simscsi.c:154: error: structure has no member named `buffer'
arch/ia64/hp/sim/simscsi.c: In function `simscsi_fillresult':
arch/ia64/hp/sim/simscsi.c:247: error: structure has no member named `buffer'

hch said:
>Just change it to access the request_buffer member instead.  buffer
>and request_buffer have been synonymous 99% of the time, and a driver
>never even wants to access buffer.

Signed-off-by: Tony Luck <tony.luck@intel.com>
2006-07-31 11:49:26 -07:00
Matthew Wilcox
1bf1eba74e [IA64] Format /proc/pal/*/version_info correctly
/proc/pal/*/version_info is a bit confusing.  HP firmware, at least,
reports 07.31 instead of 0.7.31.  Also, the comment is out of place;
it's an internal detail about the implementation of ia64_pal_version.
Since the 2.2 revision of the SDM still states that PAL_VERSION can
be called in virtual mode, correct the comment to be more accurate.

Signed-off-by: Matthew Wilcox <matthew@wil.cx>
Signed-off-by: Tony Luck <tony.luck@intel.com>
2006-07-31 11:49:13 -07:00
Geoff Levand
8d950cb889 [POWERPC] Minor comment fix for misc_64.S
A minor comment fix for misc_64.S from Takao Shinohara.

Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2006-07-31 14:37:46 +10:00
Jake Moilanen
9b9b72fe70 [POWERPC] Use H_CEDE on non-SMT
On the JS21 systems, they have the SPLPAR hypertas set, but are not SMT
capable.  So, they are not making the H_CEDE call.  This is causing the
hypervisor to have to queue up work for the hdecr, taking an excessive
amount of time in maintenance code, and causing jitter on the box.

Making the H_CEDE call helps alleviate that problem.

Signed-off-by: Jake Moilanen <moilanen@austin.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2006-07-31 14:35:21 +10:00
Linus Torvalds
af652c26f5 Merge master.kernel.org:/home/rmk/linux-2.6-arm
* master.kernel.org:/home/rmk/linux-2.6-arm:
  [ARM] 3734/1: Fix the unused variable warning in __iounmap()
  [ARM] 3737/1: Export ARM copy/clear_user_page symbols
  [ARM] 3736/1: xscale: don't mis-report 80219 as an iop32x
  [ARM] 3733/2: S3C24XX: Remove old IDE registers in Anubis
  [ARM] 3732/1: S3C24XX: tidy syntax in osiris and anubis machines
  [ARM] Fix SMP booting
  [ARM] 3731/1: Allow IRQ definitions of IQ80331 and IQ80332 to co-exist
  [ARM] 3730/1: ep93xx: enable usb ohci driver in the defconfig
  [ARM] Fix cats build
2006-07-29 22:53:46 -07:00
Andi Kleen
70583161e8 [PATCH] i386: Fix up backtrace fallback patch
I didn't test all compilation combinations. Shame on me.
And fix a missing option in the boot option following x86-64 (Jan Beulich)

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-07-29 20:59:55 -07:00
Andi Kleen
65f87d8a8a [PATCH] x86_64: Fix swiotlb=force
It was broken before. But having it is important as possible hardware
bug workaround.

And previously there was no way to force swiotlb if there is another IOMMU.
Side effect is that iommu=force won't force swiotlb anymore even if there
isn't another IOMMU.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-07-29 20:59:55 -07:00
Andi Kleen
355540f333 [PATCH] x86_64: Revert k8-bus.c northbridge access change
As Travis Betak points out it accesses the wrong northbridge subfunction
now. Switch back to the old code.

Cc: "Travis Betak" <betak@mpdtxmail.amd.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-07-29 20:59:55 -07:00
Jon Mason
d2105b10fe [PATCH] x86_64: Calgary IOMMU - Multi-Node NULL pointer dereference fix
Calgary hits a NULL pointer dereference when booting in a multi-chassis
NUMA system.  See Redhat bugzilla number 198498, found by Konrad
Rzeszutek (konradr@redhat.com).

There are many issues that had to be resolved to fix this problem.
Firstly when I originally wrote the code to handle NUMA systems, I
had a large misunderstanding that was not corrected until now.  That was
that I thought the "number of nodes online" referred to number of
physical systems connected.  So that if NUMA was disabled, there
would only be 1 node and it would only show that node's PCI bus.
In reality if NUMA is disabled, the system displays all of the
connected chassis as one node but is only ignorant of the delays
in accessing main memory.  Therefore, references to num_online_nodes()
and MAX_NUMNODES are incorrect and need to be set to the maximum
number of nodes that can be accessed (which are 8).  I created a
variable, MAX_NUM_CHASSIS, and set it to 8 to fix this.

Secondly, when walking the PCI in detect_calgary, the code only
checked the first "slot" when looking to see if a device is present.
This will work for most cases, but unfortunately it isn't always the
case.  In the NUMA MXE drawers, there are USB devices present on the
3rd slot (with slot 1 being empty).  So, to work around this, all
slots (up to 8) are scanned to see if there are any devices present.

Lastly, the bus is being enumerated on large systems in a different
way the we originally thought.  This throws the ugly logic we had
out the window.  To more elegantly handle this, I reorganized the
kva array to be sparse (which removed the need to have any bus number
to kva slot logic in tce.c) and created a secondary space array to
contain the bus number to phb mapping.

With these changes Calgary boots on an x460 with 4 nodes with and
without NUMA enabled.

Signed-off-by: Jon Mason <jdmason@us.ibm.com>
Signed-off-by: Muli Ben-Yehuda <muli@il.ibm.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-07-29 20:59:55 -07:00
Muli Ben-Yehuda
089bbbcb36 [PATCH] x86_64: Calgary IOMMU - fix off by one error
Fixed off-by-one error in detect_calgary and calgary_init which will
cause arrays to overflow.  Also, removed impossible to hit BUG_ON.

Signed-off-by: Jon Mason <jdmason@us.ibm.com>
Signed-off-by: Muli Ben-Yehuda <muli@il.ibm.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-07-29 20:59:55 -07:00
Andi Kleen
0e5f61b00c [PATCH] x86_64: On Intel systems when CPU has C3 don't use TSC
On Intel systems generally the TSC stops in C3 or deeper,
so don't use it there. Follows similar logic on i386.

This should fix problems on Meroms.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-07-29 20:59:55 -07:00
Andi Kleen
260f659b23 [PATCH] x86_64: Update defconfig
Update defconfig

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-07-29 20:59:55 -07:00
Catalin Marinas
ceaccbd2a6 [ARM] 3734/1: Fix the unused variable warning in __iounmap()
Patch from Catalin Marinas

This patch adds #ifdef around some variables in the arch/arm/mm/ioremap.c
file.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-07-29 08:29:30 +01:00
George G. Davis
7b1df1985c [ARM] 3737/1: Export ARM copy/clear_user_page symbols
Patch from George G. Davis

As reported by various folks on the ARM Linux kernel mailing list,
the video-buf.ko driver has undefined references on all ARM machines
which use it as observed during `make modules`:

Warning: "v4wb_clear_user_page" [drivers/media/video/video-buf.ko] undefined!

Similar warnings exist for all ARM machines which use this driver.
So this change adds the missing EXPORT_SYMBOLs to allow using this
driver as a module.

Signed-off-by: George G. Davis <gdavis@mvista.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-07-29 08:29:27 +01:00
Lennert Buytenhek
a6a38a6622 [ARM] 3736/1: xscale: don't mis-report 80219 as an iop32x
Patch from Lennert Buytenhek

The IOP 80219 xscale CPU is a stripped down version of the IOP32x.
But the fact that the 80219 and IOP32x are very similar doesn't mean
that they need to share a cpu table entry.  It's also somewhat confusing
for the end user to see the 80219 reported as an IOP32x, so this patch
splits the IOP32x cpu table entry to make a separate entry for the
80219.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-07-29 08:29:26 +01:00
Andi Kleen
c97d20a6c5 [PATCH] i386: Do backtrace fallback too
Similar patch to earlier x86-64 patch. When the dwarf2 unwinder fails
dump the left over stack with the old unwinder.

Also some clarifications in the headers.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-07-28 19:28:00 -07:00
Andi Kleen
b13761ecd1 [PATCH] x86_64: Dump leftover backtrace entries when dwarf2 unwinder got stuck
The dwarf2 unwinder currently often gets stuck because a lot
of assembly code doesn't have proper dwarf2 annotiation yet.

This currently often happens with __down. Should fix this by
adding proper dwarf2 annotation to all inline assembly. However
until that's done we need a quick fix for 2.6.18 to avoid
incomplete backtraces.

So when this happens dump the rest of the stack with the old unwinder
instead of silently not dumping it. There was already a optional
"both" mode that dumped both, but that was too ugly.

I also clarified the headers for the different backtraces a bit.

Also add a clear error message for missing dwarf2
annotation that people can work on.

And I removed a dead variable left over from Ingo's changes.

Cc: mingo@elte.hu
Cc: jbeulich@novell.com
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-07-28 19:28:00 -07:00
Andi Kleen
0e92da4acb [PATCH] x86_64: Don't clobber r8-r11 in int 0x80 handler
When int 0x80 is called from long mode r8-r11 would leak out of the
kernel (or rather they would be filled with some values from
the kernel stack). I don't think it's a security issue because
the values come from the fixed stack frame which should be near
always user registers from a previous interrupt.

Still better fix it.

Longer term the register save macros need to be cleaned up
to avoid such mistakes in the future.

Original analysis from Richard Brunner, fix by me.

Cc: Richard.Brunner@amd.com

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-07-28 19:28:00 -07:00
Andi Kleen
d5a2601734 [PATCH] i386/x86-64: Add user_mode checks to profile_pc for oprofile
Fixes a obscure user space triggerable crash during oprofiling.

Oprofile calls profile_pc from NMIs even when user_mode(regs) is not true and
the program counter is inside the kernel lock section. This opens
a race - when a user program jumps to a kernel lock address and
a NMI happens before the illegal page fault exception is raised
and the program has a unmapped esp or ebp then the kernel could
oops. NMIs have a higher priority than exceptions so that could
happen.

Add user_mode checks to i386/x86-64 profile_pc to prevent that.

Cc: John Levon <levon@movementarian.org>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-07-28 19:28:00 -07:00
Linus Torvalds
5d2edfe004 Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6
* 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6:
  [S390] update default configuration
  [S390] duplicate ccw devices in ccwgroup.
  [S390] permanent subchannel busy conditions may cause I/O stall
2006-07-28 19:25:02 -07:00
Linus Torvalds
9d22e6d7ad Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
  [SUNLANCE]: fix compilation on sparc-UP
  [SPARC]: Defer clock_probe to fs_initcall()
  [SPARC64]: Fix typo in pgprot_noncached().
  [SPARC64]: Fix quad-float multiply emulation.
2006-07-28 19:24:38 -07:00
Chuck Ebbert
facf014792 [PATCH] i386: switch_to(): misplaced parentheses
Recent changes in i386 __switch_to() have a misplaced closing
parenthesis causing an unlikely() to terminate early.

Signed-off-by: Chuck Ebbert <76306.1226@compuserve.com>
Acked-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-07-28 19:22:35 -07:00
Olaf Hering
9fc0a92c7e [POWERPC] force 64bit mode in fwnmi handlers to workaround firmware bugs
The firmware of POWER4 and JS20 systems does not switch the cpu to 64bit
mode when the registered system_reset and machine_check handlers get called.
If a 32bit process runs on that cpu at the time of the event, the cpu
remains in 32bit mode. xmon and kdump can not deal with it, the result is
an error like 'Bad kernel stack pointer fff2aad0 at 3200'.
xmon just loses some register info, but booting the kdump kernel usually fails.

Both handlers are not hot paths.  Duplicate the EXCEPTION_PROLOG_PSERIES macro
and add two instructions to switch to 64bit:

 li     r11,5;
 rldimi r10,r11,61,0;

Signed-off-by: Olaf Hering <olh@suse.de>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2006-07-29 04:07:08 +10:00
Bob Breuer
96ba989d22 [SPARC]: Defer clock_probe to fs_initcall()
From: Bob Breuer <breuerr@mc.net>

That way all the of_driver bits will be ready.

Signed-off-by: David S. Miller <davem@davemloft.net>
2006-07-27 22:08:01 -07:00
Segher Boessenkool
96278d2100 [POWERPC] Fix new interrupt code (MPIC detection)
As the code comment already says, the Maple device-tree is incorrect here;
make the Linux code detect the correct thing, too.

Signed-off-by: Segher Boessenkool <segher@kernel.crashing.org>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2006-07-28 10:53:16 +10:00
Segher Boessenkool
d319a03bf8 [POWERPC] Fix new interrupt code (MPIC endianness)
All U3/U4 based systems are big-endian, not all express it in their
device trees.

Signed-off-by: Segher Boessenkool <segher@kernel.crashing.org>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2006-07-28 10:53:14 +10:00
Benjamin Herrenschmidt
e272a28534 [POWERPC] Add cpufreq support for Xserve G5
The Xserve G5 are capable of frequency switching like other desktop G5s.
This enables it. It also fix a Kconfig issue which prevented from
building the G5 cpufreq support if CONFIG_PMAC_SMU was not set (the
first version of that driver only worked with SMU based macs, but this
isn't the case anymore).

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2006-07-28 10:51:43 +10:00
Martin Schwidefsky
468310a8a7 [S390] update default configuration
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2006-07-27 14:04:57 +02:00
Ben Dooks
dffb0605e6 [ARM] 3733/2: S3C24XX: Remove old IDE registers in Anubis
Patch from Ben Dooks

Remove unused IDE static mapping, now being ioremap()d
by the simtec IDE driver.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-07-26 21:07:04 +01:00
Ben Dooks
705630dbdd [ARM] 3732/1: S3C24XX: tidy syntax in osiris and anubis machines
Patch from Ben Dooks

Tidy the syntax, such as missing ,'s on the end of
struct entries, in the Osiris and Anubis machines.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-07-26 20:16:39 +01:00
Russell King
34d9262665 [ARM] Fix SMP booting
Processor support files now use r6 in their CPU setup code, so
we can't rely on r6 being preserved.  Use r7 instead.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-07-26 18:57:40 +01:00
Michael Ellerman
30f30e1305 [POWERPC] Fix mem= handling when the memory limit is > RMO size
There's a bug in my cleaned up mem= handling, if the memory limit is
larger than the RMO size we'll erroneously enlarge the RMO size.

Fix is to only change the RMO size if the memory limit is less than
the current RMO value.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2006-07-26 01:28:24 +10:00
Benjamin Herrenschmidt
98c82472e9 [POWERPC] More offb/bootx fixes
There were still some issues with offb when BootX doesn't provide a
proper display node, this fixes them.  This also re-instates the
palette hacks that were disabled a couple of kernel versions ago when
I converted to the new OF parsing, and shuffles some functions around
to avoid prototypes.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2006-07-26 01:28:04 +10:00
Benjamin Herrenschmidt
45507ff3a2 [POWERPC] Fix legacy_serial.c error handling on 32 bits
The code in legacy_serial.c wouldn't properly compare OF translation
results against OF_BAD_ADDR as it's using a phys_addr_t which is 32
bits on some 32-bit powerpc platforms. This fixes it by always using
a u64 which is what is returned by the OF parsing routines. It also
makes translation failure harmless for ISA serial ports.  If they
can't translate, we can't use the UART early, but we can still let the
8250 driver use it later on by using IO port accessors.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2006-07-26 01:27:27 +10:00
Benjamin Herrenschmidt
171505dafe [POWERPC] Fix default clock for udbg_16550
This patch makes it possible to provide 0 as the clock value for
udbg_16550, making it default to the standard 1.8432Mhz clock

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2006-07-26 01:27:13 +10:00
Benjamin Herrenschmidt
8cffc6ac66 [POWERPC] Fix non-MPIC CHRPs with CONFIG_SMP set
Pseudo-CHRP machines like Pegasos without an MPIC would crash at boot if
CONFIG_SMP was set because the "smp_ops" pointer was set to MPIC related
ops unconditionally. This patch makes it NULL on machines that don't
support SMP and provides proper default behaviour in the callers when
smp_ops is NULL.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2006-07-26 01:27:04 +10:00
Benjamin Herrenschmidt
21bd2e6696 [POWERPC] Fix 32 bits warning in prom_init.c
A warning is hurting my eyes when building 32 bits kernels

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2006-07-26 01:26:43 +10:00
Benjamin Herrenschmidt
f0ca330bc4 [POWERPC] Workaround Pegasos incorrect ISA "ranges"
The Pegasos firmware doesn't create a valid "ranges" property for the
ISA bridge, thus causing translation of ISA addresses and IO ports to
fail. This fixes it, thus re-enabling proper early serial console to
work on Pegasos.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2006-07-26 01:26:24 +10:00
Johannes Berg
d1a8df9136 [POWERPC] fix up front-LED Kconfig
This patch fixes the front-LED Kconfig issues I introduced while
creating it. Apparently having a dependency isn't enough to have the
select not evaluated or something like that.

The patch also changes the default configuration for pmac32 select the
default for the LED to be the IDE trigger. While I was at it, I
completely updated the defconfig and also added snd-aoa to it.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2006-07-26 01:26:08 +10:00
David S. Miller
eb398d1044 [SPARC64]: Explicitly print return PC when the kernel fault PC is bogus.
That way we'll have at least some debugging info even if
the stack dump explodes.

Signed-off-by: David S. Miller <davem@davemloft.net>
2006-07-24 22:33:58 -07:00
David S. Miller
efab4cbe99 [SPARC64]: Update defconfig.
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-07-21 14:19:45 -07:00
David S. Miller
8310a32c15 [SPARC]: Fix length parameter verification in sys_getdomainname().
Found by scrashme.

Signed-off-by: David S. Miller <davem@davemloft.net>
2006-07-21 14:18:27 -07:00
Raymond Burns
8b3c848cc8 [SPARC]: Get sun4d SMP building again.
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-07-21 14:18:20 -07:00
Raymond Burns
198c167c54 [SPARC]: Do not call sun4m_irq_rotate on sun4d.
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-07-21 14:18:18 -07:00
David S. Miller
c2d3bffebc [SPARC]: Simplify and correct __cpu_find_by()
By using for_each_node_by_type().

Also, correct a spurioud test in check_cpu_node() on sparc64.
It is only called with nodes that have device_type "cpu".

Signed-off-by: David S. Miller <davem@davemloft.net>
2006-07-21 14:18:15 -07:00
Raymond Burns
2f72ba4358 [SPARC]: Initialize iounit spinlock in iounit_init().
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-07-21 14:18:13 -07:00
David S. Miller
9d7ab1f4d5 [SPARC]: Fix initialization of sun4d SBUS interrupts.
1) Explicitly traverse to the root looking for the "sbi".
2) Grab the "board#" property from the sbi's parent and
   verify that this parent is an "io-unit" node.
3) Skip IRQ initialization when device lacks "reg" property.

Signed-off-by: David S. Miller <davem@davemloft.net>
2006-07-21 14:18:11 -07:00
Bob Breuer
f7785a64d1 [SPARC]: Fix property name acquisition in prom.c
On sparc32 the prom_{first,next}prop() interfaces work
a little differently.  The buffer argument is ignored on
sparc32 and the firmware just returns a raw pointer to
the property name.

Signed-off-by: David S. Miller <davem@davemloft.net>
2006-07-21 14:18:04 -07:00
David S. Miller
06ffd7956e [SPARC]: Kill prom_getname, unused and not implemented properly.
The m68k port's sun3 asm/oplib.h had a stray reference too, so I
killed that off as well.

Signed-off-by: David S. Miller <davem@davemloft.net>
2006-07-21 14:17:55 -07:00
David S. Miller
46ba6d7d8b [SPARC64]: Fix more of_device layer IRQ bugs, and correct PROMREG_MAX.
Sabre and Psycho PCI controllers can have partial interrupt-map
properties, meaning that on-board devices don't match up to any
entries.  Instead, they are fully specified from the beginning and
we should pass them directly to the IRQ translator as-is.

Also, fill in the necessary translator slots for the "graphics"
and "expansion UPA" interrupts on Sabre, Psycho, and SYSIO SBUS.

Increase PROMREG_MAX to 24, as seen on SUNW,ffb devices.

Finally, prevent accidentally writing past the end of the of_device
struct resource[] and irqs[] arrays.  Spit out a log message when
we ignore some entries because there are too many of them.

Signed-off-by: David S. Miller <davem@davemloft.net>
2006-07-21 14:17:52 -07:00
Heiko Carstens
d7cf0d57ef [S390] sysfs_create_xxx return values.
Take return values of sysfs_create_group & friends into account.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2006-07-18 13:46:58 +02:00
Heiko Carstens
dc8f5d21dd [S390] .align 4096 statements in head.S
SLES9 binutils don't like .align 4096 statements in head.S. Work around this
by using .org statements.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2006-07-18 13:44:57 +02:00
Jeff Dike
b5032a50ae [PATCH] UML - fix utsname build breakage
Some -mm-only material leaked into a patch destined for mainline, and I didn't
notice.

This was the replacement of system_utsname with utsname() that's required by
the uts namespace patch.  This patch reverts those changes (which are correct
in -mm) so that mainline UML builds again.

Signed-off-by: Jeff Dike <jdike@addtoit.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-07-15 14:42:24 -07:00
Lennert Buytenhek
284c5e6e93 [ARM] 3730/1: ep93xx: enable usb ohci driver in the defconfig
Patch from Lennert Buytenhek

Since the ep93xx ohci bits are merged upstream now, enable ohci in
the ep93xx defconfig.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-07-15 21:08:07 +01:00
Linus Torvalds
5694ca9f46 Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
  [SPARC64] Fix PSYCHO PCI controler init.
  [SPARC64] psycho: Fix pbm->name handling in pbm_register_toplevel_resources()
  [SERIAL] sunsab: Fix significant typo in sab_probe()
  [SERIAL] sunsu: Report keyboard and mouse ports in kernel log.
  [SPARC64]: Make sure IRQs are disabled properly during early boot.
2006-07-14 21:57:23 -07:00
Jeff Dike
329c6e4257 [PATCH] uml: header formatting cleanups
Clean up whitespace and return syntax in os.h.

Signed-off-by: Jeff Dike <jdike@addtoit.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-07-14 21:53:52 -07:00
Jeff Dike
b076bb02ee [PATCH] uml: tidy biarch gcc support
On top of the previous biarch changes for UML, this makes the preprocessor
changes a bit cleaner.  Specify the 64-bit build in CPPFLAGS on the x86_64
SUBARCH, rather than #undef'ing i386.  Compile-tested with i386 and x86_64
SUBARCHs.

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
Signed-off-by: Jeff Dike <jdike@addtoit.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-07-14 21:53:52 -07:00
Jeff Dike
a5df0d1a2c [PATCH] uml: tidy longjmp macro
The UML_SETJMP macro was requiring its users to pass in a argument which it
could supply itself, since it wasn't used outside that invocation of the
macro.

Signed-off-by: Jeff Dike <jdike@addtoit.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-07-14 21:53:52 -07:00
Vadim Lobanov
8477b55ba1 [PATCH] i386: remove redundant might_sleep() in user accessors.
On i386, the user space accessor functions copy_from/to_user() both invoke
might_sleep(), do a quick sanity check, and then pass the work on to their
__copy_from/to_user() counterparts, which again invoke might_sleep().
Given that no actual work happens between these two calls, it is best to
eliminate one of the redundant might_sleep()s.

Signed-off-by: Vadim Lobanov <vlobanov@speakeasy.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-07-14 21:53:52 -07:00
Eric W. Biederman
e78a887a59 [PATCH] i386 kexec: allow the kexec on panic support to compile on voyager
This patch removes the foolish assumption that SMP implied local apics.
That assumption is not-true on the Voyager subarch.  This makes that
dependency explicit, and allows the code to build.

What gets disabled is just an optimization to get better crash dumps so the
support should work if there is a kernel that will initialization on the
voyager subarch under those harsh conditions.

Hopefully we can figure out how to initialize apics in init_IRQ and remove
the need to disable io_apics and this dependency.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-07-14 21:53:51 -07:00
Catalin Marinas
a7546075e7 [PATCH] Fix a memory leak in the i386 setup code
Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-07-14 21:53:51 -07:00
Chuck Ebbert
b701533109 [PATCH] i386: handle_BUG(): don't print garbage if debug info unavailable
handle_BUG() tries to print file and line number even when they're not
available (CONFIG_DEBUG_BUGVERBOSE is not set.) Change this to print a
message stating info is unavailable instead of printing a misleading
message.

Signed-off-by: Chuck Ebbert <76306.1226@compuserve.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-07-14 21:53:51 -07:00
Marc Zyngier
ee7022dcfb [SPARC64] Fix PSYCHO PCI controler init.
pbm->name should be initialized before calling
pbm_register_toplevel_resources. Move the call a few lines down to
avoid a nice Oops.

Signed-off-by: Marc Zyngier <maz@misterjones.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-07-14 17:00:30 -07:00
David S. Miller
a49261585e [SPARC64] psycho: Fix pbm->name handling in pbm_register_toplevel_resources()
We shouldn't overwrite it, it's the device node full name
already and that's what we want.

Based upon a report from Marc Zyngier.

Signed-off-by: David S. Miller <davem@davemloft.net>
2006-07-14 17:00:28 -07:00
David S. Miller
d8573e20d5 [SPARC64]: Make sure IRQs are disabled properly during early boot.
Else we trigger the new irqs_disable() assertion in start_kernel().

Signed-off-by: David S. Miller <davem@davemloft.net>
2006-07-14 17:00:21 -07:00
Russell King
b1c495ffb3 [ARM] Fix cats build
Fix more fallout from 894673ee61.

arch/arm/mach-footbridge/cats-hw.c: In function 'fixup_cats':
arch/arm/mach-footbridge/cats-hw.c:81: error: 'ORIG_VIDEO_LINES' undeclared (first use in this function)
...

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-07-14 16:23:33 +01:00
Linus Torvalds
ab6cf0d0cb Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus
* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (53 commits)
  [MIPS] sparsemem: fix crash in show_mem
  [MIPS] vr41xx: Update workpad setup function
  [MIPS] vr41xx: Update e55 setup function
  [MIPS] vr41xx: Removed old v2.4 VRC4173 driver
  [MIPS] vr41xx: Move IRQ numbers to asm-mips/vr41xx/irq.h
  [MIPS] MIPSsim: Build fix, rename sim_timer_setup -> plat_timer_setup.
  [MIPS] Remove unused code.
  [MIPS] IP22 Fix brown paper bag in RTC code.
  [MIPS] Atlas, Malta, SEAD: Don't disable interrupts in mips_time_init().
  [MIPS] Replace board_timer_setup function pointer by plat_timer_setup.
  [MIPS] Nuke redeclarations of board_time_init.
  [MIPS] Remove redeclarations of setup_irq().
  [MIPS] Nuke redeclarations of board_timer_setup.
  [MIPS] Print out TLB handler assembly for debugging.
  [MIPS] SMTC: Reformat to Linux style.
  [MIPS] MIPSsim: Delete redeclaration of ll_local_timer_interrupt.
  [MIPS] IP27: Reformatting.
  [MIPS] IP27: Invoke setup_irq for timer interrupt so proc stats will be shown.
  [MIPS] IP27: irq_chip startup method returns unsigned int.
  [MIPS] IP27: struct irq_desc member handler was renamed to chip.
  ...
2006-07-13 16:57:04 -07:00
Linus Torvalds
a23f4636c9 Merge master.kernel.org:/home/rmk/linux-2.6-arm
* master.kernel.org:/home/rmk/linux-2.6-arm:
  [ARM] arch/arm/kernel/bios32.c: no need to set isa_bridge
  [ARM] 3729/3: EABI padding rules necessitate the packed attribute of floatx80
  [ARM] 3725/1: sharpsl_pm: warn about wrong temperature
  [ARM] 3723/1: collie charging
  [ARM] 3728/1: Restore missing CPU Hotplug irq helper
  [ARM] 3727/1: fix ucb initialization on collie
  [ARM] Allow Versatile to be built for AB and PB
  [ARM] 3726/1: update {ep93xx,ixp2000,ixp23xx,lpd270,onearm} defconfigs to 2.6.18-rc1
  [ARM] 3721/1: Small cleanup for locomo.c
2006-07-13 16:37:29 -07:00
Atsushi Nemoto
f4dee85e2c [MIPS] sparsemem: fix crash in show_mem
With sparsemem, pfn should be checked by pfn_valid() before pfn_to_page().

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2006-07-13 21:26:22 +01:00
Yoichi Yuasa
bddc8134db [MIPS] vr41xx: Update workpad setup function
Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2006-07-13 21:26:21 +01:00
Yoichi Yuasa
f26811e0d8 [MIPS] vr41xx: Update e55 setup function
Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2006-07-13 21:26:20 +01:00
Yoichi Yuasa
efcb487a8e [MIPS] vr41xx: Removed old v2.4 VRC4173 driver
Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2006-07-13 21:26:19 +01:00
Yoichi Yuasa
66151bbd20 [MIPS] vr41xx: Move IRQ numbers to asm-mips/vr41xx/irq.h
Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2006-07-13 21:26:19 +01:00
Ralf Baechle
5fd3265738 [MIPS] MIPSsim: Build fix, rename sim_timer_setup -> plat_timer_setup.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2006-07-13 21:26:19 +01:00
Ralf Baechle
75da124ac0 [MIPS] Remove unused code.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2006-07-13 21:26:18 +01:00
Julien BLACHE
d1d60ded2b [MIPS] IP22 Fix brown paper bag in RTC code.
This patch fixes a typo in arch/mips/sgi-ip22/ip22-time.c, leading to the
incorrect year being set into the RTC chip.

Signed-off-by: Julien BLACHE <jb@jblache.org>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2006-07-13 21:26:18 +01:00
Ralf Baechle
ece2246ebd [MIPS] Atlas, Malta, SEAD: Don't disable interrupts in mips_time_init().
By the time it's called from time_init interrupts are still disabled.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2006-07-13 21:26:18 +01:00
Ralf Baechle
54d0a216f4 [MIPS] Replace board_timer_setup function pointer by plat_timer_setup.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

---
2006-07-13 21:26:17 +01:00
Ralf Baechle
2c70df5b98 [MIPS] Nuke redeclarations of board_time_init.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2006-07-13 21:26:17 +01:00
Ralf Baechle
046f8f705b [MIPS] Remove redeclarations of setup_irq().
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2006-07-13 21:26:16 +01:00
Ralf Baechle
50785a595c [MIPS] Nuke redeclarations of board_timer_setup.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2006-07-13 21:26:16 +01:00
Thiemo Seufer
115f2a44e0 [MIPS] Print out TLB handler assembly for debugging.
Small update, using pr_debug and pr_info.

Signed-off-by: Thiemo Seufer <ths@networkno.de>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2006-07-13 21:26:16 +01:00
Ralf Baechle
4bf42d4272 [MIPS] SMTC: Reformat to Linux style.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2006-07-13 21:26:15 +01:00
Ralf Baechle
783b09dc28 [MIPS] MIPSsim: Delete redeclaration of ll_local_timer_interrupt.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2006-07-13 21:26:14 +01:00
Ralf Baechle
40fa4b6a07 [MIPS] IP27: Reformatting.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2006-07-13 21:26:14 +01:00
Ralf Baechle
bf283630d0 [MIPS] IP27: Invoke setup_irq for timer interrupt so proc stats will be shown.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2006-07-13 21:26:14 +01:00
Ralf Baechle
cc25ab0086 [MIPS] IP27: irq_chip startup method returns unsigned int.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2006-07-13 21:26:13 +01:00
Ralf Baechle
a365e53fe1 [MIPS] IP27: struct irq_desc member handler was renamed to chip.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2006-07-13 21:26:12 +01:00
Yoichi Yuasa
b8828d3e0d [MIPS] Remove vmlinux.rm200 target from makefile.
Long ago in the dark ages this was used a MIPS a.out binary to be used
with Milo which is obsolete since years.

Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2006-07-13 21:26:12 +01:00
Yoichi Yuasa
2874fe5533 [MIPS] vr41xx: Replace magic number for P4K bit with symbol.
Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2006-07-13 21:26:11 +01:00
Yoichi Yuasa
1058ecda9b [MIPS] vr41xx: Changed workaround to recommended method
Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2006-07-13 21:26:11 +01:00
Thiemo Seufer
30f244aed3 [MIPS] Oprofile: Fix build failure due to warning and -Werror.
Signed-off-by: Thiemo Seufer <ths@networkno.de>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2006-07-13 21:26:09 +01:00
Ralf Baechle
192ef36619 [MIPS] TRACE_IRQFLAGS_SUPPORT support.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2006-07-13 21:26:09 +01:00
Atsushi Nemoto
565200a146 [MIPS] Do not count pages in holes with sparsemem
With some memory model other than FLATMEM, the single node can
contains some holes so there might be many invalid pages.  For
example, with two 256M memory and one 256M hole, some variables
(num_physpage, totalpages, nr_kernel_pages, nr_all_pages, etc.) will
indicate that there are 768MB on this system.  This is not desired
because, for example, alloc_large_system_hash() allocates too many
entries.
    
Use free_area_init_node() with counted zholes_size[] instead of
free_area_init().

For num_physpages, use number of ram pages instead of max_low_pfn.

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2006-07-13 21:26:08 +01:00
Atsushi Nemoto
7de58fab9c [MIPS] Sparsemem fixes
1. MIPS should select SPARSEMEM_STATIC since allocating bootmem in
   memory_present() will corrupt bootmap area.
2. pfn_valid() for SPARSEMEM is defined in linux/mmzone.h

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2006-07-13 21:26:07 +01:00
Thiemo Seufer
cfbae5d331 [MIPS] IP32: Fix wreckage caused by recent SA_* constant replacement.
Signed-off-by: Thiemo Seufer <ths@networkno.de>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2006-07-13 21:26:07 +01:00
Yoichi Yuasa
4e8ab36182 [MIPS] VR41xx: Set VR41_CONF_BP only for PrId 0x0c80.
Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2006-07-13 21:26:06 +01:00
Yoichi Yuasa
f72af3cf06 [MIPS] MIPS MT: Fix build error.
Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2006-07-13 21:26:06 +01:00
Thiemo Seufer
5af1c7a4d4 [MIPS] BCM1480: Fix fatal typo in the rewritten interrupt handler.
Signed-off-by: Thiemo Seufer <ths@networkno.de>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2006-07-13 21:26:05 +01:00
Thiemo Seufer
6e61e85b09 [MIPS] Sibyte: Improve interrupt latency again for sb1250/bcm1480
this patch restores the behaviour of the old (assembly-written)
interrupt handler, the handler is left as soon as a single interrupt
cause is handled.

Signed-off-by: Thiemo Seufer <ths@networkno.de>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2006-07-13 21:26:05 +01:00