Skip to content

Commit

Permalink
Revert "[POWERPC] Fix RTAS os-term usage on kernel panic"
Browse files Browse the repository at this point in the history
This reverts commit a2b5181.

It turns out that this change caused some machines to fail to come
back up when being rebooted, and generated an error in the hypervisor
error log on some machines.  The platform architecture (PAPR) is a
little unclear on exactly when the RTAS ibm,os-term function should be
called.  Until that is clarified I'm reverting this commit.

Signed-off-by: Paul Mackerras <paulus@samba.org>
  • Loading branch information
Paul Mackerras committed Dec 2, 2007
1 parent 92d499d commit 8f51506
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 10 deletions.
12 changes: 6 additions & 6 deletions arch/powerpc/kernel/rtas.c
Original file line number Diff line number Diff line change
Expand Up @@ -638,18 +638,18 @@ void rtas_halt(void)
/* Must be in the RMO region, so we place it here */
static char rtas_os_term_buf[2048];

void rtas_panic_msg(char *str)
{
snprintf(rtas_os_term_buf, 2048, "OS panic: %s", str);
}

void rtas_os_term(void)
void rtas_os_term(char *str)
{
int status;

if (panic_timeout)
return;

if (RTAS_UNKNOWN_SERVICE == rtas_token("ibm,os-term"))
return;

snprintf(rtas_os_term_buf, 2048, "OS panic: %s", str);

do {
status = rtas_call(rtas_token("ibm,os-term"), 1, 1, NULL,
__pa(rtas_os_term_buf));
Expand Down
3 changes: 1 addition & 2 deletions arch/powerpc/platforms/pseries/setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -507,8 +507,7 @@ define_machine(pseries) {
.restart = rtas_restart,
.power_off = pSeries_power_off,
.halt = rtas_halt,
.panic = rtas_panic_msg,
.machine_shutdown = rtas_os_term,
.panic = rtas_os_term,
.get_boot_time = rtas_get_boot_time,
.get_rtc_time = rtas_get_rtc_time,
.set_rtc_time = rtas_set_rtc_time,
Expand Down
3 changes: 1 addition & 2 deletions include/asm-powerpc/rtas.h
Original file line number Diff line number Diff line change
Expand Up @@ -164,8 +164,7 @@ extern int rtas_call(int token, int, int, int *, ...);
extern void rtas_restart(char *cmd);
extern void rtas_power_off(void);
extern void rtas_halt(void);
extern void rtas_panic_msg(char *str);
extern void rtas_os_term(void);
extern void rtas_os_term(char *str);
extern int rtas_get_sensor(int sensor, int index, int *state);
extern int rtas_get_power_level(int powerdomain, int *level);
extern int rtas_set_power_level(int powerdomain, int level, int *setlevel);
Expand Down

0 comments on commit 8f51506

Please sign in to comment.