Re: CVS commit: src/sys/arch/powerpc/include

2020-06-27 Thread Rin Okuyama

Perhaps yes, but I'm not sure. How do you mips guys think?

Thanks,
rin

On 2020/06/27 19:08, Jaromír Doleček wrote:

Perhaps we can use a similar technique for mips too? There also the
kernel actually always uses a compile-time fixed page size AFAICS.

Jaromir

Le sam. 27 juin 2020 à 04:51, Rin Okuyama  a écrit :


Module Name:src
Committed By:   rin
Date:   Sat Jun 27 02:51:23 UTC 2020

Modified Files:
 src/sys/arch/powerpc/include: vmparam.h

Log Message:
Restrict {MIN,MAX}_PAGE_SIZE for MODULAR || _MODULE, which makes
non-MODULAR kernel a little bit efficient.

They are also exposed to userland for jemalloc.


To generate a diff of this commit:
cvs rdiff -u -r1.22 -r1.23 src/sys/arch/powerpc/include/vmparam.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.


Re: CVS commit: src/sys/arch/powerpc/include

2020-06-27 Thread Jaromír Doleček
Perhaps we can use a similar technique for mips too? There also the
kernel actually always uses a compile-time fixed page size AFAICS.

Jaromir

Le sam. 27 juin 2020 à 04:51, Rin Okuyama  a écrit :
>
> Module Name:src
> Committed By:   rin
> Date:   Sat Jun 27 02:51:23 UTC 2020
>
> Modified Files:
> src/sys/arch/powerpc/include: vmparam.h
>
> Log Message:
> Restrict {MIN,MAX}_PAGE_SIZE for MODULAR || _MODULE, which makes
> non-MODULAR kernel a little bit efficient.
>
> They are also exposed to userland for jemalloc.
>
>
> To generate a diff of this commit:
> cvs rdiff -u -r1.22 -r1.23 src/sys/arch/powerpc/include/vmparam.h
>
> Please note that diffs are not public domain; they are subject to the
> copyright notices on the relevant files.
>


CVS commit: src/sys/arch/powerpc/include

2019-11-29 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Fri Nov 29 20:05:59 UTC 2019

Modified Files:
src/sys/arch/powerpc/include: lock.h mutex.h

Log Message:
Nix mb_* on powerpc.


To generate a diff of this commit:
cvs rdiff -u -r1.13 -r1.14 src/sys/arch/powerpc/include/lock.h
cvs rdiff -u -r1.4 -r1.5 src/sys/arch/powerpc/include/mutex.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/arch/powerpc/include

2019-11-29 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Fri Nov 29 20:05:59 UTC 2019

Modified Files:
src/sys/arch/powerpc/include: lock.h mutex.h

Log Message:
Nix mb_* on powerpc.


To generate a diff of this commit:
cvs rdiff -u -r1.13 -r1.14 src/sys/arch/powerpc/include/lock.h
cvs rdiff -u -r1.4 -r1.5 src/sys/arch/powerpc/include/mutex.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/powerpc/include/lock.h
diff -u src/sys/arch/powerpc/include/lock.h:1.13 src/sys/arch/powerpc/include/lock.h:1.14
--- src/sys/arch/powerpc/include/lock.h:1.13	Sun Sep 17 00:01:08 2017
+++ src/sys/arch/powerpc/include/lock.h	Fri Nov 29 20:05:59 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: lock.h,v 1.13 2017/09/17 00:01:08 christos Exp $	*/
+/*	$NetBSD: lock.h,v 1.14 2019/11/29 20:05:59 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2000, 2007 The NetBSD Foundation, Inc.
@@ -120,22 +120,4 @@ __cpu_simple_unlock(__cpu_simple_lock_t 
 	*alp = __SIMPLELOCK_UNLOCKED;
 }
 
-static __inline void
-mb_read(void)
-{
-	__asm volatile ("isync" ::: "memory");
-}
-
-static __inline void
-mb_write(void)
-{
-	__asm volatile ("sync" ::: "memory");
-}
-
-static __inline void
-mb_memory(void)
-{
-	__asm volatile ("sync" ::: "memory");
-}
-
 #endif /* _POWERPC_LOCK_H_ */

Index: src/sys/arch/powerpc/include/mutex.h
diff -u src/sys/arch/powerpc/include/mutex.h:1.4 src/sys/arch/powerpc/include/mutex.h:1.5
--- src/sys/arch/powerpc/include/mutex.h:1.4	Mon Apr 28 20:23:32 2008
+++ src/sys/arch/powerpc/include/mutex.h	Fri Nov 29 20:05:59 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: mutex.h,v 1.4 2008/04/28 20:23:32 martin Exp $	*/
+/*	$NetBSD: mutex.h,v 1.5 2019/11/29 20:05:59 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2002, 2007 The NetBSD Foundation, Inc.
@@ -61,8 +61,8 @@ struct kmutex {
 #define	__HAVE_SIMPLE_MUTEXES		1
 #define	__HAVE_MUTEX_STUBS		1
 
-#define	MUTEX_RECEIVE(mtx)		mb_read()
-#define	MUTEX_GIVE(mtx)			mb_memory()
+#define	MUTEX_RECEIVE(mtx)		__asm __volatile("isync" ::: "memory")
+#define	MUTEX_GIVE(mtx)			__asm __volatile("sync" ::: "memory")
 
 #define	MUTEX_CAS(p, o, n)		_lock_cas((p), (o), (n))
 



CVS commit: src/sys/arch/powerpc/include

2019-11-29 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Fri Nov 29 12:04:32 UTC 2019

Modified Files:
src/sys/arch/powerpc/include: ptrace.h

Log Message:
Add illegal asm and breakpoint


To generate a diff of this commit:
cvs rdiff -u -r1.14 -r1.15 src/sys/arch/powerpc/include/ptrace.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/arch/powerpc/include

2019-11-29 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Fri Nov 29 12:04:32 UTC 2019

Modified Files:
src/sys/arch/powerpc/include: ptrace.h

Log Message:
Add illegal asm and breakpoint


To generate a diff of this commit:
cvs rdiff -u -r1.14 -r1.15 src/sys/arch/powerpc/include/ptrace.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/powerpc/include/ptrace.h
diff -u src/sys/arch/powerpc/include/ptrace.h:1.14 src/sys/arch/powerpc/include/ptrace.h:1.15
--- src/sys/arch/powerpc/include/ptrace.h:1.14	Tue Jun 18 21:18:12 2019
+++ src/sys/arch/powerpc/include/ptrace.h	Fri Nov 29 12:04:32 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: ptrace.h,v 1.14 2019/06/18 21:18:12 kamil Exp $	*/
+/*	$NetBSD: ptrace.h,v 1.15 2019/11/29 12:04:32 martin Exp $	*/
 
 #ifndef _POWERPC_PTRACE_H
 #define	_POWERPC_PTRACE_H
@@ -71,4 +71,10 @@ int procfs_machdep_validvecregs(struct l
 #endif /* ALTIVEC || PPC_HAVE_SPE */
 #endif /* _KERNEL */
 
+#define PTRACE_ILLEGAL_ASM	__asm __volatile (".long 0" : : : "memory")
+
+#define PTRACE_BREAKPOINT	((const uint8_t[]) { 0x7f, 0xe0, 0x00, 0x08 })
+#define PTRACE_BREAKPOINT_ASM	__asm __volatile("trap")
+#define PTRACE_BREAKPOINT_SIZE	4
+
 #endif /* _POWERPC_PTRACE_H */



CVS commit: src/sys/arch/powerpc/include

2019-10-29 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Wed Oct 30 02:44:29 UTC 2019

Modified Files:
src/sys/arch/powerpc/include: fenv.h

Log Message:
do the ignore builtin dance for gcc-8


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/powerpc/include/fenv.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/arch/powerpc/include

2019-10-29 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Wed Oct 30 02:44:29 UTC 2019

Modified Files:
src/sys/arch/powerpc/include: fenv.h

Log Message:
do the ignore builtin dance for gcc-8


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/powerpc/include/fenv.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/powerpc/include/fenv.h
diff -u src/sys/arch/powerpc/include/fenv.h:1.5 src/sys/arch/powerpc/include/fenv.h:1.6
--- src/sys/arch/powerpc/include/fenv.h:1.5	Thu Apr 19 17:50:07 2018
+++ src/sys/arch/powerpc/include/fenv.h	Tue Oct 29 22:44:29 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: fenv.h,v 1.5 2018/04/19 21:50:07 christos Exp $	*/
+/*	$NetBSD: fenv.h,v 1.6 2019/10/30 02:44:29 christos Exp $	*/
 
 /*-
  * Copyright (c) 2004-2005 David Schultz 
@@ -143,6 +143,11 @@ union __fpscr {
 	} __bits;
 };
 
+#if __GNUC_PREREQ__(8, 0)
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wshadow"
+#endif
+
 __fenv_static __inline int
 feclearexcept(int __excepts)
 {
@@ -273,6 +278,10 @@ feupdateenv(const fenv_t *__envp)
 	return (0);
 }
 
+#if __GNUC_PREREQ__(8, 0)
+#pragma GCC diagnostic pop
+#endif
+
 #if defined(_NETBSD_SOURCE) || defined(_GNU_SOURCE)
 
 __fenv_static __inline int



CVS commit: src/sys/arch/powerpc/include

2019-10-24 Thread Michael Lorenz
Module Name:src
Committed By:   macallan
Date:   Thu Oct 24 23:03:35 UTC 2019

Modified Files:
src/sys/arch/powerpc/include: intr.h

Log Message:
bump NIRQ to 256 since we're going to use vectors above 128


To generate a diff of this commit:
cvs rdiff -u -r1.13 -r1.14 src/sys/arch/powerpc/include/intr.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/arch/powerpc/include

2019-10-24 Thread Michael Lorenz
Module Name:src
Committed By:   macallan
Date:   Thu Oct 24 23:03:35 UTC 2019

Modified Files:
src/sys/arch/powerpc/include: intr.h

Log Message:
bump NIRQ to 256 since we're going to use vectors above 128


To generate a diff of this commit:
cvs rdiff -u -r1.13 -r1.14 src/sys/arch/powerpc/include/intr.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/powerpc/include/intr.h
diff -u src/sys/arch/powerpc/include/intr.h:1.13 src/sys/arch/powerpc/include/intr.h:1.14
--- src/sys/arch/powerpc/include/intr.h:1.13	Thu Apr 19 21:50:07 2018
+++ src/sys/arch/powerpc/include/intr.h	Thu Oct 24 23:03:35 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: intr.h,v 1.13 2018/04/19 21:50:07 christos Exp $ */
+/*	$NetBSD: intr.h,v 1.14 2019/10/24 23:03:35 macallan Exp $ */
 
 /*-
  * Copyright (c) 2007 Michael Lorenz
@@ -28,7 +28,7 @@
 
 #ifndef _LOCORE
 #include 
-__KERNEL_RCSID(0, "$NetBSD: intr.h,v 1.13 2018/04/19 21:50:07 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: intr.h,v 1.14 2019/10/24 23:03:35 macallan Exp $");
 #endif
 
 #ifndef _POWERPC_INTR_MACHDEP_H_
@@ -105,7 +105,7 @@ extern imask_t imask[];
 
 #define NVIRQ		(sizeof(imask_t)*8)	/* 32 virtual IRQs */
 #ifndef NIRQ
-#define NIRQ		128	/* up to 128 HW IRQs */
+#define NIRQ		256	/* up to 256 HW IRQs */
 #endif
 
 #define HWIRQ_MAX   (NVIRQ - 1)



Re: CVS commit: src/sys/arch/powerpc/include

2012-02-20 Thread Joerg Sonnenberger
On Tue, Feb 21, 2012 at 02:19:01AM +, Matt Thomas wrote:
 Module Name:  src
 Committed By: matt
 Date: Tue Feb 21 02:19:01 UTC 2012
 
 Modified Files:
   src/sys/arch/powerpc/include: cdefs.h
 
 Log Message:
 Restore back to double alignment.

For reference: __ALIGNBYTES is used for two purposes. The first purpose
is stack alignment, which is what was intended here. The second purpose
is the alignment for CMSG_SPACE and friends, which was not intended. The
latter is part of the system ABI.

Joerg


CVS commit: src/sys/arch/powerpc/include

2010-03-09 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Tue Mar  9 22:36:41 UTC 2010

Modified Files:
src/sys/arch/powerpc/include: asm.h

Log Message:
Put ASM RCSIDs into .ident


To generate a diff of this commit:
cvs rdiff -u -r1.28 -r1.29 src/sys/arch/powerpc/include/asm.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/powerpc/include/asm.h
diff -u src/sys/arch/powerpc/include/asm.h:1.28 src/sys/arch/powerpc/include/asm.h:1.29
--- src/sys/arch/powerpc/include/asm.h:1.28	Thu Dec 10 05:10:03 2009
+++ src/sys/arch/powerpc/include/asm.h	Tue Mar  9 22:36:41 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: asm.h,v 1.28 2009/12/10 05:10:03 rmind Exp $	*/
+/*	$NetBSD: asm.h,v 1.29 2010/03/09 22:36:41 matt Exp $	*/
 
 /*
  * Copyright (C) 1995, 1996 Wolfgang Solfrank.
@@ -123,7 +123,7 @@
 
 #define	ASMSTR		.asciz
 
-#define RCSID(x)	.text; .asciz x
+#define RCSID(x)	.pushsection .ident; .asciz x; .popsection
 
 #ifdef __ELF__
 #define	WEAK_ALIAS(alias,sym)		\



CVS commit: src/sys/arch/powerpc/include/booke

2010-03-09 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Tue Mar  9 22:39:32 UTC 2010

Added Files:
src/sys/arch/powerpc/include/booke: Makefile booke_intr.h pte.h spr.h
trap.h vmparam.h

Log Message:
Add initial versions of these for BookE.


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 src/sys/arch/powerpc/include/booke/Makefile \
src/sys/arch/powerpc/include/booke/booke_intr.h \
src/sys/arch/powerpc/include/booke/pte.h \
src/sys/arch/powerpc/include/booke/spr.h \
src/sys/arch/powerpc/include/booke/trap.h \
src/sys/arch/powerpc/include/booke/vmparam.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Added files:

Index: src/sys/arch/powerpc/include/booke/Makefile
diff -u /dev/null src/sys/arch/powerpc/include/booke/Makefile:1.1
--- /dev/null	Tue Mar  9 22:39:32 2010
+++ src/sys/arch/powerpc/include/booke/Makefile	Tue Mar  9 22:39:32 2010
@@ -0,0 +1,11 @@
+#	$NetBSD: Makefile,v 1.1 2010/03/09 22:39:32 matt Exp $
+
+INCSDIR= /usr/include/powerpc/booke
+
+INCS=	booke_intr.h \
+	pmap.h pte.h \
+	spr.h \
+	trap.h \
+	vmparam.h
+
+.include bsd.kinc.mk
Index: src/sys/arch/powerpc/include/booke/booke_intr.h
diff -u /dev/null src/sys/arch/powerpc/include/booke/booke_intr.h:1.1
--- /dev/null	Tue Mar  9 22:39:32 2010
+++ src/sys/arch/powerpc/include/booke/booke_intr.h	Tue Mar  9 22:39:32 2010
@@ -0,0 +1,95 @@
+/*	$NetBSD: booke_intr.h,v 1.1 2010/03/09 22:39:32 matt Exp $	*/
+
+/*-
+ * Copyright (c) 1998, 2007 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to The NetBSD Foundation
+ * by Charles M. Hannum.
+ *
+ * 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.
+ */
+
+#ifndef _BOOKE_INTR_H_
+#define _BOOKE_INTR_H_
+
+/* Interrupt priority `levels'. */
+#define	IPL_NONE	0	/* nothing */
+#define	IPL_SOFTCLOCK	1	/* software clock interrupt */
+#define	IPL_SOFTBIO	2	/* software block i/o interrupt */
+#define	IPL_SOFTNET	3	/* software network interrupt */
+#define	IPL_SOFTSERIAL	4	/* software serial interrupt */
+#define	IPL_VM		5	/* memory allocation */
+#define	IPL_SCHED	6	/* clock */
+#define	IPL_HIGH	7	/* everything */
+#define	NIPL		8
+
+/* Interrupt sharing types. */
+#define	IST_NONE	0	/* none */
+#define	IST_PULSE	1	/* pulsed */
+#define	IST_EDGE	2	/* edge-triggered */
+#define	IST_LEVEL	3	/* level-triggered */
+
+#ifndef _LOCORE
+
+#define	CLKF_BASEPRI(frame)	((frame)-cf_ipl == IPL_NONE)
+
+void 	*intr_establish(int, int, int, int (*)(void *), void *);
+void 	intr_disestablish(void *);
+void 	intr_init(void);
+void 	ext_intr(void); 			/* for machdep */
+int 	splraise(int);
+int 	spllower(int);
+void 	splx(int);
+void 	softintr(int);
+
+extern volatile u_int 		imask[NIPL];
+extern const int 		mask_clock; 		/* for clock.c */
+extern const int 		mask_statclock; 	/* for clock.c */
+
+#define	spllowersoftclock() 	spllower(imask[IPL_SOFTCLOCK])
+
+typedef int ipl_t;
+typedef struct {
+	ipl_t _ipl;
+} ipl_cookie_t;
+
+static inline ipl_cookie_t
+makeiplcookie(ipl_t ipl)
+{
+
+	return (ipl_cookie_t){._ipl = ipl};
+}
+
+static inline int
+splraiseipl(ipl_cookie_t icookie)
+{
+
+	return splraise(imask[icookie._ipl]);
+}
+
+#include sys/spl.h
+
+#define	spl0()			spllower(0)
+
+#endif /* !_LOCORE */
+#endif /* !_BOOKE_INTR_H_ */
Index: src/sys/arch/powerpc/include/booke/pte.h
diff -u /dev/null src/sys/arch/powerpc/include/booke/pte.h:1.1
--- /dev/null	Tue Mar  9 22:39:32 2010
+++ src/sys/arch/powerpc/include/booke/pte.h	Tue Mar  9 22:39:32 2010
@@ -0,0 +1,60 @@
+/*-
+ * Copyright (c) 2010 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to 

CVS commit: src/sys/arch/powerpc/include

2010-03-09 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Tue Mar  9 22:40:06 UTC 2010

Modified Files:
src/sys/arch/powerpc/include: pmap.h

Log Message:
Include BookE version of pmap.h


To generate a diff of this commit:
cvs rdiff -u -r1.34 -r1.35 src/sys/arch/powerpc/include/pmap.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/arch/powerpc/include

2010-03-09 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Tue Mar  9 22:40:06 UTC 2010

Modified Files:
src/sys/arch/powerpc/include: pmap.h

Log Message:
Include BookE version of pmap.h


To generate a diff of this commit:
cvs rdiff -u -r1.34 -r1.35 src/sys/arch/powerpc/include/pmap.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/powerpc/include/pmap.h
diff -u src/sys/arch/powerpc/include/pmap.h:1.34 src/sys/arch/powerpc/include/pmap.h:1.35
--- src/sys/arch/powerpc/include/pmap.h:1.34	Tue Dec  9 20:45:45 2008
+++ src/sys/arch/powerpc/include/pmap.h	Tue Mar  9 22:40:06 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: pmap.h,v 1.34 2008/12/09 20:45:45 pooka Exp $	*/
+/*	$NetBSD: pmap.h,v 1.35 2010/03/09 22:40:06 matt Exp $	*/
 
 #ifdef _KERNEL_OPT
 #include opt_ppcarch.h
@@ -6,6 +6,8 @@
 
 #ifdef PPC_IBM4XX
 #include powerpc/ibm4xx/pmap.h
+#elif defined(PPC_BOOKE)
+#include powerpc/booke/pmap.h
 #elif defined(PPC_OEA) || defined (PPC_OEA64) || defined (PPC_OEA64_BRIDGE)
 #include powerpc/oea/pmap.h
 #else



CVS commit: src/sys/arch/powerpc/include

2010-03-09 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Tue Mar  9 22:41:03 UTC 2010

Modified Files:
src/sys/arch/powerpc/include: cpu.h

Log Message:
Add BookE modifications to cpu_info


To generate a diff of this commit:
cvs rdiff -u -r1.67 -r1.68 src/sys/arch/powerpc/include/cpu.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/powerpc/include/cpu.h
diff -u src/sys/arch/powerpc/include/cpu.h:1.67 src/sys/arch/powerpc/include/cpu.h:1.68
--- src/sys/arch/powerpc/include/cpu.h:1.67	Sat Oct 24 20:03:56 2009
+++ src/sys/arch/powerpc/include/cpu.h	Tue Mar  9 22:41:03 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: cpu.h,v 1.67 2009/10/24 20:03:56 rmind Exp $	*/
+/*	$NetBSD: cpu.h,v 1.68 2010/03/09 22:41:03 matt Exp $	*/
 
 /*
  * Copyright (C) 1999 Wolfgang Solfrank.
@@ -78,11 +78,14 @@
 	int ci_intrdepth;
 	int ci_mtx_oldspl;
 	int ci_mtx_count;
+#ifndef PPC_BOOKE
 	char *ci_intstk;
+#endif
 #define	CPUSAVE_LEN	8
 	register_t ci_tempsave[CPUSAVE_LEN];
 	register_t ci_ddbsave[CPUSAVE_LEN];
 	register_t ci_ipkdbsave[CPUSAVE_LEN];
+#ifndef PPC_BOOKE
 #define	CPUSAVE_R28	0		/* where r28 gets saved */
 #define	CPUSAVE_R29	1		/* where r29 gets saved */
 #define	CPUSAVE_R30	2		/* where r30 gets saved */
@@ -93,6 +96,18 @@
 #define	CPUSAVE_SRR1	7		/* where SRR1 gets saved */
 #define	DISISAVE_LEN	4
 	register_t ci_disisave[DISISAVE_LEN];
+#else
+#define	CPUSAVE_R26	0		/* where r26 gets saved */
+#define	CPUSAVE_R27	1		/* where r27 gets saved */
+#define	CPUSAVE_R28	2		/* where r28 gets saved */
+#define	CPUSAVE_R29	3		/* where r29 gets saved */
+#define	CPUSAVE_R30	4		/* where r30 gets saved */
+#define	CPUSAVE_R31	5		/* where r31 gets saved */
+	register_t ci_critsave[CPUSAVE_LEN];
+	register_t ci_mchksave[CPUSAVE_LEN];
+	struct pmap_segtab *ci_pmap_kern_segtab;
+	struct pmap_segtab *ci_pmap_user_segtab;
+#endif
 	struct cache_info ci_ci;		
 	void *ci_sysmon_cookie;
 	void (*ci_idlespin)(void);



CVS commit: src/sys/arch/powerpc/include

2010-03-09 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Tue Mar  9 22:41:03 UTC 2010

Modified Files:
src/sys/arch/powerpc/include: cpu.h

Log Message:
Add BookE modifications to cpu_info


To generate a diff of this commit:
cvs rdiff -u -r1.67 -r1.68 src/sys/arch/powerpc/include/cpu.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/arch/powerpc/include

2010-02-25 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Thu Feb 25 23:30:05 UTC 2010

Modified Files:
src/sys/arch/powerpc/include: spr.h
src/sys/arch/powerpc/include/ibm4xx: Makefile
src/sys/arch/powerpc/include/oea: Makefile
Added Files:
src/sys/arch/powerpc/include/ibm4xx: spr.h
src/sys/arch/powerpc/include/oea: spr.h

Log Message:
Split powerpc/spr.h into a common powerpc/spr.h and powerpc/XXX/spr.h
where XXX is ibm4xx or oea.


To generate a diff of this commit:
cvs rdiff -u -r1.44 -r1.45 src/sys/arch/powerpc/include/spr.h
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/powerpc/include/ibm4xx/Makefile
cvs rdiff -u -r0 -r1.1 src/sys/arch/powerpc/include/ibm4xx/spr.h
cvs rdiff -u -r1.1 -r1.2 src/sys/arch/powerpc/include/oea/Makefile
cvs rdiff -u -r0 -r1.1 src/sys/arch/powerpc/include/oea/spr.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/powerpc/include/spr.h
diff -u src/sys/arch/powerpc/include/spr.h:1.44 src/sys/arch/powerpc/include/spr.h:1.45
--- src/sys/arch/powerpc/include/spr.h:1.44	Sat Feb 23 19:54:54 2008
+++ src/sys/arch/powerpc/include/spr.h	Thu Feb 25 23:30:04 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: spr.h,v 1.44 2008/02/23 19:54:54 matt Exp $	*/
+/*	$NetBSD: spr.h,v 1.45 2010/02/25 23:30:04 matt Exp $	*/
 
 #ifndef _POWERPC_SPR_H_
 #define	_POWERPC_SPR_H_
@@ -17,524 +17,31 @@
 /*
  * Special Purpose Register declarations.
  *
- * The first column in the comments indicates which PowerPC
- * architectures the SPR is valid on - 4 for 4xx series,
- * 6 for 6xx/7xx series and 8 for 8xx and 8xxx series.
+ * The first column in the comments indicates which PowerPC architectures the
+ * SPR is valid on - E for BookE series, 4 for 4xx series,
+ * 6 for 6xx/7xx series and 8 for 8xx and 8xxx (but not 85xx) series.
  */
 
-#define	SPR_MQ			0x000	/* .6. 601 MQ register */
-#define	SPR_XER			0x001	/* 468 Fixed Point Exception Register */
-#define	SPR_RTCU_R		0x004	/* .6. 601 RTC Upper - Read */
-#define	SPR_RTCL_R		0x005	/* .6. 601 RTC Lower - Read */
-#define	SPR_LR			0x008	/* 468 Link Register */
-#define	SPR_CTR			0x009	/* 468 Count Register */
-#define	SPR_DSISR		0x012	/* .68 DSI exception source */
-#define	  DSISR_DIRECT		  0x8000 /* Direct-store error exception */
-#define	  DSISR_NOTFOUND	  0x4000 /* Translation not found */
-#define	  DSISR_PROTECT		  0x0800 /* Memory access not permitted */
-#define	  DSISR_INVRX		  0x0400 /* Reserve-indexed insn direct-store access */
-#define	  DSISR_STORE		  0x0200 /* Store operation */
-#define	  DSISR_DABR		  0x0040 /* DABR match */
-#define	  DSISR_SEGMENT		  0x0020 /* XXX; not in 6xx PEM */
-#define	  DSISR_EAR		  0x0010 /* eciwx/ecowx  EAR[E] == 0 */
-#define	SPR_DAR			0x013	/* .68 Data Address Register */
-#define	SPR_RTCU_W		0x014	/* .6. 601 RTC Upper - Write */
-#define	SPR_RTCL_W		0x015	/* .6. 601 RTC Lower - Write */
-#define	SPR_DEC			0x016	/* .68 DECrementer register */
-#define	SPR_SDR1		0x019	/* .68 Page table base address register */
-#define	SPR_SRR0		0x01a	/* 468 Save/Restore Register 0 */
-#define	SPR_SRR1		0x01b	/* 468 Save/Restore Register 1 */
-#define	SPR_44XPID		0x030	/* 4.. 440 Process ID */
-#define SPR_EIE			0x050	/* ..8 Exception Interrupt ??? */
-#define SPR_EID			0x051	/* ..8 Exception Interrupt ??? */
-#define SPR_NRI			0x052	/* ..8 Exception Interrupt ??? */
-#define	SPR_USPRG0		0x100	/* 4.. User SPR General 0 */
-#define	SPR_VRSAVE		0x100	/* .6. AltiVec VRSAVE */
-#define	SPR_SPRG0		0x110	/* 468 SPR General 0 */
-#define	SPR_SPRG1		0x111	/* 468 SPR General 1 */
-#define	SPR_SPRG2		0x112	/* 468 SPR General 2 */
-#define	SPR_SPRG3		0x113	/* 468 SPR General 3 */
-#define	SPR_SPRG4		0x114	/* 4.. SPR General 4 */
-#define	SPR_SPRG5		0x115	/* 4.. SPR General 5 */
-#define	SPR_SPRG6		0x116	/* 4.. SPR General 6 */
-#define	SPR_SPRG7		0x117	/* 4.. SPR General 7 */
-#define	SPR_ASR			0x118	/* ... Address Space Register (PPC64) */
-#define	SPR_EAR			0x11a	/* .68 External Access Register */
-#define	SPR_TBL			0x11c	/* 468 Time Base Lower */
-#define	SPR_TBU			0x11d	/* 468 Time Base Upper */
-#define	SPR_PVR			0x11f	/* 468 Processor Version Register */
-#define	  MPC601		  0x0001
-#define	  MPC603		  0x0003
-#define	  MPC604		  0x0004
-#define	  MPC602		  0x0005
-#define	  MPC603e		  0x0006
-#define	  MPC603ev		  0x0007
-#define	  MPC750		  0x0008
-#define	  MPC604e		  0x0009
-#define	  MPC604ev		  0x000a
-#define	  MPC7400		  0x000c
-#define	  MPC620		  0x0014
-#define	  IBM403		  0x0020
-#define	  IBM401A1		  0x0021
-#define	  IBM401B2		  0x0022
-#define	  IBM401C2		  0x0023
-#define	  IBM401D2		  0x0024
-#define	  IBM401E2		  0x0025
-#define	  IBM401F2		  0x0026
-#define	  IBM401G2		  0x0027
-#define   IBMRS64II		  0x0033
-#define   IBMRS64IIIp		  0x0034
-#define   IBMPOWER4		  0x0035
-#define   IBMRS64IIIi		  0x0036
-#define   IBMRS64IV		  0x0037
-#define   IBMPOWER4II