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