Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 346823
b: refs/heads/master
c: cedddd8
h: refs/heads/master
i:
  346821: aee0b21
  346819: 20c6ba4
  346815: 626c2a9
v: v3
  • Loading branch information
Ian Munsie authored and Benjamin Herrenschmidt committed Nov 15, 2012
1 parent 98d196d commit 6869e44
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: fc8effa4e46fb7bd8a3c5e293efc56b74a54b7a5
refs/heads/master: cedddd812a79a4fda3885a15711aee3de78c4a24
33 changes: 33 additions & 0 deletions trunk/arch/powerpc/platforms/pseries/setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@
#include <linux/root_dev.h>
#include <linux/cpuidle.h>
#include <linux/of.h>
#include <linux/kexec.h>

#include <asm/mmu.h>
#include <asm/processor.h>
Expand Down Expand Up @@ -397,6 +398,35 @@ static int __init pSeries_enable_reloc_on_exc(void)
}
}

#ifdef CONFIG_KEXEC
static long pSeries_disable_reloc_on_exc(void)
{
long rc;

while (1) {
rc = disable_reloc_on_exceptions();
if (!H_IS_LONG_BUSY(rc))
return rc;
mdelay(get_longbusy_msecs(rc));
}
}

static void pSeries_machine_kexec(struct kimage *image)
{
long rc;

if (firmware_has_feature(FW_FEATURE_SET_MODE) &&
(image->type != KEXEC_TYPE_CRASH)) {
rc = pSeries_disable_reloc_on_exc();
if (rc != H_SUCCESS)
pr_warning("Warning: Failed to disable relocation on "
"exceptions: %ld\n", rc);
}

default_machine_kexec(image);
}
#endif

static void __init pSeries_setup_arch(void)
{
panic_timeout = 10;
Expand Down Expand Up @@ -697,4 +727,7 @@ define_machine(pseries) {
.progress = rtas_progress,
.system_reset_exception = pSeries_system_reset_exception,
.machine_check_exception = pSeries_machine_check_exception,
#ifdef CONFIG_KEXEC
.machine_kexec = pSeries_machine_kexec,
#endif
};

0 comments on commit 6869e44

Please sign in to comment.