Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/acorn32/stand/lib Add xosmodule_enumeratewithversio...



details:   https://anonhg.NetBSD.org/src/rev/f8b5b1fe122c
branches:  trunk
changeset: 448168:f8b5b1fe122c
user:      sborrill <sborrill%NetBSD.org@localhost>
date:      Wed Jan 23 14:49:00 2019 +0000

description:
Add xosmodule_enumeratewithversion() to allow operating systems modules
to be enumerated along with their version numbers.

diffstat:

 sys/arch/acorn32/stand/lib/riscoscalls.S |  32 +++++++++++++++++++++++++++++++-
 sys/arch/acorn32/stand/lib/riscoscalls.h |   5 ++++-
 2 files changed, 35 insertions(+), 2 deletions(-)

diffs (71 lines):

diff -r b185c2ed976d -r f8b5b1fe122c sys/arch/acorn32/stand/lib/riscoscalls.S
--- a/sys/arch/acorn32/stand/lib/riscoscalls.S  Wed Jan 23 13:38:30 2019 +0000
+++ b/sys/arch/acorn32/stand/lib/riscoscalls.S  Wed Jan 23 14:49:00 2019 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: riscoscalls.S,v 1.11 2018/10/18 19:02:46 skrll Exp $   */
+/*     $NetBSD: riscoscalls.S,v 1.12 2019/01/23 14:49:00 sborrill Exp $        */
 
 /*-
  * Copyright (c) 2001 Ben Harris
@@ -254,6 +254,36 @@
        mov     r0, #0
        ldmdb   fp, {r4-r8, fp, sp, pc} 
 
+ENTRY(xosmodule_enumeratewithversion)
+       mov     ip, sp
+       stmfd   sp!, {r4-r10, fp, ip, lr, pc}
+       sub     fp, ip, #4
+       mov     r7, r0
+       mov     r8, r1
+       mov     r9, r2
+       mov     r10, r3
+       ldr     r1, [r7]
+       ldr     r2, [r8]
+       mov     r0, #OSModule_EnumerateWithVersion
+       swi     XOS_Module
+       ldmdbvs fp, {r4-r10, fp, sp, pc}
+       str     r1, [r7]
+       str     r2, [r8]
+       teq     r9, #0
+       strne   r3, [r9]
+       teq     r9, #0
+       strne   r3, [r9]
+       teq     r10, #0
+       strne   r4, [r10]
+       ldr     r10, [fp, #4]
+       teq     r10, #0
+       strne   r5, [r10]
+       ldr     r10, [fp, #8]
+       teq     r10, #0
+       strne   r6, [r10]
+       mov     r0, #0
+       ldmdb   fp, {r4-r10, fp, sp, pc}        
+
 ENTRY(xosfscontrol_shutdown)
        mov     ip, sp
        stmfd   sp!, {fp, ip, lr, pc}
diff -r b185c2ed976d -r f8b5b1fe122c sys/arch/acorn32/stand/lib/riscoscalls.h
--- a/sys/arch/acorn32/stand/lib/riscoscalls.h  Wed Jan 23 13:38:30 2019 +0000
+++ b/sys/arch/acorn32/stand/lib/riscoscalls.h  Wed Jan 23 14:49:00 2019 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: riscoscalls.h,v 1.12 2012/05/10 10:27:10 skrll Exp $   */
+/*     $NetBSD: riscoscalls.h,v 1.13 2019/01/23 14:49:00 sborrill Exp $        */
 
 /*-
  * Copyright (c) 2001 Ben Harris
@@ -285,12 +285,15 @@
 #define OSModule_Alloc         6
 #define OSModule_Free          7
 #define OSModule_Lookup                18
+#define OSModule_EnumerateWithVersion  20
 
 #ifndef __ASSEMBLER__
 extern os_error *xosmodule_alloc(int, void **);
 extern os_error *xosmodule_free(void *);
 extern os_error *xosmodule_lookup(char const *, int *, int *, void **, void **,
     char **);
+extern os_error *xosmodule_enumeratewithversion(int *, int *, char **, int *,
+    int *, int *);
 #endif
 
 #define OSFSControl_AddFS              12



Home | Main Index | Thread Index | Old Index