diff options
Diffstat (limited to 'sys/arch/mvme68k/include/prom.h')
-rw-r--r-- | sys/arch/mvme68k/include/prom.h | 14 |
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' */ |