09 Sep, 2005
4 commits
-
The earlier commit 8d9273918635f0301368c01b56c03a6f339e8d51
(Consolidate early console and PPCDBG code) broke iSeries because
it caused unregister_console(&udbg_console) to be called
unconditionally. iSeries never registers the udbg_console.This just reverts part of the change.
Signed-off-by: Stephen Rothwell
Signed-off-by: Paul Mackerras -
This fixes a severe bug in the bpa_iic driver that caused
all sorts of problems.We had been using incorrect priority values for inter processor
interrupts, which resulted in always doing CALL_FUNCTION
instead of RESCHEDULE or DEBUGGER_BREAK.The symptoms cured by this patch include bad performance on
SMP systems spurious kernel panics in the IPI code.Signed-off-by: Arnd Bergmann
Signed-off-by: Paul Mackerras -
This patch removes CONFIG_PCI_NAMES.
Signed-off-by: Adrian Bunk
Signed-off-by: Greg Kroah-Hartman
08 Sep, 2005
6 commits
-
Rather than hard-coding the platform device IDs, enumerate them.
We don't particularly care about the actual ID we get, just as
long as they're unique.Signed-off-by: Russell King
-
This patch fixes a race condition where in system used to hang or sometime
crash within minutes when kprobes are inserted on ISR routine and a task
routine.The fix has been stress tested on i386, ia64, pp64 and on x86_64. To
reproduce the problem insert kprobes on schedule() and do_IRQ() functions
and you should see hang or system crash.Signed-off-by: Anil S Keshavamurthy
Signed-off-by: Ananth N Mavinakayanahalli
Acked-by: Prasanna S Panchamukhi
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
This patch contains the ppc64 architecture specific changes to prevent the
possible race conditions.Signed-off-by: Prasanna S Panchamukhi
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
This patch converts kcalloc(1, ...) calls to use the new kzalloc() function.
Signed-off-by: Pekka Enberg
Cc: Paul Mackerras
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
64 bit architectures all implement their own compatibility sys_open(),
when in fact the difference is simply not forcing the O_LARGEFILE
flag. So use the a common function instead.Signed-off-by: Miklos Szeredi
Cc:
Cc: Christoph Hellwig
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
This patch cleans up a commonly repeated set of changes to the NTP state
variables by adding two helper inline functions:ntp_clear(): Clears the ntp state variables
ntp_synced(): Returns 1 if the system is synced with a time server.
This was compile tested for alpha, arm, i386, x86-64, ppc64, s390, sparc,
sparc64.Signed-off-by: John Stultz
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
06 Sep, 2005
17 commits
-
Changing CONFIG_LOCALVERSION rebuilds too much, for no apparent reason.
Use system_utsname for progress and debug header.
Signed-off-by: Olaf Hering
Signed-off-by: Paul Mackerras -
Currently, we set the class bit in kernel SLB entries, and clear it on
user SLB entries. On POWER5, ERAT entries created in real mode have
the class bit clear. So to avoid flushing kernel ERAT entries on each
context switch, this patch inverts our usage of the class bit, setting
it on user SLB entries and clearing it on kernel SLB entries.Booted on POWER5 and G5.
Signed-off-by: David Gibson
Signed-off-by: Paul Mackerras -
Fix build with oprofile disabled.
Signed-off-by: Anton Blanchard
Signed-off-by: Paul Mackerras -
Move oprofile_model into cpu feature struct.
Signed-off-by: Anton Blanchard
Signed-off-by: Paul Mackerras -
Add oprofile cpu_type to cpu feature struct.
Signed-off-by: Anton Blanchard
Signed-off-by: Paul Mackerras -
Remove the CPU_FTR_PMC8 feature now we encode the number of PMCs
directly.Signed-off-by: Anton Blanchard
Signed-off-by: Paul Mackerras -
Add a field in the cputable struct to store the number of PMCs.
Signed-off-by: Anton Blanchard
Signed-off-by: Paul Mackerras -
I would like to be able to read the lparcfg data from any user so we
can make "intelligent" decisions based on underlying attributes when
running in lpars. Yes there's software that likes to do this :) and
runs as non-root.It's very similar to say VM where you can get CP to provide feedback
of the real hardware inside a VM guest.Signed-off-by: Wim Coekaerts
Signed-off-by: Paul Mackerras -
Removed PPC64 architecture specific users of asm/segment.h.
Signed-off-by: Kumar Gala
Signed-off-by: Paul Mackerras -
The following patch fixes 2 issues:
1) use PLATFORM_LPAR bit to test if running in LPAR mode
2) systemcfg pointer is assigned from static data in
arch/ppc64/kernel/pacaData.c. The file arch/ppc64/kernel/head.S
now refers to is using the GOT binding to the pointer and hence
must deref it.Signed-off-by: Jimi Xenidis
Signed-off-by: Paul Mackerras -
Consolidate the early console and PPCDBG code in udbg.c
Signed-off-by: Milton Miller
Signed-off-by: Anton Blanchard
Signed-off-by: Paul Mackerras -
Trim some no longer needed includes from udbg.c and friends.
Signed-off-by: Milton Miller
Signed-off-by: Anton Blanchard
Signed-off-by: Paul Mackerras -
Take udbg out of ppc_md. Allows us to not overwrite early udbg inits
when assigning ppc_md.Signed-off-by: Milton Miller
Signed-off-by: Anton Blanchard
Signed-off-by: Paul Mackerras -
Split scc and 15550 functions from udbg each into their own file.
This makes them more symetric with the lpar and btext code.Signed-off-by: Milton Miller
Signed-off-by: Anton Blanchard
Signed-off-by: Paul Mackerras -
make udbg_init_uart set the ppc_md udbg methods.
Signed-off-by: Milton Miller
Signed-off-by: Anton Blanchard
Signed-off-by: Paul Mackerras -
Make the 16550 and real mode 16550 use tail recursion like the scc code
instead of repeating the routine except for the character sent.Gcc recoginizes the tail recursion and handles it efficently without
stack allocations. The maple real putc shrinks from 188 to 104 bytes
of instructions. udbg_putc drops from 188 to 140 bytes.Signed-off-by: Milton Miller
Signed-off-by: Anton Blanchard
Signed-off-by: Paul Mackerras -
Now that xmon is fixed we should not need the dummy getc routines.
Signed-off-by: Milton Miller
Signed-off-by: Anton Blanchard
Signed-off-by: Paul Mackerras
05 Sep, 2005
2 commits
-
Use msleep_interruptible() instead of schedule_timeout() in ppc64-specific
code to cleanup/simplify the sleeping logic. Change the units of the
parameter of do_event_scan_all_cpus() to milliseconds from jiffies. The
return value of rtas_extended_busy_delay_time() was incorrectly being used
as a jiffies value (it is actually milliseconds), which is fixed by using
the value as a parameter to msleep_interruptible(). Also, use
rtas_extended_busy_delay_time() in another case where similar logic is
duplicated.Signed-off-by: Nishanth Aravamudan
Cc: Paul Mackerras
Cc: Benjamin Herrenschmidt
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
We need to indicate to the hypervisor that it needs to save our VMX
registers when switching partitions on a shared-processor system, just as
it needs to for FP and PMC registers.This could be made to be on-demand when VMX is used, but we don't do that
for FP nor PMC right now either so let's not overcomplicate things.Signed-off-by: Olof Johansson
Acked-by: Paul Mackerras
Cc: Anton Blanchard
Cc:
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
30 Aug, 2005
11 commits
-
This patch fixes a rare memory leak found by Coverity.
Signed-off-by: Joel Schopp
Signed-off-by: Paul Mackerras -
Coverity found more unused code.
Signed-off-by: Joel Schopp
Signed-off-by: Paul Mackerras -
Some RS64-based machines (p620, F80, others) have problems with firmware
returning 0xdeadbeef instead of failure to allocations that end at the
1GB mark.We have two options:
1. Detect the undocumented 0xdeadbeef return value and interpret it as
a failure.
2. Avoid allocating that high.(2) is really the cleaner solution here. 768MB is plenty of room so use
that as the max alloc_top instead of 1GB.Signed-off-by: Olof Johansson
Signed-off-by: Paul Mackerras -
Make MODULE_DEVICE_TABLE work for vio devices.
Signed-off-by: Stephen Rothwell
Signed-off-by: Paul Mackerras -
Create vio_bus_ops so that we just pass a structure to vio_bus_init
instead of three separate function pointers.Rearrange vio.h to avoid forward references. vio.h only needs
struct device_node from prom.h so remove the include and just
declare it.Signed-off-by: Stephen Rothwell
Signed-off-by: Paul Mackerras -
Take some assignments out of vio_register_device_common and
rename it to vio_register_device.Signed-off-by: Stephen Rothwell
Signed-off-by: Paul Mackerras -
Formatting changes to vio.c to bring it closer to the
kernel coding standard.Signed-off-by: Stephen Rothwell
Signed-off-by: Paul Mackerras -
gcc 3.4 (at least the build we are using) puts the gcc generated .ident
string into a .note section at the end of the files it compiles (gcc
3.3.3-hammer and gcc 4.0.2 Debian puts it in the .text section). This
means that the lparmap.s file we produce in the iSeries build may end with
a .note section. When we include it into head.S, the assembler can no
longer resolve some of the conditional branches since the target label
ends up too far away. This patch just forces us back to the .text section
after including lparmap.s.The breakage was caused by my patch "iSeries build with newer assemblers
and compilers" (sha1-id: 2ad56496627630ebc99f06af5f81ca23e17e014e).Signed-off-by: Stephen Rothwell
Signed-off-by: Paul Mackerras -
A mistake rebasing the series of ppc64 head.S cleanup patches meant
the #include of lparmap.s, needed for iSeries was lost. This patch
puts it back again.Signed-off-by: David Gibson
Signed-off-by: Paul Mackerras -
It has been reported that the way Linux handles NODEFER for signals is
not consistent with the way other Unix boxes handle it. I've written a
program to test the behavior of how this flag affects signals and had
several reports from people who ran this on various Unix boxes,
confirming that Linux seems to be unique on the way this is handled.The way NODEFER affects signals on other Unix boxes is as follows:
1) If NODEFER is set, other signals in sa_mask are still blocked.
2) If NODEFER is set and the signal is in sa_mask, then the signal is
still blocked. (Note: this is the behavior of all tested but Linux _and_
NetBSD 2.0 *).The way NODEFER affects signals on Linux:
1) If NODEFER is set, other signals are _not_ blocked regardless of
sa_mask (Even NetBSD doesn't do this).2) If NODEFER is set and the signal is in sa_mask, then the signal being
handled is not blocked.The patch converts signal handling in all current Linux architectures to
the way most Unix boxes work.Unix boxes that were tested: DU4, AIX 5.2, Irix 6.5, NetBSD 2.0, SFU
3.5 on WinXP, AIX 5.3, Mac OSX, and of course Linux 2.6.13-rcX.* NetBSD was the only other Unix to behave like Linux on point #2. The
main concern was brought up by point #1 which even NetBSD isn't like
Linux. So with this patch, we leave NetBSD as the lonely one that
behaves differently here with #2.Signed-off-by: Linus Torvalds