CVS commit: src/lib/csu/arm_elf
Module Name:src Committed By: skrll Date: Mon Aug 19 06:56:15 UTC 2013 Removed Files: src/lib/csu/arm_elf: Makefile crt0.c dot_init.h Log Message: G/C arm COMPILERCRTSTUFF To generate a diff of this commit: cvs rdiff -u -r1.4 -r0 src/lib/csu/arm_elf/Makefile cvs rdiff -u -r1.10 -r0 src/lib/csu/arm_elf/crt0.c cvs rdiff -u -r1.9 -r0 src/lib/csu/arm_elf/dot_init.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/common/lib/libc/arch/arm/string
Module Name:src Committed By: matt Date: Mon Aug 19 06:23:59 UTC 2013 Modified Files: src/common/lib/libc/arch/arm/string: memcmp.S memset.S Log Message: Add END() To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/common/lib/libc/arch/arm/string/memcmp.S cvs rdiff -u -r1.4 -r1.5 src/common/lib/libc/arch/arm/string/memset.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/common/lib/libc/arch/arm/string/memcmp.S diff -u src/common/lib/libc/arch/arm/string/memcmp.S:1.2 src/common/lib/libc/arch/arm/string/memcmp.S:1.3 --- src/common/lib/libc/arch/arm/string/memcmp.S:1.2 Sun Aug 11 04:56:32 2013 +++ src/common/lib/libc/arch/arm/string/memcmp.S Mon Aug 19 06:23:59 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: memcmp.S,v 1.2 2013/08/11 04:56:32 matt Exp $ */ +/* $NetBSD: memcmp.S,v 1.3 2013/08/19 06:23:59 matt Exp $ */ /* * Copyright 2003 Wasabi Systems, Inc. @@ -64,7 +64,7 @@ #include -RCSID("$NetBSD: memcmp.S,v 1.2 2013/08/11 04:56:32 matt Exp $") +RCSID("$NetBSD: memcmp.S,v 1.3 2013/08/19 06:23:59 matt Exp $") ENTRY(memcmp) mov ip, r0 @@ -178,3 +178,4 @@ ENTRY(memcmp) sub r0, r3, r2 /* r0 = b1#5 - b2#5 */ RET #endif +END(memcmp) Index: src/common/lib/libc/arch/arm/string/memset.S diff -u src/common/lib/libc/arch/arm/string/memset.S:1.4 src/common/lib/libc/arch/arm/string/memset.S:1.5 --- src/common/lib/libc/arch/arm/string/memset.S:1.4 Sun Aug 11 04:56:32 2013 +++ src/common/lib/libc/arch/arm/string/memset.S Mon Aug 19 06:23:59 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: memset.S,v 1.4 2013/08/11 04:56:32 matt Exp $ */ +/* $NetBSD: memset.S,v 1.5 2013/08/19 06:23:59 matt Exp $ */ /* * Copyright 2003 Wasabi Systems, Inc. @@ -237,3 +237,8 @@ ENTRY(memset) strbge r3, [ip], #0x01 /* Set another byte */ strbgt r3, [ip] /* and a third */ RET/* Exit */ +#ifdef _BZERO +END(bzero) +#else +END(memset) +#endif
CVS commit: src/common/lib/libc/arch/arm/string
Module Name:src Committed By: matt Date: Mon Aug 19 06:11:20 UTC 2013 Modified Files: src/common/lib/libc/arch/arm/string: strlcat_arm.S Log Message: fix cfi_register -> cfi_offset To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/common/lib/libc/arch/arm/string/strlcat_arm.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/common/lib/libc/arch/arm/string/strlcat_arm.S diff -u src/common/lib/libc/arch/arm/string/strlcat_arm.S:1.2 src/common/lib/libc/arch/arm/string/strlcat_arm.S:1.3 --- src/common/lib/libc/arch/arm/string/strlcat_arm.S:1.2 Mon Aug 19 01:12:08 2013 +++ src/common/lib/libc/arch/arm/string/strlcat_arm.S Mon Aug 19 06:11:20 2013 @@ -29,7 +29,7 @@ #include -RCSID("$NetBSD: strlcat_arm.S,v 1.2 2013/08/19 01:12:08 matt Exp $") +RCSID("$NetBSD: strlcat_arm.S,v 1.3 2013/08/19 06:11:20 matt Exp $") /* LINTSTUB: size_t strlcat(char *, const char *, size_t) */ ENTRY(strlcat) @@ -41,10 +41,10 @@ ENTRY(strlcat) #ifdef __ARM_EABI__ .save {r4-r6, lr} .cfi_def_cfa_offset 16 - .cfi_register 14, -4 - .cfi_register 6, -8 - .cfi_register 5, -12 - .cfi_register 4, -16 + .cfi_offset 14, -4 + .cfi_offset 6, -8 + .cfi_offset 5, -12 + .cfi_offset 4, -16 #endif mov r4, r0 /* save dst */ mov r5, r1 /* save src */
CVS commit: src
Module Name:src Committed By: jmcneill Date: Mon Aug 19 04:27:22 UTC 2013 Modified Files: src/distrib/utils/embedded/conf: beagleboard.conf src/etc/etc.evbarm: Makefile.inc Log Message: Instead of trying to pass two kernels to beagleboard.conf, pass one and derive the path to the second from the first. To generate a diff of this commit: cvs rdiff -u -r1.13 -r1.14 src/distrib/utils/embedded/conf/beagleboard.conf cvs rdiff -u -r1.57 -r1.58 src/etc/etc.evbarm/Makefile.inc Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/distrib/utils/embedded/conf/beagleboard.conf diff -u src/distrib/utils/embedded/conf/beagleboard.conf:1.13 src/distrib/utils/embedded/conf/beagleboard.conf:1.14 --- src/distrib/utils/embedded/conf/beagleboard.conf:1.13 Sat Aug 17 13:08:16 2013 +++ src/distrib/utils/embedded/conf/beagleboard.conf Mon Aug 19 04:27:22 2013 @@ -1,13 +1,12 @@ -# $NetBSD: beagleboard.conf,v 1.13 2013/08/17 13:08:16 jmcneill Exp $ +# $NetBSD: beagleboard.conf,v 1.14 2013/08/19 04:27:22 jmcneill Exp $ # BeagleBoard customization script used by mkimage # board=beagleboard -kernel="$src/sys/arch/evbarm/compile/obj/BEAGLEBOARD/netbsd.ub $src/sys/arch/evbarm/compile/obj/BEAGLEBONE/netbsd.ub" +kernel="$src/sys/arch/evbarm/compile/obj/BEAGLEBOARD/netbsd.ub" -set -- $kernel -bboard_kernel=$1 -bbone_kernel=$2 +bboard_kernel="$kernel" +bbone_kernel="$(echo $bboard_kernel | sed 's/BEAGLEBOARD/BEAGLEBONE/g')" . ${DIR}/conf/evbarm.conf Index: src/etc/etc.evbarm/Makefile.inc diff -u src/etc/etc.evbarm/Makefile.inc:1.57 src/etc/etc.evbarm/Makefile.inc:1.58 --- src/etc/etc.evbarm/Makefile.inc:1.57 Sat Aug 17 13:08:16 2013 +++ src/etc/etc.evbarm/Makefile.inc Mon Aug 19 04:27:22 2013 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.inc,v 1.57 2013/08/17 13:08:16 jmcneill Exp $ +# $NetBSD: Makefile.inc,v 1.58 2013/08/19 04:27:22 jmcneill Exp $ # # etc.evbarm/Makefile.inc -- evbarm-specific etc Makefile targets # @@ -93,7 +93,7 @@ __mkimage: .USE TOOL_MTREE=${TOOL_MTREE} \ HOST_SH=${HOST_SH} \ ${HOST_SH} ${MKIMAGE} -x -h ${.TARGET:S/smp_//} -D ${DESTDIR} \ - -K "${.ALLSRC}" -S ${NETBSDSRCDIR} ${MKI_OPTS.${.TARGET}} \ + -K ${.ALLSRC} -S ${NETBSDSRCDIR} ${MKI_OPTS.${.TARGET}} \ ${IMAGE.dir}/${.TARGET:S/smp_//}.img.gz ARCHES.arm= armv4 xscale armv5t armv6 armv7 @@ -122,8 +122,9 @@ BUILD_KERNELS+= ${board}_INSTALL KERNEL_SETS+= ${KERNEL_SETS.${arch}} .endfor -.if !empty(KERNEL_SETS:MBEAGLEBOARD) -smp_beagleboard: ${IMAGE.kern}/netbsd-BEAGLEBOARD.ub.gz ${IMAGE.kern}/netbsd-BEAGLEBONE.ub.gz __mkimage +.if !empty(KERNEL_SETS:MBEAGLEBOARD) && !empty(KERNEL_SETS:MBEAGLEBONE) +smp_beagleboard: ${IMAGE.kern}/netbsd-BEAGLEBOARD.ub.gz __mkimage +#XXX ${IMAGE.kern}/netbsd-BEAGLEBONE.ub.gz .if empty(ALL_KERNELS) || (!empty(ALL_KERNELS:MBEAGLEBOARD) && !empty(ALL_KERNELS:MBEAGLEBONE)) SNAP_MD_POST_DEPS+= smp_beagleboard .endif
CVS commit: src/common/lib/libc/arch/arm/atomic
Module Name:src Committed By: matt Date: Mon Aug 19 03:55:12 UTC 2013 Modified Files: src/common/lib/libc/arch/arm/atomic: Makefile.inc Log Message: Rework to allow thumb armv7 compilation. Add atomic_simplelock.c for thumb To generate a diff of this commit: cvs rdiff -u -r1.12 -r1.13 src/common/lib/libc/arch/arm/atomic/Makefile.inc Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/common/lib/libc/arch/arm/atomic/Makefile.inc diff -u src/common/lib/libc/arch/arm/atomic/Makefile.inc:1.12 src/common/lib/libc/arch/arm/atomic/Makefile.inc:1.13 --- src/common/lib/libc/arch/arm/atomic/Makefile.inc:1.12 Tue Aug 6 20:49:15 2013 +++ src/common/lib/libc/arch/arm/atomic/Makefile.inc Mon Aug 19 03:55:12 2013 @@ -1,22 +1,23 @@ -# $NetBSD: Makefile.inc,v 1.12 2013/08/06 20:49:15 matt Exp $ +# $NetBSD: Makefile.inc,v 1.13 2013/08/19 03:55:12 matt Exp $ -ARMV6= ${CPUFLAGS:M-march=armv7*} ${CPUFLAGS:M-mcpu=cortex*} -ARMV6+= ${CPUFLAGS:M-march=armv6*} ${CPUFLAGS:M-mcpu=arm11*} -ARMV6+= ${CFLAGS:M-march=armv7*:} ${CFLAGS:M-mcpu=cortex*} +ARMV6= ${CPUFLAGS:M-march=armv6*} ${CPUFLAGS:M-mcpu=arm11*} ARMV6+= ${CFLAGS:M-march=armv6*:} ${CFLAGS:M-mcpu=arm11*} -ARMV6+= ${CPPFLAGS:M-march=armv7*:} ${CPPFLAGS:M-mcpu=cortex*} ARMV6+= ${CPPFLAGS:M-march=armv6*:} ${CPPFLAGS:M-mcpu=arm11*} +ARMV7= ${CPUFLAGS:M-march=armv7*} ${CPUFLAGS:M-mcpu=cortex*} +ARMV7+= ${CFLAGS:M-march=armv7*:} ${CFLAGS:M-mcpu=cortex*} +ARMV7+= ${CPPFLAGS:M-march=armv7*:} ${CPPFLAGS:M-mcpu=cortex*} .if empty(CPPFLAGS:M-D_STANDALONE) \ && empty(CFLAGS:M-march=*) && empty(CFLAGS:M-mcpu=*) \ && empty(CPPFLAGS:M-march=*) && empty(CPPFLAGS:M-mcpu=*) \ && empty(CPUFLAGS:M-march=*) && empty(CPUFLAGS:M-mcpu=*) -ARMV6+= ${MACHINE_ARCH:Mearmv[67]*} +ARMV6+= ${MACHINE_ARCH:Mearmv6*} +ARMV7+= ${MACHINE_ARCH:Mearmv7*} .endif .if defined(LIB) && (${LIB} == "kern" || ${LIB} == "c" || ${LIB} == "pthread" \ || ${LIB} == "rump") -.if empty(ARMV6) +.if empty(ARMV6) && empty(ARMV7) SRCS.atomic+= atomic_add_32_cas.c atomic_add_32_nv_cas.c \ atomic_and_32_cas.c atomic_and_32_nv_cas.c \ atomic_dec_32_cas.c atomic_dec_32_nv_cas.c \ @@ -34,9 +35,18 @@ SRCS.atomic+= atomic_swap_64.S .endif +.if defined(LIB) && (${LIB} == "c" || ${LIB} == "pthread" || ${LIB} == "rump") + +SRCS.atomic+= atomic_simplelock.c +.if empty(ARMV7) +CPUFLAGS.atomic_simplelock.c+= -marm +.endif + +.endif + .if defined(LIB) && (${LIB} == "c" || ${LIB} == "pthread") -.if empty(ARMV6) +.if empty(ARMV6) && empty(ARMV7) SRCS.atomic+= atomic_init_testset.c SRCS.atomic+= atomic_cas_up.S CPPFLAGS+= -D__HAVE_ASM_ATOMIC_CAS_UP @@ -46,4 +56,10 @@ SRCS.atomic+= atomic_init_cas.c .endif +.if !empty(ARMV6) +.for f in ${SRCS.atomic:M*.S} +CPUFLAGS.$f+= -marm +.endfor +.endif + SRCS+= ${SRCS.atomic}
CVS commit: src/common/lib/libc/arch/arm/gen
Module Name:src Committed By: matt Date: Mon Aug 19 03:54:15 UTC 2013 Modified Files: src/common/lib/libc/arch/arm/gen: divsi3.S Log Message: Thumbify (and use .cfi ops) To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 src/common/lib/libc/arch/arm/gen/divsi3.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/common/lib/libc/arch/arm/gen/divsi3.S diff -u src/common/lib/libc/arch/arm/gen/divsi3.S:1.6 src/common/lib/libc/arch/arm/gen/divsi3.S:1.7 --- src/common/lib/libc/arch/arm/gen/divsi3.S:1.6 Thu Jun 20 07:16:23 2013 +++ src/common/lib/libc/arch/arm/gen/divsi3.S Mon Aug 19 03:54:15 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: divsi3.S,v 1.6 2013/06/20 07:16:23 matt Exp $ */ +/* $NetBSD: divsi3.S,v 1.7 2013/08/19 03:54:15 matt Exp $ */ /* * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND @@ -16,12 +16,6 @@ #include -ENTRY_NP(__aeabi_idivmod) -ENTRY_NP(__aeabi_idiv) -#if defined(__ARM_EABI__) && defined(PIC_SYMVER) - .symver __aeabi_idiv,__aeabi_idiv@@GCC_3.5 - .symver __aeabi_idivmod,__aeabi_idivmod@@GCC_3.5 -#endif ENTRY(__divsi3) #if defined(__ARM_ARCH_EXT_IDIV__) # if defined(__ARM_EABI__) @@ -32,6 +26,33 @@ ENTRY(__divsi3) mls r1, r0, r1, r3 @ return modulus in r1 # endif RET -#else +#elif !defined(__thumb__) || defined(_ARM_ARCH_T2) b __divide +#else +#ifdef __ARM_EABI__ + .fnstart + .cfi_startproc +#endif + push {r4, lr} +#ifdef __ARM_EABI__ + .cfi_def_cfa_offset 8 + .cfi_offset 14, -4 + .cfi_offset 4, -8 +#endif + bl __divide + pop {r4, pc} +#ifdef __ARM_EABI__ + .cfi_endproc + .fnend +#endif +#endif +END(__divsi3) + +#if defined(__ARM_EABI__) +STRONG_ALIAS(__aeabi_idivmod, __divsi3) +STRONG_ALIAS(__aeabi_idiv, __divsi3) +#if defined(PIC_SYMVER) + .symver __aeabi_idiv,__aeabi_idiv@@GCC_3.5 + .symver __aeabi_idivmod,__aeabi_idivmod@@GCC_3.5 +#endif #endif
CVS commit: src/common/lib/libc/arch/arm/gen
Module Name:src Committed By: matt Date: Mon Aug 19 03:51:04 UTC 2013 Modified Files: src/common/lib/libc/arch/arm/gen: udivsi3.S Log Message: thumbify add .cfi ops (for thumb) To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/common/lib/libc/arch/arm/gen/udivsi3.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/common/lib/libc/arch/arm/gen/udivsi3.S diff -u src/common/lib/libc/arch/arm/gen/udivsi3.S:1.2 src/common/lib/libc/arch/arm/gen/udivsi3.S:1.3 --- src/common/lib/libc/arch/arm/gen/udivsi3.S:1.2 Thu Jun 20 07:16:23 2013 +++ src/common/lib/libc/arch/arm/gen/udivsi3.S Mon Aug 19 03:51:04 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: udivsi3.S,v 1.2 2013/06/20 07:16:23 matt Exp $ */ +/* $NetBSD: udivsi3.S,v 1.3 2013/08/19 03:51:04 matt Exp $ */ /* * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND @@ -16,9 +16,6 @@ #include - -ENTRY_NP(__aeabi_uidivmod) -ENTRY_NP(__aeabi_uidiv) ENTRY(__udivsi3) #if defined(__ARM_ARCH_EXT_IDIV__) # if defined(__ARM_EABI__) @@ -29,6 +26,30 @@ ENTRY(__udivsi3) mls r1, r0, r1, r3 @ return modulus in r1 # endif RET -#else +#elif !defined(__thumb__) || defined(_ARM_ARCH_T2) b __udivide +#else +#ifdef __ARM_EABI__ + .fnstart + .cfi_startproc +#endif + push {r4, lr} +#ifdef __ARM_EABI__ + .save {r4, lr} + .cfi_def_cfa_offset 8 + .cfi_offset 14, -4 + .cfi_offset 4, -8 +#endif + bl __udivide + pop {r4, pc} +#ifdef __ARM_EABI__ + .cfi_endproc + .fnend +#endif +#endif +END(__udivsi3) + +#ifdef __ARM_EABI__ +STRONG_ALIAS(__aeabi_uidivmod, __udivsi3) +STRONG_ALIAS(__aeabi_uidiv, __udivsi3) #endif
CVS commit: src/common/lib/libc/arch/arm/gen
Module Name:src Committed By: matt Date: Mon Aug 19 03:47:06 UTC 2013 Modified Files: src/common/lib/libc/arch/arm/gen: divide.S Log Message: This is ARM only To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 src/common/lib/libc/arch/arm/gen/divide.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/common/lib/libc/arch/arm/gen/divide.S diff -u src/common/lib/libc/arch/arm/gen/divide.S:1.3 src/common/lib/libc/arch/arm/gen/divide.S:1.4 --- src/common/lib/libc/arch/arm/gen/divide.S:1.3 Thu Jun 20 07:16:23 2013 +++ src/common/lib/libc/arch/arm/gen/divide.S Mon Aug 19 03:47:06 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: divide.S,v 1.3 2013/06/20 07:16:23 matt Exp $ */ +/* $NetBSD: divide.S,v 1.4 2013/08/19 03:47:06 matt Exp $ */ /* * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND @@ -23,25 +23,7 @@ * which makes a C call */ -.L_overflow: -#if !defined(_KERNEL) && !defined(_STANDALONE) -#ifdef __ARM_EABI__ - mov r0, r1/* return quotient */ - b PLT_SYM(__aeabi_idiv0) -#else - mov r0, #8 /* SIGFPE */ - bl PLT_SYM(_C_LABEL(raise)) /* raise it */ - mov r0, #0 - RET -#endif -#else - /* XXX should cause a fatal error */ - mvn r0, #0 - RET -#endif - - .globl __udivide -__udivide:/* r0 = r0 / r1; r1 = r0 % r1 */ +_ARM_ENTRY(__udivide) /* r0 = r0 / r1; r1 = r0 % r1 */ eor r0, r1, r0 eor r1, r0, r1 eor r0, r1, r0 @@ -61,9 +43,9 @@ __udivide:/* r0 = r0 / r1; r1 = r0 % mov r0, r1 mov r1, #0 RET +END(__udivide) - .globl __divide -__divide:/* r0 = r0 / r1; r1 = r0 % r1 */ +_ARM_ENTRY(__divide) /* r0 = r0 / r1; r1 = r0 % r1 */ eor r0, r1, r0 eor r1, r0, r1 eor r0, r1, r0 @@ -377,4 +359,23 @@ __divide:/* r0 = r0 / r1; r1 = r0 % mov r0, r3 RET +.L_overflow: +#if !defined(_KERNEL) && !defined(_STANDALONE) +#ifdef __ARM_EABI__ + mov r0, r1/* return quotient */ + b PLT_SYM(__aeabi_idiv0) +#else + mov r0, #8 /* SIGFPE */ + bl PLT_SYM(_C_LABEL(raise)) /* raise it */ + mov r0, #0 + RET +#endif +#else + /* XXX should cause a fatal error */ + mvn r0, #0 + RET +#endif + +END(__divide) + #endif /* __ARM_ARCH_EXT_IDIV__ */
CVS commit: src/common/lib/libc/arch/arm/gen
Module Name:src Committed By: matt Date: Mon Aug 19 03:44:18 UTC 2013 Modified Files: src/common/lib/libc/arch/arm/gen: byte_swap_2.S Log Message: Use STRONG_ALIAS Add thumb variation To generate a diff of this commit: cvs rdiff -u -r1.5 -r1.6 src/common/lib/libc/arch/arm/gen/byte_swap_2.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/common/lib/libc/arch/arm/gen/byte_swap_2.S diff -u src/common/lib/libc/arch/arm/gen/byte_swap_2.S:1.5 src/common/lib/libc/arch/arm/gen/byte_swap_2.S:1.6 --- src/common/lib/libc/arch/arm/gen/byte_swap_2.S:1.5 Tue Nov 27 23:57:07 2012 +++ src/common/lib/libc/arch/arm/gen/byte_swap_2.S Mon Aug 19 03:44:18 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: byte_swap_2.S,v 1.5 2012/11/27 23:57:07 matt Exp $ */ +/* $NetBSD: byte_swap_2.S,v 1.6 2013/08/19 03:44:18 matt Exp $ */ /*- * Copyright (c) 1999 The NetBSD Foundation, Inc. @@ -32,20 +32,30 @@ #include #if defined(_KERNEL) || defined(_STANDALONE) -_ENTRY(_C_LABEL(bswap16)) +#define FUNC _C_LABEL(bswap16) #else -_ENTRY(_C_LABEL(__bswap16)) +#define FUNC _C_LABEL(__bswap16) #endif -#if BYTE_ORDER == LITTLE_ENDIAN -_ENTRY(_C_LABEL(ntohs)) -_ENTRY(_C_LABEL(htons)) -#endif -_PROF_PROLOGUE + +ENTRY(FUNC) #ifdef _ARM_ARCH_6 rev16 r0, r0 -#else +#elif !defined(__thumb__) and r1, r0, #0xff mov r0, r0, lsr #8 orr r0, r0, r1, lsl #8 +#else + movs r2, #0xff + movs r1, r0 + ands r1, r1, r2 + lsls r1, r1, #8 + lsrs r0, r0, #8 + ands r0, r0, r2 + orrs r0, r0, r1 #endif RET +END(FUNC) +#if BYTE_ORDER == LITTLE_ENDIAN +STRONG_ALIAS(_C_LABEL(ntohs), FUNC) +STRONG_ALIAS(_C_LABEL(htons), FUNC) +#endif
CVS commit: src/common/lib/libc/arch/arm/gen
Module Name:src Committed By: matt Date: Mon Aug 19 03:44:47 UTC 2013 Modified Files: src/common/lib/libc/arch/arm/gen: byte_swap_4.S Log Message: Add thumb version Use STRONG_ALIAS To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 src/common/lib/libc/arch/arm/gen/byte_swap_4.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/common/lib/libc/arch/arm/gen/byte_swap_4.S diff -u src/common/lib/libc/arch/arm/gen/byte_swap_4.S:1.6 src/common/lib/libc/arch/arm/gen/byte_swap_4.S:1.7 --- src/common/lib/libc/arch/arm/gen/byte_swap_4.S:1.6 Wed Jan 16 21:48:56 2013 +++ src/common/lib/libc/arch/arm/gen/byte_swap_4.S Mon Aug 19 03:44:47 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: byte_swap_4.S,v 1.6 2013/01/16 21:48:56 matt Exp $ */ +/* $NetBSD: byte_swap_4.S,v 1.7 2013/08/19 03:44:47 matt Exp $ */ /*- * Copyright (c) 1997 The NetBSD Foundation, Inc. @@ -32,21 +32,34 @@ #include #if defined(_KERNEL) || defined(_STANDALONE) -_ENTRY(_C_LABEL(bswap32)) +#define FUNC _C_LABEL(bswap32) #else -_ENTRY(_C_LABEL(__bswap32)) +#define FUNC _C_LABEL(__bswap32) #endif -#if BYTE_ORDER == LITTLE_ENDIAN -_ENTRY(_C_LABEL(ntohl)) -_ENTRY(_C_LABEL(htonl)) -#endif -_PROF_PROLOGUE +ENTRY(FUNC) #ifdef _ARM_ARCH_6 rev r0, r0 -#else +#elif !defined(__thumb__) eor r1, r0, r0, ror #16 /* 4.3.2.1 -> 42.31.42.31 */ bic r1, r1, #0x00FF /* 42.31.42.31 -> 42.0.42.31 */ mov r0, r0, ror #8 /* 4.3.2.1 -> 1.4.3.2 */ eor r0, r0, r1, lsr #8 /* 1.4.3.2 ^ 0.42.0.42 -> 1.2.3.4 */ +#else + movs r3, #16 + lsls r1, r0, #8 /* 4.3.2.1 -> 3.2.1.0 /* + lsrs r0, r0, #8 /* 4.3.2.1 -> 0.4.3.2 */ + rors r1, r3 /* 3.2.1.0 -> 1.0.3.2 */ + rors r0, r3 /* 0.4.3.2 -> 3.2.0.4 */ + lsrs r1, r1, #8 /* 1.0.3.2 -> 0.1.0.3 */ + lsls r1, r1, #8 /* 0.1.0.3 -> 1.0.3.0 */ + lsls r0, r0, #8 /* 3.2.0.4 -> 2.0.4.0 */ + lsrs r0, r0, #8 /* 2.0.4.0 -> 0.2.0.4 */ + orrs r0, r0, r1 /* 1.0.3.0 | 0.2.0.4 -> 1.2.3.4 */ #endif RET +END(FUNC) + +#if BYTE_ORDER == LITTLE_ENDIAN +STRONG_ALIAS(_C_LABEL(ntohl), FUNC) +STRONG_ALIAS(_C_LABEL(htonl), FUNC) +#endif
CVS commit: src/common/lib/libc/arch/arm/quad
Module Name:src Committed By: matt Date: Mon Aug 19 03:43:07 UTC 2013 Modified Files: src/common/lib/libc/arch/arm/quad: __aeabi_uldivmod.S Log Message: Add .cfi ops Thumbify To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 src/common/lib/libc/arch/arm/quad/__aeabi_uldivmod.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/common/lib/libc/arch/arm/quad/__aeabi_uldivmod.S diff -u src/common/lib/libc/arch/arm/quad/__aeabi_uldivmod.S:1.6 src/common/lib/libc/arch/arm/quad/__aeabi_uldivmod.S:1.7 --- src/common/lib/libc/arch/arm/quad/__aeabi_uldivmod.S:1.6 Thu May 9 15:03:40 2013 +++ src/common/lib/libc/arch/arm/quad/__aeabi_uldivmod.S Mon Aug 19 03:43:07 2013 @@ -29,7 +29,7 @@ #include -RCSID("$NetBSD: __aeabi_uldivmod.S,v 1.6 2013/05/09 15:03:40 matt Exp $") +RCSID("$NetBSD: __aeabi_uldivmod.S,v 1.7 2013/08/19 03:43:07 matt Exp $") /* * typedef struct { unsigned long long quo, rem } ulldiv_t; @@ -38,31 +38,79 @@ RCSID("$NetBSD: __aeabi_uldivmod.S,v 1.6 */ ENTRY(__aeabi_uldivmod) +#ifdef __ARM_EABI__ + .fnstart + .cfi_startproc +#endif #if !defined(_KERNEL) && !defined(_STANDALONE) +#if !defined(__thumb__) orrs ip, r2, r3 beq .Ldivbyzero +#elif defined(_ARM_ARCH_T2) + cbnz r2, 1f + cbz r3, .Ldivbyzero +1: +#else + cmp r2, #0 + bne 1f + cmp r3, #0 + beq .Ldivbyzero +1: +#endif #endif push {r4,lr} +#ifdef __ARM_EABI__ + .save {r4,lr} + .cfi_def_cfa_offset 8 + .cfi_offset 14, -4 + .cfi_offset 4, -8 +#endif sub sp, sp, #16 - add ip, sp, #8 - str ip, [sp] +#ifdef __ARM_EABI__ + .cfi_def_cfa_offset 24 +#endif +#if !defined(__thumb__) || defined(_ARM_ARCH_T2) + add r4, sp, #8 +#else + mov r4, sp + adds r4, r4, #8 +#endif + str r4, [sp] bl PLT_SYM(__qdivrem) add sp, sp, #8 +#ifdef __ARM_EABI__ + .cfi_def_cfa_offset 16 + .cfi_offset 3, -12 + .cfi_offset 2, -16 +#endif /* * The remainder is already on the stack just waiting to be popped * into r2/r3. */ - pop {r2-r4,lr} - RET + pop {r2-r4,pc} #if !defined(_KERNEL) && !defined(_STANDALONE) .Ldivbyzero: - push {r0-r1,ip,lr} + push {r0-r1,r4,lr} +#ifdef __ARM_EABI__ + .save {r0-r1,r4,lr} + .cfi_def_cfa_offset 16 + .cfi_offset 14, -4 + .cfi_offset 4, -8 +#endif +#ifdef __thumb__ + movs r0, #0 + mvns r0, r0 +#else mvn r0, #0 - mvn r1, #0 +#endif + mvns r1, r0 bl PLT_SYM(__aeabi_ldiv0) - pop {r2-r3,ip,lr} - RET + pop {r2-r4,pc} +#endif +#ifdef __ARM_EABI__ + .cfi_endproc + .fnend #endif END(__aeabi_uldivmod)
CVS commit: src/common/lib/libc/arch/arm/quad
Module Name:src Committed By: matt Date: Mon Aug 19 03:27:34 UTC 2013 Modified Files: src/common/lib/libc/arch/arm/quad: __aeabi_ldivmod.S Log Message: Add cfi ops. Thumbify To generate a diff of this commit: cvs rdiff -u -r1.11 -r1.12 \ src/common/lib/libc/arch/arm/quad/__aeabi_ldivmod.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/common/lib/libc/arch/arm/quad/__aeabi_ldivmod.S diff -u src/common/lib/libc/arch/arm/quad/__aeabi_ldivmod.S:1.11 src/common/lib/libc/arch/arm/quad/__aeabi_ldivmod.S:1.12 --- src/common/lib/libc/arch/arm/quad/__aeabi_ldivmod.S:1.11 Tue Aug 13 15:52:00 2013 +++ src/common/lib/libc/arch/arm/quad/__aeabi_ldivmod.S Mon Aug 19 03:27:34 2013 @@ -29,17 +29,7 @@ #include -RCSID("$NetBSD: __aeabi_ldivmod.S,v 1.11 2013/08/13 15:52:00 matt Exp $") - -ENTRY(__aeabi_ldivmod) -#if !defined(_KERNEL) && !defined(_STANDALONE) - orrs ip, r2, r3 - beq .Ldivbyzero -#endif - - push {r4-r5, sl, lr} -#define NEG r5 - mov NEG, #0 +RCSID("$NetBSD: __aeabi_ldivmod.S,v 1.12 2013/08/19 03:27:34 matt Exp $") #ifdef __ARMEB__ #define ALO r1 /* incoming numerator, outgoing quotient */ @@ -53,54 +43,135 @@ ENTRY(__aeabi_ldivmod) #define BHI r3 /* incoming denominator, outgoing remainder */ #endif +ENTRY(__aeabi_ldivmod) +#ifdef __ARM_EABI__ + .fnstart + .cfi_startproc +#endif +#if !defined(_KERNEL) && !defined(_STANDALONE) +#if !defined(__thumb__) + orrs ip, BLO, BHI + beq .Ldivbyzero +#elif defined(_ARM_ARCH_T2) + cbnz BLO, 1f + cbz BHI, .Ldivbyzero +#else + cmp BLO, #0 + bne 1f + cmp BHI, #0 + beq .Ldivbyzero +#endif +1: +#endif + + push {r4-r6, lr} +#ifdef __ARM_EABI__ + .cfi_def_cfa_offset 16 + .cfi_offset 14, -4 + .cfi_offset 6, -8 + .cfi_offset 5, -12 + .cfi_offset 4, -16 +#endif +#define NEG r5 + movs NEG, #0 + cmp BHI, #0 bge 2f - eor NEG, NEG, #1 /* flip quotient sign */ + movs NEG, #1 /* flip quotient sign */ bl .Lnegate_b bcs .Lmaxdenom 2: cmp AHI, #0 - /* bge 3f */ +#ifdef __thumb__ + bge 3f + movs r4, #3 + eors NEG, NEG, r4 /* flip quotient sign, flip remainder sign */ + bl .Lnegate_a +3: +#else eorlt NEG, NEG, #3 /* flip quotient sign, flip remainder sign */ bllt .Lnegate_a -3: +#endif + /* * Arguments are setup, allocate some stack for the remainder * and call __qdivrem for the heavy lifting. */ +#ifdef __ARM_EABI__ + .cfi_def_cfa_offset 32 +#endif sub sp, sp, #16 - add ip, sp, #8 - str ip, [sp] +#if !defined(__thumb__) || defined(_ARM_ARCH_T2) + adds r4, sp, #8 +#else + mov r4, sp + adds r4, r4, #8 +#endif + str r4, [sp] bl PLT_SYM(__qdivrem) add sp, sp, #8 +#ifdef __ARM_EABI__ + .cfi_def_cfa_offset 24 + .cfi_offset 3, -20 + .cfi_offset 2, -24 +#endif - teq NEG, #0 /* any signs to flip? */ /* * The quotient is already in the right place and neither value * needs its sign flipped. */ - popeq {r2-r5, sl, lr} - RETc(eq) +#if defined(__thumb__) && defined(_ARM_ARCH_T2) + cbz NEG, .Lnegate_neither +#else + cmp NEG, #0 /* any signs to flip? */ + beq .Lnegate_neither +#endif - pop {r2, r3} - tst NEG, #2 /* does remainder need to be negative? */ - blne .Lnegate_b - tst NEG, #1 /* does quotient need to be negative? */ - blne .Lnegate_a - pop {r4-r5, sl, lr} - RET + cmp NEG, #2 /* does remainder need to be negative? */ + beq .Lnegate_b_only /* 2 means b only */ + bgt .Lnegate_both /* 3 means both */ +.Lnegate_a_only: + bl .Lnegate_a /* 1 means a only */ +.Lnegate_neither: + pop {r2-r6, pc} /* grab b from stack */ +.Lnegate_both: + bl .Lnegate_a +.Lnegate_b_only: + pop {r2-r3} /* get remainder */ +#ifdef __ARM_EABI__ + .cfi_def_cfa_offset 16 +#endif + bl .Lnegate_b /* negate it */ + pop {r4-r6, pc} + .align 0 .Lnegate_a: -rsbs ALO, ALO, #0 -rsc AHI, AHI, #0 +#ifdef __thumb__ + movs r4, AHI + movs AHI, #0 + negs ALO, ALO + sbcs AHI, AHI, r4 +#else + negs ALO, ALO + rsc AHI, AHI, #0 +#endif RET + .align 0 .Lnegate_b: -rsbs BLO, BLO, #0 -rsc BHI, BHI, #0 +#ifdef __thumb__ + movs r4, BHI + movs BHI, #0 + negs BLO, BLO + sbcs BHI, BHI, r4 +#else + negs BLO, BLO + rsc BHI, BHI, #0 +#endif RET + .align 0 .Lmaxdenom: /* * We had a carry so the denominator must have INT64_MIN @@ -108,40 +179,71 @@ ENTRY(__aeabi_ldivmod) * them to see if the numerator has the same value. We * don't have to worry about sign. */ - teq BHI, AHI - teqeq BLO, ALO + cmp BHI, AHI +#ifdef __thumb__ + bne 1f + cmp BLO, ALO +#else + cmpeq BLO, ALO +#endif bne 1f /* * They were equal, so we return a quotient of 1 and remainder of 0. */ - mov ALO, #1 - mov AHI, #0 - mov BLO, #0 - mov BHI, #0 - pop {r4-r5, sl, lr} - RET + movs ALO, #1 + movs AHI, #0 + movs BLO, #0 + movs BHI, #0 + pop {r4-r6, pc} /* * Our remainder must be the numerator and our quotient is 0. */ -1: mov BLO, ALO - mov BHI, AHI - mov ALO, #0 - mov AHI, #0 - pop {r4-r5, sl, lr} - RET + .align 0 +1: movs B
CVS commit: src/sys/sys
Module Name:src Committed By: matt Date: Mon Aug 19 03:05:17 UTC 2013 Modified Files: src/sys/sys: intr.h Log Message: make sure u_int is defined To generate a diff of this commit: cvs rdiff -u -r1.14 -r1.15 src/sys/sys/intr.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/sys/intr.h diff -u src/sys/sys/intr.h:1.14 src/sys/sys/intr.h:1.15 --- src/sys/sys/intr.h:1.14 Sun Aug 18 07:36:13 2013 +++ src/sys/sys/intr.h Mon Aug 19 03:05:17 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: intr.h,v 1.14 2013/08/18 07:36:13 matt Exp $ */ +/* $NetBSD: intr.h,v 1.15 2013/08/19 03:05:17 matt Exp $ */ /*- * Copyright (c) 2007 The NetBSD Foundation, Inc. @@ -34,6 +34,8 @@ #ifdef _KERNEL +#include + struct cpu_info; /* Public interface. */
CVS commit: src/common/lib/libc/arch/arm/string
Module Name:src Committed By: matt Date: Mon Aug 19 02:55:19 UTC 2013 Modified Files: src/common/lib/libc/arch/arm/string: ffs.S Log Message: Add END() and clarify thumb/arm To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 src/common/lib/libc/arch/arm/string/ffs.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/common/lib/libc/arch/arm/string/ffs.S diff -u src/common/lib/libc/arch/arm/string/ffs.S:1.3 src/common/lib/libc/arch/arm/string/ffs.S:1.4 --- src/common/lib/libc/arch/arm/string/ffs.S:1.3 Sun Aug 11 05:02:35 2013 +++ src/common/lib/libc/arch/arm/string/ffs.S Mon Aug 19 02:55:19 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: ffs.S,v 1.3 2013/08/11 05:02:35 matt Exp $ */ +/* $NetBSD: ffs.S,v 1.4 2013/08/19 02:55:19 matt Exp $ */ /* * Copyright (c) 2001 Christopher Gilbert * All rights reserved. @@ -30,7 +30,7 @@ #include -RCSID("$NetBSD: ffs.S,v 1.3 2013/08/11 05:02:35 matt Exp $") +RCSID("$NetBSD: ffs.S,v 1.4 2013/08/19 02:55:19 matt Exp $") /* * ffs - find first set bit, this algorithm isolates the first set @@ -45,17 +45,23 @@ RCSID("$NetBSD: ffs.S,v 1.3 2013/08/11 0 * 16 Feb 1994. */ WEAK_ALIAS(__ffssi2,ffs) +#if (defined(_ARM_ARCH_5) && !defined(__thumb__)) || defined(_ARM_ARCH_T2) +#if defined(_ARM_ARCH_T2) ENTRY(ffs) -#ifdef _ARM_ARCH_5 +#else +ARM_ENTRY(ffs) +#endif /* (X & -X) gives LSB or zero. */ - rsb r1, r0, #0 + neg r1, r0 and r0, r0, r1 clz r0, r0 rsb r0, r0, #32 RET +END(ffs) #else +ARM_ENTRY(ffs) /* Standard trick to isolate bottom bit in r0 or 0 if r0 = 0 on entry */ - rsb r1, r0, #0 + neg r1, r0 andsr0, r0, r1 /* * now r0 has at most one set bit, call this X @@ -82,4 +88,5 @@ ENTRY(ffs) .byte 10, 0, 0, 25, 0, 0, 21, 27 /* 40-47 */ .byte 31, 0, 0, 0, 0, 24, 0, 20 /* 48-55 */ .byte 30, 0, 23, 19, 29, 18, 17, 0 /* 56-63 */ +END(ffs) #endif
CVS commit: src/common/lib/libc/arch/arm/string
Module Name:src Committed By: matt Date: Mon Aug 19 02:54:02 UTC 2013 Modified Files: src/common/lib/libc/arch/arm/string: strcat_naive.S Log Message: Thumbify To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/common/lib/libc/arch/arm/string/strcat_naive.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/common/lib/libc/arch/arm/string/strcat_naive.S diff -u src/common/lib/libc/arch/arm/string/strcat_naive.S:1.1 src/common/lib/libc/arch/arm/string/strcat_naive.S:1.2 --- src/common/lib/libc/arch/arm/string/strcat_naive.S:1.1 Mon Jan 14 16:36:15 2013 +++ src/common/lib/libc/arch/arm/string/strcat_naive.S Mon Aug 19 02:54:02 2013 @@ -29,10 +29,34 @@ #include -RCSID("$NetBSD: strcat_naive.S,v 1.1 2013/01/14 16:36:15 matt Exp $") +RCSID("$NetBSD: strcat_naive.S,v 1.2 2013/08/19 02:54:02 matt Exp $") ENTRY(strcat) mov ip, r0 /* need to preserve r0 */ +#if defined(__thumb__) +1: ldrb r2, [r0] /* load next byte */ + adds r0, r0, #1 /* advance */ +#if defined(_ARM_ARCH_T2) + cbnz r2, 1b /* was it a NUL? no, get next byte */ +#else + cmp r2, #0 /* was it a NUL? */ + bne 1b /* no, get next byte */ +#endif + subs r0, r0, #1 /* back up one to the NUL */ + subs r1, r1, r0 /* save one increment */ +2: ldrb r2, [r1, r0] /* load next byte from append */ + strb r2, [r0] /* store it */ + adds r0, r0, #1 /* advance */ +#if defined(_ARM_ARCH_T2) + cbnz r2, 1b /* was it a NUL? no, get next byte */ +#else + cmp r2, #0 /* was it a NUL? */ + bne 2b /* no, get next byte */ +#endif + mov r0, ip /* restore dst address */ + RET/* return */ +#else /* !__thumb__ */ + mov ip, r0 /* need to preserve r0 */ 1: ldrb r2, [ip], #1 /* load next byte */ teq r2, #0 /* was it a NUL? */ bne 1b /* no, get next byte */ @@ -42,4 +66,5 @@ ENTRY(strcat) teq r2, #0 /* was it a NUL? */ bne 2b /* no, get next byte */ RET/* return */ +#endif END(strcat)
CVS commit: src/common/lib/libc/arch/arm/string
Module Name:src Committed By: matt Date: Mon Aug 19 02:37:12 UTC 2013 Modified Files: src/common/lib/libc/arch/arm/string: memmove.S Log Message: Add END() To generate a diff of this commit: cvs rdiff -u -r1.5 -r1.6 src/common/lib/libc/arch/arm/string/memmove.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/common/lib/libc/arch/arm/string/memmove.S diff -u src/common/lib/libc/arch/arm/string/memmove.S:1.5 src/common/lib/libc/arch/arm/string/memmove.S:1.6 --- src/common/lib/libc/arch/arm/string/memmove.S:1.5 Sun Aug 11 04:56:32 2013 +++ src/common/lib/libc/arch/arm/string/memmove.S Mon Aug 19 02:37:12 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: memmove.S,v 1.5 2013/08/11 04:56:32 matt Exp $ */ +/* $NetBSD: memmove.S,v 1.6 2013/08/19 02:37:12 matt Exp $ */ /*- * Copyright (c) 1997 The NetBSD Foundation, Inc. @@ -31,10 +31,6 @@ #include -#if defined(__ARM_EABI__) && !defined(BCOPY) -STRONG_ALIAS(__aeabi_memmove, memmove) -#endif - #ifndef _BCOPY /* LINTSTUB: Func: void *memmove(void *, const void *, size_t) */ ENTRY(memmove) @@ -583,3 +579,12 @@ ENTRY(bcopy) .Lmemmove_bsrcul1l4: add r1, r1, #1 b .Lmemmove_bl4 +#ifndef _BCOPY +END(memmove) +#else +END(bcopy) +#endif + +#if defined(__ARM_EABI__) && !defined(BCOPY) +STRONG_ALIAS(__aeabi_memmove, memmove) +#endif
CVS commit: src/common/lib/libc/arch/arm/string
Module Name:src Committed By: matt Date: Mon Aug 19 02:36:27 UTC 2013 Modified Files: src/common/lib/libc/arch/arm/string: strrchr_naive.S Log Message: Thumbify To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/common/lib/libc/arch/arm/string/strrchr_naive.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/common/lib/libc/arch/arm/string/strrchr_naive.S diff -u src/common/lib/libc/arch/arm/string/strrchr_naive.S:1.2 src/common/lib/libc/arch/arm/string/strrchr_naive.S:1.3 --- src/common/lib/libc/arch/arm/string/strrchr_naive.S:1.2 Mon Aug 19 02:24:09 2013 +++ src/common/lib/libc/arch/arm/string/strrchr_naive.S Mon Aug 19 02:36:27 2013 @@ -28,17 +28,33 @@ */ #include -RCSID("$NetBSD: strrchr_naive.S,v 1.2 2013/08/19 02:24:09 matt Exp $") +RCSID("$NetBSD: strrchr_naive.S,v 1.3 2013/08/19 02:36:27 matt Exp $") /* LINTSTUB: char * strrchr(const char *, int) */ ENTRY(strrchr) mov r2, r0 /* using r0 as return value */ - mov r0, #0 /* default to no match */ + movs r0, #0 /* default to no match */ +#ifdef __thumb__ + movs r3, #0xff + ands r1, r1, r3 /* restrict to a byte value */ +1: ldrb r3, [r2] /* read a byte */ + cmp r3, r1 /* does it match? */ + bne 2f /* no, go and advance */ + mov r0, r2 /* yes, set return value to point to it */ +2: adds r2, r2, #1 /* advance to next byte */ +#ifdef _ARM_ARCH_T2 + cbnz r3, 1b /* was it a NUL? no, get next byte */ +#else + cmp r3, #0 /* was it a NUL? */ + bne 1b /* no, get next byte */ +#endif +#else and r1, r1, #0xff /* restrict to a byte value */ 1: ldrb r3, [r2], #1 /* read a byte */ cmp r3, r1 /* does it match? */ subeq r0, r2, #1 /* yes, set return value to point to it */ cmp r3, #0 /* was it a NUL? */ bne 1b /* no, get next byte */ +#endif RET END(strrchr)
CVS commit: src/common/lib/libc/arch/arm/string
Module Name:src Committed By: matt Date: Mon Aug 19 02:24:09 UTC 2013 Modified Files: src/common/lib/libc/arch/arm/string: strrchr_naive.S Log Message: ip -> r2 teq -> cmp To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/common/lib/libc/arch/arm/string/strrchr_naive.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/common/lib/libc/arch/arm/string/strrchr_naive.S diff -u src/common/lib/libc/arch/arm/string/strrchr_naive.S:1.1 src/common/lib/libc/arch/arm/string/strrchr_naive.S:1.2 --- src/common/lib/libc/arch/arm/string/strrchr_naive.S:1.1 Tue Jan 15 02:03:30 2013 +++ src/common/lib/libc/arch/arm/string/strrchr_naive.S Mon Aug 19 02:24:09 2013 @@ -28,17 +28,17 @@ */ #include -RCSID("$NetBSD: strrchr_naive.S,v 1.1 2013/01/15 02:03:30 matt Exp $") +RCSID("$NetBSD: strrchr_naive.S,v 1.2 2013/08/19 02:24:09 matt Exp $") /* LINTSTUB: char * strrchr(const char *, int) */ ENTRY(strrchr) - mov ip, r0 /* using r0 as return value */ + mov r2, r0 /* using r0 as return value */ mov r0, #0 /* default to no match */ and r1, r1, #0xff /* restrict to a byte value */ -1: ldrb r3, [ip], #1 /* read a byte */ +1: ldrb r3, [r2], #1 /* read a byte */ cmp r3, r1 /* does it match? */ - subeq r0, ip, #1 /* yes, set return value to point to it */ - teq r3, #0 /* was it a NUL? */ + subeq r0, r2, #1 /* yes, set return value to point to it */ + cmp r3, #0 /* was it a NUL? */ bne 1b /* no, get next byte */ RET END(strrchr)
CVS commit: src/common/lib/libc/arch/arm/string
Module Name:src Committed By: matt Date: Mon Aug 19 02:22:25 UTC 2013 Modified Files: src/common/lib/libc/arch/arm/string: strchr_naive.S Log Message: Thumbify To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/common/lib/libc/arch/arm/string/strchr_naive.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/common/lib/libc/arch/arm/string/strchr_naive.S diff -u src/common/lib/libc/arch/arm/string/strchr_naive.S:1.2 src/common/lib/libc/arch/arm/string/strchr_naive.S:1.3 --- src/common/lib/libc/arch/arm/string/strchr_naive.S:1.2 Mon Aug 19 02:20:06 2013 +++ src/common/lib/libc/arch/arm/string/strchr_naive.S Mon Aug 19 02:22:25 2013 @@ -28,10 +28,26 @@ */ #include -RCSID("$NetBSD: strchr_naive.S,v 1.2 2013/08/19 02:20:06 matt Exp $") +RCSID("$NetBSD: strchr_naive.S,v 1.3 2013/08/19 02:22:25 matt Exp $") /* LINTSTUB: char * strchr(const char *, int) */ ENTRY(strchr) +#ifdef __thumb__ + movs r3, #0xff + ands r1, r1, r3 /* restrict to a byte value */ +1: ldrb r3, [r0] /* read a byte */ + cmp r3, r1 /* does it match? */ + beq 2f /* yes, set return value */ + adds r0, r0, #1 /* advance to next byte */ +#ifdef _ARM_ARCH_T2 + cbnz r3, 1b /* was it a NUL? no, get next byte */ +#else + cmp r3, #0 /* was it a NUL? */ + bne 1b /* no, get next byte */ +#endif + movs r0, #0 /* set return to NULL */ +2: RET /* return */ +#else mov r2, r0 /* using r0 as return value */ mov r0, #0 /* default to no match */ and r1, r1, #0xff /* restrict to a byte value */ @@ -41,4 +57,5 @@ ENTRY(strchr) cmpne r3, #0 /* no, was it a NUL? */ bne 1b /* no, get next byte */ RET +#endif END(strchr)
CVS commit: src/common/lib/libc/arch/arm/string
Module Name:src Committed By: matt Date: Mon Aug 19 02:20:06 UTC 2013 Modified Files: src/common/lib/libc/arch/arm/string: strchr_naive.S Log Message: ip -> r2 teq -> cmp To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/common/lib/libc/arch/arm/string/strchr_naive.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/common/lib/libc/arch/arm/string/strchr_naive.S diff -u src/common/lib/libc/arch/arm/string/strchr_naive.S:1.1 src/common/lib/libc/arch/arm/string/strchr_naive.S:1.2 --- src/common/lib/libc/arch/arm/string/strchr_naive.S:1.1 Tue Jan 15 02:03:30 2013 +++ src/common/lib/libc/arch/arm/string/strchr_naive.S Mon Aug 19 02:20:06 2013 @@ -28,17 +28,17 @@ */ #include -RCSID("$NetBSD: strchr_naive.S,v 1.1 2013/01/15 02:03:30 matt Exp $") +RCSID("$NetBSD: strchr_naive.S,v 1.2 2013/08/19 02:20:06 matt Exp $") /* LINTSTUB: char * strchr(const char *, int) */ ENTRY(strchr) - mov ip, r0 /* using r0 as return value */ + mov r2, r0 /* using r0 as return value */ mov r0, #0 /* default to no match */ and r1, r1, #0xff /* restrict to a byte value */ -1: ldrb r3, [ip], #1 /* read a byte */ +1: ldrb r3, [r2], #1 /* read a byte */ cmp r3, r1 /* does it match? */ - subeq r0, ip, #1 /* yes, set return value to point to it */ - teqne r3, #0 /* no, was it a NUL? */ + subeq r0, r2, #1 /* yes, set return value to point to it */ + cmpne r3, #0 /* no, was it a NUL? */ bne 1b /* no, get next byte */ RET END(strchr)
CVS commit: src/common/lib/libc/arch/arm/string
Module Name:src Committed By: matt Date: Mon Aug 19 02:13:14 UTC 2013 Modified Files: src/common/lib/libc/arch/arm/string: strlen_naive.S Log Message: Thumbify To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 src/common/lib/libc/arch/arm/string/strlen_naive.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/common/lib/libc/arch/arm/string/strlen_naive.S diff -u src/common/lib/libc/arch/arm/string/strlen_naive.S:1.6 src/common/lib/libc/arch/arm/string/strlen_naive.S:1.7 --- src/common/lib/libc/arch/arm/string/strlen_naive.S:1.6 Mon Aug 19 02:11:03 2013 +++ src/common/lib/libc/arch/arm/string/strlen_naive.S Mon Aug 19 02:13:13 2013 @@ -28,16 +28,26 @@ */ #include -RCSID("$NetBSD: strlen_naive.S,v 1.6 2013/08/19 02:11:03 matt Exp $") +RCSID("$NetBSD: strlen_naive.S,v 1.7 2013/08/19 02:13:13 matt Exp $") #ifdef STRNLEN /* LINTSTUB: size_t strnlen(const char *, size_t) */ ENTRY(strnlen) adds r3, r0, #1 /* start of src + NUL */ +#ifdef __thumb__ + adds r2, r0, r1 /* &src[maxlen] */ + mov ip, r2 +#else adds ip, r0, r1 /* &src[maxlen] */ +#endif 1: cmp r0, ip /* is this of string? */ beq 2f /* yes it is */ +#ifdef __thumb__ + ldrb r2, [r0] /* read a byte */ + adds r0, r0, #1 /* advance to next byte */ +#else ldrb r2, [r0], #1 /* read a byte */ +#endif cmp r2, #0 /* is it a NUL? */ bne 1b /* no, get next byte */ subs r0, r0, r3 /* get difference between start and end */ @@ -50,7 +60,12 @@ END(strnlen) ENTRY(strlen) adds r2, r0, #1 /* start of src + NUL */ 1: +#ifdef __thumb__ + ldrb r3, [r0] /* read a byte */ + adds r0, r0, #1 +#else ldrb r3, [r0], #1 /* read a byte */ +#endif cmp r3, #0 /* is it a NUL? */ bne 1b /* no, get next byte */ subs r0, r0, r2 /* return difference between start and end */
CVS commit: src/common/lib/libc/arch/arm/string
Module Name:src Committed By: matt Date: Mon Aug 19 02:11:03 UTC 2013 Modified Files: src/common/lib/libc/arch/arm/string: strlen_naive.S Log Message: Use ip as a temporary To generate a diff of this commit: cvs rdiff -u -r1.5 -r1.6 src/common/lib/libc/arch/arm/string/strlen_naive.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/common/lib/libc/arch/arm/string/strlen_naive.S diff -u src/common/lib/libc/arch/arm/string/strlen_naive.S:1.5 src/common/lib/libc/arch/arm/string/strlen_naive.S:1.6 --- src/common/lib/libc/arch/arm/string/strlen_naive.S:1.5 Mon Aug 19 02:08:41 2013 +++ src/common/lib/libc/arch/arm/string/strlen_naive.S Mon Aug 19 02:11:03 2013 @@ -28,17 +28,17 @@ */ #include -RCSID("$NetBSD: strlen_naive.S,v 1.5 2013/08/19 02:08:41 matt Exp $") +RCSID("$NetBSD: strlen_naive.S,v 1.6 2013/08/19 02:11:03 matt Exp $") #ifdef STRNLEN /* LINTSTUB: size_t strnlen(const char *, size_t) */ ENTRY(strnlen) adds r3, r0, #1 /* start of src + NUL */ - adds r2, r0, r1 /* &src[maxlen] */ -1: cmp r0, r2 /* is this of string? */ + adds ip, r0, r1 /* &src[maxlen] */ +1: cmp r0, ip /* is this of string? */ beq 2f /* yes it is */ - ldrb r3, [r0], #1 /* read a byte */ - cmp r3, #0 /* is it a NUL? */ + ldrb r2, [r0], #1 /* read a byte */ + cmp r2, #0 /* is it a NUL? */ bne 1b /* no, get next byte */ subs r0, r0, r3 /* get difference between start and end */ RET /* return */
CVS commit: src/common/lib/libc/arch/arm/string
Module Name:src Committed By: matt Date: Mon Aug 19 02:08:41 UTC 2013 Modified Files: src/common/lib/libc/arch/arm/string: strlen_naive.S Log Message: Change previous use of r2 to r3 To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/common/lib/libc/arch/arm/string/strlen_naive.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/common/lib/libc/arch/arm/string/strlen_naive.S diff -u src/common/lib/libc/arch/arm/string/strlen_naive.S:1.4 src/common/lib/libc/arch/arm/string/strlen_naive.S:1.5 --- src/common/lib/libc/arch/arm/string/strlen_naive.S:1.4 Mon Aug 19 02:07:22 2013 +++ src/common/lib/libc/arch/arm/string/strlen_naive.S Mon Aug 19 02:08:41 2013 @@ -28,19 +28,19 @@ */ #include -RCSID("$NetBSD: strlen_naive.S,v 1.4 2013/08/19 02:07:22 matt Exp $") +RCSID("$NetBSD: strlen_naive.S,v 1.5 2013/08/19 02:08:41 matt Exp $") #ifdef STRNLEN /* LINTSTUB: size_t strnlen(const char *, size_t) */ ENTRY(strnlen) - adds r2, r0, #1 /* start of src + NUL */ + adds r3, r0, #1 /* start of src + NUL */ adds r2, r0, r1 /* &src[maxlen] */ 1: cmp r0, r2 /* is this of string? */ beq 2f /* yes it is */ ldrb r3, [r0], #1 /* read a byte */ cmp r3, #0 /* is it a NUL? */ bne 1b /* no, get next byte */ - subs r0, r0, r2 /* get difference between start and end */ + subs r0, r0, r3 /* get difference between start and end */ RET /* return */ 2: mov r0, r1 /* get maxlen */ RET /* return */
CVS commit: src/common/lib/libc/arch/arm/string
Module Name:src Committed By: matt Date: Mon Aug 19 02:07:22 UTC 2013 Modified Files: src/common/lib/libc/arch/arm/string: strlen_naive.S Log Message: teq -> cmp ip -> r2 add/sub -> adds/subs (thumbify part 1) To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 src/common/lib/libc/arch/arm/string/strlen_naive.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/common/lib/libc/arch/arm/string/strlen_naive.S diff -u src/common/lib/libc/arch/arm/string/strlen_naive.S:1.3 src/common/lib/libc/arch/arm/string/strlen_naive.S:1.4 --- src/common/lib/libc/arch/arm/string/strlen_naive.S:1.3 Wed Jan 23 06:59:55 2013 +++ src/common/lib/libc/arch/arm/string/strlen_naive.S Mon Aug 19 02:07:22 2013 @@ -28,19 +28,19 @@ */ #include -RCSID("$NetBSD: strlen_naive.S,v 1.3 2013/01/23 06:59:55 matt Exp $") +RCSID("$NetBSD: strlen_naive.S,v 1.4 2013/08/19 02:07:22 matt Exp $") #ifdef STRNLEN /* LINTSTUB: size_t strnlen(const char *, size_t) */ ENTRY(strnlen) - add ip, r0, #1 /* start of src + NUL */ - add r2, r0, r1 /* &src[maxlen] */ + adds r2, r0, #1 /* start of src + NUL */ + adds r2, r0, r1 /* &src[maxlen] */ 1: cmp r0, r2 /* is this of string? */ beq 2f /* yes it is */ ldrb r3, [r0], #1 /* read a byte */ - teq r3, #0 /* is it a NUL? */ + cmp r3, #0 /* is it a NUL? */ bne 1b /* no, get next byte */ - sub r0, r0, ip /* get difference between start and end */ + subs r0, r0, r2 /* get difference between start and end */ RET /* return */ 2: mov r0, r1 /* get maxlen */ RET /* return */ @@ -48,11 +48,12 @@ END(strnlen) #else /* STRNLEN */ /* LINTSTUB: size_t strlen(const char *) */ ENTRY(strlen) - add ip, r0, #1 /* start of src + NUL */ -1: ldrb r3, [r0], #1 /* read a byte */ - teq r3, #0 /* is it a NUL? */ + adds r2, r0, #1 /* start of src + NUL */ +1: + ldrb r3, [r0], #1 /* read a byte */ + cmp r3, #0 /* is it a NUL? */ bne 1b /* no, get next byte */ - sub r0, r0, ip /* return difference between start and end */ + subs r0, r0, r2 /* return difference between start and end */ RET END(strlen) #endif /* !STRNLEN */
CVS commit: src/common/lib/libc/arch/arm/string
Module Name:src Committed By: matt Date: Mon Aug 19 01:17:32 UTC 2013 Modified Files: src/common/lib/libc/arch/arm/string: strlen_arm.S Log Message: For EABI, add .cfi ops To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 src/common/lib/libc/arch/arm/string/strlen_arm.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/common/lib/libc/arch/arm/string/strlen_arm.S diff -u src/common/lib/libc/arch/arm/string/strlen_arm.S:1.3 src/common/lib/libc/arch/arm/string/strlen_arm.S:1.4 --- src/common/lib/libc/arch/arm/string/strlen_arm.S:1.3 Wed Jan 23 06:59:55 2013 +++ src/common/lib/libc/arch/arm/string/strlen_arm.S Mon Aug 19 01:17:32 2013 @@ -29,7 +29,7 @@ #include -RCSID("$NetBSD: strlen_arm.S,v 1.3 2013/01/23 06:59:55 matt Exp $") +RCSID("$NetBSD: strlen_arm.S,v 1.4 2013/08/19 01:17:32 matt Exp $") #ifdef __ARMEL__ #define BYTE0 0x00ff @@ -51,8 +51,18 @@ RCSID("$NetBSD: strlen_arm.S,v 1.3 2013/ .text ENTRY(FUNCNAME) +#ifdef __ARM_EABI__ + .fnstart + .cfi_startproc +#endif #ifdef STRNLEN push {r4,r5} /* save some registers */ +#ifdef __ARM_EABI__ + .save {r4,r5} + .cfi_def_cfa_offset 8 + .cfi_offset 5, -4 + .cfi_offset 4, -8 +#endif add r5, r0, r1 /* get ptr to end of string */ mov r4, r1 /* save maxlen */ #endif @@ -151,4 +161,8 @@ ENTRY(FUNCNAME) pop {r4, r5} /* restore registers */ RET/* return */ #endif +#ifdef __ARM_EABI__ + .cfi_endproc + .fnend +#endif END(FUNCNAME)
CVS commit: src/common/lib/libc/arch/arm/string
Module Name:src Committed By: matt Date: Mon Aug 19 01:12:08 UTC 2013 Modified Files: src/common/lib/libc/arch/arm/string: strlcat_arm.S Log Message: Add .cfi for __ARM_EABI__ Thumbify To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/common/lib/libc/arch/arm/string/strlcat_arm.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/common/lib/libc/arch/arm/string/strlcat_arm.S diff -u src/common/lib/libc/arch/arm/string/strlcat_arm.S:1.1 src/common/lib/libc/arch/arm/string/strlcat_arm.S:1.2 --- src/common/lib/libc/arch/arm/string/strlcat_arm.S:1.1 Wed Jan 23 07:02:45 2013 +++ src/common/lib/libc/arch/arm/string/strlcat_arm.S Mon Aug 19 01:12:08 2013 @@ -29,11 +29,23 @@ #include -RCSID("$NetBSD: strlcat_arm.S,v 1.1 2013/01/23 07:02:45 matt Exp $") +RCSID("$NetBSD: strlcat_arm.S,v 1.2 2013/08/19 01:12:08 matt Exp $") /* LINTSTUB: size_t strlcat(char *, const char *, size_t) */ ENTRY(strlcat) +#ifdef __ARM_EABI__ + .fnstart + .cfi_startproc +#endif push {r4-r6, lr} +#ifdef __ARM_EABI__ + .save {r4-r6, lr} + .cfi_def_cfa_offset 16 + .cfi_register 14, -4 + .cfi_register 6, -8 + .cfi_register 5, -12 + .cfi_register 4, -16 +#endif mov r4, r0 /* save dst */ mov r5, r1 /* save src */ mov r6, r2 /* save siz */ @@ -41,12 +53,15 @@ ENTRY(strlcat) mov r1, r6 /* get siz */ bl PLT_SYM(strnlen) /* find length of dst (up to siz) */ - sub r2, r6, r0 /* get remaining space in dst */ + subs r2, r6, r0 /* get remaining space in dst */ mov r1, r5 /* restore src */ mov r5, r0 /* save remaining space */ - add r0, r0, r4 /* set start to end of dst */ + adds r0, r0, r4 /* set start to end of dst */ bl PLT_SYM(strlcpy) /* attempt to copy src */ - add r0, r0, r5 /* add remaining to strlcpy return */ - pop {r4-r6, lr} /* restore registers */ - RET/* return */ + adds r0, r0, r5 /* add remaining to strlcpy return */ + pop {r4-r6, pc} /* restore registers and return */ +#ifdef __ARM_EABI__ + .cfi_endproc + .fnend +#endif END(strlcat)
CVS commit: src/common/lib/libc/arch/arm/string
Module Name:src Committed By: matt Date: Mon Aug 19 01:08:53 UTC 2013 Modified Files: src/common/lib/libc/arch/arm/string: memcpy_xscale.S Log Message: Add END(memcpy) To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 src/common/lib/libc/arch/arm/string/memcpy_xscale.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/common/lib/libc/arch/arm/string/memcpy_xscale.S diff -u src/common/lib/libc/arch/arm/string/memcpy_xscale.S:1.3 src/common/lib/libc/arch/arm/string/memcpy_xscale.S:1.4 --- src/common/lib/libc/arch/arm/string/memcpy_xscale.S:1.3 Sun Aug 11 04:56:32 2013 +++ src/common/lib/libc/arch/arm/string/memcpy_xscale.S Mon Aug 19 01:08:53 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: memcpy_xscale.S,v 1.3 2013/08/11 04:56:32 matt Exp $ */ +/* $NetBSD: memcpy_xscale.S,v 1.4 2013/08/19 01:08:53 matt Exp $ */ /* * Copyright 2003 Wasabi Systems, Inc. @@ -1890,4 +1890,5 @@ ENTRY(memcpy) strh r2, [r0, #0x09] strb r1, [r0, #0x0b] RET +END(memcpy) #endif /* !_STANDALONE */
CVS commit: src/common/lib/libc/arch/arm/string
Module Name:src Committed By: matt Date: Mon Aug 19 01:08:29 UTC 2013 Modified Files: src/common/lib/libc/arch/arm/string: strchr.S strlen.S strnlen.S strrchr.S Log Message: For Thumb, use naive version To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/common/lib/libc/arch/arm/string/strchr.S \ src/common/lib/libc/arch/arm/string/strlen.S \ src/common/lib/libc/arch/arm/string/strrchr.S cvs rdiff -u -r1.1 -r1.2 src/common/lib/libc/arch/arm/string/strnlen.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/common/lib/libc/arch/arm/string/strchr.S diff -u src/common/lib/libc/arch/arm/string/strchr.S:1.2 src/common/lib/libc/arch/arm/string/strchr.S:1.3 --- src/common/lib/libc/arch/arm/string/strchr.S:1.2 Wed Jan 23 07:45:46 2013 +++ src/common/lib/libc/arch/arm/string/strchr.S Mon Aug 19 01:08:29 2013 @@ -1,10 +1,10 @@ -/* $NetBSD: strchr.S,v 1.2 2013/01/23 07:45:46 matt Exp $ */ +/* $NetBSD: strchr.S,v 1.3 2013/08/19 01:08:29 matt Exp $ */ #include STRONG_ALIAS(index, strchr) -#if defined(_STANDALONE) +#if defined(_STANDALONE) || defined(__thumb__) #include "strchr_naive.S" #else #include "strchr_arm.S" Index: src/common/lib/libc/arch/arm/string/strlen.S diff -u src/common/lib/libc/arch/arm/string/strlen.S:1.2 src/common/lib/libc/arch/arm/string/strlen.S:1.3 --- src/common/lib/libc/arch/arm/string/strlen.S:1.2 Tue Jan 8 13:21:05 2013 +++ src/common/lib/libc/arch/arm/string/strlen.S Mon Aug 19 01:08:29 2013 @@ -1,6 +1,6 @@ -/* $NetBSD: strlen.S,v 1.2 2013/01/08 13:21:05 matt Exp $ */ +/* $NetBSD: strlen.S,v 1.3 2013/08/19 01:08:29 matt Exp $ */ -#ifdef _STANDALONE +#if defined(_STANDALONE) || defined(__thumb__) #include "strlen_naive.S" #else #include "strlen_arm.S" Index: src/common/lib/libc/arch/arm/string/strrchr.S diff -u src/common/lib/libc/arch/arm/string/strrchr.S:1.2 src/common/lib/libc/arch/arm/string/strrchr.S:1.3 --- src/common/lib/libc/arch/arm/string/strrchr.S:1.2 Wed Jan 23 07:45:46 2013 +++ src/common/lib/libc/arch/arm/string/strrchr.S Mon Aug 19 01:08:29 2013 @@ -1,10 +1,10 @@ -/* $NetBSD: strrchr.S,v 1.2 2013/01/23 07:45:46 matt Exp $ */ +/* $NetBSD: strrchr.S,v 1.3 2013/08/19 01:08:29 matt Exp $ */ #include STRONG_ALIAS(rindex, strrchr) -#if defined(_STANDALONE) +#if defined(_STANDALONE) || defined(__thumb__) #include "strrchr_naive.S" #else #include "strrchr_arm.S" Index: src/common/lib/libc/arch/arm/string/strnlen.S diff -u src/common/lib/libc/arch/arm/string/strnlen.S:1.1 src/common/lib/libc/arch/arm/string/strnlen.S:1.2 --- src/common/lib/libc/arch/arm/string/strnlen.S:1.1 Wed Jan 23 07:56:09 2013 +++ src/common/lib/libc/arch/arm/string/strnlen.S Mon Aug 19 01:08:29 2013 @@ -1,8 +1,8 @@ -/* $NetBSD: strnlen.S,v 1.1 2013/01/23 07:56:09 matt Exp $ */ +/* $NetBSD: strnlen.S,v 1.2 2013/08/19 01:08:29 matt Exp $ */ #define STRNLEN -#ifdef _STANDALONE +#if defined(_STANDALONE) || defined(__thumb__) #include "strlen_naive.S" #else #include "strlen_arm.S"
CVS commit: src/common/lib/libc/arch/arm/string
Module Name:src Committed By: matt Date: Mon Aug 19 00:57:25 UTC 2013 Modified Files: src/common/lib/libc/arch/arm/string: strncmp.S Log Message: Thumbify To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/common/lib/libc/arch/arm/string/strncmp.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/common/lib/libc/arch/arm/string/strncmp.S diff -u src/common/lib/libc/arch/arm/string/strncmp.S:1.1 src/common/lib/libc/arch/arm/string/strncmp.S:1.2 --- src/common/lib/libc/arch/arm/string/strncmp.S:1.1 Tue Dec 20 19:28:49 2005 +++ src/common/lib/libc/arch/arm/string/strncmp.S Mon Aug 19 00:57:25 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: strncmp.S,v 1.1 2005/12/20 19:28:49 christos Exp $ */ +/* $NetBSD: strncmp.S,v 1.2 2013/08/19 00:57:25 matt Exp $ */ /* * Copyright (c) 2002 ARM Ltd @@ -30,22 +30,48 @@ #include -RCSID("$NetBSD: strncmp.S,v 1.1 2005/12/20 19:28:49 christos Exp $") +RCSID("$NetBSD: strncmp.S,v 1.2 2013/08/19 00:57:25 matt Exp $") ENTRY(strncmp) /* if ((len - 1) < 0) return 0 */ subs r2, r2, #1 +#ifdef __thumb__ + bmi 5f +#else movmi r0, #0 RETc(mi) +#endif /* ip == last src address to compare */ +#ifdef __thumb__ + adds r3, r0, r2 + mov ip, r3 + subs r1, r1, r0 +#else add ip, r0, r2 +#endif 1: +#ifdef __thumb__ + ldrb r2, [r0] + ldrb r3, [r1, r0] + adds r0, r0, #1 + cmp ip, r0 /* exhausted length? */ + bcc 4f /* yes, we're done */ + cmp r2, #1 /* NUL? */ + bcc 4f /* yes, we're done */ + cmp r2, r3 /* different? */ +#else ldrb r2, [r0], #1 ldrb r3, [r1], #1 cmp ip, r0 cmpcs r2, #1 cmpcs r2, r3 +#endif beq 1b - sub r0, r2, r3 +4: subs r0, r2, r3 RET +#ifdef __thumb__ +5: movs r0, #0 + RET +#endif +END(strncmp)
CVS commit: src/common/lib/libc/arch/arm/string
Module Name:src Committed By: matt Date: Mon Aug 19 00:56:12 UTC 2013 Modified Files: src/common/lib/libc/arch/arm/string: strcmp.S Log Message: Thumbify To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/common/lib/libc/arch/arm/string/strcmp.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/common/lib/libc/arch/arm/string/strcmp.S diff -u src/common/lib/libc/arch/arm/string/strcmp.S:1.1 src/common/lib/libc/arch/arm/string/strcmp.S:1.2 --- src/common/lib/libc/arch/arm/string/strcmp.S:1.1 Tue Dec 20 19:28:49 2005 +++ src/common/lib/libc/arch/arm/string/strcmp.S Mon Aug 19 00:56:12 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: strcmp.S,v 1.1 2005/12/20 19:28:49 christos Exp $ */ +/* $NetBSD: strcmp.S,v 1.2 2013/08/19 00:56:12 matt Exp $ */ /* * Copyright (c) 2002 ARM Ltd @@ -30,14 +30,24 @@ #include -RCSID("$NetBSD: strcmp.S,v 1.1 2005/12/20 19:28:49 christos Exp $") +RCSID("$NetBSD: strcmp.S,v 1.2 2013/08/19 00:56:12 matt Exp $") ENTRY(strcmp) -1: - ldrb r2, [r0], #1 +#if !defined(__thumb__) +1: ldrb r2, [r0], #1 ldrb r3, [r1], #1 cmp r2, #1 cmpcs r2, r3 +#else + subs r1, r1, r0 /* this allows us to only one increment */ +1: ldrb r2, [r0] + ldrb r3, [r1, r0] + adds r0, r0, #1 /* increment */ + cmp r2, #1 + bcc 2f + cmp r2, r3 +#endif beq 1b - sub r0, r2, r3 +2: subs r0, r2, r3 RET +END(strcmp)
CVS commit: src/common/lib/libc/arch/arm/string
Module Name:src Committed By: matt Date: Mon Aug 19 00:36:29 UTC 2013 Modified Files: src/common/lib/libc/arch/arm/string: strcat_arm.S Log Message: Add .cfi ops if EABI. Thumbify. To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/common/lib/libc/arch/arm/string/strcat_arm.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/common/lib/libc/arch/arm/string/strcat_arm.S diff -u src/common/lib/libc/arch/arm/string/strcat_arm.S:1.2 src/common/lib/libc/arch/arm/string/strcat_arm.S:1.3 --- src/common/lib/libc/arch/arm/string/strcat_arm.S:1.2 Tue Jan 15 04:48:14 2013 +++ src/common/lib/libc/arch/arm/string/strcat_arm.S Mon Aug 19 00:36:29 2013 @@ -33,20 +33,33 @@ * Implementation of strcat using strlen/strcpy. */ ENTRY(strcat) - str lr, [sp, #-8]! /* save return address */ - push {r4, r5} /* save registers */ +#ifdef __ARM_EABI__ + .fnstart + .cfi_startproc +#endif + push {r3-r5, lr} /* save registers */ +#ifdef __ARM_EABI__ + .save {r3-r5, lr} + .cfi_def_cfa_offset 16 + .cfi_offset 14, -4 + .cfi_offset 5, -8 + .cfi_offset 4, -12 + .cfi_offset 3, -16 +#endif mov r4, r0 /* save dst */ mov r5, r1 /* save append */ bl PLT_SYM(strlen) /* find length of dst */ - add r0, r0, r4 /* add to dst pointer */ + adds r0, r0, r4 /* add to dst pointer */ mov r1, r5 /* fetch append */ bl PLT_SYM(strcpy) /* append string */ mov r0, r4 /* restore dst as return value */ - pop {r4, r5} /* restore registers */ - ldr lr, [sp], #8 /* restore return address */ - RET + pop {r3-r5, pc} /* restore registers */ +#ifdef __ARM_EABI__ + .cfi_endproc + .fnend +#endif END(strcat)
CVS commit: src/common/lib/libc/arch/arm/atomic
Module Name:src Committed By: matt Date: Mon Aug 19 00:35:07 UTC 2013 Modified Files: src/common/lib/libc/arch/arm/atomic: atomic_cas_up.S Log Message: Thumbify To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 src/common/lib/libc/arch/arm/atomic/atomic_cas_up.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/common/lib/libc/arch/arm/atomic/atomic_cas_up.S diff -u src/common/lib/libc/arch/arm/atomic/atomic_cas_up.S:1.3 src/common/lib/libc/arch/arm/atomic/atomic_cas_up.S:1.4 --- src/common/lib/libc/arch/arm/atomic/atomic_cas_up.S:1.3 Sat Aug 10 19:59:21 2013 +++ src/common/lib/libc/arch/arm/atomic/atomic_cas_up.S Mon Aug 19 00:35:06 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: atomic_cas_up.S,v 1.3 2013/08/10 19:59:21 matt Exp $ */ +/* $NetBSD: atomic_cas_up.S,v 1.4 2013/08/19 00:35:06 matt Exp $ */ /*- * Copyright (c) 2008 The NetBSD Foundation, Inc. @@ -35,10 +35,16 @@ ENTRY(_atomic_cas_up) .hidden _C_LABEL(_atomic_cas_up) mov r3, r0 + .align 0 RAS_START_ASM_HIDDEN(_atomic_cas) ldr r0, [r3] cmp r0, r1 +#if defined(__thumb__) + beq 1f +#else streq r2, [r3] +#endif + .align 0 RAS_END_ASM_HIDDEN(_atomic_cas) - RET +1: RET END(_atomic_cas_up)
CVS commit: src/sys/arch/arm/include
Module Name:src Committed By: matt Date: Sun Aug 18 23:14:27 UTC 2013 Modified Files: src/sys/arch/arm/include: cpu.h Log Message: Fix CLKF_INTR for EABI to (void) its argument so it isn't mark unused by the optimizer. To generate a diff of this commit: cvs rdiff -u -r1.79 -r1.80 src/sys/arch/arm/include/cpu.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/arm/include/cpu.h diff -u src/sys/arch/arm/include/cpu.h:1.79 src/sys/arch/arm/include/cpu.h:1.80 --- src/sys/arch/arm/include/cpu.h:1.79 Sun Aug 18 15:58:19 2013 +++ src/sys/arch/arm/include/cpu.h Sun Aug 18 23:14:27 2013 @@ -104,7 +104,7 @@ extern int cpu_fpu_present; ((curcpu()->ci_intr_depth > 1) || \ ((cf)->cf_tf.tf_spsr & PSR_MODE) == PSR_UND32_MODE) #else -#define CLKF_INTR(frame) (curcpu()->ci_intr_depth > 1) +#define CLKF_INTR(cf) ((void)(cf), curcpu()->ci_intr_depth > 1) #endif /*
CVS commit: src/sys/arch/hpcarm/hpcarm
Module Name:src Committed By: matt Date: Sun Aug 18 22:26:51 UTC 2013 Modified Files: src/sys/arch/hpcarm/hpcarm: hpc_machdep.c sa11x0_hpc_machdep.c Log Message: Fix lossage To generate a diff of this commit: cvs rdiff -u -r1.101 -r1.102 src/sys/arch/hpcarm/hpcarm/hpc_machdep.c cvs rdiff -u -r1.7 -r1.8 src/sys/arch/hpcarm/hpcarm/sa11x0_hpc_machdep.c 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/hpcarm/hpcarm/hpc_machdep.c diff -u src/sys/arch/hpcarm/hpcarm/hpc_machdep.c:1.101 src/sys/arch/hpcarm/hpcarm/hpc_machdep.c:1.102 --- src/sys/arch/hpcarm/hpcarm/hpc_machdep.c:1.101 Sun Jul 29 00:07:06 2012 +++ src/sys/arch/hpcarm/hpcarm/hpc_machdep.c Sun Aug 18 22:26:51 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: hpc_machdep.c,v 1.101 2012/07/29 00:07:06 matt Exp $ */ +/* $NetBSD: hpc_machdep.c,v 1.102 2013/08/18 22:26:51 matt Exp $ */ /* * Copyright (c) 1994-1998 Mark Brinicombe. @@ -40,7 +40,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: hpc_machdep.c,v 1.101 2012/07/29 00:07:06 matt Exp $"); +__KERNEL_RCSID(0, "$NetBSD: hpc_machdep.c,v 1.102 2013/08/18 22:26:51 matt Exp $"); #include "opt_cputypes.h" #include "opt_kloader.h" @@ -54,10 +54,11 @@ __KERNEL_RCSID(0, "$NetBSD: hpc_machdep. #include #include #include +#include #include -#include +#include #include #include Index: src/sys/arch/hpcarm/hpcarm/sa11x0_hpc_machdep.c diff -u src/sys/arch/hpcarm/hpcarm/sa11x0_hpc_machdep.c:1.7 src/sys/arch/hpcarm/hpcarm/sa11x0_hpc_machdep.c:1.8 --- src/sys/arch/hpcarm/hpcarm/sa11x0_hpc_machdep.c:1.7 Sat Sep 22 00:33:41 2012 +++ src/sys/arch/hpcarm/hpcarm/sa11x0_hpc_machdep.c Sun Aug 18 22:26:51 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: sa11x0_hpc_machdep.c,v 1.7 2012/09/22 00:33:41 matt Exp $ */ +/* $NetBSD: sa11x0_hpc_machdep.c,v 1.8 2013/08/18 22:26:51 matt Exp $ */ /* * Copyright (c) 1994-1998 Mark Brinicombe. @@ -40,7 +40,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: sa11x0_hpc_machdep.c,v 1.7 2012/09/22 00:33:41 matt Exp $"); +__KERNEL_RCSID(0, "$NetBSD: sa11x0_hpc_machdep.c,v 1.8 2013/08/18 22:26:51 matt Exp $"); #include "opt_ddb.h" #include "opt_dram_pages.h" @@ -60,6 +60,8 @@ __KERNEL_RCSID(0, "$NetBSD: sa11x0_hpc_m #include #include #include +#include +#include #if NKSYMS || defined(DDB) || defined(MODULAR) #include @@ -76,14 +78,11 @@ __KERNEL_RCSID(0, "$NetBSD: sa11x0_hpc_m #include #include -#include +#include #include #include #include -#include -#include -#include #include #include #include
CVS commit: src/sys/arch/epoc32/epoc32
Module Name:src Committed By: matt Date: Sun Aug 18 21:57:01 UTC 2013 Modified Files: src/sys/arch/epoc32/epoc32: intr.c machdep.c Log Message: Fix lossage To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/sys/arch/epoc32/epoc32/intr.c cvs rdiff -u -r1.2 -r1.3 src/sys/arch/epoc32/epoc32/machdep.c 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/epoc32/epoc32/intr.c diff -u src/sys/arch/epoc32/epoc32/intr.c:1.1 src/sys/arch/epoc32/epoc32/intr.c:1.2 --- src/sys/arch/epoc32/epoc32/intr.c:1.1 Sun Apr 28 12:11:26 2013 +++ src/sys/arch/epoc32/epoc32/intr.c Sun Aug 18 21:57:01 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: intr.c,v 1.1 2013/04/28 12:11:26 kiyohara Exp $ */ +/* $NetBSD: intr.c,v 1.2 2013/08/18 21:57:01 matt Exp $ */ /* * Copyright (c) 2012 KIYOHARA Takashi * All rights reserved. @@ -26,11 +26,12 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: intr.c,v 1.1 2013/04/28 12:11:26 kiyohara Exp $"); +__KERNEL_RCSID(0, "$NetBSD: intr.c,v 1.2 2013/08/18 21:57:01 matt Exp $"); #include +#include -#include +#include #include Index: src/sys/arch/epoc32/epoc32/machdep.c diff -u src/sys/arch/epoc32/epoc32/machdep.c:1.2 src/sys/arch/epoc32/epoc32/machdep.c:1.3 --- src/sys/arch/epoc32/epoc32/machdep.c:1.2 Thu Jun 20 13:40:09 2013 +++ src/sys/arch/epoc32/epoc32/machdep.c Sun Aug 18 21:57:01 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: machdep.c,v 1.2 2013/06/20 13:40:09 kiyohara Exp $ */ +/* $NetBSD: machdep.c,v 1.3 2013/08/18 21:57:01 matt Exp $ */ /* * Copyright (c) 2012, 2013 KIYOHARA Takashi * All rights reserved. @@ -26,7 +26,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.2 2013/06/20 13:40:09 kiyohara Exp $"); +__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.3 2013/08/18 21:57:01 matt Exp $"); #include "clpscom.h" #include "clpslcd.h" @@ -50,10 +50,13 @@ __KERNEL_RCSID(0, "$NetBSD: machdep.c,v #include +#include +#include + +#include +#include #include #include -#include -#include #include #include @@ -64,9 +67,6 @@ __KERNEL_RCSID(0, "$NetBSD: machdep.c,v #include #include -#include -#include - #include #include
CVS commit: src/sys/arch/iyonix/iyonix
Module Name:src Committed By: matt Date: Sun Aug 18 21:50:31 UTC 2013 Modified Files: src/sys/arch/iyonix/iyonix: iyonix_machdep.c Log Message: Fix lossage To generate a diff of this commit: cvs rdiff -u -r1.21 -r1.22 src/sys/arch/iyonix/iyonix/iyonix_machdep.c 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/iyonix/iyonix/iyonix_machdep.c diff -u src/sys/arch/iyonix/iyonix/iyonix_machdep.c:1.21 src/sys/arch/iyonix/iyonix/iyonix_machdep.c:1.22 --- src/sys/arch/iyonix/iyonix/iyonix_machdep.c:1.21 Sat Sep 22 00:33:41 2012 +++ src/sys/arch/iyonix/iyonix/iyonix_machdep.c Sun Aug 18 21:50:31 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: iyonix_machdep.c,v 1.21 2012/09/22 00:33:41 matt Exp $ */ +/* $NetBSD: iyonix_machdep.c,v 1.22 2013/08/18 21:50:31 matt Exp $ */ /* * Copyright (c) 2001, 2002, 2003 Wasabi Systems, Inc. @@ -73,7 +73,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: iyonix_machdep.c,v 1.21 2012/09/22 00:33:41 matt Exp $"); +__KERNEL_RCSID(0, "$NetBSD: iyonix_machdep.c,v 1.22 2013/08/18 21:50:31 matt Exp $"); #include "opt_ddb.h" #include "opt_kgdb.h" @@ -89,11 +89,16 @@ __KERNEL_RCSID(0, "$NetBSD: iyonix_machd #include #include #include +#include +#include #include #include +#include +#include + #include #include @@ -102,9 +107,7 @@ __KERNEL_RCSID(0, "$NetBSD: iyonix_machd #include #include -#include -#include -#include +#include #include #include @@ -115,9 +118,6 @@ __KERNEL_RCSID(0, "$NetBSD: iyonix_machd #include #include -#include -#include - #include "ksyms.h" #define KERNEL_TEXT_BASE KERNEL_BASE
CVS commit: src/sys/arch
Module Name:src Committed By: matt Date: Sun Aug 18 21:42:16 UTC 2013 Modified Files: src/sys/arch/acorn32/acorn32: rpc_machdep.c src/sys/arch/acorn32/eb7500atx: eb7500atx_machdep.c src/sys/arch/netwinder/netwinder: netwinder_machdep.c src/sys/arch/zaurus/zaurus: machdep.c Log Message: Fix more lossage To generate a diff of this commit: cvs rdiff -u -r1.86 -r1.87 src/sys/arch/acorn32/acorn32/rpc_machdep.c cvs rdiff -u -r1.25 -r1.26 src/sys/arch/acorn32/eb7500atx/eb7500atx_machdep.c cvs rdiff -u -r1.80 -r1.81 \ src/sys/arch/netwinder/netwinder/netwinder_machdep.c cvs rdiff -u -r1.34 -r1.35 src/sys/arch/zaurus/zaurus/machdep.c 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/acorn32/rpc_machdep.c diff -u src/sys/arch/acorn32/acorn32/rpc_machdep.c:1.86 src/sys/arch/acorn32/acorn32/rpc_machdep.c:1.87 --- src/sys/arch/acorn32/acorn32/rpc_machdep.c:1.86 Sat Sep 22 00:33:36 2012 +++ src/sys/arch/acorn32/acorn32/rpc_machdep.c Sun Aug 18 21:42:16 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: rpc_machdep.c,v 1.86 2012/09/22 00:33:36 matt Exp $ */ +/* $NetBSD: rpc_machdep.c,v 1.87 2013/08/18 21:42:16 matt Exp $ */ /* * Copyright (c) 2000-2002 Reinoud Zandijk. @@ -55,7 +55,7 @@ #include -__KERNEL_RCSID(0, "$NetBSD: rpc_machdep.c,v 1.86 2012/09/22 00:33:36 matt Exp $"); +__KERNEL_RCSID(0, "$NetBSD: rpc_machdep.c,v 1.87 2013/08/18 21:42:16 matt Exp $"); #include #include @@ -66,39 +66,38 @@ __KERNEL_RCSID(0, "$NetBSD: rpc_machdep. #include #include #include +#include +#include +#include #include +#include + +#include +#include + #include #include #include #include -#include -#include -#include -#include -#include -#include -#include +#include +#include #include #include #include -#include + #include +#include +#include +#include #include #include #include - #include - -#include -#include - -#include -#include #include static i2c_tag_t acorn32_i2c_tag; Index: src/sys/arch/acorn32/eb7500atx/eb7500atx_machdep.c diff -u src/sys/arch/acorn32/eb7500atx/eb7500atx_machdep.c:1.25 src/sys/arch/acorn32/eb7500atx/eb7500atx_machdep.c:1.26 --- src/sys/arch/acorn32/eb7500atx/eb7500atx_machdep.c:1.25 Sat Sep 22 00:33:37 2012 +++ src/sys/arch/acorn32/eb7500atx/eb7500atx_machdep.c Sun Aug 18 21:42:16 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: eb7500atx_machdep.c,v 1.25 2012/09/22 00:33:37 matt Exp $ */ +/* $NetBSD: eb7500atx_machdep.c,v 1.26 2013/08/18 21:42:16 matt Exp $ */ /* * Copyright (c) 2000-2002 Reinoud Zandijk. @@ -55,7 +55,7 @@ #include -__KERNEL_RCSID(0, "$NetBSD: eb7500atx_machdep.c,v 1.25 2012/09/22 00:33:37 matt Exp $"); +__KERNEL_RCSID(0, "$NetBSD: eb7500atx_machdep.c,v 1.26 2013/08/18 21:42:16 matt Exp $"); #include #include @@ -66,38 +66,37 @@ __KERNEL_RCSID(0, "$NetBSD: eb7500atx_ma #include #include #include +#include +#include +#include #include +#include + +#include +#include + #include #include #include #include +#include +#include + #include -#include #include -#include #include -#include -#include #include #include -#include #include #include #include #include - #include - -#include -#include - -#include -#include #include /* static i2c_tag_t acorn32_i2c_tag;*/ Index: src/sys/arch/netwinder/netwinder/netwinder_machdep.c diff -u src/sys/arch/netwinder/netwinder/netwinder_machdep.c:1.80 src/sys/arch/netwinder/netwinder/netwinder_machdep.c:1.81 --- src/sys/arch/netwinder/netwinder/netwinder_machdep.c:1.80 Sat Oct 13 17:58:55 2012 +++ src/sys/arch/netwinder/netwinder/netwinder_machdep.c Sun Aug 18 21:42:16 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: netwinder_machdep.c,v 1.80 2012/10/13 17:58:55 jdc Exp $ */ +/* $NetBSD: netwinder_machdep.c,v 1.81 2013/08/18 21:42:16 matt Exp $ */ /* * Copyright (c) 1997,1998 Mark Brinicombe. @@ -40,11 +40,20 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: netwinder_machdep.c,v 1.80 2012/10/13 17:58:55 jdc Exp $"); +__KERNEL_RCSID(0, "$NetBSD: netwinder_machdep.c,v 1.81 2013/08/18 21:42:16 matt Exp $"); #include "opt_ddb.h" #include "opt_pmap_debug.h" +#define _ARM32_BUS_DMA_PRIVATE + +#include "isa.h" +#include "isadma.h" +#include "igsfb.h" +#include "pckbc.h" +#include "com.h" +#include "ksyms.h" + #include #include #include @@ -55,53 +64,46 @@ __KERNEL_RCSID(0, "$NetBSD: netwinder_ma #include #include #include +#include +#include +#include #include #include -#include -#include -#include - -#include - -#include -#define _ARM32_BUS_DMA_PRIVATE -#include -#include -#include -#include -#include - -#include -#include -#include - -#include "isa.h" -#include "isadma.h" #if NISA > 0 #include #include #endif -#include "igsfb.h" #if NIGSFB > 0 #include #include #endif -#include "pckbc.h" #if NPCKBC > 0 #include #inclu
CVS commit: src/tools/compat
Module Name:src Committed By: joerg Date: Sun Aug 18 20:48:17 UTC 2013 Modified Files: src/tools/compat: compat_defs.h Log Message: Support __format_arg. To generate a diff of this commit: cvs rdiff -u -r1.91 -r1.92 src/tools/compat/compat_defs.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/tools/compat/compat_defs.h diff -u src/tools/compat/compat_defs.h:1.91 src/tools/compat/compat_defs.h:1.92 --- src/tools/compat/compat_defs.h:1.91 Tue Aug 6 21:58:46 2013 +++ src/tools/compat/compat_defs.h Sun Aug 18 20:48:17 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: compat_defs.h,v 1.91 2013/08/06 21:58:46 apb Exp $ */ +/* $NetBSD: compat_defs.h,v 1.92 2013/08/18 20:48:17 joerg Exp $ */ #ifndef __NETBSD_COMPAT_DEFS_H__ #define __NETBSD_COMPAT_DEFS_H__ @@ -125,6 +125,8 @@ struct group; #define __dead #undef __printflike #define __printflike(x,y) +#undef __format_arg +#define __format_arg(x) #undef __restrict #define __restrict #undef __unused
CVS commit: src
Module Name:src Committed By: joerg Date: Sun Aug 18 20:03:48 UTC 2013 Modified Files: src/lib/libc/citrus: citrus_lc_ctype.c src/lib/libc/locale: Makefile.inc global_locale.c multibyte.h multibyte_amd1.c multibyte_c90.c nb_lc_messages_misc.h nb_lc_monetary_misc.h nb_lc_numeric_misc.h nb_lc_template.h nb_lc_template_decl.h nb_lc_time_misc.h runetable.c runetype_local.h src/sys/sys: localedef.h Removed Files: src/lib/libc/locale: _def_messages.c _def_monetary.c _def_numeric.c _def_time.c Log Message: Rename fixup to update_global to better reflect the purpose. Remove the various Current pointers, they are implementation internals that shouldn't be leaked. Remove _CATEGORY_DEFAULT related handling and directly pick the implemenation pointer from the C locale. Merge the C locale data into global_locale.c with the exception of _DefaultRuneLocale. Mark that one hidden. Move _RUNE_LOCALE and _CITRUS_CTYPE into multibyte.h and pick up the correct rl_citrus_ctype for non-default locales. To generate a diff of this commit: cvs rdiff -u -r1.11 -r1.12 src/lib/libc/citrus/citrus_lc_ctype.c cvs rdiff -u -r1.63 -r1.64 src/lib/libc/locale/Makefile.inc cvs rdiff -u -r1.6 -r0 src/lib/libc/locale/_def_messages.c \ src/lib/libc/locale/_def_numeric.c cvs rdiff -u -r1.8 -r0 src/lib/libc/locale/_def_monetary.c cvs rdiff -u -r1.11 -r0 src/lib/libc/locale/_def_time.c cvs rdiff -u -r1.17 -r1.18 src/lib/libc/locale/global_locale.c cvs rdiff -u -r1.5 -r1.6 src/lib/libc/locale/multibyte.h cvs rdiff -u -r1.13 -r1.14 src/lib/libc/locale/multibyte_amd1.c \ src/lib/libc/locale/runetype_local.h cvs rdiff -u -r1.11 -r1.12 src/lib/libc/locale/multibyte_c90.c cvs rdiff -u -r1.3 -r1.4 src/lib/libc/locale/nb_lc_messages_misc.h \ src/lib/libc/locale/nb_lc_monetary_misc.h \ src/lib/libc/locale/nb_lc_numeric_misc.h cvs rdiff -u -r1.6 -r1.7 src/lib/libc/locale/nb_lc_template.h cvs rdiff -u -r1.2 -r1.3 src/lib/libc/locale/nb_lc_template_decl.h cvs rdiff -u -r1.4 -r1.5 src/lib/libc/locale/nb_lc_time_misc.h cvs rdiff -u -r1.28 -r1.29 src/lib/libc/locale/runetable.c cvs rdiff -u -r1.9 -r1.10 src/sys/sys/localedef.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/lib/libc/citrus/citrus_lc_ctype.c diff -u src/lib/libc/citrus/citrus_lc_ctype.c:1.11 src/lib/libc/citrus/citrus_lc_ctype.c:1.12 --- src/lib/libc/citrus/citrus_lc_ctype.c:1.11 Sat Apr 13 10:21:20 2013 +++ src/lib/libc/citrus/citrus_lc_ctype.c Sun Aug 18 20:03:48 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: citrus_lc_ctype.c,v 1.11 2013/04/13 10:21:20 joerg Exp $ */ +/* $NetBSD: citrus_lc_ctype.c,v 1.12 2013/08/18 20:03:48 joerg Exp $ */ /*- * Copyright (c)2008 Citrus Project, @@ -28,7 +28,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: citrus_lc_ctype.c,v 1.11 2013/04/13 10:21:20 joerg Exp $"); +__RCSID("$NetBSD: citrus_lc_ctype.c,v 1.12 2013/08/18 20:03:48 joerg Exp $"); #endif /* LIBC_SCCS and not lint */ #include "reentrant.h" @@ -115,7 +115,7 @@ _PREFIX(build_cache)(struct _locale_cach } static __inline void -_PREFIX(fixup)(_RuneLocale *data) +_PREFIX(update_global)(_RuneLocale *data) { _DIAGASSERT(data != NULL); @@ -123,7 +123,6 @@ _PREFIX(fixup)(_RuneLocale *data) _ctype_tab_ = data->rl_ctype_tab; _tolower_tab_ = data->rl_tolower_tab; _toupper_tab_ = data->rl_toupper_tab; - _CurrentRuneLocale = data; #ifdef __BUILD_LEGACY _ctype_ = data->rl_compat_bsdctype; @@ -135,6 +134,5 @@ _PREFIX(fixup)(_RuneLocale *data) */ #define _CATEGORY_ID LC_CTYPE #define _CATEGORY_NAME "LC_CTYPE" -#define _CATEGORY_DEFAULT _DefaultRuneLocale #include "nb_lc_template.h" Index: src/lib/libc/locale/Makefile.inc diff -u src/lib/libc/locale/Makefile.inc:1.63 src/lib/libc/locale/Makefile.inc:1.64 --- src/lib/libc/locale/Makefile.inc:1.63 Fri May 17 12:55:57 2013 +++ src/lib/libc/locale/Makefile.inc Sun Aug 18 20:03:48 2013 @@ -1,11 +1,10 @@ # from: @(#)Makefile.inc 5.1 (Berkeley) 2/18/91 -# $NetBSD: Makefile.inc,v 1.63 2013/05/17 12:55:57 joerg Exp $ +# $NetBSD: Makefile.inc,v 1.64 2013/08/18 20:03:48 joerg Exp $ # locale sources .PATH: ${ARCHDIR}/locale ${.CURDIR}/locale -SRCS+= _def_messages.c _def_monetary.c _def_numeric.c _def_time.c \ - setlocale.c __mb_cur_max.c \ +SRCS+= setlocale.c __mb_cur_max.c \ duplocale.c global_locale.c fix_grouping.c \ freelocale.c localeconv.c newlocale.c nl_langinfo.c \ generic_lc_all.c dummy_lc_collate.c \ Index: src/lib/libc/locale/global_locale.c diff -u src/lib/libc/locale/global_locale.c:1.17 src/lib/libc/locale/global_locale.c:1.18 --- src/lib/libc/locale/global_locale.c:1.17 Fri May 17 12:55:57 2013 +++ src/lib/libc/locale/global_locale.c Sun Aug 18 20:03:48 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: global_locale.c,v 1.17 2013/05/17 12:55:57 joerg Exp $ */ +/* $NetBSD: global_locale.c,v 1.18 20
CVS commit: othersrc/external/bsd/multigest
Module Name:othersrc Committed By: agc Date: Sun Aug 18 18:40:27 UTC 2013 Modified Files: othersrc/external/bsd/multigest/dist: md5c.c othersrc/external/bsd/multigest/lib: Makefile Log Message: make sure the correct header files are picked up To generate a diff of this commit: cvs rdiff -u -r1.1.1.1 -r1.2 othersrc/external/bsd/multigest/dist/md5c.c cvs rdiff -u -r1.1.1.1 -r1.2 othersrc/external/bsd/multigest/lib/Makefile Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: othersrc/external/bsd/multigest/dist/md5c.c diff -u othersrc/external/bsd/multigest/dist/md5c.c:1.1.1.1 othersrc/external/bsd/multigest/dist/md5c.c:1.2 --- othersrc/external/bsd/multigest/dist/md5c.c:1.1.1.1 Fri Aug 16 06:47:53 2013 +++ othersrc/external/bsd/multigest/dist/md5c.c Sun Aug 18 18:40:27 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: md5c.c,v 1.1.1.1 2013/08/16 06:47:53 agc Exp $ */ +/* $NetBSD: md5c.c,v 1.2 2013/08/18 18:40:27 agc Exp $ */ /* * This file is derived from the RSA Data Security, Inc. MD5 Message-Digest @@ -32,7 +32,7 @@ #include #include #include -#include +#include "md5.h" typedef unsigned char *POINTER; typedef uint16_t UINT2; Index: othersrc/external/bsd/multigest/lib/Makefile diff -u othersrc/external/bsd/multigest/lib/Makefile:1.1.1.1 othersrc/external/bsd/multigest/lib/Makefile:1.2 --- othersrc/external/bsd/multigest/lib/Makefile:1.1.1.1 Fri Aug 16 06:47:53 2013 +++ othersrc/external/bsd/multigest/lib/Makefile Sun Aug 18 18:40:27 2013 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.1.1.1 2013/08/16 06:47:53 agc Exp $ +# $NetBSD: Makefile,v 1.2 2013/08/18 18:40:27 agc Exp $ LIB=multigest @@ -13,8 +13,6 @@ SRCS+= tiger.c SRCS+= whirlpool.c SRCS+= multigest.c -CPPFLAGS+=-I${DIST} - MAN=libmultigest.3 WARNS=6
CVS commit: src/lib/libc/arch/arm
Module Name:src Committed By: skrll Date: Sun Aug 18 16:55:47 UTC 2013 Modified Files: src/lib/libc/arch/arm: Makefile.inc Log Message: Revert previous. To generate a diff of this commit: cvs rdiff -u -r1.22 -r1.23 src/lib/libc/arch/arm/Makefile.inc Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/lib/libc/arch/arm/Makefile.inc diff -u src/lib/libc/arch/arm/Makefile.inc:1.22 src/lib/libc/arch/arm/Makefile.inc:1.23 --- src/lib/libc/arch/arm/Makefile.inc:1.22 Sun Aug 18 07:57:29 2013 +++ src/lib/libc/arch/arm/Makefile.inc Sun Aug 18 16:55:47 2013 @@ -1,13 +1,12 @@ -# $NetBSD: Makefile.inc,v 1.22 2013/08/18 07:57:29 skrll Exp $ +# $NetBSD: Makefile.inc,v 1.23 2013/08/18 16:55:47 skrll Exp $ .include -SRCS+= __sigaction14_sigtramp.c __sigtramp2.S +SRCS+= __aeabi_read_tp.S __sigaction14_sigtramp.c __sigtramp2.S CPPFLAGS += -I. .if !empty(LIBC_MACHINE_ARCH:Mearm*) -SRCS+= __aeabi_read_tp.S SRCS+= __aeabi_ldivmod.S __aeabi_uldivmod.S SRCS+= __aeabi_lcmp.c __aeabi_ulcmp.c SRCS+= fixunsgen_ieee754.c fixunssfsi_ieee754.c
CVS commit: src/sys/arch/arm/iomd
Module Name:src Committed By: matt Date: Sun Aug 18 16:09:50 UTC 2013 Modified Files: src/sys/arch/arm/iomd: iomd_fiq.S Log Message: Fix typo To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/sys/arch/arm/iomd/iomd_fiq.S 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/arm/iomd/iomd_fiq.S diff -u src/sys/arch/arm/iomd/iomd_fiq.S:1.4 src/sys/arch/arm/iomd/iomd_fiq.S:1.5 --- src/sys/arch/arm/iomd/iomd_fiq.S:1.4 Sun Aug 18 06:28:18 2013 +++ src/sys/arch/arm/iomd/iomd_fiq.S Sun Aug 18 16:09:50 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: iomd_fiq.S,v 1.4 2013/08/18 06:28:18 matt Exp $ */ +/* $NetBSD: iomd_fiq.S,v 1.5 2013/08/18 16:09:50 matt Exp $ */ /* * Copyright (c) 1994-1996 Mark Brinicombe. @@ -76,7 +76,7 @@ ENTRY_NP(floppy_read_fiq) bne _C_LABEL(floppy_read_fiq) #endif subs pc, lr, #0x0004 -END(_floppy_read_fiq) +END(floppy_read_fiq) .global _C_LABEL(floppy_read_fiq_end) _C_LABEL(floppy_read_fiq_end):
CVS commit: src/sys/arch/acorn26
Module Name:src Committed By: matt Date: Sun Aug 18 16:08:42 UTC 2013 Modified Files: src/sys/arch/acorn26/acorn26: autoconf.c except.c start.c src/sys/arch/acorn26/podulebus: podulebus.c Log Message: Fix lossage. To generate a diff of this commit: cvs rdiff -u -r1.9 -r1.10 src/sys/arch/acorn26/acorn26/autoconf.c cvs rdiff -u -r1.29 -r1.30 src/sys/arch/acorn26/acorn26/except.c cvs rdiff -u -r1.19 -r1.20 src/sys/arch/acorn26/acorn26/start.c cvs rdiff -u -r1.20 -r1.21 src/sys/arch/acorn26/podulebus/podulebus.c 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/acorn26/acorn26/autoconf.c diff -u src/sys/arch/acorn26/acorn26/autoconf.c:1.9 src/sys/arch/acorn26/acorn26/autoconf.c:1.10 --- src/sys/arch/acorn26/acorn26/autoconf.c:1.9 Sun Jul 29 18:05:39 2012 +++ src/sys/arch/acorn26/acorn26/autoconf.c Sun Aug 18 16:08:42 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: autoconf.c,v 1.9 2012/07/29 18:05:39 mlelstv Exp $ */ +/* $NetBSD: autoconf.c,v 1.10 2013/08/18 16:08:42 matt Exp $ */ /*- * Copyright (c) 1998, 1999 Ben Harris * All rights reserved. @@ -30,14 +30,16 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: autoconf.c,v 1.9 2012/07/29 18:05:39 mlelstv Exp $"); +__KERNEL_RCSID(0, "$NetBSD: autoconf.c,v 1.10 2013/08/18 16:08:42 matt Exp $"); #include #include #include #include +#include + +#include -#include #include #include Index: src/sys/arch/acorn26/acorn26/except.c diff -u src/sys/arch/acorn26/acorn26/except.c:1.29 src/sys/arch/acorn26/acorn26/except.c:1.30 --- src/sys/arch/acorn26/acorn26/except.c:1.29 Thu Aug 16 17:35:01 2012 +++ src/sys/arch/acorn26/acorn26/except.c Sun Aug 18 16:08:42 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: except.c,v 1.29 2012/08/16 17:35:01 matt Exp $ */ +/* $NetBSD: except.c,v 1.30 2013/08/18 16:08:42 matt Exp $ */ /*- * Copyright (c) 1998, 1999, 2000 Ben Harris * All rights reserved. @@ -31,7 +31,7 @@ #include -__KERNEL_RCSID(0, "$NetBSD: except.c,v 1.29 2012/08/16 17:35:01 matt Exp $"); +__KERNEL_RCSID(0, "$NetBSD: except.c,v 1.30 2013/08/18 16:08:42 matt Exp $"); #include "opt_ddb.h" @@ -43,12 +43,12 @@ __KERNEL_RCSID(0, "$NetBSD: except.c,v 1 #include #include #include +#include #include -#include -#include -#include +#include + #include #include Index: src/sys/arch/acorn26/acorn26/start.c diff -u src/sys/arch/acorn26/acorn26/start.c:1.19 src/sys/arch/acorn26/acorn26/start.c:1.20 --- src/sys/arch/acorn26/acorn26/start.c:1.19 Thu Aug 16 18:15:10 2012 +++ src/sys/arch/acorn26/acorn26/start.c Sun Aug 18 16:08:42 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: start.c,v 1.19 2012/08/16 18:15:10 matt Exp $ */ +/* $NetBSD: start.c,v 1.20 2013/08/18 16:08:42 matt Exp $ */ /*- * Copyright (c) 1998, 2000 Ben Harris * All rights reserved. @@ -31,7 +31,7 @@ #include -__KERNEL_RCSID(0, "$NetBSD: start.c,v 1.19 2012/08/16 18:15:10 matt Exp $"); +__KERNEL_RCSID(0, "$NetBSD: start.c,v 1.20 2013/08/18 16:08:42 matt Exp $"); #include "opt_modular.h" @@ -43,7 +43,7 @@ __KERNEL_RCSID(0, "$NetBSD: start.c,v 1. #include #include -#include +#include #include #include #include Index: src/sys/arch/acorn26/podulebus/podulebus.c diff -u src/sys/arch/acorn26/podulebus/podulebus.c:1.20 src/sys/arch/acorn26/podulebus/podulebus.c:1.21 --- src/sys/arch/acorn26/podulebus/podulebus.c:1.20 Fri May 11 15:39:18 2012 +++ src/sys/arch/acorn26/podulebus/podulebus.c Sun Aug 18 16:08:42 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: podulebus.c,v 1.20 2012/05/11 15:39:18 skrll Exp $ */ +/* $NetBSD: podulebus.c,v 1.21 2013/08/18 16:08:42 matt Exp $ */ /*- * Copyright (c) 2000 Ben Harris @@ -28,15 +28,17 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: podulebus.c,v 1.20 2012/05/11 15:39:18 skrll Exp $"); +__KERNEL_RCSID(0, "$NetBSD: podulebus.c,v 1.21 2013/08/18 16:08:42 matt Exp $"); #include #include #include #include #include +#include + +#include -#include #include #include #include
CVS commit: src/sys/arch/arm/include
Module Name:src Committed By: matt Date: Sun Aug 18 16:08:24 UTC 2013 Modified Files: src/sys/arch/arm/include: locore.h Log Message: Include if !_LOCORE To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/sys/arch/arm/include/locore.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/arm/include/locore.h diff -u src/sys/arch/arm/include/locore.h:1.2 src/sys/arch/arm/include/locore.h:1.3 --- src/sys/arch/arm/include/locore.h:1.2 Sun Aug 18 07:57:26 2013 +++ src/sys/arch/arm/include/locore.h Sun Aug 18 16:08:24 2013 @@ -95,6 +95,8 @@ #else /* !_LOCORE */ +#include + #ifdef __PROG32 #define IRQdisable __set_cpsr_c(I32_bit, I32_bit); #define IRQenable __set_cpsr_c(I32_bit, 0);
CVS commit: src/sys/arch/arm/arm
Module Name:src Committed By: matt Date: Sun Aug 18 16:08:02 UTC 2013 Modified Files: src/sys/arch/arm/arm: disassem.c Log Message: Don't include , just To generate a diff of this commit: cvs rdiff -u -r1.21 -r1.22 src/sys/arch/arm/arm/disassem.c 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/arm/arm/disassem.c diff -u src/sys/arch/arm/arm/disassem.c:1.21 src/sys/arch/arm/arm/disassem.c:1.22 --- src/sys/arch/arm/arm/disassem.c:1.21 Fri Aug 9 07:11:39 2013 +++ src/sys/arch/arm/arm/disassem.c Sun Aug 18 16:08:02 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: disassem.c,v 1.21 2013/08/09 07:11:39 matt Exp $ */ +/* $NetBSD: disassem.c,v 1.22 2013/08/18 16:08:02 matt Exp $ */ /* * Copyright (c) 1996 Mark Brinicombe. @@ -49,13 +49,15 @@ #include -__KERNEL_RCSID(0, "$NetBSD: disassem.c,v 1.21 2013/08/09 07:11:39 matt Exp $"); +__KERNEL_RCSID(0, "$NetBSD: disassem.c,v 1.22 2013/08/18 16:08:02 matt Exp $"); #include + #include +#include + #ifndef _KERNEL #include -#include #endif /*
CVS commit: src/sys/arch
Module Name:src Committed By: matt Date: Sun Aug 18 15:58:21 UTC 2013 Modified Files: src/sys/arch/arm/arm: cpu_in_cksum.S src/sys/arch/arm/at91: at91bus.c src/sys/arch/arm/ep93xx: ep93xx_intr.c src/sys/arch/arm/gemini: gemini_pci.c src/sys/arch/arm/include: cpu.h src/sys/arch/arm/ixp12x0: ixp12x0_intr.c ixp12x0_pci.c src/sys/arch/arm/omap: omap_intr.h src/sys/arch/arm/s3c2xx0: s3c2800_pci.c src/sys/arch/arm/xscale: becc_pci.c i80312_pci.c i80321_pci.c src/sys/arch/evbarm/adi_brh: brh_machdep.c src/sys/arch/evbarm/armadillo: armadillo9_machdep.c src/sys/arch/evbarm/g42xxeb: g42xxeb_machdep.c src/sys/arch/evbarm/gemini: gemini_machdep.c src/sys/arch/evbarm/gumstix: gumstix_machdep.c gumstix_start.S src/sys/arch/evbarm/hdl_g: hdlg_machdep.c src/sys/arch/evbarm/ifpga: ifpgavar.h src/sys/arch/evbarm/imx31: imx31lk_machdep.c src/sys/arch/evbarm/integrator: integrator_machdep.c src/sys/arch/evbarm/iq80310: iq80310_machdep.c src/sys/arch/evbarm/iq80321: iq80321_machdep.c iq80321_pci.c src/sys/arch/evbarm/ixdp425: ixdp425_machdep.c src/sys/arch/evbarm/ixm1200: ixm1200_machdep.c src/sys/arch/evbarm/lubbock: lubbock_machdep.c src/sys/arch/evbarm/mpcsa: mpcsa_machdep.c src/sys/arch/evbarm/netwalker: netwalker_machdep.c src/sys/arch/evbarm/osk5912: osk5912_machdep.c src/sys/arch/evbarm/smdk2xx0: smdk2410_machdep.c smdk2800_machdep.c src/sys/arch/evbarm/tisdp24xx: sdp24xx_machdep.c src/sys/arch/evbarm/tsarm: tsarm_machdep.c src/sys/arch/evbarm/viper: viper_machdep.c Log Message: fallout (fixes some include ordering errors) To generate a diff of this commit: cvs rdiff -u -r1.5 -r1.6 src/sys/arch/arm/arm/cpu_in_cksum.S cvs rdiff -u -r1.16 -r1.17 src/sys/arch/arm/at91/at91bus.c cvs rdiff -u -r1.18 -r1.19 src/sys/arch/arm/ep93xx/ep93xx_intr.c cvs rdiff -u -r1.14 -r1.15 src/sys/arch/arm/gemini/gemini_pci.c cvs rdiff -u -r1.78 -r1.79 src/sys/arch/arm/include/cpu.h cvs rdiff -u -r1.24 -r1.25 src/sys/arch/arm/ixp12x0/ixp12x0_intr.c cvs rdiff -u -r1.13 -r1.14 src/sys/arch/arm/ixp12x0/ixp12x0_pci.c cvs rdiff -u -r1.8 -r1.9 src/sys/arch/arm/omap/omap_intr.h cvs rdiff -u -r1.19 -r1.20 src/sys/arch/arm/s3c2xx0/s3c2800_pci.c cvs rdiff -u -r1.13 -r1.14 src/sys/arch/arm/xscale/becc_pci.c \ src/sys/arch/arm/xscale/i80312_pci.c cvs rdiff -u -r1.14 -r1.15 src/sys/arch/arm/xscale/i80321_pci.c cvs rdiff -u -r1.41 -r1.42 src/sys/arch/evbarm/adi_brh/brh_machdep.c cvs rdiff -u -r1.26 -r1.27 src/sys/arch/evbarm/armadillo/armadillo9_machdep.c cvs rdiff -u -r1.27 -r1.28 src/sys/arch/evbarm/g42xxeb/g42xxeb_machdep.c cvs rdiff -u -r1.21 -r1.22 src/sys/arch/evbarm/gemini/gemini_machdep.c cvs rdiff -u -r1.46 -r1.47 src/sys/arch/evbarm/gumstix/gumstix_machdep.c cvs rdiff -u -r1.11 -r1.12 src/sys/arch/evbarm/gumstix/gumstix_start.S cvs rdiff -u -r1.20 -r1.21 src/sys/arch/evbarm/hdl_g/hdlg_machdep.c cvs rdiff -u -r1.7 -r1.8 src/sys/arch/evbarm/ifpga/ifpgavar.h cvs rdiff -u -r1.16 -r1.17 src/sys/arch/evbarm/imx31/imx31lk_machdep.c cvs rdiff -u -r1.73 -r1.74 \ src/sys/arch/evbarm/integrator/integrator_machdep.c cvs rdiff -u -r1.83 -r1.84 src/sys/arch/evbarm/iq80310/iq80310_machdep.c cvs rdiff -u -r1.53 -r1.54 src/sys/arch/evbarm/iq80321/iq80321_machdep.c cvs rdiff -u -r1.7 -r1.8 src/sys/arch/evbarm/iq80321/iq80321_pci.c cvs rdiff -u -r1.33 -r1.34 src/sys/arch/evbarm/ixdp425/ixdp425_machdep.c cvs rdiff -u -r1.53 -r1.54 src/sys/arch/evbarm/ixm1200/ixm1200_machdep.c cvs rdiff -u -r1.31 -r1.32 src/sys/arch/evbarm/lubbock/lubbock_machdep.c cvs rdiff -u -r1.8 -r1.9 src/sys/arch/evbarm/mpcsa/mpcsa_machdep.c cvs rdiff -u -r1.10 -r1.11 src/sys/arch/evbarm/netwalker/netwalker_machdep.c cvs rdiff -u -r1.14 -r1.15 src/sys/arch/evbarm/osk5912/osk5912_machdep.c cvs rdiff -u -r1.32 -r1.33 src/sys/arch/evbarm/smdk2xx0/smdk2410_machdep.c cvs rdiff -u -r1.40 -r1.41 src/sys/arch/evbarm/smdk2xx0/smdk2800_machdep.c cvs rdiff -u -r1.15 -r1.16 src/sys/arch/evbarm/tisdp24xx/sdp24xx_machdep.c cvs rdiff -u -r1.20 -r1.21 src/sys/arch/evbarm/tsarm/tsarm_machdep.c cvs rdiff -u -r1.22 -r1.23 src/sys/arch/evbarm/viper/viper_machdep.c 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/arm/arm/cpu_in_cksum.S diff -u src/sys/arch/arm/arm/cpu_in_cksum.S:1.5 src/sys/arch/arm/arm/cpu_in_cksum.S:1.6 --- src/sys/arch/arm/arm/cpu_in_cksum.S:1.5 Sun Aug 18 05:54:16 2013 +++ src/sys/arch/arm/arm/cpu_in_cksum.S Sun Aug 18 15:58:19 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: cpu_in_cksum.S,v 1.5 2013/08/18 05:54:16 matt Exp $ */ +/* $NetBSD: cpu_in_cksum.S,v 1.6 2013/08/18 15:58:19 matt Exp $ */ /* * Copyright 2003 Wasabi Systems, Inc. @@ -40,7 +40,7 @@ */ #include -RCSID("$NetBSD: cpu_in_cksum.S,v 1.5 2013/08/18 05:54:16 matt Exp $")
CVS commit: src/lib/libc/net
Module Name:src Committed By: wiz Date: Sun Aug 18 10:40:06 UTC 2013 Modified Files: src/lib/libc/net: getnameinfo.3 Log Message: Update comment. To generate a diff of this commit: cvs rdiff -u -r1.40 -r1.41 src/lib/libc/net/getnameinfo.3 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/lib/libc/net/getnameinfo.3 diff -u src/lib/libc/net/getnameinfo.3:1.40 src/lib/libc/net/getnameinfo.3:1.41 --- src/lib/libc/net/getnameinfo.3:1.40 Sun Aug 18 10:00:57 2013 +++ src/lib/libc/net/getnameinfo.3 Sun Aug 18 10:40:06 2013 @@ -1,4 +1,4 @@ -.\" $NetBSD: getnameinfo.3,v 1.40 2013/08/18 10:00:57 christos Exp $ +.\" $NetBSD: getnameinfo.3,v 1.41 2013/08/18 10:40:06 wiz Exp $ .\" $KAME: getnameinfo.3,v 1.37 2005/01/05 03:23:05 itojun Exp $ .\" $OpenBSD: getnameinfo.3,v 1.36 2004/12/21 09:48:20 jmc Exp $ .\" @@ -263,7 +263,7 @@ if (error == 0) { NULL, 0, NI_NUMERICHOST); } .Ed -.\".Pp +.\".Sh BUGS .\".Ox .\"intentionally uses a different .\".Dv NI_MAXHOST
CVS commit: src/lib/libc/net
Module Name:src Committed By: christos Date: Sun Aug 18 10:00:58 UTC 2013 Modified Files: src/lib/libc/net: getnameinfo.3 Log Message: getnameinfo is now thread-safe so remove bugs section. To generate a diff of this commit: cvs rdiff -u -r1.39 -r1.40 src/lib/libc/net/getnameinfo.3 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/lib/libc/net/getnameinfo.3 diff -u src/lib/libc/net/getnameinfo.3:1.39 src/lib/libc/net/getnameinfo.3:1.40 --- src/lib/libc/net/getnameinfo.3:1.39 Wed Sep 26 19:13:00 2012 +++ src/lib/libc/net/getnameinfo.3 Sun Aug 18 06:00:57 2013 @@ -1,4 +1,4 @@ -.\" $NetBSD: getnameinfo.3,v 1.39 2012/09/26 23:13:00 christos Exp $ +.\" $NetBSD: getnameinfo.3,v 1.40 2013/08/18 10:00:57 christos Exp $ .\" $KAME: getnameinfo.3,v 1.37 2005/01/05 03:23:05 itojun Exp $ .\" $OpenBSD: getnameinfo.3,v 1.36 2004/12/21 09:48:20 jmc Exp $ .\" @@ -17,7 +17,7 @@ .\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" -.Dd September 26, 2012 +.Dd August 18, 2013 .Dt GETNAMEINFO 3 .Os .Sh NAME @@ -263,10 +263,6 @@ if (error == 0) { NULL, 0, NI_NUMERICHOST); } .Ed -.Sh BUGS -The implementation of -.Fn getnameinfo -is not thread-safe. .\".Pp .\".Ox .\"intentionally uses a different
CVS commit: src/lib/libc/net
Module Name:src Committed By: christos Date: Sun Aug 18 09:57:16 UTC 2013 Modified Files: src/lib/libc/net: gethnamaddr.c Log Message: appease lint. To generate a diff of this commit: cvs rdiff -u -r1.80 -r1.81 src/lib/libc/net/gethnamaddr.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/lib/libc/net/gethnamaddr.c diff -u src/lib/libc/net/gethnamaddr.c:1.80 src/lib/libc/net/gethnamaddr.c:1.81 --- src/lib/libc/net/gethnamaddr.c:1.80 Fri Aug 16 11:27:12 2013 +++ src/lib/libc/net/gethnamaddr.c Sun Aug 18 05:57:16 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: gethnamaddr.c,v 1.80 2013/08/16 15:27:12 christos Exp $ */ +/* $NetBSD: gethnamaddr.c,v 1.81 2013/08/18 09:57:16 christos Exp $ */ /* * ++Copyright++ 1985, 1988, 1993 @@ -57,7 +57,7 @@ static char sccsid[] = "@(#)gethostnamadr.c 8.1 (Berkeley) 6/4/93"; static char rcsid[] = "Id: gethnamaddr.c,v 8.21 1997/06/01 20:34:37 vixie Exp "; #else -__RCSID("$NetBSD: gethnamaddr.c,v 1.80 2013/08/16 15:27:12 christos Exp $"); +__RCSID("$NetBSD: gethnamaddr.c,v 1.81 2013/08/18 09:57:16 christos Exp $"); #endif #endif /* LIBC_SCCS and not lint */ @@ -1030,7 +1030,7 @@ _hf_gethtbyaddr(void *rv, void *cb_data, } while ((hp = gethostent_r(hf, info->hp, info->buf, info->buflen, info->he)) != NULL) - if (!memcmp(hp->h_addr_list[0], addr, hp->h_length)) + if (!memcmp(hp->h_addr_list[0], addr, (size_t)hp->h_length)) break; endhostent_r(&hf);
CVS commit: src/sys/arch/sparc64/include
Module Name:src Committed By: martin Date: Sun Aug 18 09:31:38 UTC 2013 Modified Files: src/sys/arch/sparc64/include: psl.h Log Message: Remove ancient spl* variants no longer used To generate a diff of this commit: cvs rdiff -u -r1.52 -r1.53 src/sys/arch/sparc64/include/psl.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/sparc64/include/psl.h diff -u src/sys/arch/sparc64/include/psl.h:1.52 src/sys/arch/sparc64/include/psl.h:1.53 --- src/sys/arch/sparc64/include/psl.h:1.52 Fri Nov 9 10:05:59 2012 +++ src/sys/arch/sparc64/include/psl.h Sun Aug 18 09:31:38 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: psl.h,v 1.52 2012/11/09 10:05:59 nakayama Exp $ */ +/* $NetBSD: psl.h,v 1.53 2013/08/18 09:31:38 martin Exp $ */ /* * Copyright (c) 1992, 1993 @@ -486,21 +486,7 @@ SPLHOLD(splfdsoft, PIL_FDSOFT) */ SPLHOLD(splvm, PIL_VM) -/* fd hardware interrupts are at level 11 */ -SPLHOLD(splfd, PIL_FD) - -/* zs hardware interrupts are at level 12 */ -SPLHOLD(splzs, PIL_SER) -SPLHOLD(splserial, PIL_SER) - -/* audio hardware interrupts are at level 13 */ -SPLHOLD(splaudio, PIL_AUD) - -/* second sparc timer interrupts at level 14 */ -SPLHOLD(splstatclock, PIL_STATCLOCK) - SPLHOLD(splsched, PIL_SCHED) -SPLHOLD(spllock, PIL_LOCK) SPLHOLD(splhigh, PIL_HIGH)
CVS commit: src/sys/arch/arm/arm
Module Name:src Committed By: matt Date: Sun Aug 18 08:08:15 UTC 2013 Modified Files: src/sys/arch/arm/arm: undefined.c Log Message: Properly recognize Thumb2 instructions. (a thumb2 FP programs correctly runs now). To generate a diff of this commit: cvs rdiff -u -r1.49 -r1.50 src/sys/arch/arm/arm/undefined.c 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/arm/arm/undefined.c diff -u src/sys/arch/arm/arm/undefined.c:1.49 src/sys/arch/arm/arm/undefined.c:1.50 --- src/sys/arch/arm/arm/undefined.c:1.49 Sun Aug 18 06:28:18 2013 +++ src/sys/arch/arm/arm/undefined.c Sun Aug 18 08:08:15 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: undefined.c,v 1.49 2013/08/18 06:28:18 matt Exp $ */ +/* $NetBSD: undefined.c,v 1.50 2013/08/18 08:08:15 matt Exp $ */ /* * Copyright (c) 2001 Ben Harris. @@ -54,7 +54,7 @@ #include #endif -__KERNEL_RCSID(0, "$NetBSD: undefined.c,v 1.49 2013/08/18 06:28:18 matt Exp $"); +__KERNEL_RCSID(0, "$NetBSD: undefined.c,v 1.50 2013/08/18 08:08:15 matt Exp $"); #include #include @@ -303,7 +303,7 @@ undefinedinstruction(trapframe_t *frame) #ifdef THUMB_CODE if (frame->tf_spsr & PSR_T_bit) { - const uint16_t *pc = (const uint16_t *)(fault_pc & ~1); + const uint16_t * const pc = (const uint16_t *)(fault_pc & ~1); fault_instruction = pc[0]; #if defined(__ARMEB__) && defined(_ARM_ARCH_7) fault_instruction = le16toh(fault_instruction); @@ -353,7 +353,7 @@ undefinedinstruction(trapframe_t *frame) curcpu()->ci_data.cpu_ntrap++; #ifdef THUMB_CODE - if (frame->tf_spsr & PSR_T_bit) { + if ((frame->tf_spsr & PSR_T_bit) && !CPU_IS_ARMV7_P()) { coprocessor = THUMB_UNKNOWN_HANDLER; } else @@ -372,10 +372,15 @@ undefinedinstruction(trapframe_t *frame) */ if ((fault_instruction & (1 << 27)) != 0 - && (fault_instruction & 0xf000) != 0xf000) + && (fault_instruction & 0xf000) != 0xf000) { coprocessor = (fault_instruction >> 8) & 0x0f; - else +#ifdef THUMB_CODE + } else if ((frame->tf_spsr & PSR_T_bit) && !CPU_IS_ARMV7_P()) { + coprocessor = THUMB_UNKNOWN_HANDLER; +#endif + } else { coprocessor = CORE_UNKNOWN_HANDLER; + } } if (user) {
CVS commit: src/lib/libc/arch/arm
Module Name:src Committed By: skrll Date: Sun Aug 18 07:57:29 UTC 2013 Modified Files: src/lib/libc/arch/arm: Makefile.inc Log Message: Only add in __aeabi_read_tp.S when building for earm. To generate a diff of this commit: cvs rdiff -u -r1.21 -r1.22 src/lib/libc/arch/arm/Makefile.inc Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/lib/libc/arch/arm/Makefile.inc diff -u src/lib/libc/arch/arm/Makefile.inc:1.21 src/lib/libc/arch/arm/Makefile.inc:1.22 --- src/lib/libc/arch/arm/Makefile.inc:1.21 Tue Apr 30 01:42:03 2013 +++ src/lib/libc/arch/arm/Makefile.inc Sun Aug 18 07:57:29 2013 @@ -1,12 +1,13 @@ -# $NetBSD: Makefile.inc,v 1.21 2013/04/30 01:42:03 matt Exp $ +# $NetBSD: Makefile.inc,v 1.22 2013/08/18 07:57:29 skrll Exp $ .include -SRCS+= __aeabi_read_tp.S __sigaction14_sigtramp.c __sigtramp2.S +SRCS+= __sigaction14_sigtramp.c __sigtramp2.S CPPFLAGS += -I. .if !empty(LIBC_MACHINE_ARCH:Mearm*) +SRCS+= __aeabi_read_tp.S SRCS+= __aeabi_ldivmod.S __aeabi_uldivmod.S SRCS+= __aeabi_lcmp.c __aeabi_ulcmp.c SRCS+= fixunsgen_ieee754.c fixunssfsi_ieee754.c
CVS commit: src/sys/arch/arm
Module Name:src Committed By: matt Date: Sun Aug 18 07:57:27 UTC 2013 Modified Files: src/sys/arch/arm/arm: cpufunc.c src/sys/arch/arm/include: locore.h Log Message: Add a CPU_IS_ARMV7_P() macro (nonv7 evals to false, v7 only true, otherwise cpu_armv7_p is checked (and is set by cpuconf for cortex and pj4b). To generate a diff of this commit: cvs rdiff -u -r1.124 -r1.125 src/sys/arch/arm/arm/cpufunc.c cvs rdiff -u -r1.1 -r1.2 src/sys/arch/arm/include/locore.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/arm/arm/cpufunc.c diff -u src/sys/arch/arm/arm/cpufunc.c:1.124 src/sys/arch/arm/arm/cpufunc.c:1.125 --- src/sys/arch/arm/arm/cpufunc.c:1.124 Sun Aug 18 06:50:31 2013 +++ src/sys/arch/arm/arm/cpufunc.c Sun Aug 18 07:57:27 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: cpufunc.c,v 1.124 2013/08/18 06:50:31 matt Exp $ */ +/* $NetBSD: cpufunc.c,v 1.125 2013/08/18 07:57:27 matt Exp $ */ /* * arm7tdmi support code Copyright (c) 2001 John Fremlin @@ -49,7 +49,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: cpufunc.c,v 1.124 2013/08/18 06:50:31 matt Exp $"); +__KERNEL_RCSID(0, "$NetBSD: cpufunc.c,v 1.125 2013/08/18 07:57:27 matt Exp $"); #include "opt_compat_netbsd.h" #include "opt_cpuoptions.h" @@ -92,6 +92,10 @@ __KERNEL_RCSID(0, "$NetBSD: cpufunc.c,v struct arm_pmc_funcs *arm_pmc; #endif +#if defined(CPU_ARMV7) && (defined(CPU_ARMV6) || defined(CPU_PRE_ARMV6)) +bool cpu_armv7_p; +#endif + /* PRIMARY CACHE VARIABLES */ #if (ARM_MMU_V6 + ARM_MMU_V7) != 0 u_int arm_cache_prefer_mask; @@ -2062,6 +2066,9 @@ set_cpufuncs(void) if (CPU_ID_CORTEX_P(cputype)) { cpufuncs = cortex_cpufuncs; cpu_do_powersave = 1; /* Enable powersave */ +#if defined(CPU_ARMV6) || defined(CPU_PRE_ARMV6) + cpu_armv7_p = true; +#endif get_cachetype_cp15(); pmap_pte_init_armv7(); if (arm_cache_prefer_mask) @@ -2083,6 +2090,9 @@ set_cpufuncs(void) cputype == CPU_ID_ARM_88SV581X_V7) && (armreg_pfr0_read() & ARM_PFR0_THUMBEE_MASK)) { cpufuncs = pj4bv7_cpufuncs; +#if defined(CPU_ARMV6) || defined(CPU_PRE_ARMV6) + cpu_armv7_p = true; +#endif get_cachetype_cp15(); pmap_pte_init_armv7(); return 0; Index: src/sys/arch/arm/include/locore.h diff -u src/sys/arch/arm/include/locore.h:1.1 src/sys/arch/arm/include/locore.h:1.2 --- src/sys/arch/arm/include/locore.h:1.1 Sun Aug 18 04:32:40 2013 +++ src/sys/arch/arm/include/locore.h Sun Aug 18 07:57:26 2013 @@ -48,17 +48,16 @@ #ifndef _ARM_LOCORE_H_ #define _ARM_LOCORE_H_ +#ifdef _KERNEL_OPT +#include "opt_cpuoptions.h" +#include "opt_cputypes.h" +#endif + #include #include #include -#ifndef _LOCORE -/* 1 == use cpu_sleep(), 0 == don't */ -extern int cpu_do_powersave; -extern int cpu_fpu_present; -#endif - #ifdef _LOCORE #if defined(_ARM_ARCH_6) @@ -104,10 +103,6 @@ extern int cpu_fpu_present; #define IRQenable set_r15(R15_IRQ_DISABLE, 0); #endif -#endif /* !_LOCORE */ - -#ifndef _LOCORE - /* * Validate a PC or PSR for a user process. Used by various system calls * that take a context passed by the user and restore it. @@ -150,6 +145,19 @@ void arm32_vector_init(vaddr_t, int); void cpu_attach(device_t, cpuid_t); #endif +/* 1 == use cpu_sleep(), 0 == don't */ +extern int cpu_do_powersave; +extern int cpu_fpu_present; + +#if !defined(CPU_ARMV7) +#define CPU_IS_ARMV7_P() false +#elif defined(CPU_ARMV6) || defined(CPU_PRE_ARMV6) +extern bool cpu_armv7_p; +#define CPU_IS_ARMV7_P() (cpu_armv7_p) +#else +#define CPU_IS_ARMV7_P() true +#endif + /* * Random cruft */
CVS commit: src/sys/arch/arm/arm32
Module Name:src Committed By: matt Date: Sun Aug 18 07:55:28 UTC 2013 Modified Files: src/sys/arch/arm/arm32: genassym.cf Log Message: include To generate a diff of this commit: cvs rdiff -u -r1.64 -r1.65 src/sys/arch/arm/arm32/genassym.cf 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/arm/arm32/genassym.cf diff -u src/sys/arch/arm/arm32/genassym.cf:1.64 src/sys/arch/arm/arm32/genassym.cf:1.65 --- src/sys/arch/arm/arm32/genassym.cf:1.64 Sun Aug 18 04:52:19 2013 +++ src/sys/arch/arm/arm32/genassym.cf Sun Aug 18 07:55:28 2013 @@ -1,4 +1,4 @@ -# $NetBSD: genassym.cf,v 1.64 2013/08/18 04:52:19 matt Exp $ +# $NetBSD: genassym.cf,v 1.65 2013/08/18 07:55:28 matt Exp $ # Copyright (c) 1982, 1990 The Regents of the University of California. # All rights reserved. @@ -47,10 +47,10 @@ include include include +include include include -include include include
CVS commit: src/sys/arch/arm/include
Module Name:src Committed By: matt Date: Sun Aug 18 07:36:39 UTC 2013 Modified Files: src/sys/arch/arm/include: cpu.h Log Message: If _KMEMUSER, include To generate a diff of this commit: cvs rdiff -u -r1.77 -r1.78 src/sys/arch/arm/include/cpu.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/arm/include/cpu.h diff -u src/sys/arch/arm/include/cpu.h:1.77 src/sys/arch/arm/include/cpu.h:1.78 --- src/sys/arch/arm/include/cpu.h:1.77 Sun Aug 18 06:46:04 2013 +++ src/sys/arch/arm/include/cpu.h Sun Aug 18 07:36:39 2013 @@ -128,6 +128,9 @@ static inline int curcpl(void); static inline void set_curcpl(int); static inline void cpu_dosoftints(void); +#ifdef _KMEMUSER +#include +#endif #include #include #include
CVS commit: src/sys/sys
Module Name:src Committed By: matt Date: Sun Aug 18 07:36:13 UTC 2013 Modified Files: src/sys/sys: intr.h Log Message: Expose SOFTINT_COUNT for _KMEMUSER To generate a diff of this commit: cvs rdiff -u -r1.13 -r1.14 src/sys/sys/intr.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/sys/intr.h diff -u src/sys/sys/intr.h:1.13 src/sys/sys/intr.h:1.14 --- src/sys/sys/intr.h:1.13 Sat Aug 17 20:20:18 2013 +++ src/sys/sys/intr.h Sun Aug 18 07:36:13 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: intr.h,v 1.13 2013/08/17 20:20:18 matt Exp $ */ +/* $NetBSD: intr.h,v 1.14 2013/08/18 07:36:13 matt Exp $ */ /*- * Copyright (c) 2007 The NetBSD Foundation, Inc. @@ -86,8 +86,10 @@ extern u_int softint_timing; #define splclock() splsched() #define splserial() splhigh() -#endif /* _KERNEL */ - #include +#elif defined(_KMEMUSER) +#define SOFTINT_COUNT 0x0004 +#endif /* _KERNEL */ + #endif /* _SYS_INTR_H_ */
CVS commit: src/sys/arch/arm/include
Module Name:src Committed By: matt Date: Sun Aug 18 07:15:31 UTC 2013 Modified Files: src/sys/arch/arm/include: profile.h Log Message: Don't use cfi ops in non EABI MCOUNT To generate a diff of this commit: cvs rdiff -u -r1.10 -r1.11 src/sys/arch/arm/include/profile.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/arm/include/profile.h diff -u src/sys/arch/arm/include/profile.h:1.10 src/sys/arch/arm/include/profile.h:1.11 --- src/sys/arch/arm/include/profile.h:1.10 Fri Aug 16 21:42:48 2013 +++ src/sys/arch/arm/include/profile.h Sun Aug 18 07:15:31 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: profile.h,v 1.10 2013/08/16 21:42:48 matt Exp $ */ +/* $NetBSD: profile.h,v 1.11 2013/08/18 07:15:31 matt Exp $ */ /* * Copyright (c) 2001 Ben Harris @@ -47,27 +47,18 @@ #define PLTSYM #endif -#if !defined(__thumb__) && !defined(__ARM_EABI__) +#if !defined(__ARM_EABI__) #define MCOUNT\ __asm(".text"); \ __asm(".align 0"); \ + __asm(".arm"); \ __asm(".type " MCOUNT_ASM_NAME ",%function"); \ __asm(".global " MCOUNT_ASM_NAME);\ __asm(MCOUNT_ASM_NAME ":"); \ - __asm(".cfi_startproc"); \ - __asm(".fnstart"); \ /*\ * Preserve registers that are trashed during mcount \ */\ __asm("push {r0-r3, ip, lr}");\ - __asm(".save {r0-r3, ip, lr}"); \ - __asm(".cfi_def_cfa_offset 24");\ - __asm(".cfi_offset 14, -4"); \ - __asm(".cfi_offset 12, -8"); \ - __asm(".cfi_offset 3, -12"); \ - __asm(".cfi_offset 2, -16"); \ - __asm(".cfi_offset 1, -20"); \ - __asm(".cfi_offset 0, -24"); \ /* Check what mode we're in. EQ => 32, NE => 26 */ \ __asm("teq r0, r0"); \ __asm("teq pc, r15"); \ @@ -92,16 +83,14 @@ * Restore registers that were trashed during mcount \ */\ __asm("pop {r0-r3, pc}"); \ - __asm(".cfi_endproc"); \ - __asm(".fnend"); \ __asm(".size " MCOUNT_ASM_NAME ", .-" MCOUNT_ASM_NAME); #else #define MCOUNT\ __asm(".text"); \ __asm(".align 0"); \ + __asm(".arm"); \ __asm(".type " MCOUNT_ASM_NAME ",%function"); \ __asm(".global " MCOUNT_ASM_NAME);\ - __asm(".arm"); \ __asm(MCOUNT_ASM_NAME ":"); \ __asm(".fnstart"); \ __asm(".cfi_startproc"); \
CVS commit: othersrc/external/bsd/multigest/dist
Module Name:othersrc Committed By: wiz Date: Sun Aug 18 07:09:06 UTC 2013 Modified Files: othersrc/external/bsd/multigest/dist: multigest.1 Log Message: Sort options. Consistency. Serial comma. Describe -F instead of -S twice :) To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 othersrc/external/bsd/multigest/dist/multigest.1 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: othersrc/external/bsd/multigest/dist/multigest.1 diff -u othersrc/external/bsd/multigest/dist/multigest.1:1.6 othersrc/external/bsd/multigest/dist/multigest.1:1.7 --- othersrc/external/bsd/multigest/dist/multigest.1:1.6 Sun Aug 18 06:03:14 2013 +++ othersrc/external/bsd/multigest/dist/multigest.1 Sun Aug 18 07:09:06 2013 @@ -1,4 +1,4 @@ -.\" $NetBSD: multigest.1,v 1.6 2013/08/18 06:03:14 agc Exp $ +.\" $NetBSD: multigest.1,v 1.7 2013/08/18 07:09:06 wiz Exp $ .\" .\" Copyright (c) 2013 Alistair Crooks .\" All rights reserved. @@ -32,11 +32,11 @@ .Sh SYNOPSIS .Nm .Fl r -.Op Fl F Ar output-format -.Op Fl S Ar output-separator .Op Fl a Ar algorithms .Op Fl c Ar digestfile +.Op Fl F Ar output-format .Op Fl o Ar output +.Op Fl S Ar output-separator .Op Fl s Ar /regex/replacement/ .Op file ... .Sh DESCRIPTION @@ -63,23 +63,20 @@ library. .Pp The following options are available: .Bl -tag -width XregexXreplacementXYYY -.It Fl S Ar output-separator +.It Fl a Ar algorithms +specify a comma-separated list of algorithms to be calculated +.It Fl c Ar stored-digest-file +check, or verify, a file containing previously-generated digests +.It Fl F Ar output-format print the output in the format requested. Possible values are .Dq openssl , -.Dq digest +.Dq digest , and .Dq multigest . The default is .Dq multigest which means that any replacement text is printed in a separate field. -.It Fl S Ar output-separator -separate each individual digest on output with the provided string. -The output separator defaults to the null string, i.e. no separator. -.It Fl a Ar algorithms -specifies a comma-separated list of algorithms to be calculated -.It Fl c Ar stored-digest-file -check, or verify, a file containing previously-generated digests .It Fl o Ar output-file write the calculated digests to the output file .It Fl r @@ -87,6 +84,9 @@ shorthand for input substitution for the .Dq Id and .Dq NetBSD +.It Fl S Ar output-separator +separate each individual digest on output with the provided string. +The output separator defaults to the null string, i.e. no separator. .It Fl s Ar /regex/replacement/ before calculating digests, run the following transformation on the input to normalise any input.
CVS commit: src/sys
Module Name:src Committed By: matt Date: Sun Aug 18 07:01:45 UTC 2013 Modified Files: src/sys/arch/arm/arm: linux_syscall.c src/sys/arch/shark/ofw: ofw.c src/sys/arch/shark/shark: shark_machdep.c src/sys/compat/linux/arch/arm: linux_machdep.c Log Message: Use To generate a diff of this commit: cvs rdiff -u -r1.24 -r1.25 src/sys/arch/arm/arm/linux_syscall.c cvs rdiff -u -r1.60 -r1.61 src/sys/arch/shark/ofw/ofw.c cvs rdiff -u -r1.40 -r1.41 src/sys/arch/shark/shark/shark_machdep.c cvs rdiff -u -r1.30 -r1.31 src/sys/compat/linux/arch/arm/linux_machdep.c 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/arm/arm/linux_syscall.c diff -u src/sys/arch/arm/arm/linux_syscall.c:1.24 src/sys/arch/arm/arm/linux_syscall.c:1.25 --- src/sys/arch/arm/arm/linux_syscall.c:1.24 Mon Nov 12 18:00:35 2012 +++ src/sys/arch/arm/arm/linux_syscall.c Sun Aug 18 07:01:45 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: linux_syscall.c,v 1.24 2012/11/12 18:00:35 skrll Exp $ */ +/* $NetBSD: linux_syscall.c,v 1.25 2013/08/18 07:01:45 matt Exp $ */ /*- * Copyright (c) 2000, 2003 The NetBSD Foundation, Inc. @@ -69,7 +69,7 @@ #include -__KERNEL_RCSID(0, "$NetBSD: linux_syscall.c,v 1.24 2012/11/12 18:00:35 skrll Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_syscall.c,v 1.25 2013/08/18 07:01:45 matt Exp $"); #include #include @@ -78,13 +78,12 @@ __KERNEL_RCSID(0, "$NetBSD: linux_syscal #include #include #include +#include #include -#include -#include -#include #include +#include #include #include Index: src/sys/arch/shark/ofw/ofw.c diff -u src/sys/arch/shark/ofw/ofw.c:1.60 src/sys/arch/shark/ofw/ofw.c:1.61 --- src/sys/arch/shark/ofw/ofw.c:1.60 Sat Sep 22 00:33:41 2012 +++ src/sys/arch/shark/ofw/ofw.c Sun Aug 18 07:01:45 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: ofw.c,v 1.60 2012/09/22 00:33:41 matt Exp $ */ +/* $NetBSD: ofw.c,v 1.61 2013/08/18 07:01:45 matt Exp $ */ /* * Copyright 1997 @@ -41,7 +41,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: ofw.c,v 1.60 2012/09/22 00:33:41 matt Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ofw.c,v 1.61 2013/08/18 07:01:45 matt Exp $"); #include #include @@ -49,6 +49,8 @@ __KERNEL_RCSID(0, "$NetBSD: ofw.c,v 1.60 #include #include #include +#include +#include #include @@ -56,10 +58,10 @@ __KERNEL_RCSID(0, "$NetBSD: ofw.c,v 1.60 #define _ARM32_BUS_DMA_PRIVATE #include -#include + +#include + #include -#include -#include #include #include Index: src/sys/arch/shark/shark/shark_machdep.c diff -u src/sys/arch/shark/shark/shark_machdep.c:1.40 src/sys/arch/shark/shark/shark_machdep.c:1.41 --- src/sys/arch/shark/shark/shark_machdep.c:1.40 Sun Jul 29 00:07:06 2012 +++ src/sys/arch/shark/shark/shark_machdep.c Sun Aug 18 07:01:45 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: shark_machdep.c,v 1.40 2012/07/29 00:07:06 matt Exp $ */ +/* $NetBSD: shark_machdep.c,v 1.41 2013/08/18 07:01:45 matt Exp $ */ /* * Copyright 1997 @@ -38,7 +38,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: shark_machdep.c,v 1.40 2012/07/29 00:07:06 matt Exp $"); +__KERNEL_RCSID(0, "$NetBSD: shark_machdep.c,v 1.41 2013/08/18 07:01:45 matt Exp $"); #include "opt_ddb.h" #include "opt_modular.h" @@ -53,30 +53,29 @@ __KERNEL_RCSID(0, "$NetBSD: shark_machde #include #include #include +#include +#include #include -#include - #include +#include +#include +#include #include #include #include -#include -#include -#include -#include -#include -#include +#include +#include #include +#include -#include +#include +#include #include #include -#include -#include #include #include "isadma.h" Index: src/sys/compat/linux/arch/arm/linux_machdep.c diff -u src/sys/compat/linux/arch/arm/linux_machdep.c:1.30 src/sys/compat/linux/arch/arm/linux_machdep.c:1.31 --- src/sys/compat/linux/arch/arm/linux_machdep.c:1.30 Thu Aug 16 16:41:53 2012 +++ src/sys/compat/linux/arch/arm/linux_machdep.c Sun Aug 18 07:01:45 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: linux_machdep.c,v 1.30 2012/08/16 16:41:53 matt Exp $ */ +/* $NetBSD: linux_machdep.c,v 1.31 2013/08/18 07:01:45 matt Exp $ */ /*- * Copyright (c) 1995, 2000 The NetBSD Foundation, Inc. @@ -31,7 +31,7 @@ #include -__KERNEL_RCSID(0, "$NetBSD: linux_machdep.c,v 1.30 2012/08/16 16:41:53 matt Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_machdep.c,v 1.31 2013/08/18 07:01:45 matt Exp $"); #include #include @@ -55,6 +55,7 @@ __KERNEL_RCSID(0, "$NetBSD: linux_machde #include #include #include + #include #include @@ -66,6 +67,8 @@ __KERNEL_RCSID(0, "$NetBSD: linux_machde #include #include +#include + void linux_setregs(struct lwp *l, struct exec_package *epp, vaddr_t stack) {