Browse Source

Plan 9 from Bell Labs 2012-02-24

David du Colombier 12 years ago
parent
commit
44940a3816
3 changed files with 16 additions and 32 deletions
  1. 12 0
      sys/man/8/mkfs
  2. 4 4
      sys/src/libc/arm/atom.s
  3. 0 28
      sys/src/libc/arm/cas.s

+ 12 - 0
sys/man/8/mkfs

@@ -180,6 +180,18 @@ srv newfs
 mount -c /srv/newfs /n/newfs
 disk/mkext -u -d /n/newfs < arch
 .EE
+.PP
+Copy a subtree,
+.IR from-dir ,
+to another,
+.IR to-dir ,
+with greater fidelity than
+.IR dircp :
+.IP
+.EX
+disk/mkfs -a -s from-dir /sys/lib/sysconfig/proto/allproto |
+	disk/mkext -ud to-dir
+.EE
 .SH SOURCE
 .B /sys/src/cmd/disk/mkfs.c
 .br

+ 4 - 4
sys/src/libc/arm/atom.s

@@ -1,4 +1,3 @@
-
 /*
  * int cas(ulong *p, ulong ov, ulong nv);
  */
@@ -8,7 +7,6 @@
 
 TEXT	cas+0(SB),0,$12		/* r0 holds p */
 TEXT	casp+0(SB),0,$12	/* r0 holds p */
-TEXT	casl+0(SB),0,$12	/* r0 holds p */
 	MOVW	ov+4(FP), R1
 	MOVW	nv+8(FP), R2
 spincas:
@@ -24,6 +22,7 @@ fail:
 	MOVW	$0, R0
 	RET
 
+TEXT _xinc(SB), $0	/* void	_xinc(long *); */
 TEXT ainc(SB), $0	/* long ainc(long *); */
 spinainc:
 	LDREX(0,3)	/*	LDREX	0(R0),R3	*/
@@ -34,7 +33,8 @@ spinainc:
 	MOVW	R3, R0
 	RET
 
-TEXT adec(SB), $0	/* long ainc(long *); */
+TEXT _xdec(SB), $0	/* long _xdec(long *); */
+TEXT adec(SB), $0	/* long adec(long *); */
 spinadec:
 	LDREX(0,3)	/*	LDREX	0(R0),R3	*/
 	SUB	$1,R3
@@ -50,6 +50,6 @@ TEXT loadlinked(SB), $0	/* long loadlinked(long *); */
 
 TEXT storecond(SB), $0	/* int storecond(long *, long); */
 	MOVW	ov+4(FP), R3
-	STREX(0,3,4)	/*	STREX	0(R0),R3,R0	*/
+	STREX(0,3,0)	/*	STREX	0(R0),R3,R0	*/
 	RSB	$1, R0
 	RET

+ 0 - 28
sys/src/libc/arm/cas.s

@@ -1,28 +0,0 @@
-
-/*
- * int swp(int r, int *p);
- * uchar swpb(uchar r, uchar *p);
- *
- * int cas(uintptr *p, uintptr ov, uintptr nv);
- */
-
-#define	LDREX(a,r)	WORD	$(0xe<<28|0x01900f9f | (a)<<16 | (r)<<12)
-#define	STREX(a,v,r)	WORD	$(0xe<<28|0x01800f90 | (a)<<16 | (r)<<12 | (v)<<0)
-
-TEXT	cas+0(SB),0,$12		/* r0 holds p */
-	MOVW	ov+4(FP), R1
-	MOVW	nv+8(FP), R2
-spin:
-/*	LDREX	0(R0),R3	*/
-	LDREX(0,3)
-	CMP.S	R3, R1
-	BNE	fail
-/*	STREX	0(R0),R2,R4	*/
-	STREX(0,2,4)
-	CMP.S	$0, R4
-	BNE	spin
-	MOVW	$1, R0
-	RET
-fail:
-	MOVW	$0, R0
-	RET