30 Aug, 2008
1 commit
-
Signed-off-by: David S. Miller
29 Aug, 2008
1 commit
-
When a device is under an EBUS or ISA bus, the resource flags
don't get set properly.Fix this by re-evaluating the resource flags at each level of
bus as we apply ranges on the way to the root. And let PCI
override any existing flags setting, but don't let the
default flags calculator make such overrides.Signed-off-by: David S. Miller
25 Aug, 2008
1 commit
-
Signed-off-by: David S. Miller
14 Aug, 2008
3 commits
-
First, lmb_enforce_memory_limit() interprets it's argument
(mostly, heh) as a size limit not an address limit. So pass
the raw cmdline_memory_size value into it. And we don't
need to check it against zero, lmb_enforce_memory_limit() does
that for us.Next, free_initmem() needs special handling when the kernel
command line trims the available memory. The problem case is
if the trimmed out memory is where the kernel image itself
resides.When that memory is trimmed out, we don't add those physical
ram areas to the sparsemem active ranges, amongst other things.
Which means that this free_initmem() code will free up invalid
page structs, resulting in either crashes or hangs.Just quick fix this by not freeing initmem at all if "mem="
was given on the boot command line.Signed-off-by: David S. Miller
-
If 'start' does not begin on a page boundary, we can overshoot
past 'end'.Signed-off-by: David S. Miller
-
Things like lockdep can try to do stack backtraces before
the irqstack blocks have been setup. So don't try to match
their ranges so early on.Also, remove unused variable in save_stack_trace().
Signed-off-by: David S. Miller
13 Aug, 2008
1 commit
-
Signed-off-by: David S. Miller
12 Aug, 2008
1 commit
-
The calls down into prom_printf() when we detect an overflowed stack
can recurse again since the overflow stack will be "below" the current
kernel stack limit.Prevent this by just returning straight if we are on the stack
overflow safe stack already.Signed-off-by: David S. Miller
10 Aug, 2008
1 commit
-
Based upon a report and initial patch by Friedrich Oslage.
The intention is to provide this facility for
__trigger_all_cpu_backtrace even if MAGIC_SYSRQ is not set.The only part that should have MAGIC_SYSRQ ifdef protection is the
sparc_globalreg_op sysrq regitration and immediate code.Signed-off-by: David S. Miller
08 Aug, 2008
2 commits
-
Bug reported by Alexander Beregalov.
Before we dereference the stack frame or try to peek at the
pt_regs magic value, make sure the entire object is within
the kernel stack bounds.Signed-off-by: David S. Miller
-
Use linux/of_device.h instead.
Signed-off-by: Stephen Rothwell
Signed-off-by: David S. Miller
07 Aug, 2008
1 commit
-
Noticed by Adrian Bunk.
Signed-off-by: David S. Miller
05 Aug, 2008
14 commits
-
All of the xcall delivery implementation is cpumask agnostic, so
we can pass around pointers to const cpumask_t objects everywhere.The sad remaining case is the argument to arch_send_call_function_ipi().
Signed-off-by: David S. Miller
-
It can eat up a lot of stack space when NR_CPUS is large.
We retain some of it's functionality by reporting at least one
of the cpu's which are seen in error state.Signed-off-by: David S. Miller
-
Then modify all of the xcall dispatch implementations get passed and
use this information.Now all of the xcall dispatch implementations do not need to be mindful
of details such as "is current cpu in the list?" and "is cpu online?"Signed-off-by: David S. Miller
-
Signed-off-by: David S. Miller
-
This just facilitates the next changeset where we'll be building
the cpu list and mondo block in this helper function.Signed-off-by: David S. Miller
-
The idea is that we'll use this cpu list array and mondo block
even for non-hypervisor platforms.Signed-off-by: David S. Miller
-
Ideally this could be simplified further such that we could pass
the pointer down directly into the xcall_deliver() implementation.But if we do that we need to do the "cpu_online(cpu)" and
"cpu != self" checks down in those functions.Signed-off-by: David S. Miller
-
We know the cpu is online and not the current cpu here.
Signed-off-by: David S. Miller
-
For these cases the callers make sure:
1) The cpus indicated are online.
2) The current cpu is not in the list of indicated cpus.
Therefore we can pass a pointer to the mask directly.
One of the motivations in this transformation is to make use of
"&cpumask_of_cpu(cpu)" which evaluates to a pointer to constant
data in the kernel and thus takes up no stack space.Hopefully someone in the future will change the interface of
arch_send_call_function_ipi() such that it passes a const cpumask_t
pointer so that this will optimize ever further.Signed-off-by: David S. Miller
-
Signed-off-by: David S. Miller
-
There remained some spots still vectoring to the appropriate
*_xcall_deliver() function manually.Signed-off-by: David S. Miller
-
Initialize it using the smp_setup_processor_id() hook.
Signed-off-by: David S. Miller
-
Removed duplicated #include in
arch/sparc64/kernel/signal.c.Signed-off-by: Huang Weiyi
Signed-off-by: David S. Miller -
Based upon a bug report by Mariusz Kozlowski
It uses smp_call_function_masked() now, which has a preemption-disabled
requirement.Signed-off-by: David S. Miller
01 Aug, 2008
2 commits
-
That's the userland thread register, so we should never try to change
it like this.Based upon glibc bug nptl/6577 and suggestions by Jakub Jelinek.
Signed-off-by: David S. Miller
-
The story is that what we used to do when we actually used
smp_report_regs() is that if you specifically only wanted to have the
current cpu's registers dumped you would call "__show_regs()"
otherwise you would call show_regs() which also invoked
smp_report_regs().Now that we killed off smp_report_regs() there is no longer any
reason to have these two routines, just show_regs() is sufficient.Also kill off a stray declaration of show_regs() in sparc64_ksym.c
Signed-off-by: David S. Miller
31 Jul, 2008
4 commits
-
All the call sites are #if 0'd out and we have a much more
useful global cpu dumping facility these days. smp_report_regs()
is way too verbose to be usable.Signed-off-by: David S. Miller
-
It just clutters everything up and even though I wrote that hack I
can't remember having used it in the last 5 years or so.Signed-off-by: David S. Miller
-
We already have code that does this, but it is only currently attached
to sysrq-'y'.Signed-off-by: David S. Miller
-
Record one more level of stack frame program counter.
Particularly when lockdep and all sorts of spinlock debugging is
enabled, figuring out the caller of spin_lock() is difficult when the
cpu is stuck on the lock.Signed-off-by: David S. Miller
30 Jul, 2008
1 commit
-
I forgot to delete this when I removed the ISA bus layer
from the sparc ports.Signed-off-by: David S. Miller
28 Jul, 2008
6 commits
-
We were picking %i7 out of the wrong register window
stack slot.Signed-off-by: David S. Miller
-
The sparc64 arch code has all the prerequisites, so set HAVE_ARCH_TRACEHOOK.
Signed-off-by: Roland McGrath
-
Call the standard hook after setting up signal handlers.
Signed-off-by: Roland McGrath
Signed-off-by: David S. Miller -
This adds TIF_NOTIFY_RESUME support for sparc64.
When set, we call tracehook_notify_resume() on the way to user mode.Signed-off-by: Roland McGrath
-
This changes sparc64 syscall tracing to use the new tracehook.h entry
points.[ Add assembly changes to force an immediate -ENOSYS return from
the system call when syscall_trace() returns non-zero at syscall
entry. -DaveM ]Signed-off-by: Roland McGrath
Signed-off-by: David S. Miller -
The majority of this patch was created by the following script:
***
ASM=arch/sparc/include/asm
mkdir -p $ASM
git mv include/asm-sparc64/ftrace.h $ASM
git rm include/asm-sparc64/*
git mv include/asm-sparc/* $ASM
sed -ie 's/asm-sparc64/asm/g' $ASM/*
sed -ie 's/asm-sparc/asm/g' $ASM/*
***The rest was an update of the top-level Makefile to use sparc
for header files when sparc64 is being build.
And a small fixlet to pick up the correct unistd.h from
sparc64 code.Signed-off-by: Sam Ravnborg
27 Jul, 2008
1 commit
-
Remove arch-specific show_mem() in favor of the generic version.
This also removes the following redundant information display:
- free swap pages, printed by show_swap_cache_info()
- pages in swapcache, printed by show_swap_cache_info()
- dirty pages, writeback pages, mapped pages, slab pages,
pagetables pages, printed by show_free_areas()where show_mem() calls show_free_areas(), which calls
show_swap_cache_info().Signed-off-by: Johannes Weiner
Acked-by: David S. Miller
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds