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