summaryrefslogtreecommitdiff
path: root/sys/arch/sgi/include
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2009-07-11 19:56:05 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2009-07-11 19:56:05 +0000
commit802ac63ea3c782b3ecbac7d4ad707eb2552faff3 (patch)
tree263e0df3870559e15da4fc983b49c635333b24ec /sys/arch/sgi/include
parent2fa427e9046595c8e4f632d5100f5ff089fbacc4 (diff)
When rebooting, pass a request to the PROM for it to skip diagnostics and
memory initialization. This reduces memory test and initialization time from a "in soviet russia, memory test you" time of over 2 minutes for 1GB on Origin 200, to a more reasonable 12 seconds (and on a Fuel with 2GB, time goes down from 6 seconds to under a second).
Diffstat (limited to 'sys/arch/sgi/include')
-rw-r--r--sys/arch/sgi/include/mnode.h16
1 files changed, 14 insertions, 2 deletions
diff --git a/sys/arch/sgi/include/mnode.h b/sys/arch/sgi/include/mnode.h
index 65bfec9c657..d0bbd0a72e9 100644
--- a/sys/arch/sgi/include/mnode.h
+++ b/sys/arch/sgi/include/mnode.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: mnode.h,v 1.8 2009/07/06 22:46:40 miod Exp $ */
+/* $OpenBSD: mnode.h,v 1.9 2009/07/11 19:56:02 miod Exp $ */
/*
* Copyright (c) 2004 Opsycon AB (www.opsycon.se / www.opsycon.com)
@@ -373,7 +373,7 @@ typedef struct gda {
uint32_t magic; /* GDA_MAGIC */
uint16_t ver;
uint16_t masternasid; /* NASID of the master cpu */
- uint32_t promop;
+ uint32_t promop; /* Request to pass to PROM */
uint32_t switches;
void *tlb_handlers[3];
uint partid;
@@ -385,6 +385,18 @@ typedef struct gda {
int16_t nasid[GDA_MAXNODES]; /* NASID of connected nodes */
} gda_t;
+#define GDA_PROMOP_MAGIC 0x0ead0000
+/* commands */
+#define GDA_PROMOP_HALT 0x00000010
+#define GDA_PROMOP_POWERDOWN 0x00000020
+#define GDA_PROMOP_RESTART 0x00000030
+#define GDA_PROMOP_REBOOT 0x00000040
+#define GDA_PROMOP_EIM 0x00000050
+/* options */
+#define GDA_PROMOP_NO_DIAGS 0x00000100 /* don't run diagnostics */
+#define GDA_PROMOP_NO_MEMINIT 0x00000200 /* don't initialize memory */
+#define GDA_PROMOP_NO_DEVINIT 0x00000400 /* don't initialize devices */
+
/* ========== */
/*