Source-Changes-HG archive

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

[src/trunk]: src Preliminary files for AARCH64 (64-bit ARM) support.



details:   https://anonhg.NetBSD.org/src/rev/da40b96f6142
branches:  trunk
changeset: 331374:da40b96f6142
user:      matt <matt%NetBSD.org@localhost>
date:      Sun Aug 10 05:47:35 2014 +0000

description:
Preliminary files for AARCH64 (64-bit ARM) support.
Enough for a distribution build.

diffstat:

 common/lib/libc/arch/aarch64/atomic/Makefile.inc             |    25 +
 common/lib/libc/arch/aarch64/atomic/atomic_add_16.S          |    46 +
 common/lib/libc/arch/aarch64/atomic/atomic_add_32.S          |    46 +
 common/lib/libc/arch/aarch64/atomic/atomic_add_64.S          |    50 +
 common/lib/libc/arch/aarch64/atomic/atomic_add_8.S           |    46 +
 common/lib/libc/arch/aarch64/atomic/atomic_and_16.S          |    46 +
 common/lib/libc/arch/aarch64/atomic/atomic_and_32.S          |    46 +
 common/lib/libc/arch/aarch64/atomic/atomic_and_64.S          |    46 +
 common/lib/libc/arch/aarch64/atomic/atomic_and_8.S           |    46 +
 common/lib/libc/arch/aarch64/atomic/atomic_cas_16.S          |    48 +
 common/lib/libc/arch/aarch64/atomic/atomic_cas_32.S          |    52 +
 common/lib/libc/arch/aarch64/atomic/atomic_cas_64.S          |    55 +
 common/lib/libc/arch/aarch64/atomic/atomic_cas_8.S           |    48 +
 common/lib/libc/arch/aarch64/atomic/atomic_dec_32.S          |    59 +
 common/lib/libc/arch/aarch64/atomic/atomic_dec_64.S          |    63 +
 common/lib/libc/arch/aarch64/atomic/atomic_inc_32.S          |    59 +
 common/lib/libc/arch/aarch64/atomic/atomic_inc_64.S          |    63 +
 common/lib/libc/arch/aarch64/atomic/atomic_nand_16.S         |    64 +
 common/lib/libc/arch/aarch64/atomic/atomic_nand_32.S         |    64 +
 common/lib/libc/arch/aarch64/atomic/atomic_nand_64.S         |    64 +
 common/lib/libc/arch/aarch64/atomic/atomic_nand_8.S          |    64 +
 common/lib/libc/arch/aarch64/atomic/atomic_op_asm.h          |   135 +
 common/lib/libc/arch/aarch64/atomic/atomic_or_16.S           |    46 +
 common/lib/libc/arch/aarch64/atomic/atomic_or_32.S           |    46 +
 common/lib/libc/arch/aarch64/atomic/atomic_or_64.S           |    46 +
 common/lib/libc/arch/aarch64/atomic/atomic_or_8.S            |    46 +
 common/lib/libc/arch/aarch64/atomic/atomic_sub_16.S          |    50 +
 common/lib/libc/arch/aarch64/atomic/atomic_sub_32.S          |    46 +
 common/lib/libc/arch/aarch64/atomic/atomic_sub_64.S          |    50 +
 common/lib/libc/arch/aarch64/atomic/atomic_sub_8.S           |    46 +
 common/lib/libc/arch/aarch64/atomic/atomic_swap_16.S         |    53 +
 common/lib/libc/arch/aarch64/atomic/atomic_swap_32.S         |    51 +
 common/lib/libc/arch/aarch64/atomic/atomic_swap_64.S         |    53 +
 common/lib/libc/arch/aarch64/atomic/atomic_swap_8.S          |    53 +
 common/lib/libc/arch/aarch64/atomic/atomic_xor_16.S          |    46 +
 common/lib/libc/arch/aarch64/atomic/atomic_xor_32.S          |    46 +
 common/lib/libc/arch/aarch64/atomic/atomic_xor_64.S          |    44 +
 common/lib/libc/arch/aarch64/atomic/atomic_xor_8.S           |    46 +
 common/lib/libc/arch/aarch64/atomic/membar_ops.S             |    55 +
 common/lib/libc/arch/aarch64/gen/byte_swap_2.S               |    47 +
 common/lib/libc/arch/aarch64/gen/byte_swap_4.S               |    47 +
 common/lib/libc/arch/aarch64/gen/byte_swap_8.S               |    47 +
 common/lib/libc/arch/aarch64/gen/clzdi2.S                    |    10 +
 common/lib/libc/arch/aarch64/gen/ctzdi2.S                    |    11 +
 common/lib/libc/arch/aarch64/gen/ffsdi2.S                    |    14 +
 common/lib/libc/arch/aarch64/string/memcmp.S                 |   187 +
 common/lib/libc/arch/aarch64/string/memcpy.S                 |   126 +
 common/lib/libc/arch/aarch64/string/memset.S                 |   200 +
 common/lib/libc/arch/aarch64/string/strcat.S                 |    57 +
 common/lib/libc/arch/aarch64/string/strlen.S                 |   113 +
 common/lib/libc/arch/aarch64/string/strnlen.S                |     5 +
 distrib/evbarm64/ramdisk/Makefile                            |    40 +
 distrib/evbarm64/ramdisk/dot.profile                         |    64 +
 distrib/evbarm64/ramdisk/list                                |    86 +
 distrib/sets/lists/base/ad.aarch64                           |   657 +
 distrib/sets/lists/comp/ad.aarch64                           |   634 +
 distrib/sets/lists/debug/ad.aarch64                          |   332 +
 distrib/sets/lists/modules/ad.aarch64                        |     3 +
 distrib/sets/lists/tests/ad.aarch64                          |     3 +
 distrib/utils/sysinst/arch/evbarm64/Makefile                 |    10 +
 distrib/utils/sysinst/arch/evbarm64/md.c                     |   323 +
 distrib/utils/sysinst/arch/evbarm64/md.h                     |    82 +
 etc/etc.aarch64/MAKEDEV.conf                                 |    29 +
 etc/etc.aarch64/ttys                                         |    20 +
 etc/mtree/NetBSD.dist.aarch64                                |    24 +
 external/gpl3/binutils/dist/ld/emulparams/aarch64nbsd.sh     |    36 +
 external/gpl3/binutils/dist/ld/emulparams/aarch64nbsdb.sh    |     2 +
 external/gpl3/binutils/lib/libbfd/arch/aarch64/bfd.h         |  6712 ++++++++++
 external/gpl3/binutils/lib/libbfd/arch/aarch64/bfd_stdint.h  |    51 +
 external/gpl3/binutils/lib/libbfd/arch/aarch64/bfdver.h      |     8 +
 external/gpl3/binutils/lib/libbfd/arch/aarch64/config.h      |   378 +
 external/gpl3/binutils/lib/libbfd/arch/aarch64/defs.mk       |     9 +
 external/gpl3/binutils/lib/libiberty/arch/aarch64/config.h   |   501 +
 external/gpl3/binutils/lib/libiberty/arch/aarch64/defs.mk    |     8 +
 external/gpl3/binutils/lib/libopcodes/arch/aarch64/config.h  |   124 +
 external/gpl3/binutils/lib/libopcodes/arch/aarch64/defs.mk   |     7 +
 external/gpl3/binutils/usr.bin/common/arch/aarch64/config.h  |   272 +
 external/gpl3/binutils/usr.bin/common/arch/aarch64/defs.mk   |    36 +
 external/gpl3/binutils/usr.bin/gas/arch/aarch64/config.h     |   367 +
 external/gpl3/binutils/usr.bin/gas/arch/aarch64/defs.mk      |     8 +
 external/gpl3/binutils/usr.bin/gas/arch/aarch64/itbl-cpu.h   |     5 +
 external/gpl3/binutils/usr.bin/gas/arch/aarch64/obj-format.h |     5 +
 external/gpl3/binutils/usr.bin/gas/arch/aarch64/targ-cpu.h   |     5 +
 external/gpl3/binutils/usr.bin/gas/arch/aarch64/targ-env.h   |     5 +
 external/gpl3/binutils/usr.bin/gprof/arch/aarch64/defs.mk    |     8 +
 external/gpl3/binutils/usr.bin/gprof/arch/aarch64/gconfig.h  |   118 +
 external/gpl3/binutils/usr.bin/ld/arch/aarch64/config.h      |   242 +
 external/gpl3/binutils/usr.bin/ld/arch/aarch64/defs.mk       |    13 +
 external/gpl3/binutils/usr.bin/ld/arch/aarch64/ldemul-list.h |    24 +
 lib/csu/arch/aarch64/Makefile.inc                            |     5 +
 lib/csu/arch/aarch64/crt0.S                                  |    44 +
 lib/csu/arch/aarch64/crtbegin.h                              |    35 +
 lib/csu/arch/aarch64/crtend.S                                |    48 +
 lib/csu/arch/aarch64/crti.S                                  |    41 +
 lib/csu/arch/aarch64/crtn.S                                  |     3 +
 lib/libc/arch/aarch64/Makefile.inc                           |    22 +
 lib/libc/arch/aarch64/SYS.h                                  |    79 +
 lib/libc/arch/aarch64/gdtoa/Makefile.inc                     |     5 +
 lib/libc/arch/aarch64/gdtoa/arith.h                          |     7 +
 lib/libc/arch/aarch64/gdtoa/gd_qnan.h                        |    18 +
 lib/libc/arch/aarch64/gen/Makefile.inc                       |    31 +
 lib/libc/arch/aarch64/gen/_lwp.c                             |    64 +
 lib/libc/arch/aarch64/gen/_setjmp.S                          |   117 +
 lib/libc/arch/aarch64/gen/fabs_ieee754.S                     |    39 +
 lib/libc/arch/aarch64/gen/flt_rounds.c                       |    68 +
 lib/libc/arch/aarch64/gen/makecontext.c                      |    76 +
 lib/libc/arch/aarch64/gen/nanf.c                             |    18 +
 lib/libc/arch/aarch64/gen/resumecontext.c                    |    54 +
 lib/libc/arch/aarch64/gen/setjmp.S                           |   133 +
 lib/libc/arch/aarch64/gen/sigsetjmp.S                        |    52 +
 lib/libc/arch/aarch64/gen/swapcontext.S                      |    64 +
 lib/libc/arch/aarch64/genassym.cf                            |    65 +
 lib/libc/arch/aarch64/net/Makefile.inc                       |     3 +
 lib/libc/arch/aarch64/softfloat/aarch64-gcc.h                |    89 +
 lib/libc/arch/aarch64/softfloat/milieu.h                     |    48 +
 lib/libc/arch/aarch64/softfloat/qp.c                         |   378 +
 lib/libc/arch/aarch64/softfloat/softfloat-qp.h               |    88 +
 lib/libc/arch/aarch64/softfloat/softfloat-wrapper.c          |     1 +
 lib/libc/arch/aarch64/softfloat/softfloat.h                  |   305 +
 lib/libc/arch/aarch64/stdlib/Makefile.inc                    |     1 +
 lib/libc/arch/aarch64/string/Makefile.inc                    |     1 +
 lib/libc/arch/aarch64/sys/__clone.S                          |    78 +
 lib/libc/arch/aarch64/sys/__sigaction14_sigtramp.c           |    79 +
 lib/libc/arch/aarch64/sys/__sigtramp2.S                      |    50 +
 lib/libc/arch/aarch64/sys/__syscall.S                        |    71 +
 lib/libc/arch/aarch64/sys/__vfork14.S                        |    48 +
 lib/libc/arch/aarch64/sys/brk.S                              |    72 +
 lib/libc/arch/aarch64/sys/cerror.S                           |    47 +
 lib/libc/arch/aarch64/sys/exect.S                            |    36 +
 lib/libc/arch/aarch64/sys/fork.S                             |    46 +
 lib/libc/arch/aarch64/sys/getcontext.S                       |    54 +
 lib/libc/arch/aarch64/sys/pipe.S                             |    43 +
 lib/libc/arch/aarch64/sys/ptrace.S                           |    53 +
 lib/libc/arch/aarch64/sys/sbrk.S                             |    70 +
 lib/libc/arch/aarch64/sys/shmat.S                            |     5 +
 lib/libc/arch/aarch64/sys/syscall.S                          |     6 +
 lib/libc/compat/arch/aarch64/Makefile.inc                    |     1 +
 lib/libkvm/kvm_aarch64.c                                     |   208 +
 lib/libm/arch/aarch64/e_sqrt.S                               |    39 +
 lib/libm/arch/aarch64/e_sqrtf.S                              |    39 +
 lib/libm/arch/aarch64/fenv.c                                 |   263 +
 lib/libm/arch/aarch64/s_fabsf.S                              |    39 +
 lib/libm/arch/aarch64/s_fma.S                                |    41 +
 lib/libm/arch/aarch64/s_fmaf.S                               |    41 +
 lib/libm/arch/aarch64/s_fmax.S                               |    41 +
 lib/libm/arch/aarch64/s_fmaxf.S                              |    41 +
 lib/libm/arch/aarch64/s_fmin.S                               |    41 +
 lib/libm/arch/aarch64/s_fminf.S                              |    41 +
 lib/libpthread/arch/aarch64/pthread_md.h                     |    57 +
 libexec/ld.elf_so/arch/aarch64/Makefile.inc                  |    12 +
 libexec/ld.elf_so/arch/aarch64/mdreloc.c                     |   263 +
 libexec/ld.elf_so/arch/aarch64/rtld_start.S                  |   108 +
 sys/arch/aarch64/Makefile                                    |     5 +
 sys/arch/aarch64/aarch64/aarch64_machdep.c                   |    97 +
 sys/arch/aarch64/aarch64/bus_dma.c                           |    36 +
 sys/arch/aarch64/aarch64/bus_space.c                         |    36 +
 sys/arch/aarch64/aarch64/cctr_machdep.c                      |    36 +
 sys/arch/aarch64/aarch64/copyinout.S                         |   157 +
 sys/arch/aarch64/aarch64/core_machdep.c                      |    91 +
 sys/arch/aarch64/aarch64/cpu_in_cksum.S                      |   259 +
 sys/arch/aarch64/aarch64/cpu_machdep.c                       |   395 +
 sys/arch/aarch64/aarch64/db_disasm.c                         |    36 +
 sys/arch/aarch64/aarch64/db_interface.c                      |   128 +
 sys/arch/aarch64/aarch64/db_machdep.c                        |    88 +
 sys/arch/aarch64/aarch64/db_trace.c                          |    36 +
 sys/arch/aarch64/aarch64/exception.S                         |    36 +
 sys/arch/aarch64/aarch64/exec_machdep.c                      |    80 +
 sys/arch/aarch64/aarch64/fpu.c                               |    69 +
 sys/arch/aarch64/aarch64/fusu.S                              |   135 +
 sys/arch/aarch64/aarch64/genassym.cf                         |   198 +
 sys/arch/aarch64/aarch64/idle_machdep.S                      |    76 +
 sys/arch/aarch64/aarch64/locore.S                            |   217 +
 sys/arch/aarch64/aarch64/pmap.c                              |   206 +
 sys/arch/aarch64/aarch64/pmap_page.S                         |    83 +
 sys/arch/aarch64/aarch64/process_machdep.c                   |   101 +
 sys/arch/aarch64/aarch64/procfs_machdep.c                    |    54 +
 sys/arch/aarch64/aarch64/sig_machdep.c                       |   115 +
 sys/arch/aarch64/aarch64/sys_machdep.c                       |    45 +
 sys/arch/aarch64/aarch64/syscall.c                           |   227 +
 sys/arch/aarch64/aarch64/trap.c                              |    47 +
 sys/arch/aarch64/aarch64/vectors.S                           |    68 +
 sys/arch/aarch64/aarch64/vm_machdep.c                        |   211 +
 sys/arch/aarch64/conf/Makefile.aarch64                       |   123 +
 sys/arch/aarch64/conf/files.aarch64                          |   118 +
 sys/arch/aarch64/conf/kern.ldscript                          |   109 +
 sys/arch/aarch64/conf/majors.aarch64                         |   111 +
 sys/arch/aarch64/conf/std.aarch64                            |    10 +
 sys/arch/aarch64/dev/a64gic_mainbus.c                        |    92 +
 sys/arch/aarch64/dev/a64gtmr.c                               |   315 +
 sys/arch/aarch64/dev/a64gtmr_intr.h                          |    44 +
 sys/arch/aarch64/dev/a64gtmr_var.h                           |    51 +
 sys/arch/aarch64/dev/cpu.c                                   |    36 +
 sys/arch/aarch64/dev/cpucore.c                               |    36 +
 sys/arch/aarch64/dev/cpunode.c                               |    36 +
 sys/arch/aarch64/dev/mainbus.c                               |    36 +
 sys/arch/aarch64/include/Makefile                            |    25 +
 sys/arch/aarch64/include/ansi.h                              |     3 +
 sys/arch/aarch64/include/aout_machdep.h                      |    48 +
 sys/arch/aarch64/include/armreg.h                            |   456 +
 sys/arch/aarch64/include/asm.h                               |   108 +
 sys/arch/aarch64/include/bswap.h                             |     3 +
 sys/arch/aarch64/include/bus_defs.h                          |   378 +
 sys/arch/aarch64/include/bus_funcs.h                         |   567 +
 sys/arch/aarch64/include/byte_swap.h                         |   112 +
 sys/arch/aarch64/include/cdefs.h                             |     3 +
 sys/arch/aarch64/include/cpu.h                               |   122 +
 sys/arch/aarch64/include/cpu_counter.h                       |    69 +
 sys/arch/aarch64/include/db_machdep.h                        |   103 +
 sys/arch/aarch64/include/disklabel.h                         |    76 +
 sys/arch/aarch64/include/elf_machdep.h                       |   252 +
 sys/arch/aarch64/include/endian.h                            |     3 +
 sys/arch/aarch64/include/endian_machdep.h                    |     3 +
 sys/arch/aarch64/include/fenv.h                              |     3 +
 sys/arch/aarch64/include/float.h                             |     3 +
 sys/arch/aarch64/include/frame.h                             |    58 +
 sys/arch/aarch64/include/ieee.h                              |     3 +
 sys/arch/aarch64/include/ieeefp.h                            |     3 +
 sys/arch/aarch64/include/int_const.h                         |     3 +
 sys/arch/aarch64/include/int_fmtio.h                         |     3 +
 sys/arch/aarch64/include/int_limits.h                        |     3 +
 sys/arch/aarch64/include/int_mwgwtypes.h                     |     3 +
 sys/arch/aarch64/include/int_types.h                         |     3 +
 sys/arch/aarch64/include/intr.h                              |   153 +
 sys/arch/aarch64/include/kcore.h                             |    49 +
 sys/arch/aarch64/include/limits.h                            |     3 +
 sys/arch/aarch64/include/lock.h                              |    96 +
 sys/arch/aarch64/include/locore.h                            |   159 +
 sys/arch/aarch64/include/math.h                              |     3 +
 sys/arch/aarch64/include/mcontext.h                          |   146 +
 sys/arch/aarch64/include/mutex.h                             |     3 +
 sys/arch/aarch64/include/param.h                             |   144 +
 sys/arch/aarch64/include/pcb.h                               |    54 +
 sys/arch/aarch64/include/pmap.h                              |    77 +
 sys/arch/aarch64/include/pmc.h                               |    11 +
 sys/arch/aarch64/include/proc.h                              |    55 +
 sys/arch/aarch64/include/profile.h                           |    93 +
 sys/arch/aarch64/include/psl.h                               |     8 +
 sys/arch/aarch64/include/pte.h                               |   124 +
 sys/arch/aarch64/include/ptrace.h                            |    58 +
 sys/arch/aarch64/include/reg.h                               |    62 +
 sys/arch/aarch64/include/rwlock.h                            |     3 +
 sys/arch/aarch64/include/setjmp.h                            |    72 +
 sys/arch/aarch64/include/signal.h                            |    47 +
 sys/arch/aarch64/include/sysarch.h                           |     7 +
 sys/arch/aarch64/include/trap.h                              |     8 +
 sys/arch/aarch64/include/types.h                             |   108 +
 sys/arch/aarch64/include/vmparam.h                           |   141 +
 sys/arch/aarch64/include/wchar_limits.h                      |     3 +
 sys/arch/evbarm64/Makefile                                   |     5 +
 sys/arch/evbarm64/a64emul/a64emul_machdep.c                  |    36 +
 sys/arch/evbarm64/a64emul/obio_mainbus.c                     |    36 +
 sys/arch/evbarm64/a64emul/obio_var.h                         |    48 +
 sys/arch/evbarm64/a64emul/plcom_obio.c                       |   101 +
 sys/arch/evbarm64/a64emul/sm_mainbus.c                       |    36 +
 sys/arch/evbarm64/conf/A64EMUL                               |   271 +
 sys/arch/evbarm64/conf/Makefile.evbarm64.inc                 |    23 +
 sys/arch/evbarm64/conf/files.a64emul                         |    14 +
 sys/arch/evbarm64/conf/files.evbarm64                        |     8 +
 sys/arch/evbarm64/conf/std.a64emul                           |    14 +
 sys/arch/evbarm64/conf/std.evbarm64                          |     4 +
 sys/arch/evbarm64/include/Makefile                           |     8 +
 sys/arch/evbarm64/include/ansi.h                             |     3 +
 sys/arch/evbarm64/include/asm.h                              |     3 +
 sys/arch/evbarm64/include/bswap.h                            |     3 +
 sys/arch/evbarm64/include/bus_defs.h                         |     3 +
 sys/arch/evbarm64/include/bus_funcs.h                        |     3 +
 sys/arch/evbarm64/include/cdefs.h                            |     3 +
 sys/arch/evbarm64/include/cpu.h                              |     3 +
 sys/arch/evbarm64/include/cpu_counter.h                      |     3 +
 sys/arch/evbarm64/include/db_machdep.h                       |     3 +
 sys/arch/evbarm64/include/disklabel.h                        |     3 +
 sys/arch/evbarm64/include/elf_machdep.h                      |     3 +
 sys/arch/evbarm64/include/endian.h                           |     3 +
 sys/arch/evbarm64/include/endian_machdep.h                   |     3 +
 sys/arch/evbarm64/include/frame.h                            |     3 +
 sys/arch/evbarm64/include/int_const.h                        |     3 +
 sys/arch/evbarm64/include/int_fmtio.h                        |     3 +
 sys/arch/evbarm64/include/int_limits.h                       |     3 +
 sys/arch/evbarm64/include/int_mwgwtypes.h                    |     3 +
 sys/arch/evbarm64/include/int_types.h                        |     3 +
 sys/arch/evbarm64/include/intr.h                             |     3 +
 sys/arch/evbarm64/include/kcore.h                            |     3 +
 sys/arch/evbarm64/include/limits.h                           |     3 +
 sys/arch/evbarm64/include/lock.h                             |     3 +
 sys/arch/evbarm64/include/mcontext.h                         |     3 +
 sys/arch/evbarm64/include/mutex.h                            |     3 +
 sys/arch/evbarm64/include/param.h                            |    45 +
 sys/arch/evbarm64/include/pcb.h                              |     3 +
 sys/arch/evbarm64/include/pmap.h                             |     7 +
 sys/arch/evbarm64/include/pmc.h                              |     3 +
 sys/arch/evbarm64/include/proc.h                             |     3 +
 sys/arch/evbarm64/include/profile.h                          |     3 +
 sys/arch/evbarm64/include/psl.h                              |     3 +
 sys/arch/evbarm64/include/pte.h                              |     5 +
 sys/arch/evbarm64/include/ptrace.h                           |     3 +
 sys/arch/evbarm64/include/reg.h                              |     3 +
 sys/arch/evbarm64/include/rwlock.h                           |     3 +
 sys/arch/evbarm64/include/setjmp.h                           |     3 +
 sys/arch/evbarm64/include/signal.h                           |     3 +
 sys/arch/evbarm64/include/trap.h                             |     3 +
 sys/arch/evbarm64/include/types.h                            |    10 +
 sys/arch/evbarm64/include/vmparam.h                          |     3 +
 sys/arch/evbarm64/include/wchar_limits.h                     |     3 +
 sys/lib/libkern/arch/aarch64/Makefile.inc                    |     9 +
 tests/lib/libc/arch/aarch64/exec_prot_support.c              |    41 +
 tests/lib/libc/arch/aarch64/return_one.S                     |    10 +
 usr.bin/xlint/arch/aarch64/targparam.h                       |    52 +
 307 files changed, 27693 insertions(+), 0 deletions(-)

diffs (truncated from 28921 to 300 lines):

diff -r aae6812980bb -r da40b96f6142 common/lib/libc/arch/aarch64/atomic/Makefile.inc
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/common/lib/libc/arch/aarch64/atomic/Makefile.inc  Sun Aug 10 05:47:35 2014 +0000
@@ -0,0 +1,25 @@
+# $NetBSD: Makefile.inc,v 1.1 2014/08/10 05:47:35 matt Exp $
+
+.if defined(LIB) && (${LIB} == "kern" || ${LIB} == "c" || ${LIB} == "pthread" \
+       || ${LIB} == "rump")
+
+.for op in add and cas nand or sub swap xor
+.for sz in 8 16 32 64
+SRCS.atomic+=  atomic_${op}_${sz}.S
+.endfor
+.endfor
+SRCS.atomic+=  atomic_dec_32.S atomic_dec_64.S
+SRCS.atomic+=  atomic_inc_32.S atomic_inc_64.S
+SRCS.atomic+=  membar_ops.S
+#.for op in add and nand or sub xor
+#SRCS.atomic+= sync_fetch_and_${op}_8.S
+#.endfor
+#.for sz in 1 2 4 8
+#SRCS.atomic+= sync_bool_compare_and_swap_${sz}.S
+#.endfor
+
+.endif
+
+SRCS.atomic+=  atomic_init_cas.c
+
+SRCS+= ${SRCS.atomic}
diff -r aae6812980bb -r da40b96f6142 common/lib/libc/arch/aarch64/atomic/atomic_add_16.S
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/common/lib/libc/arch/aarch64/atomic/atomic_add_16.S       Sun Aug 10 05:47:35 2014 +0000
@@ -0,0 +1,46 @@
+/* $NetBSD: atomic_add_16.S,v 1.1 2014/08/10 05:47:35 matt Exp $ */
+
+/*-
+ * Copyright (c) 2014 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to The NetBSD Foundation
+ * by Matt Thomas of 3am Software Foundry.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "atomic_op_asm.h"
+
+ATOMIC_OP16(add, add)
+
+ATOMIC_OP_ALIAS(atomic_add_16,_atomic_add_16)
+ATOMIC_OP_ALIAS(atomic_add_short,_atomic_add_16)
+STRONG_ALIAS(__sync_fetch_and_add_2,_atomic_add_16)
+STRONG_ALIAS(_atomic_add_short,_atomic_add_16)
+
+ATOMIC_OP16_NV(add, add)
+
+ATOMIC_OP_ALIAS(atomic_add_16_nv,_atomic_add_16_nv)
+ATOMIC_OP_ALIAS(atomic_add_short_nv,_atomic_add_16_nv)
+STRONG_ALIAS(__sync_add_and_fetch_2,_atomic_add_16_nv)
+STRONG_ALIAS(_atomic_add_short_nv,_atomic_add_16_nv)
diff -r aae6812980bb -r da40b96f6142 common/lib/libc/arch/aarch64/atomic/atomic_add_32.S
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/common/lib/libc/arch/aarch64/atomic/atomic_add_32.S       Sun Aug 10 05:47:35 2014 +0000
@@ -0,0 +1,46 @@
+/* $NetBSD: atomic_add_32.S,v 1.1 2014/08/10 05:47:35 matt Exp $ */
+
+/*-
+ * Copyright (c) 2014 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to The NetBSD Foundation
+ * by Matt Thomas of 3am Software Foundry.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "atomic_op_asm.h"
+
+ATOMIC_OP32(add, add)
+
+ATOMIC_OP_ALIAS(atomic_add_32,_atomic_add_32)
+ATOMIC_OP_ALIAS(atomic_add_int,_atomic_add_32)
+STRONG_ALIAS(__sync_fetch_and_add_4,_atomic_add_32)
+STRONG_ALIAS(_atomic_add_int,_atomic_add_32)
+
+ATOMIC_OP32_NV(add, add)
+
+ATOMIC_OP_ALIAS(atomic_add_32_nv,_atomic_add_32_nv)
+ATOMIC_OP_ALIAS(atomic_add_int_nv,_atomic_add_32_nv)
+STRONG_ALIAS(__sync_add_and_fetch_4,_atomic_add_32_nv)
+STRONG_ALIAS(_atomic_add_int_nv,_atomic_add_32_nv)
diff -r aae6812980bb -r da40b96f6142 common/lib/libc/arch/aarch64/atomic/atomic_add_64.S
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/common/lib/libc/arch/aarch64/atomic/atomic_add_64.S       Sun Aug 10 05:47:35 2014 +0000
@@ -0,0 +1,50 @@
+/* $NetBSD: atomic_add_64.S,v 1.1 2014/08/10 05:47:35 matt Exp $ */
+
+/*-
+ * Copyright (c) 2014 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to The NetBSD Foundation
+ * by Matt Thomas of 3am Software Foundry.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "atomic_op_asm.h"
+
+ATOMIC_OP64(add, add)
+
+ATOMIC_OP_ALIAS(atomic_add_64_nv,_atomic_add_64_nv)
+ATOMIC_OP_ALIAS(atomic_add_ptr_nv,_atomic_add_64_nv)
+ATOMIC_OP_ALIAS(atomic_add_long_nv,_atomic_add_64_nv)
+STRONG_ALIAS(_atomic_add_ptr_nv,_atomic_add_64_nv)
+STRONG_ALIAS(_atomic_add_long_nv,_atomic_add_64_nv)
+STRONG_ALIAS(__sync_add_and_fetch_8,_atomic_add_64_nv)
+
+ATOMIC_OP64_NV(add, add)
+
+ATOMIC_OP_ALIAS(atomic_add_64,_atomic_add_64)
+ATOMIC_OP_ALIAS(atomic_add_ptr,_atomic_add_64)
+ATOMIC_OP_ALIAS(atomic_add_long,_atomic_add_64)
+STRONG_ALIAS(_atomic_add_ptr,_atomic_add_64)
+STRONG_ALIAS(_atomic_add_long,_atomic_add_64)
+STRONG_ALIAS(__sync_fetch_and_add_8,_atomic_add_64)
diff -r aae6812980bb -r da40b96f6142 common/lib/libc/arch/aarch64/atomic/atomic_add_8.S
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/common/lib/libc/arch/aarch64/atomic/atomic_add_8.S        Sun Aug 10 05:47:35 2014 +0000
@@ -0,0 +1,46 @@
+/* $NetBSD: atomic_add_8.S,v 1.1 2014/08/10 05:47:35 matt Exp $ */
+
+/*-
+ * Copyright (c) 2014 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to The NetBSD Foundation
+ * by Matt Thomas of 3am Software Foundry.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "atomic_op_asm.h"
+
+ATOMIC_OP8(add, add)
+
+ATOMIC_OP_ALIAS(atomic_add_8,_atomic_add_8)
+ATOMIC_OP_ALIAS(atomic_add_char,_atomic_add_8)
+STRONG_ALIAS(__sync_fetch_and_add_1,_atomic_add_8)
+STRONG_ALIAS(_atomic_add_char,_atomic_add_8)
+
+ATOMIC_OP8_NV(add, add)
+
+ATOMIC_OP_ALIAS(atomic_add_8_nv,_atomic_add_8_nv)
+ATOMIC_OP_ALIAS(atomic_add_char_nv,_atomic_add_8_nv)
+STRONG_ALIAS(__sync_add_and_fetch_1,_atomic_add_8_nv)
+STRONG_ALIAS(_atomic_add_char_nv,_atomic_add_8_nv)
diff -r aae6812980bb -r da40b96f6142 common/lib/libc/arch/aarch64/atomic/atomic_and_16.S
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/common/lib/libc/arch/aarch64/atomic/atomic_and_16.S       Sun Aug 10 05:47:35 2014 +0000
@@ -0,0 +1,46 @@
+/* $NetBSD: atomic_and_16.S,v 1.1 2014/08/10 05:47:35 matt Exp $ */
+
+/*-
+ * Copyright (c) 2014 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to The NetBSD Foundation
+ * by Matt Thomas of 3am Software Foundry.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "atomic_op_asm.h"
+
+ATOMIC_OP16(and, and)
+
+ATOMIC_OP_ALIAS(atomic_and_16,_atomic_and_16)
+ATOMIC_OP_ALIAS(atomic_and_ushort,_atomic_and_16)
+STRONG_ALIAS(__sync_fetch_and_and_2,_atomic_and_16)
+STRONG_ALIAS(_atomic_and_ushort,_atomic_and_16)
+
+ATOMIC_OP16_NV(and, and)
+
+ATOMIC_OP_ALIAS(atomic_and_16_nv,_atomic_and_16_nv)
+ATOMIC_OP_ALIAS(atomic_and_ushort_nv,_atomic_and_16_nv)
+STRONG_ALIAS(__sync_and_and_fetch_2,_atomic_and_16_nv)
+STRONG_ALIAS(_atomic_and_ushort_nv,_atomic_and_16_nv)
diff -r aae6812980bb -r da40b96f6142 common/lib/libc/arch/aarch64/atomic/atomic_and_32.S
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/common/lib/libc/arch/aarch64/atomic/atomic_and_32.S       Sun Aug 10 05:47:35 2014 +0000
@@ -0,0 +1,46 @@
+/* $NetBSD: atomic_and_32.S,v 1.1 2014/08/10 05:47:35 matt Exp $ */
+
+/*-
+ * Copyright (c) 2014 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to The NetBSD Foundation
+ * by Matt Thomas of 3am Software Foundry.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright



Home | Main Index | Thread Index | Old Index