| Age | Commit message (Collapse) | Author |
|
This removes three headers from include/asm-ppc64 that are now in
include/asm-powerpc and are sufficiently similar that they can be
used with ARCH=ppc64.
Signed-off-by: Paul Mackerras <paulus@samba.org>
|
|
The pSeries_progress function is called from some places in the rtas code,
which may also be used by non-pSeries platforms.
Though pSeries is currently the only platform type that implements
display-character, the code is actually generic enough to be part of
the rtas subsystem.
I hit a bug here because the generic rtas code tried calling ppc_md.progress,
which points to an __init function on most platforms.
We could also clear the ppc_md.progress pointer when freeing the init memory
to make it more explicit that ppc_md.progress must not be called after
bootup.
Signed-off-by: Arnd Bergmann <arndb@de.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
|
|
The rtc rtas functions are not pSeries specific but can
also be used by BPA and other SLOF based platforms
Signed-off-by: Arnd Bergmann <arndb@de.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
|
|
This patch is from John Rose <johnrose@austin.ibm.com>
This patch changes the rtas wrapper functions in rtas.c to map RTAS
failure codes to conventional error values. The goal is to make
failure conditions obvious in the wrapper functions and in the caller
code.
Signed-off-by: John Rose <johnrose@austin.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
|
- Move some function prototypes into header files.
- Remove late_setup_cpu, put the set indicator and vpa init into xics
probe instead
- rtas-proc was doing weird stuff with the 9005 indicator. Get rid of
it.
- Dont open code the set_indicator call in the hotplug code
Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
|
Reserve the kernel memory (0 - klimit) in the kernel instead of the wrapper.
Remove an old comment that incorrectly referred to klimit.
Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
|
This is the third & hopefully final version of the monster cleanup
patch. It does significant cleanups of the early boot code of the
ppc64 kernel, and begins the long process of cleaning up & splitting
properly the platform support.
It completely reworks the interface between the early code that is
run in the firmware context (prom_init) and the rest of the kernel,
in such a way that will make kexec or static device-tree for embedded
people possible. The early init code can eventually be moved to a
separate link entity, it no longer touches any of the kernel globals,
everything is passed via a single blob of data in memory containing
a flattened version of the device-tree and a memory reserve map.
While doing it, I also cut the ties between pSeries and Powermac. Now,
the kernel config provides a choice between legacy iSeries and
"multiplatform". The later is a set of various supported platform,
each of them beeing a boolean switch, currently defined beeing pSeries
and PowerMac. You can enable both or just one of them. CONFIG_PPC_PSERIES
is now specifically set for IBM pSeries support, you can build a PowerMac
kernel without pSeries support if you which.
The main goal here is to simplify addition of new platform types.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
|
This patch uses the firmware-defined error log buffer length for calls to
the firmware routine 'check-exception'. It also simplifies code in rtasd.c
that is attempting to obtain the error log length.
Signed-off-by: Linas Vepstas <linas@linas.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
|
On some platforms (notably power5) you can't enable surveillance
(firmware/service processor watchdog) from the kernel - you have to do
it in the firmware.
This patch changes enable_surveillance() to make the message that is
printed in this situation more informative. Additionaly, the rtas_call
was changed to rtas_set_indicator so as to avoid having to handle
RTAS_BUSY returns.
Signed-off-by: Nathan Fontenot <nfont@austin.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
|
Currently on pSeries systems the kernel will print out a hex dump of any
error events reported by the platform at boot time. These can be rather
large and are practically incomprehensible to humans. With this patch, the
kernel will by default print a 1-line summary for each error reported with
the severity, type, etc. printed as text strings. The old behaviour is
still available by using the rtasmsgs=on kernel command line option. The
patch also renames some RTAS-specific symbols to start with "RTAS_".
Signed-off-by: Nathan Fontenot <nfont@austin.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
|
This patch removes the RTAS arguments structure on ppc64 from the PACA.
The args have to be in the RMO, but since we have a global spinlock for
RTAS anyway, there's no reason to have a separate copy of the args per-CPU.
This patch replaces the PACA field with a single instance in the global
rtas structure.
The one exception is for the rtas_stop_self() call, which can't take the
lock, because it never returns. But it has a fixed set of arguments, so we
can use another global instance which is initialized at boot.
This lets us remove rtas.h from paca.h, which substantially reduces overall
#include hairiness (because paca.h is now, as it wants to be, a nice
low-level structure-defining header which relies on very little and can
safely be included almost anywhere). Although it does add some noise to
the patch, because a bunch of places relied on the indirect inclusion of
rtas.h, or even more indirect inclusions (see the hunks applying to eeh.h
and current.h!).
Cc: Paul Mackerras <paulus@samba.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
|
Somebody back in the mists of time decided that call_prom and rtas_call
should return longs even though both of those bits of firmware run in
32-bit mode and produce a 32-bit result. To make life more interesting,
the 32-bit result gets zero-extended to 64 bits, which makes checking
for a -1 return value more complicated than it should be.
This patch changes call_prom and rtas_call to return an int, and makes
the corresponding changes to use ints for the variables used to hold
those return values.
While I was doing this I finally got annoyed enough with the strings of
prom_print() and prom_print_hex() calls that we do to write a simple
prom_printf. I deliberately didn't use snprintf because the execution
environment is weird at this point - we aren't running at the address we
are linked at just yet - and I didn't want to inflict that on any code
outside this file. I also did a prom_debug() macro, which eliminated a
few ifdefs.
There are also a bunch of other minor cleanups. This patch makes very
few algorithmic changes but does get rid of a lot of casts. :)
I have been running with this patch for a couple of weeks, and Anton has
tested it too.
Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
|
From: Paul Mackerras <paulus@samba.org>
We declare enter_rtas with a struct rtas_args * argument, though it is
supposed to be a physical address, and then every time we call it we cast the
unsigned long result from __pa() to a void *. This patch changes the
declaration of enter_rtas to make it take an unsigned long argument, and
removes the cast from all the callers. The actual enter_rtas() routine is in
assembler and doesn't need to be changed.
|
|
From: Joel Schopp <jschopp@austin.ibm.com>
I was looking at rtas serialization for reasons I won't go into here.
While wandering through the code I found that two functions were not
properly serialized. phys_call_rtas and phys_call_rtas_display_status are
the functions. After looking further they are redundant and not
used anywhere at all.
|
|
From: Michael Strosaker <strosake@us.ibm.com>
Add RTAS os-term call for panic on pSeries
|
|
From: Joel Schopp <jschopp@austin.ibm.com>
Add support for hotplug cpus
|
|
From: Jake Moilanen <moilanen@austin.ibm.com>
Change the loglevel of an error log printed so it
does not goto the console. Since error logs can
be upto 2k in size, it can spam the console.
|
|
From: John Rose <johnrose@austin.ibm.com>
Added rtas_set_power_level()
|
|
settings of the surveillance timeout, from Nathan Fontenot
From: Anton Blanchard <anton@samba.org>
Update the surveillance boot parameter to allow all valid settings of the
surveillance timeout, from Nathan Fontenot
|
|
From: Anton Blanchard <anton@samba.org>
This is a port of the nvram buffering/error logging code from 2.4 to 2.6. It
includes moving /proc/rtas to /proc/ppc64/rtas and making /proc/rtas a
symlink to /proc/ppc64/rtas. It also splits up the /dev/nvram device
read/write functions from the basic nvram access functions, and adds ppc_md
fields for the nvram access functions.
|
|
From: Anton Blanchard <anton@samba.org>
Added RTAS syscall. Reserved lowmem rtas_rmo_buf for userspace use. Created
"rmo_buffer" proc file to export bounds of rtas_rmo_buf.
|
|
from John Rose
From: Anton Blanchard <anton@samba.org>
rename the rtas event classes to avoid namespace collisions, from John Rose
|
|
From: Anton Blanchard <anton@samba.org>
Added functions for 3 RTAS calls
get-power-level
get-sensor-state
set-indicator
|
|
|
|
|
|
|
|
|
|
|
|
|
|
iSeries (AS/400).
There are no changes outside of include/asm-ppc64 and arch/ppc64
in this changeset.
|