PERFORCE change 158533 for review

Arnar Mar Sig antab at FreeBSD.org
Sun Mar 1 08:07:50 PST 2009


http://perforce.freebsd.org/chv.cgi?CH=158533

Change 158533 by antab at 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"


More information about the p4-projects mailing list