summaryrefslogtreecommitdiff
path: root/arch/sparc64/prom/misc.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@sunset.davemloft.net>2007-07-12 15:55:55 -0700
committerDavid S. Miller <davem@sunset.davemloft.net>2007-07-16 04:04:36 -0700
commitb3e13fbeb9ac1eb8e7b0791bf56e1775c692972b (patch)
tree06539dfe2332c98c4d8b83450fe1e6055680ddc0 /arch/sparc64/prom/misc.c
parent83292e0a9c3f1c326b28fbf8cb70a8ce81a98163 (diff)
[SPARC64]: Fix setting of variables in LDOM guest.
There is a special domain services capability for setting variables in the OBP options node. Guests don't have permanent store for the OBP variables like a normal system, so they are instead maintained in the LDOM control node or in the SC. Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc64/prom/misc.c')
-rw-r--r--arch/sparc64/prom/misc.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/sparc64/prom/misc.c b/arch/sparc64/prom/misc.c
index f3e0c14e9eef..72d272c9de6b 100644
--- a/arch/sparc64/prom/misc.c
+++ b/arch/sparc64/prom/misc.c
@@ -14,6 +14,7 @@
#include <asm/openprom.h>
#include <asm/oplib.h>
#include <asm/system.h>
+#include <asm/ldc.h>
int prom_service_exists(const char *service_name)
{
@@ -37,6 +38,10 @@ void prom_sun4v_guest_soft_state(void)
/* Reset and reboot the machine with the command 'bcommand'. */
void prom_reboot(const char *bcommand)
{
+#ifdef CONFIG_SUN_LDOMS
+ if (ldom_domaining_enabled)
+ ldom_reboot(bcommand);
+#endif
p1275_cmd("boot", P1275_ARG(0, P1275_ARG_IN_STRING) |
P1275_INOUT(1, 0), bcommand);
}