summaryrefslogtreecommitdiff
path: root/sys/arch/hppa/include/nvm.h
diff options
context:
space:
mode:
authorMichael Shalayeff <mickey@cvs.openbsd.org>1998-06-23 19:45:29 +0000
committerMichael Shalayeff <mickey@cvs.openbsd.org>1998-06-23 19:45:29 +0000
commit23e2da6e244ebccae95599bd22e8eb82191c7520 (patch)
tree140e42b22e679c83aa3f7f3c084b52a9eca16f8e /sys/arch/hppa/include/nvm.h
parenteae609490d212153bfb18fdecc719446860a4433 (diff)
some includes
Diffstat (limited to 'sys/arch/hppa/include/nvm.h')
-rw-r--r--sys/arch/hppa/include/nvm.h74
1 files changed, 74 insertions, 0 deletions
diff --git a/sys/arch/hppa/include/nvm.h b/sys/arch/hppa/include/nvm.h
new file mode 100644
index 00000000000..a0712807762
--- /dev/null
+++ b/sys/arch/hppa/include/nvm.h
@@ -0,0 +1,74 @@
+/* $OpenBSD: nvm.h,v 1.1 1998/06/23 19:45:24 mickey Exp $ */
+
+/*
+ * Copyright (c) 1990, 1994 The University of Utah and
+ * the Computer Systems Laboratory at the University of Utah (CSL).
+ * All rights reserved.
+ *
+ * Permission to use, copy, modify and distribute this software is hereby
+ * granted provided that (1) source code retains these copyright, permission,
+ * and disclaimer notices, and (2) redistributions including binaries
+ * reproduce the notices in supporting documentation, and (3) all advertising
+ * materials mentioning features or use of this software display the following
+ * acknowledgement: ``This product includes software developed by the
+ * Computer Systems Laboratory at the University of Utah.''
+ *
+ * THE UNIVERSITY OF UTAH AND CSL ALLOW FREE USE OF THIS SOFTWARE IN ITS "AS
+ * IS" CONDITION. THE UNIVERSITY OF UTAH AND CSL DISCLAIM ANY LIABILITY OF
+ * ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
+ *
+ * CSL requests users of this software to return to csl-dist@cs.utah.edu any
+ * improvements that they make and grant CSL redistribution rights.
+ *
+ * Utah $Hdr: nvm.h 1.4 94/12/14$
+ * Author: Jeff Forys, University of Utah CSL
+ */
+
+#ifndef _NVM_
+#define _NVM_
+
+/*
+ * The PDC provides access to Non-Volatile Memory (NVM). If this
+ * is implemented (it's HVERSION dependent), the first 256 bytes
+ * are formatted as follows:
+ *
+ * 0x000 +----------------------------+
+ * | Implementation information |
+ * 0x024 +----------------------------+
+ * | |
+ * | IPL information |
+ * | |
+ * 0x080 +----------------------------+
+ * | |
+ * | |
+ * | OS Panic information |
+ * | |
+ * | |
+ * 0x100 +----------------------------+
+ *
+ * It appears that there are at least 256 bytes of NVM, and only
+ * the "OS Panic information" is not architected. This means that
+ * we can use locations 0x80 - 0xFF for saving information across
+ * boots (e.g. boot flags and boot device). I think we should use
+ * the higher portions of this space first, to avoid conflicting
+ * with possible future HP-PA plans for the NVM.
+ *
+ * The PDC requires that NVM be read/written to in word multiples.
+ */
+
+/*
+ * Boot flags and boot device (0xF4 - 0xFF).
+ */
+
+#define NVM_BOOTDATA 0xF4 /* location of bootdata in NVM */
+#define NVM_BOOTMAGIC 0xACCEDE /* magic used for bootdata cksum */
+#define NVM_BOOTCKSUM(bd) \
+ ((unsigned int) NVM_BOOTMAGIC + (bd).flags + (bd).device)
+
+struct bootdata {
+ unsigned int cksum; /* NVM_BOOTMAGIC + flags + device */
+ unsigned int flags; /* boot flags */
+ unsigned int device; /* boot device */
+};
+
+#endif /* _NVM_ */