CVS commit: src/sys/arch/powerpc/include
Module Name:src Committed By: christos Date: Tue Apr 2 14:21:29 UTC 2024 Modified Files: src/sys/arch/powerpc/include: limits.h Log Message: harmonize with the rest of MD limits files. To generate a diff of this commit: cvs rdiff -u -r1.20 -r1.21 src/sys/arch/powerpc/include/limits.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: Tue Apr 2 14:21:29 UTC 2024 Modified Files: src/sys/arch/powerpc/include: limits.h Log Message: harmonize with the rest of MD limits files. To generate a diff of this commit: cvs rdiff -u -r1.20 -r1.21 src/sys/arch/powerpc/include/limits.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/limits.h diff -u src/sys/arch/powerpc/include/limits.h:1.20 src/sys/arch/powerpc/include/limits.h:1.21 --- src/sys/arch/powerpc/include/limits.h:1.20 Mon Jan 21 15:28:18 2019 +++ src/sys/arch/powerpc/include/limits.h Tue Apr 2 10:21:29 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: limits.h,v 1.20 2019/01/21 20:28:18 dholland Exp $ */ +/* $NetBSD: limits.h,v 1.21 2024/04/02 14:21:29 christos Exp $ */ /* * Copyright (c) 1988, 1993 @@ -94,18 +94,9 @@ #define SIZE_T_MAX UINT_MAX /* max value for a size_t */ #endif -#ifdef _LP64 -/* Quads and longs are the same on LP64. */ -#define UQUAD_MAX (ULONG_MAX) -#define QUAD_MAX (LONG_MAX) -#define QUAD_MIN (LONG_MIN) -#else -/* GCC requires that quad constants be written as expressions. */ -#define UQUAD_MAX ((u_quad_t)0-1) /* max value for a uquad_t */ - /* max value for a quad_t */ -#define QUAD_MAX ((quad_t)(UQUAD_MAX >> 1)) -#define QUAD_MIN (-QUAD_MAX-1) /* min value for a quad_t */ -#endif +#define UQUAD_MAX 0xULL /* max unsigned quad */ +#define QUAD_MAX 0x7fffLL /* max signed quad */ +#define QUAD_MIN (-0x7fffLL-1) /* min signed quad */ #endif /* _NETBSD_SOURCE */ #endif /* _POSIX_C_SOURCE || _XOPEN_SOURCE || _NETBSD_SOURCE */
CVS commit: src/sys/arch/powerpc/include/oea
Module Name:src Committed By: rillig Date: Sun Mar 10 17:07:31 UTC 2024 Modified Files: src/sys/arch/powerpc/include/oea: hid.h Log Message: powerpc/hid: fix snprintb format for HID0_970_BITMASK_U To generate a diff of this commit: cvs rdiff -u -r1.14 -r1.15 src/sys/arch/powerpc/include/oea/hid.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/oea/hid.h diff -u src/sys/arch/powerpc/include/oea/hid.h:1.14 src/sys/arch/powerpc/include/oea/hid.h:1.15 --- src/sys/arch/powerpc/include/oea/hid.h:1.14 Sat Jan 20 09:47:35 2024 +++ src/sys/arch/powerpc/include/oea/hid.h Sun Mar 10 17:07:31 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: hid.h,v 1.14 2024/01/20 09:47:35 jmcneill Exp $ */ +/* $NetBSD: hid.h,v 1.15 2024/03/10 17:07:31 rillig Exp $ */ /*- * Copyright (c) 2000 Tsubai Masanari. All rights reserved. @@ -112,7 +112,7 @@ "\040EMCP" #define HID0_970_BITMASK_U "\020" \ -"\040ONEPPC\036DOSNGL\036ISYNCSC\035SERGP\034res\033res\032res\031DEEPNAP" \ +"\040ONEPPC\037DOSNGL\036ISYNCSC\035SERGP\034res\033res\032res\031DEEPNAP" \ "\030DOZE\027NAP\026res\025DPM\024res\023TG\022HNGDIS\021NHR" \ "\020INORDER\017res\016TBCTRL\015EXTBEN\014res\013res\012CIABREN\011HDICEEN" \ "\001ENATTN"
CVS commit: src/sys/arch/powerpc/include/oea
Module Name:src Committed By: rillig Date: Sun Mar 10 17:07:31 UTC 2024 Modified Files: src/sys/arch/powerpc/include/oea: hid.h Log Message: powerpc/hid: fix snprintb format for HID0_970_BITMASK_U To generate a diff of this commit: cvs rdiff -u -r1.14 -r1.15 src/sys/arch/powerpc/include/oea/hid.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: rin Date: Tue Jan 23 04:15:54 UTC 2024 Modified Files: src/sys/arch/powerpc/include: ieee.h Log Message: powerpc/ieee.h: Protect from multiple includes Fix build failure triggered by import of libm long-double functions. To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 src/sys/arch/powerpc/include/ieee.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: rin Date: Tue Jan 23 04:15:54 UTC 2024 Modified Files: src/sys/arch/powerpc/include: ieee.h Log Message: powerpc/ieee.h: Protect from multiple includes Fix build failure triggered by import of libm long-double functions. To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 src/sys/arch/powerpc/include/ieee.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/ieee.h diff -u src/sys/arch/powerpc/include/ieee.h:1.6 src/sys/arch/powerpc/include/ieee.h:1.7 --- src/sys/arch/powerpc/include/ieee.h:1.6 Wed Oct 22 10:32:50 2014 +++ src/sys/arch/powerpc/include/ieee.h Tue Jan 23 04:15:54 2024 @@ -1,4 +1,7 @@ -/* $NetBSD: ieee.h,v 1.6 2014/10/22 10:32:50 joerg Exp $ */ +/* $NetBSD: ieee.h,v 1.7 2024/01/23 04:15:54 rin Exp $ */ + +#ifndef _POWERPC_IEEE_H_ +#define _POWERPC_IEEE_H_ #include @@ -16,3 +19,5 @@ union ldbl_u { long double ldblu_ld; double ldblu_d[2]; }; + +#endif /* !_POWERPC_IEEE_H_ */
CVS commit: src/sys/arch/powerpc/include/oea
Module Name:src Committed By: jmcneill Date: Sat Jan 20 09:47:35 UTC 2024 Modified Files: src/sys/arch/powerpc/include/oea: hid.h Log Message: fix comments: HID0 ICFI/DCFI are "flash invalidate", not "flush invalidate" To generate a diff of this commit: cvs rdiff -u -r1.13 -r1.14 src/sys/arch/powerpc/include/oea/hid.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/oea/hid.h diff -u src/sys/arch/powerpc/include/oea/hid.h:1.13 src/sys/arch/powerpc/include/oea/hid.h:1.14 --- src/sys/arch/powerpc/include/oea/hid.h:1.13 Mon Jul 6 10:31:23 2020 +++ src/sys/arch/powerpc/include/oea/hid.h Sat Jan 20 09:47:35 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: hid.h,v 1.13 2020/07/06 10:31:23 rin Exp $ */ +/* $NetBSD: hid.h,v 1.14 2024/01/20 09:47:35 jmcneill Exp $ */ /*- * Copyright (c) 2000 Tsubai Masanari. All rights reserved. @@ -81,8 +81,8 @@ #define HID0_DCE 0x4000 /* Enable d-cache */ #define HID0_ILOCK 0x2000 /* i-cache lock */ #define HID0_DLOCK 0x1000 /* d-cache lock */ -#define HID0_ICFI 0x0800 /* i-cache flush invalidate */ -#define HID0_DCFI 0x0400 /* d-cache flush invalidate */ +#define HID0_ICFI 0x0800 /* i-cache flash invalidate */ +#define HID0_DCFI 0x0400 /* d-cache flash invalidate */ #define HID0_SPD 0x0200 /* Disable speculative cache access */ #define HID0_IFEM 0x0100 /* Enable M-bit for I-fetch */ #define HID0_XBSEN 0x0100 /* Extended BAT block size enable (7455+) */
CVS commit: src/sys/arch/powerpc/include/oea
Module Name:src Committed By: jmcneill Date: Sat Jan 20 09:47:35 UTC 2024 Modified Files: src/sys/arch/powerpc/include/oea: hid.h Log Message: fix comments: HID0 ICFI/DCFI are "flash invalidate", not "flush invalidate" To generate a diff of this commit: cvs rdiff -u -r1.13 -r1.14 src/sys/arch/powerpc/include/oea/hid.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/booke
Module Name:src Committed By: skrll Date: Thu Sep 28 06:24:37 UTC 2023 Modified Files: src/sys/arch/powerpc/include/booke: pmap.h Log Message: #define -> #define for consistency To generate a diff of this commit: cvs rdiff -u -r1.24 -r1.25 src/sys/arch/powerpc/include/booke/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/booke/pmap.h diff -u src/sys/arch/powerpc/include/booke/pmap.h:1.24 src/sys/arch/powerpc/include/booke/pmap.h:1.25 --- src/sys/arch/powerpc/include/booke/pmap.h:1.24 Sun Dec 20 16:38:25 2020 +++ src/sys/arch/powerpc/include/booke/pmap.h Thu Sep 28 06:24:37 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: pmap.h,v 1.24 2020/12/20 16:38:25 skrll Exp $ */ +/* $NetBSD: pmap.h,v 1.25 2023/09/28 06:24:37 skrll Exp $ */ /*- * Copyright (c) 2010, 2011 The NetBSD Foundation, Inc. * All rights reserved. @@ -66,8 +66,8 @@ #define NBSEG (NBPG*NPTEPG) #define SEGSHIFT (PGSHIFT + PGSHIFT - 2) -#define SEGOFSET ((1 << SEGSHIFT) - 1) -#define PMAP_SEGTABSIZE (1 << (32 - SEGSHIFT)) +#define SEGOFSET ((1 << SEGSHIFT) - 1) +#define PMAP_SEGTABSIZE (1 << (32 - SEGSHIFT)) #define NPTEPG (NBPG >> 2) #define KERNEL_PID 0
CVS commit: src/sys/arch/powerpc/include/booke
Module Name:src Committed By: skrll Date: Thu Sep 28 06:24:37 UTC 2023 Modified Files: src/sys/arch/powerpc/include/booke: pmap.h Log Message: #define -> #define for consistency To generate a diff of this commit: cvs rdiff -u -r1.24 -r1.25 src/sys/arch/powerpc/include/booke/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: skrll Date: Thu Sep 28 06:19:19 UTC 2023 Modified Files: src/sys/arch/powerpc/include/ibm4xx: pmap.h src/sys/arch/powerpc/include/oea: pmap.h Log Message: Trailing whitespace. To generate a diff of this commit: cvs rdiff -u -r1.21 -r1.22 src/sys/arch/powerpc/include/ibm4xx/pmap.h cvs rdiff -u -r1.37 -r1.38 src/sys/arch/powerpc/include/oea/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/ibm4xx/pmap.h diff -u src/sys/arch/powerpc/include/ibm4xx/pmap.h:1.21 src/sys/arch/powerpc/include/ibm4xx/pmap.h:1.22 --- src/sys/arch/powerpc/include/ibm4xx/pmap.h:1.21 Sat Mar 14 14:05:43 2020 +++ src/sys/arch/powerpc/include/ibm4xx/pmap.h Thu Sep 28 06:19:19 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: pmap.h,v 1.21 2020/03/14 14:05:43 ad Exp $ */ +/* $NetBSD: pmap.h,v 1.22 2023/09/28 06:19:19 skrll Exp $ */ /* * Copyright 2001 Wasabi Systems, Inc. @@ -69,7 +69,7 @@ #ifndef _IBM4XX_PMAP_H_ #define _IBM4XX_PMAP_H_ -#ifdef _LOCORE +#ifdef _LOCORE #error use assym.h instead #endif @@ -132,7 +132,7 @@ #define STIDX(v) ((v) >> (PGSHIFT + 12)) -/* +/* * Extra flags to pass to pmap_enter() -- make sure they don't conflict * w/PMAP_CANFAIL or PMAP_WIRED */ Index: src/sys/arch/powerpc/include/oea/pmap.h diff -u src/sys/arch/powerpc/include/oea/pmap.h:1.37 src/sys/arch/powerpc/include/oea/pmap.h:1.38 --- src/sys/arch/powerpc/include/oea/pmap.h:1.37 Sat May 7 07:10:46 2022 +++ src/sys/arch/powerpc/include/oea/pmap.h Thu Sep 28 06:19:19 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: pmap.h,v 1.37 2022/05/07 07:10:46 rin Exp $ */ +/* $NetBSD: pmap.h,v 1.38 2023/09/28 06:19:19 skrll Exp $ */ /*- * Copyright (C) 1995, 1996 Wolfgang Solfrank. @@ -34,7 +34,7 @@ #ifndef _POWERPC_OEA_PMAP_H_ #define _POWERPC_OEA_PMAP_H_ -#ifdef _LOCORE +#ifdef _LOCORE #error use assym.h instead #endif
CVS commit: src/sys/arch/powerpc/include
Module Name:src Committed By: skrll Date: Thu Sep 28 06:19:19 UTC 2023 Modified Files: src/sys/arch/powerpc/include/ibm4xx: pmap.h src/sys/arch/powerpc/include/oea: pmap.h Log Message: Trailing whitespace. To generate a diff of this commit: cvs rdiff -u -r1.21 -r1.22 src/sys/arch/powerpc/include/ibm4xx/pmap.h cvs rdiff -u -r1.37 -r1.38 src/sys/arch/powerpc/include/oea/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: skrll Date: Wed Jul 26 06:36:20 UTC 2023 Modified Files: src/sys/arch/powerpc/include: cpu.h Log Message: Trailing whitespace To generate a diff of this commit: cvs rdiff -u -r1.123 -r1.124 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.123 src/sys/arch/powerpc/include/cpu.h:1.124 --- src/sys/arch/powerpc/include/cpu.h:1.123 Tue Nov 15 12:43:14 2022 +++ src/sys/arch/powerpc/include/cpu.h Wed Jul 26 06:36:20 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: cpu.h,v 1.123 2022/11/15 12:43:14 macallan Exp $ */ +/* $NetBSD: cpu.h,v 1.124 2023/07/26 06:36:20 skrll Exp $ */ /* * Copyright (C) 1999 Wolfgang Solfrank. @@ -134,7 +134,7 @@ struct cpu_info { #define ci_pmap_user_segtab ci_pmap_segtabs[1] struct pmap_tlb_info *ci_tlb_info; #endif /* PPC_BOOKE || ((MODULAR || _MODULE) && !_LP64) */ - struct cache_info ci_ci; + struct cache_info ci_ci; void *ci_sysmon_cookie; void (*ci_idlespin)(void); uint32_t ci_khz; @@ -341,7 +341,7 @@ mfrtc(uint32_t *rtcp) static __inline uint64_t rtc_nanosecs(void) { -/* +/* * 601 RTC/DEC registers share clock of 7.8125 MHz, 128 ns per tick. * DEC has max of 25 bits, FF => 2.14748352 seconds. * RTCU is seconds, 32 bits.
CVS commit: src/sys/arch/powerpc/include
Module Name:src Committed By: skrll Date: Wed Jul 26 06:36:20 UTC 2023 Modified Files: src/sys/arch/powerpc/include: cpu.h Log Message: Trailing whitespace To generate a diff of this commit: cvs rdiff -u -r1.123 -r1.124 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: macallan Date: Tue Nov 15 12:43:14 UTC 2022 Modified Files: src/sys/arch/powerpc/include: cpu.h Log Message: remove workaround for old clang - it's not needed anymore and caused problems elsewhere To generate a diff of this commit: cvs rdiff -u -r1.122 -r1.123 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.122 src/sys/arch/powerpc/include/cpu.h:1.123 --- src/sys/arch/powerpc/include/cpu.h:1.122 Mon May 30 14:48:08 2022 +++ src/sys/arch/powerpc/include/cpu.h Tue Nov 15 12:43:14 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: cpu.h,v 1.122 2022/05/30 14:48:08 rin Exp $ */ +/* $NetBSD: cpu.h,v 1.123 2022/11/15 12:43:14 macallan Exp $ */ /* * Copyright (C) 1999 Wolfgang Solfrank. @@ -240,12 +240,8 @@ curcpu(void) return ci; } -#ifdef __clang__ -#define curlwp (curcpu()->ci_curlwp) -#else register struct lwp *powerpc_curlwp __asm("r13"); #define curlwp powerpc_curlwp -#endif #define curpcb (curcpu()->ci_curpcb) #define curpm (curcpu()->ci_curpm)
CVS commit: src/sys/arch/powerpc/include
Module Name:src Committed By: macallan Date: Tue Nov 15 12:43:14 UTC 2022 Modified Files: src/sys/arch/powerpc/include: cpu.h Log Message: remove workaround for old clang - it's not needed anymore and caused problems elsewhere To generate a diff of this commit: cvs rdiff -u -r1.122 -r1.123 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: rin Date: Tue Sep 13 01:22:12 UTC 2022 Modified Files: src/sys/arch/powerpc/include: fenv.h Log Message: fesetexceptflag(): Set FE_ALL_INVALID instead of FE_ALL_EXCEPT for FE_INVALID. Taken from FreeBSD: https://cgit.freebsd.org/src/commit/lib/msun/powerpc/fenv.h?id=e7bd4f846f0c9185aebfd3d116bb78ab137280fa > [POWERPC] msun: fix incorrect flag in fesetexceptflag > Fix incorrect mask being used when FE_INVALID bit is wanted by user. > The problem was noticed thanks to msun fenv tests. > > Reviewed by: jhibbits, luporl > Sponsored by: Eldorado Research Institute (eldorado.org.br) > Differential Revision:https://reviews.freebsd.org/D27201 No regression for full ATF on both real and emulated FPU. XXX Import some tests from FreeBSD's lib/msun/tests. To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 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.6 src/sys/arch/powerpc/include/fenv.h:1.7 --- src/sys/arch/powerpc/include/fenv.h:1.6 Wed Oct 30 02:44:29 2019 +++ src/sys/arch/powerpc/include/fenv.h Tue Sep 13 01:22:12 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: fenv.h,v 1.6 2019/10/30 02:44:29 christos Exp $ */ +/* $NetBSD: fenv.h,v 1.7 2022/09/13 01:22:12 rin Exp $ */ /*- * Copyright (c) 2004-2005 David Schultz @@ -177,7 +177,7 @@ fesetexceptflag(const fexcept_t *__flagp union __fpscr __r; if (__excepts & FE_INVALID) - __excepts |= FE_ALL_EXCEPT; + __excepts |= FE_ALL_INVALID; __mffs(&__r.__d); __r.__bits.__reg &= ~__excepts; __r.__bits.__reg |= *__flagp & __excepts;
CVS commit: src/sys/arch/powerpc/include
Module Name:src Committed By: rin Date: Tue Sep 13 01:22:12 UTC 2022 Modified Files: src/sys/arch/powerpc/include: fenv.h Log Message: fesetexceptflag(): Set FE_ALL_INVALID instead of FE_ALL_EXCEPT for FE_INVALID. Taken from FreeBSD: https://cgit.freebsd.org/src/commit/lib/msun/powerpc/fenv.h?id=e7bd4f846f0c9185aebfd3d116bb78ab137280fa > [POWERPC] msun: fix incorrect flag in fesetexceptflag > Fix incorrect mask being used when FE_INVALID bit is wanted by user. > The problem was noticed thanks to msun fenv tests. > > Reviewed by: jhibbits, luporl > Sponsored by: Eldorado Research Institute (eldorado.org.br) > Differential Revision:https://reviews.freebsd.org/D27201 No regression for full ATF on both real and emulated FPU. XXX Import some tests from FreeBSD's lib/msun/tests. To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 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/booke
Module Name:src Committed By: rin Date: Mon Sep 12 08:14:55 UTC 2022 Modified Files: src/sys/arch/powerpc/include/booke: intr.h Log Message: PR port-powerpc/56922 __HAVE_FAST_SOFTINTS is broken for powerpc. Disable it temporarily also for booke. To generate a diff of this commit: cvs rdiff -u -r1.12 -r1.13 src/sys/arch/powerpc/include/booke/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/booke/intr.h diff -u src/sys/arch/powerpc/include/booke/intr.h:1.12 src/sys/arch/powerpc/include/booke/intr.h:1.13 --- src/sys/arch/powerpc/include/booke/intr.h:1.12 Sat Nov 23 19:40:36 2019 +++ src/sys/arch/powerpc/include/booke/intr.h Mon Sep 12 08:14:55 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: intr.h,v 1.12 2019/11/23 19:40:36 ad Exp $ */ +/* $NetBSD: intr.h,v 1.13 2022/09/12 08:14:55 rin Exp $ */ /*- * Copyright (c) 2010, 2011 The NetBSD Foundation, Inc. * All rights reserved. @@ -77,7 +77,9 @@ #define IPI_SUSPEND 0x0020 #define IPI_AST 0x0040 +#if 0 /* PR port-powerpc/56922: fast softints are broken on powerpc */ #define __HAVE_FAST_SOFTINTS 1 +#endif #define SOFTINT_KPREEMPT SOFTINT_COUNT #ifndef _LOCORE
CVS commit: src/sys/arch/powerpc/include/booke
Module Name:src Committed By: rin Date: Mon Sep 12 08:14:55 UTC 2022 Modified Files: src/sys/arch/powerpc/include/booke: intr.h Log Message: PR port-powerpc/56922 __HAVE_FAST_SOFTINTS is broken for powerpc. Disable it temporarily also for booke. To generate a diff of this commit: cvs rdiff -u -r1.12 -r1.13 src/sys/arch/powerpc/include/booke/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: martin Date: Mon Jul 11 09:39:10 UTC 2022 Modified Files: src/sys/arch/powerpc/include: intr.h Log Message: PR 56922: disabel fast softints for powerpc for now. To generate a diff of this commit: cvs rdiff -u -r1.18 -r1.19 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: martin Date: Mon Jul 11 09:39:10 UTC 2022 Modified Files: src/sys/arch/powerpc/include: intr.h Log Message: PR 56922: disabel fast softints for powerpc for now. To generate a diff of this commit: cvs rdiff -u -r1.18 -r1.19 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.18 src/sys/arch/powerpc/include/intr.h:1.19 --- src/sys/arch/powerpc/include/intr.h:1.18 Tue Mar 2 07:37:27 2021 +++ src/sys/arch/powerpc/include/intr.h Mon Jul 11 09:39:10 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: intr.h,v 1.18 2021/03/02 07:37:27 rin Exp $ */ +/* $NetBSD: intr.h,v 1.19 2022/07/11 09:39:10 martin Exp $ */ /*- * Copyright (c) 2007 Michael Lorenz @@ -28,13 +28,15 @@ #ifndef _LOCORE #include -__KERNEL_RCSID(0, "$NetBSD: intr.h,v 1.18 2021/03/02 07:37:27 rin Exp $"); +__KERNEL_RCSID(0, "$NetBSD: intr.h,v 1.19 2022/07/11 09:39:10 martin Exp $"); #endif #ifndef _POWERPC_INTR_MACHDEP_H_ #define _POWERPC_INTR_MACHDEP_H_ +#if 0 /* PR port-powerpc/56922: fast softints are broken on powerpc */ #define __HAVE_FAST_SOFTINTS 1 +#endif /* Interrupt priority `levels'. */
CVS commit: src/sys/arch/powerpc/include
Module Name:src Committed By: rin Date: Sun May 29 11:55:05 UTC 2022 Modified Files: src/sys/arch/powerpc/include: instr.h Log Message: Fix insn field definitions for MD and MDS formats. No one uses these yet. To generate a diff of this commit: cvs rdiff -u -r1.9 -r1.10 src/sys/arch/powerpc/include/instr.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/instr.h diff -u src/sys/arch/powerpc/include/instr.h:1.9 src/sys/arch/powerpc/include/instr.h:1.10 --- src/sys/arch/powerpc/include/instr.h:1.9 Wed Jul 15 08:58:51 2020 +++ src/sys/arch/powerpc/include/instr.h Sun May 29 11:55:05 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: instr.h,v 1.9 2020/07/15 08:58:51 rin Exp $ */ +/* $NetBSD: instr.h,v 1.10 2022/05/29 11:55:05 rin Exp $ */ /* * Copyright (c) 1992, 1993 @@ -135,11 +135,10 @@ union instr { u_int i_opcd:6; u_int i_rs:5; u_int i_ra:5; - u_int i_rb:5; int i_sh1_5:5; int i_mb:6; u_int i_xo:3; - int i_sh0:2; + int i_sh0:1; u_int i_rc:1; } i_md; @@ -151,7 +150,6 @@ union instr { u_int i_rs:5; u_int i_ra:5; u_int i_rb:5; - int i_sh:5; int i_mb:6; u_int i_xo:4; u_int i_rc:1;
CVS commit: src/sys/arch/powerpc/include
Module Name:src Committed By: rin Date: Sun May 29 11:55:05 UTC 2022 Modified Files: src/sys/arch/powerpc/include: instr.h Log Message: Fix insn field definitions for MD and MDS formats. No one uses these yet. To generate a diff of this commit: cvs rdiff -u -r1.9 -r1.10 src/sys/arch/powerpc/include/instr.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: andvar Date: Wed May 11 13:58:43 UTC 2022 Modified Files: src/sys/arch/powerpc/include: vmparam.h Log Message: s/varible/variable/ To generate a diff of this commit: cvs rdiff -u -r1.25 -r1.26 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: andvar Date: Wed May 11 13:58:43 UTC 2022 Modified Files: src/sys/arch/powerpc/include: vmparam.h Log Message: s/varible/variable/ To generate a diff of this commit: cvs rdiff -u -r1.25 -r1.26 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. Modified files: Index: src/sys/arch/powerpc/include/vmparam.h diff -u src/sys/arch/powerpc/include/vmparam.h:1.25 src/sys/arch/powerpc/include/vmparam.h:1.26 --- src/sys/arch/powerpc/include/vmparam.h:1.25 Wed Jan 6 08:17:46 2021 +++ src/sys/arch/powerpc/include/vmparam.h Wed May 11 13:58:43 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: vmparam.h,v 1.25 2021/01/06 08:17:46 rin Exp $ */ +/* $NetBSD: vmparam.h,v 1.26 2022/05/11 13:58:43 andvar Exp $ */ #ifndef _POWERPC_VMPARAM_H_ #define _POWERPC_VMPARAM_H_ @@ -30,7 +30,7 @@ #if defined(MODULAR) || defined(_MODULE) || !defined(_KERNEL) /* * If we are a module or a modular kernel, then we need to defined the range - * of our varible page sizes since BOOKE and OEA use 4KB pages while IBM4XX + * of our variable page sizes since BOOKE and OEA use 4KB pages while IBM4XX * use 16KB pages. * This is also required for userland by jemalloc. */
CVS commit: src/sys/arch/powerpc/include
Module Name:src Committed By: rin Date: Sat May 7 09:02:19 UTC 2022 Modified Files: src/sys/arch/powerpc/include: spr.h Log Message: Remove SPR_CCR0 from ; we already have it in , together with other 4xx-specific SPRs. Thanks uwe@ for pointing out. To generate a diff of this commit: cvs rdiff -u -r1.55 -r1.56 src/sys/arch/powerpc/include/spr.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: rin Date: Sat May 7 09:02:19 UTC 2022 Modified Files: src/sys/arch/powerpc/include: spr.h Log Message: Remove SPR_CCR0 from ; we already have it in , together with other 4xx-specific SPRs. Thanks uwe@ for pointing out. To generate a diff of this commit: cvs rdiff -u -r1.55 -r1.56 src/sys/arch/powerpc/include/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.55 src/sys/arch/powerpc/include/spr.h:1.56 --- src/sys/arch/powerpc/include/spr.h:1.55 Sat May 7 04:12:54 2022 +++ src/sys/arch/powerpc/include/spr.h Sat May 7 09:02:19 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: spr.h,v 1.55 2022/05/07 04:12:54 rin Exp $ */ +/* $NetBSD: spr.h,v 1.56 2022/05/07 09:02:19 rin Exp $ */ /* * Copyright (c) 2001, The NetBSD Foundation, Inc. @@ -144,7 +144,6 @@ mfspr(int reg) #define SPR_TBL 0x11c /* E468 Time Base Lower */ #define SPR_TBU 0x11d /* E468 Time Base Upper */ #define SPR_PVR 0x11f /* E468 Processor Version Register */ -#define SPR_CCR0 0x3b3 /* .4.. Core Configuration Register */ /* Time Base Register declarations */ #define TBR_TBL 0x10c /* E468 Time Base Lower */
CVS commit: src/sys/arch/powerpc/include/oea
Module Name:src Committed By: macallan Date: Thu Feb 3 17:23:50 UTC 2022 Modified Files: src/sys/arch/powerpc/include/oea: vmparam.h Log Message: bump MAXTSIZ now clang runs again To generate a diff of this commit: cvs rdiff -u -r1.22 -r1.23 src/sys/arch/powerpc/include/oea/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/oea
Module Name:src Committed By: macallan Date: Thu Feb 3 17:23:50 UTC 2022 Modified Files: src/sys/arch/powerpc/include/oea: vmparam.h Log Message: bump MAXTSIZ now clang runs again To generate a diff of this commit: cvs rdiff -u -r1.22 -r1.23 src/sys/arch/powerpc/include/oea/vmparam.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/oea/vmparam.h diff -u src/sys/arch/powerpc/include/oea/vmparam.h:1.22 src/sys/arch/powerpc/include/oea/vmparam.h:1.23 --- src/sys/arch/powerpc/include/oea/vmparam.h:1.22 Sat Sep 11 20:28:05 2021 +++ src/sys/arch/powerpc/include/oea/vmparam.h Thu Feb 3 17:23:50 2022 @@ -55,7 +55,7 @@ #endif #ifndef MAXTSIZ -#define MAXTSIZ (128*1024*1024) /* maximum text size */ +#define MAXTSIZ (256*1024*1024) /* maximum text size */ #endif #ifndef MAXDSIZ
CVS commit: src/sys/arch/powerpc/include
Module Name:src Committed By: ryo Date: Tue Nov 2 11:22:03 UTC 2021 Modified Files: src/sys/arch/powerpc/include: profile.h Log Message: fix profiling kernel build To generate a diff of this commit: cvs rdiff -u -r1.9 -r1.10 src/sys/arch/powerpc/include/profile.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/profile.h diff -u src/sys/arch/powerpc/include/profile.h:1.9 src/sys/arch/powerpc/include/profile.h:1.10 --- src/sys/arch/powerpc/include/profile.h:1.9 Thu Sep 12 15:36:17 2013 +++ src/sys/arch/powerpc/include/profile.h Tue Nov 2 11:22:03 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: profile.h,v 1.9 2013/09/12 15:36:17 joerg Exp $ */ +/* $NetBSD: profile.h,v 1.10 2021/11/02 11:22:03 ryo Exp $ */ /*- * Copyright (c) 2000 Tsubai Masanari. All rights reserved. @@ -132,6 +132,7 @@ __asm(" .globl _mcount \n" \ #define MCOUNT_ENTER do s = wrtee(0); while (/*CONSTCOND*/ 0) #define MCOUNT_EXIT wrtee(s) #else +#include #define MCOUNT_ENTER \ __asm volatile("mfmsr %0" : "=r"(s)); \ if ((s & (PSL_IR | PSL_DR)) != (PSL_IR | PSL_DR)) \
CVS commit: src/sys/arch/powerpc/include
Module Name:src Committed By: ryo Date: Tue Nov 2 11:22:03 UTC 2021 Modified Files: src/sys/arch/powerpc/include: profile.h Log Message: fix profiling kernel build To generate a diff of this commit: cvs rdiff -u -r1.9 -r1.10 src/sys/arch/powerpc/include/profile.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: ryo Date: Tue Nov 2 11:21:24 UTC 2021 Modified Files: src/sys/arch/powerpc/include: spr.h src/sys/arch/powerpc/include/ibm4xx: cpu.h Log Message: fix build with COPTS=-O0 To generate a diff of this commit: cvs rdiff -u -r1.53 -r1.54 src/sys/arch/powerpc/include/spr.h cvs rdiff -u -r1.26 -r1.27 src/sys/arch/powerpc/include/ibm4xx/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/spr.h diff -u src/sys/arch/powerpc/include/spr.h:1.53 src/sys/arch/powerpc/include/spr.h:1.54 --- src/sys/arch/powerpc/include/spr.h:1.53 Mon Jul 6 10:31:23 2020 +++ src/sys/arch/powerpc/include/spr.h Tue Nov 2 11:21:24 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: spr.h,v 1.53 2020/07/06 10:31:23 rin Exp $ */ +/* $NetBSD: spr.h,v 1.54 2021/11/02 11:21:24 ryo Exp $ */ /* * Copyright (c) 2001, The NetBSD Foundation, Inc. @@ -72,8 +72,8 @@ mfspr64(int reg) } ) #endif /* PPC_OEA64_BRIDGE || _ARCH_PPC64 */ -static __inline uint64_t -mfspr32(int reg) +static __inline __always_inline uint64_t +mfspr32(const int reg) { register_t val; @@ -81,8 +81,8 @@ mfspr32(int reg) return val; } -static __inline void -mtspr32(int reg, uint32_t val) +static __inline __always_inline void +mtspr32(const int reg, uint32_t val) { __asm volatile("mtspr %0,%1" : : "K"(reg), "r"(val)); Index: src/sys/arch/powerpc/include/ibm4xx/cpu.h diff -u src/sys/arch/powerpc/include/ibm4xx/cpu.h:1.26 src/sys/arch/powerpc/include/ibm4xx/cpu.h:1.27 --- src/sys/arch/powerpc/include/ibm4xx/cpu.h:1.26 Mon May 31 14:38:56 2021 +++ src/sys/arch/powerpc/include/ibm4xx/cpu.h Tue Nov 2 11:21:24 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: cpu.h,v 1.26 2021/05/31 14:38:56 simonb Exp $ */ +/* $NetBSD: cpu.h,v 1.27 2021/11/02 11:21:24 ryo Exp $ */ /* * Copyright 2002 Wasabi Systems, Inc. @@ -90,14 +90,14 @@ extern void intr_init(void); * macros because register address is encoded as immediate * operand. */ -static __inline void -mtdcr(int reg, uint32_t val) +static __inline __always_inline void +mtdcr(const int reg, uint32_t val) { __asm volatile("mtdcr %0,%1" : : "K"(reg), "r"(val)); } -static __inline uint32_t -mfdcr(int reg) +static __inline __always_inline uint32_t +mfdcr(const int reg) { uint32_t val;
CVS commit: src/sys/arch/powerpc/include
Module Name:src Committed By: ryo Date: Tue Nov 2 11:21:24 UTC 2021 Modified Files: src/sys/arch/powerpc/include: spr.h src/sys/arch/powerpc/include/ibm4xx: cpu.h Log Message: fix build with COPTS=-O0 To generate a diff of this commit: cvs rdiff -u -r1.53 -r1.54 src/sys/arch/powerpc/include/spr.h cvs rdiff -u -r1.26 -r1.27 src/sys/arch/powerpc/include/ibm4xx/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: thorpej Date: Fri Oct 29 21:42:02 UTC 2021 Modified Files: src/sys/arch/powerpc/include: signal.h Log Message: Define __HAVE_STRUCT_SIGCONTEXT regardless of its current visibility. To generate a diff of this commit: cvs rdiff -u -r1.25 -r1.26 src/sys/arch/powerpc/include/signal.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/signal.h diff -u src/sys/arch/powerpc/include/signal.h:1.25 src/sys/arch/powerpc/include/signal.h:1.26 --- src/sys/arch/powerpc/include/signal.h:1.25 Wed Oct 27 18:20:08 2021 +++ src/sys/arch/powerpc/include/signal.h Fri Oct 29 21:42:02 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: signal.h,v 1.25 2021/10/27 18:20:08 christos Exp $ */ +/* $NetBSD: signal.h,v 1.26 2021/10/29 21:42:02 thorpej Exp $ */ /* * Copyright (C) 1995, 1996 Wolfgang Solfrank. @@ -37,6 +37,14 @@ #ifndef _LOCORE #include +/* + * This is needed natively for 32-bit, and for 32-bit compatibility only + * in the 64-bit environment. + */ +#if !defined(__LP64__) || defined(_KERNEL) +#define __HAVE_STRUCT_SIGCONTEXT +#endif + typedef int sig_atomic_t; #ifndef __LP64__ @@ -56,7 +64,6 @@ struct sigcontext13 { /* * struct sigcontext introduced in NetBSD 1.4 */ -#define __HAVE_STRUCT_SIGCONTEXT struct sigcontext { int sc_onstack; /* saved onstack flag */ int __sc_mask13; /* saved signal mask (old style) */
CVS commit: src/sys/arch/powerpc/include
Module Name:src Committed By: thorpej Date: Fri Oct 29 21:42:02 UTC 2021 Modified Files: src/sys/arch/powerpc/include: signal.h Log Message: Define __HAVE_STRUCT_SIGCONTEXT regardless of its current visibility. To generate a diff of this commit: cvs rdiff -u -r1.25 -r1.26 src/sys/arch/powerpc/include/signal.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 27 18:20:23 UTC 2021 Modified Files: src/sys/arch/powerpc/include: pcb.h Log Message: Need frame.h To generate a diff of this commit: cvs rdiff -u -r1.22 -r1.23 src/sys/arch/powerpc/include/pcb.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 27 18:20:23 UTC 2021 Modified Files: src/sys/arch/powerpc/include: pcb.h Log Message: Need frame.h To generate a diff of this commit: cvs rdiff -u -r1.22 -r1.23 src/sys/arch/powerpc/include/pcb.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/pcb.h diff -u src/sys/arch/powerpc/include/pcb.h:1.22 src/sys/arch/powerpc/include/pcb.h:1.23 --- src/sys/arch/powerpc/include/pcb.h:1.22 Mon Jan 17 20:02:54 2011 +++ src/sys/arch/powerpc/include/pcb.h Wed Oct 27 14:20:23 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: pcb.h,v 1.22 2011/01/18 01:02:54 matt Exp $ */ +/* $NetBSD: pcb.h,v 1.23 2021/10/27 18:20:23 christos Exp $ */ /*- * Copyright (C) 1995, 1996 Wolfgang Solfrank. @@ -34,6 +34,7 @@ #define _POWERPC_PCB_H_ #include +#include struct faultbuf { register_t fb_sp; /* R1 */
CVS commit: src/sys/arch/powerpc/include
Module Name:src Committed By: christos Date: Wed Oct 27 18:20:08 UTC 2021 Modified Files: src/sys/arch/powerpc/include: signal.h Log Message: There is no sigcontext in ppc64 To generate a diff of this commit: cvs rdiff -u -r1.24 -r1.25 src/sys/arch/powerpc/include/signal.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/signal.h diff -u src/sys/arch/powerpc/include/signal.h:1.24 src/sys/arch/powerpc/include/signal.h:1.25 --- src/sys/arch/powerpc/include/signal.h:1.24 Tue Oct 26 21:11:03 2021 +++ src/sys/arch/powerpc/include/signal.h Wed Oct 27 14:20:08 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: signal.h,v 1.24 2021/10/27 01:11:03 thorpej Exp $ */ +/* $NetBSD: signal.h,v 1.25 2021/10/27 18:20:08 christos Exp $ */ /* * Copyright (C) 1995, 1996 Wolfgang Solfrank. @@ -39,6 +39,7 @@ typedef int sig_atomic_t; +#ifndef __LP64__ #if defined(_NETBSD_SOURCE) #include #include @@ -65,5 +66,6 @@ struct sigcontext { #endif /* _LIBC || _KERNEL */ #endif /* _NETBSD_SOURCE */ +#endif /* __LP64__ */ #endif /* !_LOCORE */ #endif /* !_POWERPC_SIGNAL_H_ */
CVS commit: src/sys/arch/powerpc/include
Module Name:src Committed By: christos Date: Wed Oct 27 18:20:08 UTC 2021 Modified Files: src/sys/arch/powerpc/include: signal.h Log Message: There is no sigcontext in ppc64 To generate a diff of this commit: cvs rdiff -u -r1.24 -r1.25 src/sys/arch/powerpc/include/signal.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: thorpej Date: Wed Oct 27 01:11:03 UTC 2021 Modified Files: src/sys/arch/powerpc/include: signal.h Log Message: Make sigcontext13 visible only to _KERNEL. Make sigcontext visible only to _LIBC and _KERNEL. To generate a diff of this commit: cvs rdiff -u -r1.23 -r1.24 src/sys/arch/powerpc/include/signal.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/signal.h diff -u src/sys/arch/powerpc/include/signal.h:1.23 src/sys/arch/powerpc/include/signal.h:1.24 --- src/sys/arch/powerpc/include/signal.h:1.23 Tue Oct 26 16:16:35 2021 +++ src/sys/arch/powerpc/include/signal.h Wed Oct 27 01:11:03 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: signal.h,v 1.23 2021/10/26 16:16:35 christos Exp $ */ +/* $NetBSD: signal.h,v 1.24 2021/10/27 01:11:03 thorpej Exp $ */ /* * Copyright (C) 1995, 1996 Wolfgang Solfrank. @@ -43,14 +43,15 @@ typedef int sig_atomic_t; #include #include -#if defined(__LIBC12_SOURCE__) || defined(_KERNEL) +#if defined(_KERNEL) struct sigcontext13 { int sc_onstack; /* saved onstack flag */ int sc_mask; /* saved signal mask (old style) */ struct utrapframe sc_frame; /* saved registers */ }; -#endif /* __LIBC12_SOURCE__ || _KERNEL */ +#endif /* _KERNEL */ +#if defined(_LIBC) || defined(_KERNEL) /* * struct sigcontext introduced in NetBSD 1.4 */ @@ -61,6 +62,7 @@ struct sigcontext { struct utrapframe sc_frame; /* saved registers */ sigset_t sc_mask; /* saved signal mask (new style) */ }; +#endif /* _LIBC || _KERNEL */ #endif /* _NETBSD_SOURCE */ #endif /* !_LOCORE */
CVS commit: src/sys/arch/powerpc/include
Module Name:src Committed By: thorpej Date: Wed Oct 27 01:11:03 UTC 2021 Modified Files: src/sys/arch/powerpc/include: signal.h Log Message: Make sigcontext13 visible only to _KERNEL. Make sigcontext visible only to _LIBC and _KERNEL. To generate a diff of this commit: cvs rdiff -u -r1.23 -r1.24 src/sys/arch/powerpc/include/signal.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: rin Date: Mon Sep 13 11:54:42 UTC 2021 Modified Files: src/sys/arch/powerpc/include: lock.h Log Message: Fix IBM405 errata 77 workaround for __cpu_simple_lock{,_try}(); adjust labels so that dcbt is executed before stwcx. insn. To generate a diff of this commit: cvs rdiff -u -r1.15 -r1.16 src/sys/arch/powerpc/include/lock.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.15 src/sys/arch/powerpc/include/lock.h:1.16 --- src/sys/arch/powerpc/include/lock.h:1.15 Sun Mar 1 23:23:36 2020 +++ src/sys/arch/powerpc/include/lock.h Mon Sep 13 11:54:42 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: lock.h,v 1.15 2020/03/01 23:23:36 rin Exp $ */ +/* $NetBSD: lock.h,v 1.16 2021/09/13 11:54:42 rin Exp $ */ /*- * Copyright (c) 2000, 2007 The NetBSD Foundation, Inc. @@ -80,12 +80,12 @@ __cpu_simple_lock(__cpu_simple_lock_t *a 2: lwzx %0,0,%1 \n\ cmpwi %0,%2 \n\ beq+ 1b \n\ - b 2b \n" + b 2b \n\ +3:\n" #ifdef IBM405_ERRATA77 "dcbt 0,%1 \n" #endif -"\ -3: stwcx. %3,0,%1 \n\ + "stwcx. %3,0,%1 \n\ bne- 1b \n\ isync \n\ \n" @@ -108,12 +108,12 @@ __cpu_simple_lock_try(__cpu_simple_lock_ "dcbt 0,%1 \n" #endif "stwcx. %3,0,%1 \n\ - bne- 1b \n" + bne- 1b \n\ +2:\n" #ifdef IBM405_ERRATA77 "dcbt 0,%4 \n" #endif -"\ -2: stwcx. %3,0,%4 \n\ + "stwcx. %3,0,%4 \n\ isync \n\ \n" : "="(old)
CVS commit: src/sys/arch/powerpc/include
Module Name:src Committed By: rin Date: Mon Sep 13 11:54:42 UTC 2021 Modified Files: src/sys/arch/powerpc/include: lock.h Log Message: Fix IBM405 errata 77 workaround for __cpu_simple_lock{,_try}(); adjust labels so that dcbt is executed before stwcx. insn. To generate a diff of this commit: cvs rdiff -u -r1.15 -r1.16 src/sys/arch/powerpc/include/lock.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/booke
On 2021/04/18 0:38, Joerg Sonnenberger wrote: On Sat, Apr 17, 2021 at 01:25:57PM +, Rin Okuyama wrote: Module Name:src Committed By: rin Date: Sat Apr 17 13:25:57 UTC 2021 Modified Files: src/sys/arch/powerpc/include/booke: vmparam.h Log Message: Sync MAXfoo params with oea: MAXTSIZ: 512MB -> 128MB MAXDSIZ: 3.25GB -> 1GB There should be no particular reasons for having different values. Is there an architectural reason for MAXTSIZ to be 128MB? Because we have seen binaries larger than that. Ah, I just forgot recent discussion on MAXTSIZ. There's no limitation due to architecture. I've confirmed binary just works fine, whose text is larger than 256MB segment on oea. It works on booke and ibm4xx also. Maybe we can leave MAXTSIZ undefined for powerpc. Thanks, rin
Re: CVS commit: src/sys/arch/powerpc/include/booke
On Sat, Apr 17, 2021 at 01:25:57PM +, Rin Okuyama wrote: > Module Name: src > Committed By: rin > Date: Sat Apr 17 13:25:57 UTC 2021 > > Modified Files: > src/sys/arch/powerpc/include/booke: vmparam.h > > Log Message: > Sync MAXfoo params with oea: > > MAXTSIZ: 512MB -> 128MB > MAXDSIZ: 3.25GB -> 1GB > > There should be no particular reasons for having different values. Is there an architectural reason for MAXTSIZ to be 128MB? Because we have seen binaries larger than that. Joerg
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