diff options
author | Miod Vallat <miod@cvs.openbsd.org> | 2009-07-11 19:56:05 +0000 |
---|---|---|
committer | Miod Vallat <miod@cvs.openbsd.org> | 2009-07-11 19:56:05 +0000 |
commit | 802ac63ea3c782b3ecbac7d4ad707eb2552faff3 (patch) | |
tree | 263e0df3870559e15da4fc983b49c635333b24ec /sys/arch/sgi/include | |
parent | 2fa427e9046595c8e4f632d5100f5ff089fbacc4 (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.h | 16 |
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 */ + /* ========== */ /* |