Re: CVS commit: src/sys/arch/powerpc/include
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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