Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/arch/arm26/stand/lib Add assorted stuff that we need in ...
details: https://anonhg.NetBSD.org/src/rev/5e92189eb561
branches: trunk
changeset: 513300:5e92189eb561
user: bjh21 <bjh21%NetBSD.org@localhost>
date: Fri Jul 27 23:09:15 2001 +0000
description:
Add assorted stuff that we need in order to shut RISC OS down cleanly.
diffstat:
sys/arch/arm26/stand/lib/riscoscalls.S | 46 ++++++++++++++++++++++++++++++++-
sys/arch/arm26/stand/lib/riscoscalls.h | 30 +++++++++++++++++++++-
2 files changed, 73 insertions(+), 3 deletions(-)
diffs (130 lines):
diff -r c9279abbfd62 -r 5e92189eb561 sys/arch/arm26/stand/lib/riscoscalls.S
--- a/sys/arch/arm26/stand/lib/riscoscalls.S Fri Jul 27 23:05:11 2001 +0000
+++ b/sys/arch/arm26/stand/lib/riscoscalls.S Fri Jul 27 23:09:15 2001 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: riscoscalls.S,v 1.6 2001/07/27 21:10:04 bjh21 Exp $ */
+/* $NetBSD: riscoscalls.S,v 1.7 2001/07/27 23:09:15 bjh21 Exp $ */
/*-
* Copyright (c) 2001 Ben Harris
@@ -158,6 +158,37 @@
Labex:
.ascii "ABEX"
+ENTRY(os_int_off)
+ mov ip, sp
+ stmfd sp!, {fp, ip, lr, pc}
+ sub fp, ip, #4
+ swi OS_IntOff
+ ldmdb fp, {fp, sp, pc}
+
+ENTRY(os_enter_os)
+ mov ip, sp
+ stmfd sp!, {fp, ip, lr, pc}
+ sub fp, ip, #4
+ swi OS_EnterOS
+ ldmdb fp, {fp, sp, pc}
+
+ENTRY(xosfscontrol_shutdown)
+ mov ip, sp
+ stmfd sp!, {fp, ip, lr, pc}
+ sub fp, ip, #4
+ mov r0, #OSFSControl_Shutdown
+ swi XOS_FSControl
+ movvc r0, #0
+ ldmdb fp, {fp, sp, pc}
+
+ENTRY(service_pre_reset)
+ mov ip, sp
+ stmfd sp!, {fp, ip, lr, pc}
+ sub fp, ip, #4
+ mov r1, #Service_PreReset
+ swi OS_ServiceCall
+ ldmdb fp, {fp, sp, pc}
+
ENTRY(os_read_vdu_variables)
mov ip, sp
stmfd sp!, {fp, ip, lr, pc}
@@ -183,4 +214,15 @@
stmfd sp!, {fp, ip, lr, pc}
sub fp, ip, #4
swi OS_ReadMemMapEntries
- ldmdb fp, {fp, sp, pc}
\ No newline at end of file
+ ldmdb fp, {fp, sp, pc}
+
+ENTRY(xcache_control)
+ mov ip, sp
+ stmfd sp!, {fp, ip, lr, pc}
+ sub fp, ip, #4
+ swi XCache_Control
+ ldmvsdb fp, {fp, sp, pc}
+ teq r2, #0
+ strne r0, [r2]
+ mov r0, #0
+ ldmdb fp, {fp, sp, pc}
diff -r c9279abbfd62 -r 5e92189eb561 sys/arch/arm26/stand/lib/riscoscalls.h
--- a/sys/arch/arm26/stand/lib/riscoscalls.h Fri Jul 27 23:05:11 2001 +0000
+++ b/sys/arch/arm26/stand/lib/riscoscalls.h Fri Jul 27 23:09:15 2001 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: riscoscalls.h,v 1.4 2001/07/27 21:10:04 bjh21 Exp $ */
+/* $NetBSD: riscoscalls.h,v 1.5 2001/07/27 23:09:15 bjh21 Exp $ */
/*-
* Copyright (c) 2001 Ben Harris
@@ -52,6 +52,14 @@
#define XOS_GetEnv 0x020010
#define OS_Exit 0x000011
#define XOS_Exit 0x020011
+#define OS_IntOff 0x000014
+#define XOS_IntOff 0x020014
+#define OS_EnterOS 0x000016
+#define XOS_EnterOS 0x020016
+#define OS_FSControl 0x000029
+#define XOS_FSControl 0x020029
+#define OS_ServiceCall 0x000030
+#define XOS_ServiceCall 0x020030
#define OS_ReadVduVariables 0x000031
#define XOS_ReadVduVariables 0x020031
#define OS_ReadMemMapInfo 0x000051
@@ -59,6 +67,9 @@
#define OS_ReadMemMapEntries 0x000052
#define XOS_ReadMemMapEntries 0x020052
+#define Cache_Control 0x000280
+#define XCache_Control 0x020280
+
#ifndef __ASSEMBLER__
typedef struct os_error {
u_int32_t errnum;
@@ -135,6 +146,22 @@
extern char *os_get_env(caddr_t *, void **);
extern void os_exit(os_error const *, int) __attribute__((noreturn));
+
+extern void os_int_off(void);
+
+extern void os_enter_os(void);
+#endif
+
+#define OSFSControl_Shutdown 23
+
+#ifndef __ASSEMBLER__
+extern os_error *xosfscontrol_shutdown(void);
+#endif
+
+#define Service_PreReset 0x45
+
+#ifndef __ASSEMBLER__
+extern void service_pre_reset(void);
#endif
#define os_MODEVAR_LOG2_BPP 9
@@ -160,6 +187,7 @@
extern void os_read_mem_map_entries(struct os_mem_map_request *);
+extern os_error xcache_control(u_int, u_int, u_int *);
#endif
/* RISC OS Error numbers */
Home |
Main Index |
Thread Index |
Old Index