summaryrefslogtreecommitdiff
path: root/sys/arch/mvme68k/include/prom.h
diff options
context:
space:
mode:
authorTheo de Raadt <deraadt@cvs.openbsd.org>1996-05-07 11:25:33 +0000
committerTheo de Raadt <deraadt@cvs.openbsd.org>1996-05-07 11:25:33 +0000
commite85748d7e1cbdfb4044fbccdd212e98d37c05bc2 (patch)
tree4b9af475a17aa574b5b8ba9cb9cd190a667e72d1 /sys/arch/mvme68k/include/prom.h
parent4ef6dd8662d0ea2661549033419660930d63094a (diff)
idea by chuck to make libbug MI
Diffstat (limited to 'sys/arch/mvme68k/include/prom.h')
-rw-r--r--sys/arch/mvme68k/include/prom.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/sys/arch/mvme68k/include/prom.h b/sys/arch/mvme68k/include/prom.h
index 767af7806e1..3d5373c2dbf 100644
--- a/sys/arch/mvme68k/include/prom.h
+++ b/sys/arch/mvme68k/include/prom.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: prom.h,v 1.3 1996/04/28 10:56:27 deraadt Exp $ */
+/* $OpenBSD: prom.h,v 1.4 1996/05/07 11:25:01 deraadt Exp $ */
/*
* Copyright (c) 1995 Theo de Raadt
@@ -154,3 +154,15 @@ struct mvmeprom_args {
#define MVMEPROM_CALL(x) \
asm volatile (__CONCAT("trap #15; .short ", __STRING(x)) )
+#define MVMEPROM_NOARG() \
+ asm volatile ("clrl sp@-")
+#define MVMEPROM_ARG1(arg) \
+ asm volatile ("movel %0, sp@-"::"d" (arg))
+#define MVMEPROM_ARG2(arg) \
+ asm volatile ("movel %0, sp@-"::"d" (arg))
+#define MVMEPROM_RETURN(ret) \
+ asm volatile ("movel sp@+,%0": "=d" (ret):); \
+ return (ret); /* return a value */
+#define MVMEPROM_STATRET(ret) \
+ asm volatile ("movew ccr,%0": "=d" (ret)); \
+ return (!(ret & 0x4)); /* return a 'status' */