linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: Michael Neuling <mikey@neuling.org>
To: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Michael Neuling <mikey@neuling.org>,
	linuxppc-dev@lists.ozlabs.org, Ian Munsie <imunsie@au1.ibm.com>,
	Matt Evans <matt@ozlabs.org>
Subject: [PATCH 11/14] powerpc: Add wrappers to enable/disable relocation on exceptions
Date: Fri,  9 Nov 2012 17:19:10 +1100	[thread overview]
Message-ID: <1352441953-29096-13-git-send-email-mikey@neuling.org> (raw)
In-Reply-To: <1352441953-29096-1-git-send-email-mikey@neuling.org>

From: Ian Munsie <imunsie@au1.ibm.com>

These wrappers hide the parameters that have to be passed to H_SET_MODE
to enable/disable relocation on during exceptions.

As noted in the comments, since these have partition wide scope, they
may take some time to complete and must be periodically retried until
H_SUCCESS is returned.

Signed-off-by: Ian Munsie <imunsie@au1.ibm.com>
Signed-off-by: Michael Neuling <mikey@neuling.org>
---
 arch/powerpc/platforms/pseries/plpar_wrappers.h |   25 +++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/arch/powerpc/platforms/pseries/plpar_wrappers.h b/arch/powerpc/platforms/pseries/plpar_wrappers.h
index 44ad214..e6cc34a 100644
--- a/arch/powerpc/platforms/pseries/plpar_wrappers.h
+++ b/arch/powerpc/platforms/pseries/plpar_wrappers.h
@@ -279,4 +279,29 @@ static inline long plpar_set_mode(unsigned long mflags, unsigned long resource,
 {
 	return plpar_hcall_norets(H_SET_MODE, mflags, resource, value1, value2);
 }
+
+/*
+ * Enable relocation on exceptions on this partition
+ *
+ * Note: this call has a partition wide scope and can take a while to complete.
+ * If it returns H_LONG_BUSY_* it should be retried periodically until it
+ * returns H_SUCCESS.
+ */
+static inline long enable_reloc_on_exceptions(void)
+{
+	/* mflags = 3: Exceptions at 0xC000000000004000 */
+	return plpar_set_mode(3, 3, 0, 0);
+}
+
+/*
+ * Disable relocation on exceptions on this partition
+ *
+ * Note: this call has a partition wide scope and can take a while to complete.
+ * If it returns H_LONG_BUSY_* it should be retried periodically until it
+ * returns H_SUCCESS.
+ */
+static inline long disable_reloc_on_exceptions(void) {
+	return plpar_set_mode(0, 3, 0, 0);
+}
+
 #endif /* _PSERIES_PLPAR_WRAPPERS_H */
-- 
1.7.9.5

  parent reply	other threads:[~2012-11-09  6:19 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-09  6:18 [PATCH 00/14] powerpc: Add support for POWER8 relocation on exceptions Michael Neuling
2012-11-09  6:18 ` [PATCH 01/14] powerpc: Fix name denorm hypervisor symbol Michael Neuling
2012-11-09  6:19 ` [PATCH 02/14] powerpc: Whitespace changes in exception64s.S Michael Neuling
2012-11-09  6:19 ` [PATCH 03/14] powerpc: Remove unessessary 0x3000 location enforcement Michael Neuling
2012-11-09  6:19 ` [PATCH 04/14] powerpc: Make load_hander handle upto 64k offset Michael Neuling
2012-11-09  6:19 ` [PATCH 05/14] powerpc: Turn syscall handler into macros Michael Neuling
2012-11-09  6:19 ` [PATCH 06/14] powerpc: Add new macros needed for relocation on exceptions Michael Neuling
2012-11-09  6:19 ` [PATCH 07/14] powerpc: Add relocation on exception vector handlers Michael Neuling
2012-11-09  6:19 ` [PATCH 08/14] powerpc: Move initial mfspr LPCR out of __init_LPCR Michael Neuling
2012-11-09  6:19 ` [PATCH 09/14] powerpc: Setup relocation on exceptions for bare metal systems Michael Neuling
2012-11-12  1:32   ` Segher Boessenkool
2012-11-12  2:08     ` Michael Neuling
2012-11-09  6:19 ` [PATCH 10/14] powerpc: Add set_mode hcall Michael Neuling
2012-11-09  6:19 ` [PATCH 10/12] powerpc: Move get_longbusy_msecs into hvcall.h and remove duplicate function Michael Neuling
2012-11-09  6:19 ` Michael Neuling [this message]
2012-11-09  6:19 ` [PATCH 12/14] " Michael Neuling
2012-11-09  9:26   ` Stephen Rothwell
2012-11-09  9:49     ` Michael Neuling
2012-11-09  6:19 ` [PATCH 13/14] powerpc: Enable relocation on during exceptions at boot Michael Neuling
2012-11-09  6:19 ` [PATCH 14/14] powerpc: Disable relocation on exceptions when kexecing Michael Neuling
2012-11-09  8:58 ` [PATCH 00/14] powerpc: Add support for POWER8 relocation on exceptions Gabriel Paubert
2012-11-09  9:51   ` Michael Neuling

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1352441953-29096-13-git-send-email-mikey@neuling.org \
    --to=mikey@neuling.org \
    --cc=benh@kernel.crashing.org \
    --cc=imunsie@au1.ibm.com \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=matt@ozlabs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).