Module Name:    src
Committed By:   sborrill
Date:           Wed Jan 23 14:49:00 UTC 2019

Modified Files:
        src/sys/arch/acorn32/stand/lib: riscoscalls.S riscoscalls.h

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


To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.12 src/sys/arch/acorn32/stand/lib/riscoscalls.S
cvs rdiff -u -r1.12 -r1.13 src/sys/arch/acorn32/stand/lib/riscoscalls.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/acorn32/stand/lib/riscoscalls.S
diff -u src/sys/arch/acorn32/stand/lib/riscoscalls.S:1.11 src/sys/arch/acorn32/stand/lib/riscoscalls.S:1.12
--- src/sys/arch/acorn32/stand/lib/riscoscalls.S:1.11	Thu Oct 18 19:02:46 2018
+++ src/sys/arch/acorn32/stand/lib/riscoscalls.S	Wed Jan 23 14:49:00 2019
@@ -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 @@ ENTRY(xosmodule_lookup)
 	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}

Index: src/sys/arch/acorn32/stand/lib/riscoscalls.h
diff -u src/sys/arch/acorn32/stand/lib/riscoscalls.h:1.12 src/sys/arch/acorn32/stand/lib/riscoscalls.h:1.13
--- src/sys/arch/acorn32/stand/lib/riscoscalls.h:1.12	Thu May 10 10:27:10 2012
+++ src/sys/arch/acorn32/stand/lib/riscoscalls.h	Wed Jan 23 14:49:00 2019
@@ -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 @@ extern void os_enter_os(void);
 #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

Reply via email to