Date: Sun, 1 Mar 2009 16:07:47 GMT From: Arnar Mar Sig <antab@FreeBSD.org> To: Perforce Change Reviews <perforce@FreeBSD.org> Subject: PERFORCE change 158533 for review Message-ID: <200903011607.n21G7l08021978@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=158533 Change 158533 by antab@antab_farm on 2009/03/01 16:07:06 Add arch dependent files to misc libs to make world build Affected files ... .. //depot/projects/avr32/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c#2 edit .. //depot/projects/avr32/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_printf.c#2 edit .. //depot/projects/avr32/src/gnu/lib/libgomp/Makefile#2 edit .. //depot/projects/avr32/src/gnu/lib/libgomp/config.h#2 edit .. //depot/projects/avr32/src/gnu/lib/libstdc++/config.h#2 edit .. //depot/projects/avr32/src/lib/csu/avr32/Makefile#1 add .. //depot/projects/avr32/src/lib/csu/avr32/crt1.c#1 add .. //depot/projects/avr32/src/lib/csu/avr32/crti.S#1 add .. //depot/projects/avr32/src/lib/csu/avr32/crtn.S#1 add .. //depot/projects/avr32/src/lib/libc/avr32/_fpmath.h#1 add .. //depot/projects/avr32/src/lib/libc/avr32/arith.h#1 add .. //depot/projects/avr32/src/lib/libc/avr32/gd_qnan.h#1 add .. //depot/projects/avr32/src/lib/libc/gen/tls.c#2 edit .. //depot/projects/avr32/src/lib/libc/quad/Makefile.inc#2 edit .. //depot/projects/avr32/src/lib/libc/xdr/xdr_float.c#2 edit .. //depot/projects/avr32/src/lib/libdisk/disk.c#2 edit .. //depot/projects/avr32/src/lib/libdisk/libdisk.h#2 edit .. //depot/projects/avr32/src/lib/libdisk/write_avr32_disk.c#1 add .. //depot/projects/avr32/src/lib/libkvm/kvm_avr32.c#1 add .. //depot/projects/avr32/src/lib/libstand/avr32/_setjmp.S#1 add .. //depot/projects/avr32/src/lib/libthr/arch/avr32/include/pthread_md.h#2 edit .. //depot/projects/avr32/src/lib/libthread_db/arch/avr32/libpthread_md.c#1 add .. //depot/projects/avr32/src/libexec/rtld-elf/avr32/rtld_machdep.h#1 add .. //depot/projects/avr32/src/secure/lib/libcrypto/opensslconf-avr32.h#1 add .. //depot/projects/avr32/src/sys/avr32/include/_inttypes.h#1 add .. //depot/projects/avr32/src/sys/avr32/include/atomic.h#5 edit .. //depot/projects/avr32/src/sys/avr32/include/cpufunc.h#3 edit .. //depot/projects/avr32/src/sys/avr32/include/float.h#1 add .. //depot/projects/avr32/src/sys/avr32/include/ieeefp.h#1 add .. //depot/projects/avr32/src/sys/avr32/include/pcpu.h#4 edit .. //depot/projects/avr32/src/sys/avr32/include/reloc.h#1 add .. //depot/projects/avr32/src/sys/avr32/include/sysarch.h#1 add .. //depot/projects/avr32/src/sys/cddl/contrib/opensolaris/uts/common/sys/isa_defs.h#2 edit Differences ... ==== //depot/projects/avr32/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c#2 (text+ko) ==== @@ -224,7 +224,7 @@ s = &dofs[dofrh->dofr_tgtsec]; for (j = 0; j < nrel; j++) { -#if defined(__arm__) +#if defined(__arm__) || defined(__avr32__) /* XXX */ printf("%s:%s(%d): DOODAD\n",__FUNCTION__,__FILE__,__LINE__); #elif defined(__ia64__) @@ -794,7 +794,7 @@ return (ret); } -#if defined(__arm__) +#if defined(__arm__) || defined(__avr32__) /* XXX */ static int dt_modtext(dtrace_hdl_t *dtp, char *p, int isenabled, GElf_Rela *rela, ==== //depot/projects/avr32/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_printf.c#2 (text+ko) ==== @@ -306,7 +306,7 @@ case sizeof (double): return (dt_printf(dtp, fp, format, *((double *)addr) / n)); -#if !defined(__arm__) && !defined(__powerpc__) && !defined(__mips__) +#if !defined(__arm__) && !defined(__avr32__) && !defined(__powerpc__) && !defined(__mips__) case sizeof (long double): return (dt_printf(dtp, fp, format, *((long double *)addr) / ldn)); ==== //depot/projects/avr32/src/gnu/lib/libgomp/Makefile#2 (text+ko) ==== @@ -24,7 +24,8 @@ # Target-specific OpenMP configuration .if ${MACHINE_ARCH} == arm || ${MACHINE_ARCH} == i386 || \ - ${MACHINE_ARCH} == mips || ${MACHINE_ARCH} == powerpc + ${MACHINE_ARCH} == mips || ${MACHINE_ARCH} == powerpc || \ + ${MACHINE_ARCH} == avr32 OMP_LOCK_ALIGN = 4 OMP_LOCK_KIND= 4 OMP_LOCK_SIZE= 4 ==== //depot/projects/avr32/src/gnu/lib/libgomp/config.h#2 (text+ko) ==== @@ -59,7 +59,8 @@ #define HAVE_SYS_TYPES_H 1 /* Define to 1 if the target supports thread-local storage. */ -#if !defined(__sparc64__) && !defined(__arm__) && !defined(__mips__) +#if !defined(__sparc64__) && !defined(__arm__) && !defined(__avr32__) && \ + !defined(__mips__) #define HAVE_TLS 1 #endif ==== //depot/projects/avr32/src/gnu/lib/libstdc++/config.h#2 (text+ko) ==== @@ -371,7 +371,8 @@ /* #undef HAVE_TANL */ /* Define to 1 if the target supports thread-local storage. */ -#if !defined(__sparc64__) && !defined(__arm__) && !defined(__mips__) +#if !defined(__sparc64__) && !defined(__arm__) && !defined(__avr32__) && \ + !defined(__mips__) #define HAVE_TLS 1 #endif ==== //depot/projects/avr32/src/lib/libc/gen/tls.c#2 (text+ko) ==== @@ -60,7 +60,7 @@ #if defined(__ia64__) || defined(__amd64__) #define TLS_TCB_ALIGN 16 #elif defined(__powerpc__) || defined(__i386__) || defined(__arm__) || \ - defined(__sparc64__) || defined(__mips__) + defined(__sparc64__) || defined(__mips__) || defined(__avr32__) #define TLS_TCB_ALIGN sizeof(void *) #else #error TLS_TCB_ALIGN undefined for target architecture @@ -70,7 +70,7 @@ #define TLS_VARIANT_I #endif #if defined(__i386__) || defined(__amd64__) || defined(__sparc64__) || \ - defined(__arm__) || defined(__mips__) + defined(__arm__) || defined(__mips__) || defined(__avr32__) #define TLS_VARIANT_II #endif ==== //depot/projects/avr32/src/lib/libc/quad/Makefile.inc#2 (text+ko) ==== @@ -8,6 +8,12 @@ SRCS+= cmpdi2.c divdi3.c moddi3.c qdivrem.c ucmpdi2.c udivdi3.c umoddi3.c +.elif ${MACHINE_ARCH} == "avr32" +/* TODO: Look at this when toolchain import is finished */ +SRCS+= adddi3.c anddi3.c ashldi3.c ashrdi3.c cmpdi2.c fixdfdi.c fixsfdi.c \ + fixunsdfdi.c floatdisf.c floatunsdidf.c iordi3.c lshldi3.c lshrdi3.c \ + muldi3.c negdi2.c notdi2.c qdivrem.c subdi3.c ucmpdi2.c xordi3.c + .else SRCS+= adddi3.c anddi3.c ashldi3.c ashrdi3.c cmpdi2.c divdi3.c fixdfdi.c \ ==== //depot/projects/avr32/src/lib/libc/xdr/xdr_float.c#2 (text+ko) ==== @@ -64,7 +64,8 @@ #if defined(__m68k__) || defined(__sparc__) || defined(__i386__) || \ defined(__mips__) || defined(__ns32k__) || defined(__alpha__) || \ defined(__arm__) || defined(__ppc__) || defined(__ia64__) || \ - defined(__arm26__) || defined(__sparc64__) || defined(__amd64__) + defined(__arm26__) || defined(__sparc64__) || defined(__amd64__) || \ + defined(__avr32__) #include <machine/endian.h> #define IEEEFP #endif ==== //depot/projects/avr32/src/lib/libdisk/disk.c#2 (text+ko) ==== @@ -52,6 +52,8 @@ p_amd64 #elif defined(__arm__) p_arm +#elif defined(__avr32__) + p_avr32 #elif defined(__mips__) p_mips #else ==== //depot/projects/avr32/src/lib/libdisk/libdisk.h#2 (text+ko) ==== @@ -33,7 +33,8 @@ p_ppc, p_amd64, p_arm, - p_mips + p_mips, + p_avr32, }; extern const enum platform platform; ==== //depot/projects/avr32/src/lib/libthr/arch/avr32/include/pthread_md.h#2 (text+ko) ==== @@ -35,6 +35,7 @@ #include <sys/types.h> #include <machine/sysarch.h> +#include <machine/cpufunc.h> #include <stddef.h> #define CPU_SPINWAIT @@ -60,7 +61,7 @@ static __inline void _tcb_set(struct tcb *tcb) { - mips_tcb_set(tcb); + breakpoint(); /* TODO: finish this */ } /* @@ -69,7 +70,8 @@ static __inline struct tcb * _tcb_get(void) { - return (mips_tcb_get()); + breakpoint(); + return (NULL); /* TODO: Finish this */ } extern struct pthread *_thr_initial; ==== //depot/projects/avr32/src/sys/avr32/include/atomic.h#5 (text+ko) ==== @@ -178,6 +178,19 @@ return 0; } +static __inline int +atomic_cmpset_long(volatile u_long *dst, u_long exp, u_long src) +{ + return (atomic_cmpset_32((volatile u_int *)dst, (u_int)exp, + (u_int)src)); +} + +static __inline u_long +atomic_fetchadd_long(volatile u_long *p, u_long v) +{ + return (atomic_fetchadd_32((volatile u_int *)p, (u_int)v)); +} + #define atomic_add_long(p, v) \ atomic_add_32((volatile u_int *)(p), (u_int)(v)) #define atomic_add_acq_long atomic_add_long @@ -194,12 +207,8 @@ atomic_set_32((volatile u_int *)(p), (u_int)(v)) #define atomic_set_acq_long atomic_set_long #define atomic_set_rel_long atomic_set_long -#define atomic_cmpset_long(dst, old, new) \ - atomic_cmpset_32((volatile u_int *)(dst), (u_int)(old), (u_int)(new)) #define atomic_cmpset_acq_long atomic_cmpset_long #define atomic_cmpset_rel_long atomic_cmpset_long -#define atomic_fetchadd_long(p, v) \ - atomic_fetchadd_32((volatile u_int *)(p), (u_int)(v)) #define atomic_readandclear_long(p) \ atomic_readandclear_long((volatile u_int *)(p)) #define atomic_load_long(p) \ ==== //depot/projects/avr32/src/sys/avr32/include/cpufunc.h#3 (text+ko) ==== @@ -45,11 +45,12 @@ register_t intr_disable(void); void intr_restore(register_t s); +#endif /* _KERNEL */ + static __inline void breakpoint(void) { __asm __volatile ("breakpoint"); } -#endif /* _KERNEL */ #endif /* _MACHINE_CPUFUNC_H_ */ ==== //depot/projects/avr32/src/sys/avr32/include/pcpu.h#4 (text+ko) ==== @@ -32,16 +32,16 @@ #ifndef _MACHINE_PCPU_H_ #define _MACHINE_PCPU_H_ +#define PCPU_MD_FIELDS \ + struct pmap *pc_curpmap; /* pmap of curthread */ \ + u_int32_t pc_asid_next; /* next ASID to alloc */ \ + u_int32_t pc_asid_generation; /* current ASID generation */ + #ifdef _KERNEL #include <machine/frame.h> #define ALT_STACK_SIZE 128 -#define PCPU_MD_FIELDS \ - struct pmap *pc_curpmap; /* pmap of curthread */ \ - u_int32_t pc_asid_next; /* next ASID to alloc */ \ - u_int32_t pc_asid_generation; /* current ASID generation */ - struct vmspace; struct pcb; struct pcpu; ==== //depot/projects/avr32/src/sys/cddl/contrib/opensolaris/uts/common/sys/isa_defs.h#2 (text+ko) ==== @@ -344,7 +344,7 @@ #define _DONT_USE_1275_GENERIC_NAMES #define _HAVE_CPUID_INSN -#elif defined(__arm__) +#elif defined(__arm__) || defined(__avr32__) /* * Define the appropriate "processor characteristics"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200903011607.n21G7l08021978>