CVS commit: [matt-nb6-plus] src/sys/arch/arm/include

2013-01-16 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Thu Jan 17 01:33:34 UTC 2013

Modified Files:
src/sys/arch/arm/include [matt-nb6-plus]: bus_funcs.h

Log Message:
Pullup from HEAD:
Cortex needs ._dmamap_sync_post for BUS_DMASYNC_POSTREAD


To generate a diff of this commit:
cvs rdiff -u -r1.1.10.1 -r1.1.10.2 src/sys/arch/arm/include/bus_funcs.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/bus_funcs.h
diff -u src/sys/arch/arm/include/bus_funcs.h:1.1.10.1 src/sys/arch/arm/include/bus_funcs.h:1.1.10.2
--- src/sys/arch/arm/include/bus_funcs.h:1.1.10.1	Wed Nov 28 22:40:28 2012
+++ src/sys/arch/arm/include/bus_funcs.h	Thu Jan 17 01:33:34 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: bus_funcs.h,v 1.1.10.1 2012/11/28 22:40:28 matt Exp $	*/
+/*	$NetBSD: bus_funcs.h,v 1.1.10.2 2013/01/17 01:33:34 matt Exp $	*/
 
 /*-
  * Copyright (c) 1996, 1997, 1998, 2001 The NetBSD Foundation, Inc.
@@ -64,6 +64,10 @@
 #ifndef _ARM32_BUS_FUNCS_H_
 #define _ARM32_BUS_FUNCS_H_
 
+#ifdef _KERNEL_OPT
+#include "opt_cputypes.h"
+#endif
+
 /*
  * Utility macros; INTERNAL USE ONLY.
  */
@@ -635,7 +639,7 @@ void	_bus_dmamap_unload(bus_dma_tag_t, b
 void	_bus_dmamap_sync(bus_dma_tag_t, bus_dmamap_t, bus_addr_t,
 	bus_size_t, int);
 
-#ifdef _ARM32_NEED_BUS_DMA_BOUNCE
+#if defined(_ARM32_NEED_BUS_DMA_BOUNCE) || defined(CPU_CORTEX)
 #define	_BUS_DMAMAP_SYNC_FUNCS \
 	._dmamap_sync_pre = _bus_dmamap_sync,	\
 	._dmamap_sync_post = _bus_dmamap_sync



CVS commit: [matt-nb6-plus] src/sys/arch/arm/include

2012-11-28 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Wed Nov 28 22:45:22 UTC 2012

Modified Files:
src/sys/arch/arm/include [matt-nb6-plus]: lock.h types.h

Log Message:
Make __swp for the kernel return unsigned char and restore __cpu_simple_lock_t
(match what -HEAD has).


To generate a diff of this commit:
cvs rdiff -u -r1.17.42.1 -r1.17.42.2 src/sys/arch/arm/include/lock.h
cvs rdiff -u -r1.21.8.1 -r1.21.8.2 src/sys/arch/arm/include/types.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/lock.h
diff -u src/sys/arch/arm/include/lock.h:1.17.42.1 src/sys/arch/arm/include/lock.h:1.17.42.2
--- src/sys/arch/arm/include/lock.h:1.17.42.1	Wed Nov 28 22:40:29 2012
+++ src/sys/arch/arm/include/lock.h	Wed Nov 28 22:45:21 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: lock.h,v 1.17.42.1 2012/11/28 22:40:29 matt Exp $	*/
+/*	$NetBSD: lock.h,v 1.17.42.2 2012/11/28 22:45:21 matt Exp $	*/
 
 /*-
  * Copyright (c) 2000, 2001 The NetBSD Foundation, Inc.
@@ -74,7 +74,7 @@ __cpu_simple_lock_set(__cpu_simple_lock_
 #endif
 
 #if defined(_KERNEL)
-static __inline __cpu_simple_lock_t
+static __inline unsigned char
 __swp(__cpu_simple_lock_t __val, volatile __cpu_simple_lock_t *__ptr)
 {
 #ifdef _ARM_ARCH_6

Index: src/sys/arch/arm/include/types.h
diff -u src/sys/arch/arm/include/types.h:1.21.8.1 src/sys/arch/arm/include/types.h:1.21.8.2
--- src/sys/arch/arm/include/types.h:1.21.8.1	Wed Nov 28 22:40:30 2012
+++ src/sys/arch/arm/include/types.h	Wed Nov 28 22:45:22 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: types.h,v 1.21.8.1 2012/11/28 22:40:30 matt Exp $	*/
+/*	$NetBSD: types.h,v 1.21.8.2 2012/11/28 22:45:22 matt Exp $	*/
 
 /*
  * Copyright (c) 1990 The Regents of the University of California.
@@ -73,17 +73,9 @@ typedef unsigned long	pmc_ctr_t;
  * to user-space, we don't want ABI breakage there.
  */
 #if defined(_KERNEL)
-typedef 
-#if __GNUC_PREREQ__(4,5)
-	volatile
-#endif
-	unsigned char	__cpu_simple_lock_t;
+typedef volatile unsigned char	__cpu_simple_lock_t;
 #else
-typedef
-#if __GNUC_PREREQ__(4,5)
-	volatile
-#endif
-	int		__cpu_simple_lock_t;
+typedef volatile int		__cpu_simple_lock_t;
 #endif /* _KERNEL */
 
 #define	__SIMPLELOCK_LOCKED	1



CVS commit: [matt-nb6-plus] src/sys/arch/arm/include

2012-11-20 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Wed Nov 21 00:00:10 UTC 2012

Modified Files:
src/sys/arch/arm/include [matt-nb6-plus]: Makefile vfpreg.h
Added Files:
src/sys/arch/arm/include [matt-nb6-plus]: aeabi.h

Log Message:
Add aeabi.h, cpuconf.h, and vfpreg.h


To generate a diff of this commit:
cvs rdiff -u -r1.40 -r1.40.10.1 src/sys/arch/arm/include/Makefile
cvs rdiff -u -r0 -r1.2.6.2 src/sys/arch/arm/include/aeabi.h
cvs rdiff -u -r1.1 -r1.1.56.1 src/sys/arch/arm/include/vfpreg.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/Makefile
diff -u src/sys/arch/arm/include/Makefile:1.40 src/sys/arch/arm/include/Makefile:1.40.10.1
--- src/sys/arch/arm/include/Makefile:1.40	Sun Jul 17 23:52:12 2011
+++ src/sys/arch/arm/include/Makefile	Wed Nov 21 00:00:10 2012
@@ -1,10 +1,10 @@
-#	$NetBSD: Makefile,v 1.40 2011/07/17 23:52:12 dyoung Exp $
+#	$NetBSD: Makefile,v 1.40.10.1 2012/11/21 00:00:10 matt Exp $
 
 INCSDIR= /usr/include/arm
 
-INCS=	ansi.h aout_machdep.h armreg.h asm.h atomic.h \
+INCS=	aeabi.h ansi.h aout_machdep.h armreg.h asm.h atomic.h \
 	bswap.h byte_swap.h \
-	cdefs.h cpu.h \
+	cdefs.h cpu.h cpuconf.h \
 	disklabel.h \
 	elf_machdep.h endian.h endian_machdep.h \
 	float.h fp.h frame.h \
@@ -18,6 +18,7 @@ INCS=	ansi.h aout_machdep.h armreg.h asm
 	reg.h rwlock.h \
 	setjmp.h signal.h swi.h sysarch.h \
 	trap.h types.h \
+	vfpreg.h \
 	wchar_limits.h
 
 .include 

Index: src/sys/arch/arm/include/vfpreg.h
diff -u src/sys/arch/arm/include/vfpreg.h:1.1 src/sys/arch/arm/include/vfpreg.h:1.1.56.1
--- src/sys/arch/arm/include/vfpreg.h:1.1	Sat Mar 15 10:16:43 2008
+++ src/sys/arch/arm/include/vfpreg.h	Wed Nov 21 00:00:10 2012
@@ -1,4 +1,4 @@
-/*  $NetBSD: vfpreg.h,v 1.1 2008/03/15 10:16:43 rearnsha Exp $ */
+/*  $NetBSD: vfpreg.h,v 1.1.56.1 2012/11/21 00:00:10 matt Exp $ */
 
 /*
  * Copyright (c) 2008 ARM Ltd
@@ -45,20 +45,60 @@
 #define VFP_FPSID_ARCH_MSK	0x000f	/* Architecture */
 #define VFP_FPSID_ARCH_V1	0x	/* Arch VFPv1 */
 #define VFP_FPSID_ARCH_V2	0x0001	/* Arch VFPv2 */
+#define VFP_FPSID_ARCH_V3_2	0x0002	/* Arch VFPv3 (subarch v2) */
+#define VFP_FPSID_ARCH_V3	0x0003	/* Arch VFPv3 (no subarch) */
+#define VFP_FPSID_ARCH_V3_3	0x0004	/* Arch VFPv3 (subarch v3) */
 #define VFP_FPSID_PART_MSK	0xff00	/* Part number */
 #define VFP_FPSID_PART_VFP10	0x1000	/* VFP10 */
+#define VFP_FPSID_PART_VFP11	0x2000	/* VFP11 */
+#define VFP_FPSID_PART_VFP30	0x3000	/* VFP30 */
 #define VFP_FPSID_VAR_MSK	0x00f0	/* Variant */
 #define VFP_FPSID_VAR_ARM10	0x00a0	/* Variant ARM10 */
+#define VFP_FPSID_VAR_ARM11	0x00b0	/* Variant ARM11 */
 #define VFP_FPSID_REV_MSK	0x000f	/* Revision */
 
-#define VFP_FPEXC_EX		0x8000	/* Exception status bit */
-#define VFP_FPEXC_EN		0x4000	/* Enable bit */
-
-#define VFP_FPSCR_DN		0x0200	/* Default NaN mode */
-#define VFP_FPSCR_FZ		0x0100	/* Flush-to-zero mode */
-
-
 #define FPU_VFP10_ARM10E	0x410001a0	/* Really a VFPv2 part */
 #define FPU_VFP11_ARM11		0x410120b0
+#define FPU_VFP_CORTEXA5	0x41023050
+#define FPU_VFP_CORTEXA7	0x41023070
+#define FPU_VFP_CORTEXA8	0x410330c0
+#define FPU_VFP_CORTEXA9	0x41033090
+
+#define VFP_FPEXC_EX		0x8000	/* Exception status bit */
+#define VFP_FPEXC_EN		0x4000	/* VFP Enable bit */
+#define VFP_FPEXC_FP2V		0x1000	/* FPINST2 instruction valid */
+#define VFP_FPEXC_VECITR	0x0700	/* Vector iteration count */
+#define VFP_FPEXC_INV		0x0080	/* Input exception flag */
+#define VFP_FPEXC_UFC		0x0080	/* Potential underflow flag */
+#define VFP_FPEXC_OFC		0x0080	/* Potential overflow flag */
+#define VFP_FPEXC_IOC		0x0080	/* Potential inv. op. flag */
+
+#define VFP_FPSCR_N	0x8000	/* set if compare <= result */
+#define VFP_FPSCR_Z	0x4000	/* set if compare = result */
+#define VFP_FPSCR_C	0x2000	/* set if compare (=,>=,UNORD) result */
+#define VFP_FPSCR_V	0x1000	/* set if compare UNORD result */
+#define VFP_FPSCR_DN	0x0200	/* Default NaN mode */
+#define VFP_FPSCR_FZ	0x0100	/* Flush-to-zero mode */
+#define VFP_FPSCR_RMODE	0x00c0	/* Rounding Mode */
+#define VFP_FPSCR_RZ	0x00c0	/* round towards zero (RZ) */
+#define VFP_FPSCR_RM	0x0080	/* round towards +INF (RP) */
+#define VFP_FPSCR_RP	0x0040	/* round towards -INF (RM) */
+#define VFP_FPSCR_RN	0x	/* round to nearest (RN) */
+#define VFP_FPSCR_STRIDE 0x0030	/* Vector Stride */
+#define VFP_FPSCR_LEN	0x0007	/* Vector Length */
+#define VFP_FPSCR_IDE	0x8000	/* Inout Subnormal Exception Enable */
+#define VFP_FPSCR_ESUM	0x1f00	/* IXE|UFE|OFE|DZE|IOE */
+#define VFP_FPSCR_IXE	0x1000	/* Inexact Exception Enable */
+#define VFP_FPSCR_UFE	0x0800	/* Underflow Exception Enable */
+#define VFP_FPSCR_OFE	0x0400	/* Overflow Exception Enable */
+#define VFP_FPSCR_DZE	0x0200	/* Inexact